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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3647|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

如何讓數(shù)碼管以0.5秒閃爍顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:322939 發(fā)表于 2019-12-22 17:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一個(gè)很弱的問(wèn)題,四位數(shù)碼管由單片機(jī)直接驅(qū)動(dòng),計(jì)時(shí)到99分停止計(jì)時(shí)并作0.5秒閃爍提示。現(xiàn)在就差閃爍功能如何設(shè)置,雖然網(wǎng)上一大堆資料,但別人的思路看不懂,特在這里向各位大神討教。謝謝!
  1. #include<SC92F725X_C.H>
  2. #include"intrins.h"
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. #define ulong unsigned long
  6. void LED_Data(uchar da);
  7. void KeyScan(void);

  8. void DisplayScan(void);
  9. void Timer0();
  10. void t1_sim();
  11. void time_Init();

  12. sbit Rese=P1^3;        //復(fù)位鍵
  13. sbit STAT_PAS=P1^2;//啟動(dòng)/暫停
  14. sbit q_wei=P1^0;
  15. sbit Bia_wei=P1^1;
  16. sbit shi_wei=P1^6;
  17. sbit ge_wei=P1^7;
  18. sbit Px0= P0^0;
  19. sbit Px1= P0^1;
  20. sbit Px2= P0^2;
  21. sbit Px3= P0^3;
  22. sbit Px4= P2^0;
  23. sbit Px5= P2^1;
  24. sbit Px6= P2^4;
  25. sbit Px7= P2^5;
  26. uint stemp_1=0,stemp_2=0,stemp_3=0,stemp_4=0,cont=0,t=0,flash_acc=0,flash_500ms;
  27. uchar fen=0,sec=0,num=1;
  28. bit flag=0,flag1=0,shan_flag=0,T_4ms_flag=0;
  29. uchar code wei[]={0x00,0xc2,0xc1,0x83,0x43,0xc3};//位
  30. uchar code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//0-9,段
  31. /************定時(shí)器初始化&macr;**********/
  32. void time_Init()
  33. {
  34.   TMCON=0x07;    //
  35.         TMOD|=0x01;
  36.   TL0=(65536-12000)%256;    //1ms;
  37.         TH0=(65536-12000)/256;
  38.         TR0=0;
  39.         TF0=0;
  40.         ET0=1;
  41.         TR0=0;
  42. //        EA=1;
  43.          TMOD|=0x01;                   
  44.         TL1=(65536-48000)%256;   //4ms;
  45.         TH1=(65536-48000)/256;
  46.         TR1=0;
  47.         TF1=0;
  48.         ET1=1;
  49.         TR1=1;
  50.         EA=1;
  51. /* T2MOD = 0x00;
  52.         T2CON = 0x00;         
  53.         RCAP2H = (65536-240)/256;     //????:???Fsys,?48000*(1/Fsys)=4ms;
  54.         RCAP2L = (65536-240)%256;
  55.         TR2 = 0;
  56.         ET2 = 1;//
  57.         TR2 = 0;//               
  58.         EA = 1;        */
  59.          
  60.         }
  61. /**************定時(shí)器0*************/
  62. void Timer0() interrupt 1
  63. {
  64.    TL0=(65536-12000)%256;    //1ms;
  65.          TH0=(65536-12000)/256;
  66.          
  67.           
  68.             cont++;
  69.          if(cont==1000)
  70.          {
  71.                   cont=0;
  72.             sec++;
  73.           
  74.          if(sec>59)
  75.          {
  76.                  sec=0;
  77.            fen++;
  78.          if(fen==1)
  79.          {
  80.                   fen=1;
  81.       flag=1;
  82.            }
  83.          }
  84. }
  85. }

  86. /************定時(shí)器1******************/
  87.         void t1_sim() interrupt 3
  88.         {
  89.                 TL1=(65536-48000)%256;   //4ms;
  90.           TH1=(65536-48000)/256;
  91.        
  92.           DisplayScan();
  93.                
  94.           KeyScan();
  95.                
  96. }
  97. void DisplayScan(void)//四位數(shù)碼管掃描
  98. {
  99.   stemp_4=fen/10;
  100.   stemp_3=fen%10;
  101.   stemp_2=sec/10;
  102.   stemp_1=sec%10;
  103.    P0=0x00;
  104.          q_wei=1;
  105.    Bia_wei=1;
  106.    shi_wei=1;
  107.    ge_wei=1;
  108.        
  109.                     
  110.     switch(num)
  111.    {
  112.   case 1:
  113.                      LED_Data(LED[stemp_1]);
  114.                   
  115.                      q_wei=0;
  116.          Bia_wei=1;
  117.          shi_wei=1;
  118.          ge_wei=1;
  119.                          
  120.           break;
  121.    case 2:
  122.                     LED_Data(LED[stemp_2]);
  123.                   
  124.                     q_wei=1;
  125.          Bia_wei=0;
  126.          shi_wei=1;
  127.          ge_wei=1;
  128.                          
  129.           break;
  130.    case 3:
  131.                   LED_Data(LED[stemp_3]);
  132.                     
  133.                                  
  134.          P1=wei[3];                               
  135.                                          q_wei=1;
  136.          Bia_wei=1;
  137.          shi_wei=0;
  138.          ge_wei=1;
  139.                          
  140.           break;
  141.    case 4:
  142.                    LED_Data(LED[stemp_4]);

  143.                       q_wei=1;
  144.          Bia_wei=1;
  145.          shi_wei=1;
  146.          ge_wei=0;
  147.                          
  148.           break;
  149.     }
  150.                 num++;
  151.         if(num>4)
  152.         {
  153.                 num=1;
  154.         }  
  155. }
  156. /***************按鍵掃描**************/
  157. void KeyScan(void)
  158. {
  159.   static uchar key_lock1;
  160.   static uchar key_cnt1;
  161.   static uchar key_lock2;
  162.   static uchar key_cnt2;
  163.    
  164. if(0!=Rese)         //歸零/復(fù)位鍵
  165. {
  166. key_lock1=0;
  167. key_cnt1=0;
  168. }
  169. else  
  170.          if(0==key_lock1)
  171. {
  172.   key_cnt1++;
  173.   if(key_lock1>=250&&TR0==0)//長(zhǎng)按1秒觸發(fā)
  174.   {
  175.     key_lock1=1;
  176.     fen=0;
  177.                 sec=0;
  178.    }
  179.   }
  180. if(0!=STAT_PAS)   //啟動(dòng)/暫停鍵
  181. {
  182.   key_lock2=0;
  183.   key_cnt2=0;
  184.   }
  185.   else if(0==key_lock2)
  186.   {
  187.     key_cnt2++;
  188.         if(key_cnt2>5) //消抖并觸發(fā)
  189.         {
  190.          key_lock2=1;
  191.         TR0=~TR0;
  192.          }
  193.         }
  194. }
  195. /****************&Ouml;÷&sup3;&Igrave;&ETH;ò*****************/
  196. void main( )
  197. {
  198. IO_Init();
  199. time_Init();

  200. while(1)
  201. {


  202. if((fen==1)&&(sec==0)&&(TR0==1)&&(flag==1))//&frac14;&AElig;&Ecirc;±&micro;&frac12;&Iacute;&pound;&Ouml;&sup1;
  203. {
  204.           TR0=0;
  205.           flag=0;
  206.           TR2=1;
  207.   
  208.    }
  209.   }
  210. }
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:653072 發(fā)表于 2019-12-23 07:43 來(lái)自手機(jī) | 只看該作者
keil調(diào)試窗口
回復(fù)

使用道具 舉報(bào)

板凳
ID:653072 發(fā)表于 2019-12-23 07:48 來(lái)自手機(jī) | 只看該作者
看keil調(diào)試窗口“sec”前后差值就是時(shí)間間隔,詳細(xì)看這位大神的http://www.zg4o1577.cn/bbs/dpj-51343-1.html
回復(fù)

使用道具 舉報(bào)

地板
ID:322939 發(fā)表于 2019-12-23 09:43 | 只看該作者
已經(jīng)搞掂了。
回復(fù)

使用道具 舉報(bào)

5#
ID:322939 發(fā)表于 2019-12-24 09:04 | 只看該作者
51zx筆記 發(fā)表于 2019-12-23 07:48
看keil調(diào)試窗口“sec”前后差值就是時(shí)間間隔,詳細(xì)看這位大神的http://www.zg4o1577.cn/bbs/dpj-51343-1.html

謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品久久久久 | 91av视频在线免费观看 | 国产精品久久国产精品久久 | 精品一区二区三区四区五区 | 亚洲成av人片在线观看 | 高清视频一区二区三区 | 欧美一级毛片在线播放 | 97伦理最新伦理 | 精品视频亚洲 | 午夜影院在线观看视频 | 亚洲成人综合社区 | 热久久性| 精品欧美 | 99精品国产成人一区二区 | 99re在线视频| 中文字幕黄色大片 | 久久久久久久亚洲精品 | 国产视频综合 | 日韩在线一区二区 | 波多野吉衣在线播放 | 亚洲国产网 | 久久国产精品99久久久大便 | 成人小视频在线观看 | 欧美激情99 | 成人免费看 | 男人的天堂久久 | 成人亚洲性情网站www在线观看 | 中文字幕日韩欧美 | 丁香一区二区 | 午夜精品一区 | 日韩国产一区二区三区 | 久久精品国产免费一区二区三区 | 欧美精品久久久久 | 99亚洲精品 | 老子午夜影院 | 国产aaaaav久久久一区二区 | 91国内在线观看 | 黄免费看 | 国产免费视频 | 在线观看www高清视频 | 欧美另类日韩 |