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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1650|回復: 0
打印 上一主題 下一主題
收起左側

單片機數碼管和定時設計的程序設計

[復制鏈接]
跳轉到指定樓層
樓主
利用動態掃描和定時器1在數碼管上顯示出從765432開始以1/10秒的速度往下遞減直至765398并保持顯示此數,與此同時利用定時器0以500MS速度進行流水燈從上至下移動,當數碼管上數減到停止時,實驗板上流水燈也停止然后全部開始閃爍,3秒后(用T0定時)流水燈全部關閉、數碼管上顯示出"HELLO"。到此保持住。
設晶振頻率為12MHz。

單片機運行過程已經上傳,以下是代碼
  1. #include<reg52.h>  //52單片機頭文件
  2. #include <intrins.h> //包含有左右循環移位子函數的庫
  3. #define uint unsigned int    //宏定義
  4. #define uchar unsigned char  //宏定義
  5. sbit dula=P2^6;
  6. sbit wela=P2^7;
  7. uchar code table[]={   //顯示數據編碼
  8. 0x3f,0x06,0x5b,0x4f,
  9. 0x66,0x6d,0x7d,0x07,
  10. 0x7f,0x6f,0x77,0x7c,
  11. 0x39,0x5e,0x79,0x71,
  12. 0x76,0x79,0x38,0x3f,0};
  13. uchar temp,t0,t1,bai,shi,ge,flag,flag1;
  14. uint shu;
  15. void init();              //函數聲明
  16. void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge);
  17. void delay(uint z)     //延時子函數
  18. {
  19.         uint x,y;
  20.         for(x=z;x>0;x--)
  21.                 for(y=110;y>0;y--);
  22. }
  23. void main()          //主函數
  24. {
  25.         init();
  26.         while(1)
  27.         {
  28.                 if(flag1!=1)   //如果flagi不再等于1則顯示數據
  29.                         display(7,6,5,bai,shi,ge);
  30.                 else
  31.                         display(16,17,18,18,19,20);          //否則顯示hello
  32.         }
  33. }

  34. void init()          //初始化函數
  35. {
  36.         shu=432;
  37.         temp=0xfe;
  38.         P1=temp;
  39.         TMOD=0x11;
  40.         TH0=(65536-50000)/256;  //定時器初始化
  41.         TL0=(65536-50000)%256;
  42.         TH1=(65536-50000)/256;
  43.         TL1=(65536-50000)%256;
  44.         EA=1;
  45.         ET0=1;
  46.         ET1=1;
  47.         TR0=1;
  48.         TR1=1;
  49. }

  50. void timer0() interrupt 1   //定時器0中斷
  51. {
  52.         TH0=(65536-50000)/256;
  53.         TL0=(65536-50000)%256;
  54.         t0++;
  55.         if(flag!=1)          //flag不等于1時進行流水燈
  56.                 {
  57.                 if(t0==10)
  58.                         {
  59.                                 t0=1;
  60.                                 temp=_crol_(temp,1);
  61.                                 P1=temp;
  62.                         }
  63.                 }
  64.         else              //否則進行燈閃爍
  65.                 {
  66.                         if(t0%4==0)  //小燈每200毫秒變化一次
  67.                                 P1=~P1;
  68.                         if(t0==60)
  69.                         {
  70.                                 TR0=0;   //3秒后關閉定時器0,關閉燈,并置flag=1
  71.                                 P1=0xff;
  72.                                 flag1=1;
  73.                         }
  74.                 }        
  75. }

  76. void timer1() interrupt 3  //定時器1中斷函數
  77. {
  78.         TH1=(65536-50000)/256;
  79.         TL1=(65536-50000)%256;
  80.         t1++;
  81.         if(t1==2)
  82.                 {
  83.                         t1=0;
  84.                         shu--;
  85.                         bai=shu/100;
  86.                         shi=shu%100/10;
  87.                         ge=shu%10;
  88.                         if(shu==398)    //當到398時把原來T0中的數清除,重新加裁初值讓小燈閃爍
  89.                                 {
  90.                                         TR0=0;
  91.                                         TH0=(65536-50000)/256;
  92.                                         TL0=(65536-50000)%256;
  93.                                         TR0=1;
  94.                                         flag=1;
  95.                                         t0=0;
  96.                                         P1=0xff;
  97.                                         TR1=0;
  98.                                 }        
  99.                 }        
  100. }

  101. void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge) //顯示子函數
  102. {
  103.         dula=1;
  104.                 P0=table[aa];
  105.                 dula=0;
  106.                 P0=0xff;
  107.                 wela=1;
  108.                 P0=0xfe;
  109.                 wela=0;
  110.                 delay(1);

  111.                dula=1;
  112.                 P0=table[bb];
  113.                 dula=0;
  114.                 P0=0xff;
  115.                 wela=1;
  116.                 P0=0xfd;
  117.                 wela=0;
  118.                 delay(1);

  119.        dula=1;
  120.                 P0=table[cc];
  121.                 dula=0;
  122.                 P0=0xff;
  123.                 wela=1;
  124.                 P0=0xfb;
  125.                 wela=0;
  126.                 delay(1);
  127.         dula=1;
  128.                 P0=table[bai];
  129.                 dula=0;
  130.                 P0=0xff;
  131.                 wela=1;
  132.                 P0=0xf7;
  133.                 wela=0;
  134.                 delay(1);

  135.                 dula=1;
  136.                 P0=table[shi];
  137.                 dula=0;
  138.                 P0=0xff;
  139.                 wela=1;
  140.                 P0=0xef;
  141.                 wela=0;
  142.                 delay(1);

  143.                 dula=1;
  144.                 P0=table[ge];
  145.                 dula=0;
  146.                 P0=0xff;
  147.                 wela=1;
  148.                 P0=0xdf;
  149.                 wela=0;
  150.                 delay(1);
  151. }
復制代碼



評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久九九九九九九 | 国产精品爱久久久久久久 | 日韩精品一区二区三区 | 国产精品黄视频 | 精品久久精品 | 在线观看中文字幕 | 亚洲国产精品成人无久久精品 | 99久久精品一区二区成人 | www.夜夜骑.com | 日韩精品一区二区久久 | 天天爽夜夜骑 | 日韩一区二区在线播放 | 狠狠骚| 国产真实乱全部视频 | 欧美伦理一区 | 国产精品一区二区不卡 | 日韩欧美亚洲 | 国产人免费人成免费视频 | 成人av网站在线观看 | 亚洲视频在线观看一区二区三区 | 天堂影院av| 亚洲午夜小视频 | 国产精品久久久久久久三级 | 精品久久久久久久久久久久久久 | 久久久久久网站 | 国产精品mv在线观看 | 久久精品小短片 | 99热热精品| 亚洲网址在线观看 | 天天干狠狠干 | 日本高清中文字幕 | 国产小视频在线观看 | 亚洲精品一区二区三区蜜桃久 | 狠狠影院| 国产精品资源在线观看 | 日韩一区二区三区在线看 | av在线免费观看网址 | 91在线视频播放 | 亚洲品质自拍视频 | 国产a区 | 亚洲a一区|