Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma SMALL
- #include<reg52.h>
- int segment[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
- int runningNum = 0;
- bit isRight = 1;
- int count=0;
- sbit Switch_pin = P3^0;
- bit old = 0;
- bit new = 0;
- void delay(int ms) {
- int i, j;
- for(i=0;i<10;i++) {
- for(j=0;j<ms;j++) {
- }
- }
- }
- void runningSEG(bit isRight){
- if (runningNum == 100) {
- runningNum = 0;
- }
- if (isRight)
- {
- P0 = segment[runningNum / 10];
- } else {
- P0 = segment[runningNum % 10];
- }
- }
- void main(void) {
- P0 = 0x00;
- P2 = 0x02;
- while(1) {
- //Push Btn = Switch_pin = 0
- /* Use Push Btn as Toggle Switch */
- new = !Switch_pin;
- if(new != old && new) {
- //If push btn, increase number by 1
- runningNum++;
- }
- old = new;
- /* Display number on two 7-Segment */
- runningSEG(isRight);
- if(isRight) {
- P2 = 0x01;
- } else {
- P2 = 0x02;
- }
- isRight = !isRight;
- delay(100);
- }
- }
Add Comment
Please, Sign In to add comment