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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機LED旋轉顯示屏的程序,有些地方不理解 求解釋

[復制鏈接]
跳轉到指定樓層
樓主
ID:718877 發表于 2020-5-22 21:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面是LED旋轉顯示屏的程序,有些地方不理解。哪位能幫我解釋一下,zhushi,不用全部,主要是從定時器0中斷部分

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "DS1302.H"
  3. #include "hongwai.H"
  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. uchar xdata ShowDat[176];
  7. uint ShowNum;
  8. uchar nian,yue,ri,shi,fen,miao;
  9. uchar ms,ziNum,NB;
  10. uchar i;
  11. bit QuanOK;  //bit一般作為程序判斷的標志位
  12. uchar flagset=0;
  13. uchar Tim_red_tab[6]={0};        //記錄年月日時分秒和系統狀態信息
  14. uchar send_ok=0;
  15. uchar code Zimo[][16];
  16. uchar code Zimo1[][16];
  17. uchar code Zimo2[][16];
  18. uchar code Zimo3[][16];


  19. void delayms(uint xms) //延時1ms
  20. {
  21.         uchar k;
  22.         while(xms--)
  23.         {for(k=0;k<125;k++);}
  24. }


  25. void InterConfig(void)
  26. {
  27.         TMOD|=0x01;        //TMOD|=0x01等價于TMOD=TMOD|0x01;設置定時器0的工作方式,且保證其他位不變
  28.         TH0=0xfe;   
  29.         TL0=0x0b;
  30.         ET0=1;   //打開定時器0的中斷
  31.         TR0=1;   //定時器0工作
  32.         EX0=1;   //允許外部中斷         
  33.         IT0=1;    //外部中斷的方式為 下降沿觸發
  34.         EA=1;    //中斷總開關
  35. }

  36. void main()
  37. {
  38.         InterConfig();//中斷、定時器設置
  39.         for(i=0;i<176;i++) //顯示數據緩存清空
  40.         {
  41.                 ShowDat[i]=0xff;        //設為高電平
  42.         }
  43.          
  44.   TIM1init();//定時器1 紅外使用
  45.   EX1init();// 外部中斷1 紅外使用
  46.         delayms(1000);

  47.         while(1)
  48.         {
  49.                         
  50.                   delayms(100);
  51.                  if(irok==1) //紅外接收完成
  52.                  {
  53.                          Ircordpro();
  54.                          irok=0;
  55.                  }
  56.                  if(irpro_ok==1) //紅外解析完成
  57.                  {
  58.                          irpro_ok=0;
  59.                         
  60.                      if(IRcord[2]==0x0c)//鍵1
  61.                          {
  62.                                 IRcord[2]=0;
  63.                                  for(i=0;i<176;i++)
  64.                                                 {
  65.                                                         ShowDat[i]=0xff;        
  66.                                                 }
  67.                                          ShowNum=0; ms=0; QuanOK=0; ziNum=0;
  68.                                          flagset=1;

  69.                          }               
  70.                 }

  71.         }
  72. }
  73.   
  74. void EX0_int() interrupt 0         //外部中斷0
  75. {
  76.         ShowNum=0;
  77.         ms++;  
  78.                
  79. }

  80. void timer0() interrupt 1        //定時中斷0 中斷處理
  81. {
  82.         TH0=0xfe;  //0.37ms     11.0592M 晶振
  83.         TL0=0xab;                        

  84. if(flagset==1)        
  85. {                if(ShowNum<80)      
  86.         {
  87.                 P1=ShowDat[ShowNum*2];    //送數據低位顯示
  88.                 P0=ShowDat[ShowNum*2+1];               
  89.                 ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
  90.                 ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3];
  91.                 ShowNum++;
  92.                 QuanOK=1;
  93.         }
  94.         else  
  95.         {
  96.                 P1=P0=0xff;
  97.                 if(ms==8)  
  98.                 {
  99.                         ms=0;
  100.                         QuanOK=0;
  101.                         
  102.                         for(i=0;i<16;i++)
  103.                         {
  104.                                 ShowDat[160+i]=Zimo1[ziNum][i];        
  105.                         }
  106.                         ziNum=(ziNum+1)%61;         //重復
  107.                 }
  108.                
  109.                 else
  110.                 {
  111.                         if(QuanOK==1&&ms!=0) // 如果全部數據發送完畢   則更新160---176 數據
  112.                         {
  113.                                 QuanOK=0;
  114.                                 for(i=0;i<7;i++)
  115.                                 {
  116.                                         ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
  117.                                         ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];        
  118.                                 }
  119.                         }
  120.                 }
  121.         }
  122. }

  123. uchar code Zimo1[][16]=
  124. {

  125. 0xEF,0xFF,0xF3,0xFF,0xBB,0xC0,0xDB,0xFE,0xEB,0xFE,0xFB,0xFE,0xFA,0xFE,0x39,0x00,
  126. 0xFB,0xFE,0xFB,0xFE,0xEB,0xEE,0xDB,0xDE,0xBB,0xE0,0xEB,0xFF,0xF3,0xFF,0xFF,0xFF,/*"簾",0*/

  127. 0xFF,0x7E,0x3F,0xBF,0xCF,0xDE,0xE0,0xED,0xEF,0xF3,0xEF,0xFC,0x0F,0xFF,0xFF,0xFF,
  128. 0xFF,0xFF,0x00,0x00,0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,/*"外",1*/

  129. 0xBF,0xFF,0xBD,0xFF,0x33,0x80,0xFF,0xDF,0xBF,0xEF,0xDF,0xFF,0x07,0x00,0xB0,0xDD,
  130. 0xB7,0xDD,0xB6,0xDD,0x01,0xC0,0xB7,0xDD,0xB7,0xDD,0xB7,0xDD,0xF7,0xDF,0xFF,0xFF,/*"誰",2*/

  131. 0xFF,0xDE,0xF7,0xDE,0xF7,0xEE,0xD7,0xEE,0x37,0xF6,0xF7,0xFA,0xF7,0xFC,0x00,0x00,
  132. 0xF7,0xFC,0xF7,0xFA,0x77,0xF6,0x97,0xEE,0xF7,0xEE,0xF7,0xDE,0xFF,0xDE,0xFF,0xFF,/*"來",3*/

  133. 0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,0x00,0x80,0xEF,0xFE,0xAF,0xFF,0xDF,0xFF,0x07,0x00,
  134. 0xB0,0xDD,0xB7,0xDD,0xB6,0xDD,0x05,0xC0,0xB7,0xDD,0xB7,0xDD,0xF7,0xDF,0xFF,0xFF,/*"推",4*/

  135. 0xDF,0xDD,0xCF,0x98,0x53,0xDD,0x9C,0xED,0xCF,0x6D,0x6F,0xBF,0xAD,0xCE,0xCD,0xF0,
  136. 0xED,0xFE,0x01,0xF6,0xEE,0xB2,0xCE,0x74,0xAE,0xB7,0x6F,0xC7,0x7F,0xFF,0xFF,0xFF,/*"繡",5*/

  137. 0xFF,0xFF,0xFF,0x7F,0xFF,0x9F,0x07,0xE0,0xF7,0xFE,0xF7,0xFE,0xF6,0xFE,0xF1,0xFE,
  138. 0xF7,0xFE,0xF7,0xFE,0xF7,0xFE,0xF7,0xFE,0x07,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"戶",6*/

  139. 0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  140. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",7*/

  141. 0xEF,0xFB,0xEF,0xFC,0x2F,0xFF,0x00,0x00,0x6F,0xFF,0xEF,0xBE,0xFB,0xBF,0xFB,0xBE,
  142. 0xFB,0xBE,0xFB,0xBE,0x03,0x80,0xFB,0xBE,0xFB,0xBE,0xFB,0xBE,0xFB,0xBF,0xFF,0xFF,/*"枉",8*/

  143. 0xDF,0xFB,0x5B,0xF5,0x5B,0xB6,0x5B,0x77,0x00,0x81,0x5B,0xFA,0x4B,0xFB,0xD7,0x7B,
  144. 0x7B,0xBF,0x8F,0xDF,0x70,0xEC,0xF7,0xF3,0xF7,0xCC,0x07,0xBF,0xF7,0x7F,0xFF,0xFF,/*"教",9*/

  145. 0xFF,0x7F,0xFF,0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0xF3,0xFF,0xFC,0x3F,0xFF,0xC0,0xFF,
  146. 0x3F,0xFF,0xFF,0xFC,0xFF,0xF3,0xFF,0xEF,0xFF,0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,/*"人",10*/

  147. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFF,0xF7,0xFF,0xE7,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,
  148. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"、",11*/

  149. 0xBF,0xFF,0xBB,0x7F,0xDB,0x77,0xEB,0x7B,0x80,0xBD,0x6B,0xBA,0xDB,0xD6,0xFF,0xEE,
  150. 0xDB,0xEE,0xEB,0xF6,0x80,0xFA,0xEB,0xFC,0xDB,0xFF,0xBB,0xFF,0xBF,0xFF,0xFF,0xFF,/*"夢",12*/

  151. 0xFF,0xFF,0x03,0xC0,0xDF,0xDD,0xDB,0xDE,0x57,0xDF,0x00,0xD0,0x57,0xDF,0xDB,0x5C,
  152. 0xFF,0x9F,0x03,0xE0,0xBB,0xFF,0xBB,0xFF,0x3B,0x00,0xBD,0xFF,0xBF,0xFF,0xFF,0xFF,/*"斷",13*/

  153. 0xBB,0xEF,0xBB,0xCF,0x03,0xE0,0xBB,0xF7,0xBB,0xF7,0xFF,0xFF,0x6B,0xFD,0x9B,0x85,
  154. 0xBB,0xBD,0xAB,0xBD,0x1D,0x80,0xBD,0xBD,0x9C,0xBD,0xA5,0x05,0xFF,0xFD,0xFF,0xFF,/*"瑤",14*/

  155. 0xFF,0xFF,0xBF,0xFF,0x1F,0xFF,0xAF,0x01,0xB7,0xBD,0xBB,0xBD,0xBC,0xBD,0xBF,0xBD,
  156. 0xBF,0xBD,0xBF,0xBD,0xB7,0xBD,0xAF,0x01,0x9F,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"臺",15*/

  157. 0xFF,0xFF,0x0F,0x00,0xEF,0xBD,0xEF,0xBD,0xEF,0xBD,0x00,0x80,0xEF,0xBD,0xEF,0xBD,
  158. 0xEF,0xBD,0x00,0x80,0xEF,0xBD,0xEF,0xBD,0xEF,0xBD,0x0F,0x00,0xFF,0xFF,0xFF,0xFF,/*"曲",16*/

  159. 0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xDB,0xFF,0xDB,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,
  160. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"。",17*/

  161. 0x7F,0xEF,0x77,0xC7,0x77,0xEB,0x77,0xEC,0x00,0xEF,0x77,0xEB,0x77,0xE7,0x77,0xCF,
  162. 0x7F,0xFF,0x03,0x00,0xFB,0xFF,0xFB,0xF7,0xFB,0xEF,0x03,0xF0,0xFF,0xFF,0xFF,0xFF,/*"卻",18*/

  163. 0xFF,0x7F,0xFF,0x7F,0xFD,0xBF,0xE1,0xBF,0x9D,0xDF,0x7D,0xEE,0xFD,0xF5,0xFD,0xFB,
  164. 0xFD,0xF5,0x7D,0xEE,0x8D,0xDF,0xF1,0xBF,0xFF,0xBF,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,/*"又",19*/

  165. 0xFF,0x7E,0xFF,0xBE,0xFF,0xDE,0x80,0xE2,0xB6,0xDE,0xB6,0xBE,0xB6,0x7E,0xB6,0x00,
  166. 0xB6,0x76,0xB6,0x76,0xB6,0x76,0x80,0x76,0xFF,0x76,0xFF,0x7E,0xFF,0x7E,0xFF,0xFF,/*"是",20*/

  167. 0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  168. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",21*/
  169. 0xFF,0x7F,0xFF,0x9F,0x01,0xE0,0xFD,0xFF,0xED,0xDF,0xDD,0xEF,0x3D,0xF3,0xFD,0xFC,
  170. 0x3D,0xF3,0xCD,0xCF,0xFD,0xFF,0x01,0xF0,0xFF,0xCF,0xFF,0xBF,0xFF,0x07,0xFF,0xFF,/*"風",22*/
  171. 0xFB,0x00,0x8B,0xFE,0xAB,0xE2,0xAA,0xEA,0xA9,0xEA,0xAB,0xA2,0x8B,0x7E,0xFB,0x80,
  172. 0xBF,0x7F,0x3F,0xBC,0xBF,0xD3,0x80,0xEF,0xB7,0xD3,0x37,0xBC,0xF7,0x7F,0xFF,0xFF,/*"敲",23*/

  173. 0x7F,0xFF,0xBF,0xFF,0xCF,0xFF,0xE0,0xFF,0x0F,0x00,0xEF,0xFF,0x6F,0xFF,0xBF,0xFF,
  174. 0xCF,0xFF,0xE0,0xBF,0xEF,0x7F,0x0F,0x80,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xFF,0xFF,/*"竹",24*/

  175. 0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xDB,0xFF,0xDB,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,
  176. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"。",25*/

  177. 0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
  178. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"—",26*/

  179. 0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
  180. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"—",27*/

  181. 0xFB,0xFF,0xBB,0xEF,0xBB,0x71,0xBB,0xBF,0xA0,0xDF,0xBB,0xE7,0x0B,0xF8,0xBB,0xFF,
  182. 0xBB,0xBF,0xBB,0x7F,0xA0,0xBF,0x3B,0xC0,0xFB,0xFF,0xFB,0xFE,0xFB,0xF1,0xFF,0xFF,/*"蘇",28*/

  183. 0x37,0xF7,0x47,0xE7,0x70,0xF7,0x17,0x00,0x77,0xFB,0x77,0xFB,0xFF,0xDF,0x6F,0xDF,
  184. 0x6F,0xC0,0x6F,0xEF,0xEF,0xEF,0x00,0xF8,0xEF,0xC7,0xED,0xBF,0xEB,0x0F,0xFF,0xFF,/*"軾",29*/

  185. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",22*/         //61行

  186. };

復制代碼

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

使用道具 舉報

沙發
ID:584814 發表于 2020-5-23 09:24 | 只看該作者
定時器0中斷部分已包含注釋看不清可以靠近點
回復

使用道具 舉報

板凳
ID:718877 發表于 2020-5-23 10:04 | 只看該作者
man1234567 發表于 2020-5-23 09:24
定時器0中斷部分已包含注釋看不清可以靠近點

我是不理解那部分的工作流程,也就是從if(shownum<80)這里開
ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3];  這兩句是讓文字滾動起來的意思嗎?也就是往前一列?,還還有后面的呢,是什么?更新數據?啥意思呀。
ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线小视频 | 久久精品视频一区二区三区 | 亚洲精品二区 | 成人做爰69片免费观看 | 伊人网伊人网 | 亚洲精品视频在线播放 | 成人精品一区二区三区中文字幕 | 日韩在线视频免费观看 | 欧美精品中文字幕久久二区 | 国产亚洲精品美女久久久久久久久久 | 成人国产免费视频 | 成人影院一区二区三区 | 亚洲成人一区二区三区 | 欧洲成人| 国产亚洲一区二区三区在线观看 | 国产精品久久久久久模特 | 欧美一区二区三区视频 | 自拍偷拍第一页 | 久久综合九色综合欧美狠狠 | 婷婷去俺也去 | 一区二区三区视频在线观看 | 天堂网avav | 日韩精品二区 | 爱高潮www亚洲精品 中文字幕免费视频 | 夜夜爽99久久国产综合精品女不卡 | 在线观看亚洲专区 | 玖玖综合网| 久久日韩精品一区二区三区 | 午夜影院网站 | 亚洲国产欧美精品 | 伊大人久久 | 久久久久久成人 | 精品国产精品三级精品av网址 | 性生生活大片免费看视频 | 国产成人免费视频网站高清观看视频 | 国产一区二区在线免费播放 | 久久精品一区 | 久久精品一区二 | 亚洲一区二区av | 亚洲成人观看 | 亚洲影视在线 |