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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

利用單片機(jī)定時器0模式1中斷消除4位數(shù)碼管動態(tài)顯示閃爍問題的項(xiàng)目工程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  1. /********************************************************************************
  2. 定時器定時1ms,數(shù)碼管以秒鐘計(jì)時,加上定時器0中斷可消除數(shù)碼管刷新時的閃爍問題,
  3. 閃爍問題是由while語句中分離數(shù)字時計(jì)算造成的,因?yàn)槊看?s時間到,在數(shù)碼管刷新前
  4. 都要進(jìn)行計(jì)算,耽誤了時間,導(dǎo)致閃爍,加了中斷以后則是先刷新數(shù)碼管再分離數(shù)字。
  5. ********************************************************************************/
  6. #include <reg52.h>//52單片機(jī)頭文件
  7. #define uchar unsigned char   // 自定義uchar為unsigned char(即無符號字符型數(shù)據(jù),數(shù)據(jù)范圍:0到255。)
  8. #define uint unsigned int     //自定義uint為unsigned int(即有符號整數(shù)型數(shù)據(jù),數(shù)據(jù)范圍:0到65535。)
  9. uint count,i,sec,shumaguainitflag;//聲明定時器0中斷次數(shù)變量、選位變量、秒鐘變量、數(shù)碼管初始化標(biāo)志位變量
  10. uint ge,shi,bai,qian;//聲明數(shù)碼管個位變量、數(shù)碼管十位變量、數(shù)碼管百位變量、數(shù)碼管千位變量
  11. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ; //共陰數(shù)碼管段碼數(shù)字0~9字碼表,高電平點(diǎn)亮數(shù)碼管段碼數(shù)字0~9。
  12.   void Timer0Init()//定時器0初始化
  13. {
  14.    TMOD=0x01;//設(shè)定定時器類型為定時器0,定時器工作模式為模式0。
  15.    TH0=(65536-1000)/256;//TH0裝初值
  16.    TL0=(65536-1000)%256;//TL0裝初值
  17.    EA=1;//開啟定時器總中斷
  18.    ET0=1;//開啟定時器0中斷開關(guān)
  19.    TR0=1;//啟動定時器0
  20. }
  21.   void Timer0() interrupt 1//定時器0中斷函數(shù)
  22. {
  23.    TH0=(65536-1000)/256;//TH0重新裝值
  24.    TL0=(65536-1000)%256;//TL0重新裝值
  25.    count++;//定時器0中斷次數(shù)變量先賦值再加
  26.    P2=0xff;//此句為消除瞬間錯誤,例如case 1下,P0已刷新而P2暫留在case 0瞬間狀態(tài),會造成case 0下數(shù)碼管瞬間顯示錯誤數(shù)值,在每次進(jìn)入開關(guān)語句前關(guān)閉所有數(shù)碼管即可消除該錯誤。
  27.    switch(i)//讓4位數(shù)碼管以1ms間隔輪流刷新
  28. {
  29.    
  30.     case 0:  
  31.            P0 = ge;//數(shù)碼管個位數(shù)值顯示
  32.            P2 = 0xf7;//數(shù)碼管個位顯示位
  33.            i++;//選位變量先賦值再加加
  34.            break;
  35.     case 1:
  36.            P0 = shi;//數(shù)碼管十位數(shù)值顯示
  37.            P2 = 0xfb;//數(shù)碼管十位顯示位   
  38.            i++;//選位變量先賦值再加加
  39.            break;
  40.     case 2:
  41.            P0 = bai;//數(shù)碼管百位數(shù)值顯示
  42.            P2 = 0xfd;//數(shù)碼管百位顯示位
  43.            i++;//選位變量先賦值再加加
  44.            break;
  45.     case 3:
  46.            P0 = qian;//數(shù)碼管千位數(shù)值顯示
  47.            P2 = 0xfe;//數(shù)碼管千位變量顯示位
  48.            i=0;//選位變量置0
  49.            break;
  50.    
  51.     default : break;//自定義
  52.    }
  53. }
  54.   void main()//主函數(shù)
  55. {
  56.    Timer0Init();//定時器0初始化函數(shù)
  57.    while(1)//固定循環(huán)
  58. {   
  59.     if(count<1000&&shumaguainitflag==0)//判斷定時器0中斷次數(shù)變量是否小于1000和數(shù)碼管初始化標(biāo)志位變量是否等于0
  60.   {
  61.      ge = table[0];//數(shù)碼管個位變量為0
  62.      shi = table[0];//數(shù)碼管十位變量為0
  63.      bai = table[0];//數(shù)碼管百位變量為0
  64.      qian = table[0];//數(shù)碼管千位變量為0
  65.     }
  66.     if(count>=1000)//判斷定時器0中斷次數(shù)變量是否大于等于1000,即1s。
  67.   {
  68.      count = 0;//定時器0中斷次數(shù)變量置0
  69.      sec++;//秒鐘變量先賦值再加加
  70.      shumaguainitflag=1;//數(shù)碼管初始化標(biāo)志位變量置1
  71.      ge = table[sec%10];//數(shù)碼管個位變量
  72.      shi = table[sec%100/10];//數(shù)碼管十位變量
  73.      bai = table[sec%1000/100];//數(shù)碼管百位變量
  74.      qian = table[sec/1000];//數(shù)碼管千位變量
  75.     }
  76.    }
  77.   }
復(fù)制代碼


1680900-20200216121250648-830894033.png (58.08 KB, 下載次數(shù): 42)

1680900-20200216121250648-830894033.png

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:65956 發(fā)表于 2020-3-9 09:43 | 只看該作者
這個個人認(rèn)為公限于些功能的應(yīng)用,如果作到項(xiàng)目,P2口還有用到其它的功能就要改,不然項(xiàng)目動作不太合適
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区三区四区在线观看 | 久久久资源 | 久久精品1 | 久久精品视频91 | 日韩美女爱爱 | 二区三区av| 视频1区 | 国产精品爱久久久久久久 | 青青草一区二区 | 日韩欧美一级精品久久 | 久久精品一级 | 色综合99 | 亚洲综合在线一区 | 国产国产精品久久久久 | 美女视频一区二区三区 | 一区二区三区在线观看免费视频 | 性xxxxx| 精品国产乱码久久久久久影片 | 中文字幕亚洲一区二区三区 | 麻豆亚洲 | 日韩精品在线网站 | 韩国电影久久 | 国产激情视频在线免费观看 | 欧美aaa级| 久久这里只有精品首页 | 国产精品一区网站 | 精品国产伦一区二区三区观看方式 | 久久久久亚洲国产| 五月婷婷导航 | 成人一级片在线观看 | 色爱综合网 | 亚洲一区在线日韩在线深爱 | 国产乱码精品一品二品 | 精品国产欧美 | 一区二区三区视频 | 欧美日韩不卡合集视频 | 欧美激情久久久 | 日韩成人 | 欧美日韩国产精品激情在线播放 | 国产免费一区二区 | 中文在线a在线 |