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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

有大佬幫我再詳細注解下這個程序嗎還是有點沒看懂

[復制鏈接]
跳轉到指定樓層
樓主
ID:437648 發表于 2018-12-22 14:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar temp,aa,nn;
  6. sbit rn=P2^0;                                
  7. sbit nb=P2^1;
  8. sbit gn=P2^2;
  9. sbit rw=P2^3;
  10. sbit dx=P2^4;
  11. sbit gw=P2^5;
  12. sbit shi=P3^6;
  13. sbit ge=P3^7;                            /*對要使用的單片機各個口進行定義*/
  14. bit flag=0;

  15. uchar code table[]={
  16.     0x3f,0x06,0x5b,0x4f,
  17.     0x66,0x6d,0x7d,0x07,
  18.     0x7f,0x6f,0x77,0x7c,
  19.     0x39,0x5e,0x79,0x71};         /*將數字0123456789的16進制數定義成數組用以顯示*/

  20. void delay(uint z);
  21. void disp(uint n);
  22. void nb_flash(void);
  23. void dx_flash(void);
  24. void  xint0();
  25. void timer0();
  26. void  LED_ON();
  27. void  xint1();
  28. void  LED_OFF();
  29. void nanbei();
  30. void dongxi();
  31.                 /*將所使用的子函數定義*/
  32. void main()
  33. {
  34.         uint num;
  35.         num=0;
  36.         aa=0;
  37.         TMOD=0x01;
  38.         TH0=(65536-50000)/256;
  39.         TL0=(65536-50000)%256;
  40.         EA=1;
  41.         ET0=1;
  42.         TR0=1;
  43.         EX0=1;
  44.         IT0=0;
  45.         EX1=1;
  46.         IT1=1;                       /*中斷初始化*/
  47.         while(1)
  48.         {
  49.             nanbei();   
  50.             nb_flash();
  51.             dongxi();
  52.             dx_flash();                /*主函數中顯示部分*/
  53.         }
  54. }
  55. void delay(uint z)                    /*延時子函數*/
  56. {
  57.         uint x,y;
  58.         for(x=z;x>0;x--)
  59.             for(y=110;y>0;y--);
  60. }
  61. void timer0() interrupt 1             /*定時器初始化*/
  62. {
  63.         TH0=(65536-50000)/256;
  64.         TL0=(65536-50000)%256;
  65.         aa++;
  66.         if(aa==18)
  67.         {
  68.             aa=0;
  69.             flag=1;
  70.         }   
  71. }
  72. void disp(uint n)                    /*顯示子函數*/
  73. {
  74.       while(!flag)
  75.       {
  76.           ge=0;
  77.           P0=table[n%10];
  78.           delay(50);
  79.           shi=1;ge=1;
  80.           shi=0;
  81.           P0=table[n/10];
  82.           delay(50);
  83.           shi=1;ge=1;
  84.        }
  85.       if(flag==1)
  86.          flag=0;
  87. }
  88. void nanbei()                    /*南北方向的紅綠燈和數碼管顯示子函數*/
  89. {        uint num;
  90.             num=60;
  91.             disp(num);
  92.             while(num<=60&&num>0)
  93.             {     num--;
  94.                  P2=0xde;
  95.                     disp(num);            
  96.             }
  97. }
  98. void dongxi()                     /*東西方向的紅綠燈和數碼管顯示子函數*/
  99. {        uint num;            
  100.              num=60;
  101.             while(num<=60&&num>0)
  102.             {    P2=0xf3;      
  103.                 disp(num);
  104.                 num--;
  105.             }
  106. }
  107. void nb_flash(void)              /*南北方向的黃燈和數碼管顯示子函數*/
  108. {
  109.         uint a;
  110.         for(a=3;a>0;a--)
  111.         {    P2=0xdd;
  112.              nb=1;
  113.              delay(100);
  114.             nb=0;
  115.             disp(a);
  116.         }
  117. }
  118. void dx_flash(void)                /*東西方向的黃燈和數碼管顯示子函數*/
  119. {
  120.         uint a;
  121.         for(a=3;a>0;a--)
  122.         {     P2=0xeb;
  123.              dx=1;
  124.              delay(100);
  125.              dx=0;
  126.              disp(a);
  127.         }
  128. }
  129. void  xint0()  interrupt 2                     /*中斷定義*/
  130. {   
  131.     TH0=(65536-50000)/256;
  132.     TL0=(65536-50000)%256;   
  133.      LED_ON();   
  134. }
  135. void  LED_ON()                       /*開關控制燈的子函數*/   
  136. {            uint b;
  137.             rn=0;
  138.             rw=0;
  139.             gn=1;
  140.             gw=1;
  141.             nb=1;
  142.             dx=1;
  143.             for(b=5;b>0;b--)
  144.             {
  145.             ge=0;shi=1;
  146.             P0=table[b];
  147.             delay(1000);
  148.             ge=1; shi=1;
  149.             }            
  150.             return;
  151. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:21069 發表于 2018-12-22 17:33 | 只看該作者
void delay(uint z);
void disp(uint n);
void nb_flash(void);
void dx_flash(void);
void  xint0();
void timer0();
void  LED_ON();
void  xint1();
void  LED_OFF();
void nanbei();
void dongxi();這些函數多數別人都有拼音標注了,sbit rn=P2^0;                                
sbit nb=P2^1;
sbit gn=P2^2;
sbit rw=P2^3;
sbit dx=P2^4;
sbit gw=P2^5;
sbit shi=P3^6;
sbit ge=P3^7;                            /*對要使用的單片機各個口進行定義*/
bit flag=0;這些如果你不喜歡別人的定義名你可以自己整成你喜歡的,這樣整他一下,就不信你還要別人幫你注解
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线中文字幕 | 自拍偷拍小视频 | 亚洲国产精品视频一区 | 黄色免费av | 久久久久亚洲视频 | 国产高清一区二区三区 | 亚洲精品456 | 在线观看第一页 | 高清久久久 | 日韩高清一区 | 888久久久| 欧美成视频 | 亚洲精品在线视频 | 日韩伦理电影免费在线观看 | 古装三级在线播放 | 国内久久| 久久久精品一区二区三区四季av | 九九热在线精品视频 | 成人精品一区二区三区 | 国产精品jizz在线观看老狼 | 久久久久无码国产精品一区 | 在线观看的av | 欧美二区三区 | 国产精品一区二区欧美 | 国产一区二区毛片 | 色站综合 | 国产a区 | 亚洲成人黄色 | 男女免费视频网站 | 中文字幕亚洲一区二区三区 | 国产成人叼嘿视频在线观看 | 国产精品九九视频 | 日韩在线不卡 | 亚洲91精品 | 亚洲视频不卡 | 久久国产一区二区 | 不卡在线视频 | 亚洲成人久久久 | 欧美一区二区三区 | 欧美精品一区二区三区四区 在线 | 一区二区在线免费播放 |