久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機10s秒表兩個開關怎么實現(xiàn) [打印本頁]

作者: Runningit    時間: 2017-12-1 11:39
標題: 單片機10s秒表兩個開關怎么實現(xiàn)
求助!我要做個10s的秒表。有兩個按鍵,一個按鍵是電源,一個是開關。
當按下開關時,前提電源開關也按下了,數(shù)碼管開始走動,再按下開關會暫停定時器,再按清零(已實現(xiàn))。
關鍵是電源另一個功能。當再按下電源開關時,數(shù)碼管熄滅,定時器停止。(未實現(xiàn))
有沒有大神能夠告訴我怎么實現(xiàn)這個功能,關系到我掛不掛科的事情......

單片機代碼如下:
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code Dsy_Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. sbit Key_Start = P2^2;
  6. sbit Key_Power=P2^3;
  7. sbit dp = P0^7;                                                                                                       //小數(shù)點
  8. uchar num=0;  //定時器的計數(shù)
  9. uchar count=0;//數(shù)碼管的計數(shù)
  10. uchar Key_Num=0;//按鍵次數(shù)的計數(shù)
  11. uchar Power_Num=0;
  12. bit Key_State=1,Power_State=1;
  13. void DelayMS(uint x){
  14.         uchar i;
  15.         while(x--)
  16.                 for(i=0;i<120;i++);
  17. }
  18. void Dsy(){  //顯示函數(shù)
  19.         P2=0xfd;
  20.         P0=Dsy_Code[num%10];
  21.         DelayMS(2);
  22.         P2=0xfe;
  23.         P0=Dsy_Code[num/10];
  24.         dp=1;
  25.         DelayMS(2);
  26. }
  27. void Timer()interrupt 1{  //定時器
  28.         TH0=(65536-50000)/256;  //50ms
  29.         TL0=(65536-50000)%256;
  30.         count++;
  31.         if(count==2){
  32.                 count=0;
  33.                 num++;
  34.                 if(num==100)
  35.                         num=0;
  36.         }
  37. }
  38. void Key_Handle(){//按鍵處理
  39.         if(Key_State==0){
  40.                 Key_Num=(Key_Num+1)%3;
  41.                 switch(Key_Num){
  42.                         case 1:IE=0x82;TR0=1;break;
  43.                         case 2:IE=0x00;TR0=0;break;
  44.                         case 0:IE=0x00;TR0=0;num=0;break;
  45.                 }
  46.         }
  47. }
  48. void main(){
  49.         TMOD=0x01;
  50.         TH0=(65536-50000)/256;  //10ms
  51.         TL0=(65536-50000)%256;
  52.         if(Power_State!=Key_Power){
  53.                 DelayMS(10);
  54.                 if(Power_State!=Key_Power){
  55.                         Power_Num++;
  56.                         if(Power_Num%2==1){
  57.                                 while(1){
  58.                                         if(Key_State!=Key_Start){
  59.                                         DelayMS(10);
  60.                                         Key_State=Key_Start;
  61.                                         Key_Handle();
  62.                                         }
  63.                                 Dsy();
  64.                                 }
  65.                         }
  66.                 }
  67.         }
  68. }
復制代碼




作者: 2345312342    時間: 2017-12-1 14:29
這簡單了,電源開關就總開關好了,一按電源開關,把所有電關掉,就好啦。屏也不亮了數(shù)據(jù)也沒了正好啊
作者: 999333    時間: 2017-12-1 17:18
什么時候交我?guī)湍阃瓿?hr noshade size="2" width="100%" color="#808080"> 作者: 999333    時間: 2017-12-1 17:23
有什么不懂的可以找我

秒表.zip

29.99 KB, 下載次數(shù): 31


作者: Runningit    時間: 2017-12-4 10:02
999333 發(fā)表于 2017-12-1 17:23
有什么不懂的可以找我

感謝大佬,我理解了!!不好意思,今天才看見,非常感謝!!!
作者: zt666    時間: 2023-6-5 16:54
Runningit 發(fā)表于 2017-12-4 10:02
感謝大佬,我理解了!!不好意思,今天才看見,非常感謝!!!

能講解一下顯示函數(shù)的那一塊嘛
作者: zt666    時間: 2023-6-5 16:56
有些代碼看不懂,比如顯示函數(shù)那一塊


作者: sdjfggregbr    時間: 2023-6-6 01:13
開關按鈕可以通過設定變量來實現(xiàn)不同的功能,這個已經(jīng)解決。
電源按鈕如果不去切斷單片機電源,可以做一個假斷電,即數(shù)碼管全部不顯示,用0x00應該能實現(xiàn),然后將程序重置即可
作者: wys91203    時間: 2023-6-6 06:02
按下POWER電源鍵后,給數(shù)碼管的段碼是00(共陰),讓EA=0,停止計數(shù)中斷。
作者: 886yz    時間: 2023-6-6 12:59
秒表這東西我也不會,在線求助
作者: jianduo    時間: 2023-6-6 13:29
定時器停止  可以用EEPROM將斷電時的數(shù)據(jù)保存  供下次上電時繼續(xù)使用保存的數(shù)據(jù)
作者: LXJG    時間: 2023-6-9 17:04
寫個中斷函數(shù)就可以實現(xiàn)





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产综合av| 在线观看av网站永久 | 精品成人一区二区 | 国产精品久久福利 | 欧美精品乱码久久久久久按摩 | 午夜激情影院 | 欧美午夜精品 | 久久久亚洲一区 | 国产欧美日韩一区二区三区 | 我我色综合 | 久久www免费人成看片高清 | 伊人爽| 情侣酒店偷拍一区二区在线播放 | 啪啪免费 | 九色91视频 | 涩涩视频在线观看 | 日本一区二区三区在线观看 | 久色视频在线 | www国产成人免费观看视频,深夜成人网 | 欧美人人 | 国产区精品在线观看 | 日本国产高清 | av男人的天堂在线 | 在线观看国产视频 | 精品福利在线 | 久久首页 | 国产一区二区电影 | 日韩一级免费大片 | 国产精品成人久久久久 | 99精品国产在热久久 | 国产一区二区三区日韩 | 欧美日韩国产一区二区三区 | 久久久久久久97 | 91在线观看| 久久久综合网 | 91婷婷韩国欧美一区二区 | 成人精品久久日伦片大全免费 | 国产精品一区一区 | 免费v片在线观看 | 亚洲视频不卡 | 欧美精品在线观看 |