|
實驗總結(jié):
1, 在最后加到99時要進行判斷使其在加等于一。
2, 在減到0時再減時進行判斷使其再減等于99。
3, 在編程時進行循環(huán)的語句時經(jīng)常出錯,但在舍友的幫助下完成了。
4, 剛開始電源接錯了。
電路原理圖如下:
程序流程圖:
單片機源程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #define ucharunsigned char
- #define uint unsigned int
- sbit key1=P3^2; //將按鍵1接到p3.2
- sbit key2=P3^3; //將按鍵2接到p3.3
- charled_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //
- char i;
- void delay(uint z) //延時函數(shù)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main(){
- EA=1; //總中斷允許
- EX0=1; //INT0允許
- EX1=1; //脈沖觸發(fā)
- while(1);
- }
- void INT0_srv(void) interrupt 0 using 1
- {
- delay(300);
- if(INT0==0) //INT0按下
- {i++; //向后加一位
- if(i==100) //當(dāng)數(shù)字為100是輸零
- i=0;
- P1=led_mod[i/10]; //p1輸出十位
- P2=led_mod[i%10];
- while(key1==1); //p2輸出個位
- }
- }
- void INT1_srv(void) interrupt 2 using 2
- {
- delay(30);
- if(INT1==0) //INT1觸發(fā)
- {i--; //后減一位
- if(i<0)
- i=99; //零減一位輸出99
- P1=led_mod[i/10]; //
- P2=led_mod[i%10]; //
- while(key2==0);
- }
復(fù)制代碼
實驗二 單片機.docx
(178.95 KB, 下載次數(shù): 14)
2018-12-20 19:00 上傳
點擊文件名下載附件
定時
|
評分
-
查看全部評分
|