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

標(biāo)題: STC15W408AS單片機(jī)顯字風(fēng)扇制作 附程序 [打印本頁(yè)]

作者: 檸檬綠茶    時(shí)間: 2022-9-26 13:04
標(biāo)題: STC15W408AS單片機(jī)顯字風(fēng)扇制作 附程序
原先是個(gè)寫(xiě)死的廣告風(fēng)扇,經(jīng)過(guò)抄板換芯片可以顯示任何漢字字母圖形。

制作出來(lái)的實(shí)物圖如下:


電路原理圖如下:





單片機(jī)源程序如下:
  1. /************旋轉(zhuǎn)LED指尖陀螺程序**************/

  2. //----------|D1        |D2        | D3|D4        | D5| D6| D7|D8        |D9 |D10|D11||P32 |  P55   |   P54         |        
  3. //----------|         |        |        |        |        |        |        |        |        |        |        ||          |                   |                 |
  4. //----------|P10|P11|P12|P13|P14|P15|P30|P31|P33|P36|P37||按鍵|紅外接收| 紅外發(fā)射|        

  5. //----------字模為12x12點(diǎn)陣,黑體,低位先,從左至右,0為亮燈
  6. //----------下載選擇IRC頻率 6.000 MHZ
  7. //----------分頻/4


  8. #include <STC8.H>
  9. #include"zjtl.h"
  10. //#include"intrins.h"
  11. #define uchar unsigned char        //宏定義
  12. #define uint unsigned int        //宏定義

  13. uchar i,s,d,zz;
  14. #define b 20
  15. sbit led1 = P1 ^ 0;
  16. sbit led2 = P1 ^ 1;
  17. sbit led3 = P1 ^ 2;
  18. sbit led4 = P1 ^ 3;
  19. sbit led5 = P1 ^ 4;
  20. sbit led6 = P1 ^ 5;
  21. sbit led7 = P3 ^ 0;
  22. sbit led8 = P3 ^ 1;
  23. sbit led9 = P3 ^ 3;
  24. sbit led10 = P3 ^ 6;
  25. sbit led11 = P3 ^ 7;

  26. uchar JS,ss,zz,xuanze;               
  27. uint ZS;                //累計(jì)轉(zhuǎn)數(shù)

  28. sbit k1=P3^2;
  29. sbit k2=P5^5;
  30. //sbit LED0=P3^0;
  31. sbit LED=P3^7;
  32. sbit LED_H=P5^4;        //紅外發(fā)射LED
  33. //sbit D7=P3^0;
  34. //sbit D8=P3^1;
  35. //sbit D9=P3^3;
  36. //sbit D10=P3^6;
  37. //sbit D11=P3^7;
  38. /**************************/

  39. uchar code huamian0[]={
  40.    
  41. 0xFF,0xFF,0xFF,0xFB,0x7F,0xFC,
  42. .......見(jiàn)附件.......
  43. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",7*/
  44. /* (6 X 12 , 宋體 ) */
  45. };
  46. /*****************************************/

  47. /**********************************/
  48. /*****n延時(shí)子程序*****/
  49. /************************************************/
  50. void delay(uint a)        //延時(shí)
  51. {
  52.         uchar x;
  53.         while(a--)
  54.         {
  55.           for(x=0;x<150;x++);
  56.         }        
  57. }
  58. //////////////////////////////
  59. void delayus(uint f)
  60. {
  61.         while(f--);
  62. }
  63. /**************************/
  64. void Timer0Init(void)                //1毫秒@6.000MHz
  65. {
  66.         AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
  67.         TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
  68.         TMOD |= 0x01;                //設(shè)置定時(shí)器模式
  69.         TL0 = 0x0C;                //設(shè)置定時(shí)初值
  70.         TH0 = 0xFE;                //設(shè)置定時(shí)初值
  71.         TF0 = 0;                //清除TF0標(biāo)志
  72.         TR0 = 1;                //定時(shí)器0開(kāi)始計(jì)時(shí)
  73.         ET0 = 1;                //定時(shí)器T0中斷允許
  74. }
  75. /**********************************************/
  76. /*開(kāi)機(jī)顯示*/
  77. void kaijiss()        //開(kāi)機(jī)最外面LED閃爍三次        
  78. {        
  79.         uchar i;
  80. //        for(i=0;i<6;i++)
  81. //        {        
  82. //                P10=~P10;
  83. //                delay(100);
  84. //         }
  85. //         P10=1;
  86.         
  87. }
  88. /**********************************************/
  89. /****          LED顯示函數(shù)             ****/
  90. /**********************************************/
  91. void tuan(uchar *p)
  92. {        
  93.         uchar i;
  94.         
  95.         delayus(ss*100+3300);         //延時(shí)一個(gè)時(shí)間后
  96.         for(i=83;i>0;i--)
  97.         {
  98.                 P1=p[i*2];
  99.                 P2=p[i*2+1];
  100.                 P30=P16;
  101.                 P31=P17;
  102.                 P33=P20;
  103.                 P36=P21;
  104.                 P37=P22;
  105.         
  106.                 delayus(ss+35);                //顯示延時(shí)
  107.                
  108.         }
  109.         
  110.         P1=P2=P3=0xff;                //清除LED顯示
  111. }

  112. /***********************************/

  113. /*        比較器中斷 */
  114. void cmp_isr()interrupt 21           //
  115. {

  116.           CMPCR1&=~CMPIF;        //清除完成標(biāo)志
  117.           JS=!!(CMPCR1&CMPRES);
  118.          
  119.           if(JS==0)
  120.           {
  121.          
  122.                   
  123.         /**/        
  124.                 switch(xuanze)
  125.                 {
  126.                         case(0):tuan(huamian0);break;
  127.                         case(1):tuan(huamian1);break;
  128.                         case(2):tuan(huamian2);break;
  129.                         case(3):tuan(huamian3);break;
  130.                 }
  131.         delay(15);
  132.                 ZS++;        //轉(zhuǎn)數(shù)累加
  133.                
  134.           }
  135. }
  136. /**************************************/
  137. /**************************************/
  138. /*定時(shí)器T0中斷服務(wù)*/
  139. void Timer0(void) interrupt 1
  140. {         
  141.            uchar c;
  142.                  d++;
  143.          if(d==40/4)           //一直檢測(cè)每10ms內(nèi)當(dāng)前轉(zhuǎn)數(shù)
  144.          {        d=0;
  145.                  c++;
  146.                  if(c==20)
  147.                 {
  148.                         P11=~P11;
  149.                 }
  150.                     
  151.         
  152.                 ss=ZS+1;
  153.                
  154.                
  155.                 ZS=0;                           //清零
  156.                
  157.            
  158.          }
  159.         TL0 = 0x0C;                //設(shè)置定時(shí)初值
  160.         TH0 = 0xFE;                //設(shè)置定時(shí)初值
  161. }
  162. /**************************************/                  
  163. /*外中斷0服務(wù)程序*/        
  164. void zhongduan(void) interrupt 0
  165. {
  166.          if(k1==0)
  167.          {
  168.                  delay(15);
  169.                 if(k1==0)
  170.                 {
  171.                         xuanze++;
  172.                         if(xuanze>=4)xuanze=0;         //
  173.                         LED=0;
  174.                 }
  175.                 while(!k1);
  176.                 LED=1;
  177.          }
  178.          
  179. }

  180. ////////////////////////////////////////////////
  181. ///////////////--主--函--數(shù)--///////////////////
  182. ////////////////////////////////////////////////
  183. void main()
  184. {

  185.         EA=1;        //開(kāi)總中斷

  186.         EX0=1;        //允許使用外中斷
  187.         IT0=1;        //負(fù)跳變觸發(fā)方式(下降沿)

  188.    

  189.         Timer0Init();        //1毫秒@6.000MHz
  190.         msgl();                        //單片機(jī)工作模式
  191.         fenpin();                //單片機(jī)主頻設(shè)置
  192.         bjq();                        //比較器設(shè)置                 

  193.         
  194.         ioshezhi();                //io口設(shè)置
  195.         
  196.         kaijiss();                //開(kāi)機(jī)最外面LED閃爍三次
  197.         


  198. ////////////////////////////////////////////

  199. //        while(1)
  200. //        {
  201. //                 LED_H=0;                //紅外發(fā)射LED
  202. //        
  203. //        }
  204. }
  205. ////////////////////////////////////////////
  206. ////////////////////////////////////////////
復(fù)制代碼

Keil代碼下載(附件內(nèi)只含代碼,不含其他任何文件):
Keil代碼.7z (29.46 KB, 下載次數(shù): 35)

作者: tutu12138    時(shí)間: 2022-9-27 16:49
從圖片上看好像不能轉(zhuǎn)吧

作者: 檸檬綠茶    時(shí)間: 2022-9-27 17:02
tutu12138 發(fā)表于 2022-9-27 16:49
從圖片上看好像不能轉(zhuǎn)吧

板子固定在馬達(dá)軸上,燈排是固定在扇葉上,正負(fù)極通過(guò)彈簧和PCB上的大焊盤(pán)接觸,機(jī)械部分用的都是原裝,我只換了板子。
作者: jwpaiyy    時(shí)間: 2025-2-20 18:36
大佬能不能講一下刷新原理

作者: AI電子5166    時(shí)間: 2025-2-20 23:26
有創(chuàng)意




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲第一黄网 | 中文在线字幕免费观看 | 久插视频 | 日本一级淫片色费放 | 精品久久久久久久久久久久久久久久 | 99在线免费观看 | 黄色片免费看 | 不卡视频一区二区 | 国产区在线视频 | 亚洲精品成人 | 日韩av网站在线观看 | 香蕉久久久 | 国产尤物视频 | 福利一区福利二区 | 成人中文字幕在线观看 | 国产在线观看一区二区三区 | 美日韩在线视频 | 国产精品自拍一区 | 国产中文字幕在线播放 | 亚洲三级黄色片 | 一区二区黄色 | 国产成人精品av | 一级片观看 | 日本中文字幕一区 | 97国产在线观看 | 国产成人黄色 | 欧美日韩在线视频观看 | 在线a | 亚洲丝袜视频 | 日韩av手机在线观看 | 成人欧美一区二区三区黑人孕妇 | 免费特级毛片 | 丁香婷婷激情 | 成人免费视频一区二区 | 久久人人爽人人爽人人片 | 国产精品一区二区免费 | 久久天天躁狠狠躁夜夜躁2014 | 黄色一极片 | 国产一区在线播放 | 欧美a一级 | 成人黄色小视频 |