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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

旋轉LED顯示屏POV制作 空中字 STC8單片機程序

  [復制鏈接]
跳轉到指定樓層
樓主


//------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------

//1、本程序適用于:STC8F系列芯片制作的旋轉LED顯示屏POV
//2、為方便閱讀,使用傳統編程思路編寫,并未使用框架式編程技巧,
//3、本程序使用24M晶振,STC15 STC8 均可使用
//4、祁緒電子《人人學會單片機》

//------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------

  1. //#include "STC15.H"
  2. #include "STC8.H"
  3. #include <intrins.h>
  4. #define u8 unsigned char
  5. #define u16 unsigned int
  6. #define u32 unsigned long
  7. #define zishu 21        

  8. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  9. //------漢字字模保存數組code
  10. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  11. u8 code hanzi[zishu][32]=
  12. {


  13. {0x10,0x40,0x10,0x80,0x91,0x00,0x73,0xFF,0x15,0x00,0x18,0x80,0x00,0x40,0x00,0x00,0x7F,0xFF,0x40,0x20,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x00,0x00,0x00,0x00},/*"祁",0*/
  14. /* (16 X 16 , 宋體 ) */

  15. {0x04,0x44,0x0C,0xE6,0x35,0x44,0xC6,0x48,0x08,0x48,0x04,0x20,0x24,0x40,0x24,0xFF,0x25,0x92,0xFE,0x92,0x24,0x92,0x2C,0x92,0x14,0xFF,0x64,0x00,0x04,0x00,0x00,0x00},/*"緒",1*/
  16. /* (16 X 16 , 宋體 ) */

  17. {0x00,0x00,0x00,0x00,0x1F,0xF8,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0xFF,0xFE,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1F,0xF9,0x00,0x01,0x00,0x0F,0x00,0x00},/*"電",2*/
  18. /* (16 X 16 , 宋體 ) */

  19. {0x01,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x02,0x41,0x01,0x47,0xFE,0x45,0x00,0x49,0x00,0x51,0x00,0x61,0x00,0x41,0x00,0x01,0x00,0x01,0x00,0x00,0x00},/*"子",3*/
  20. /* (16 X 16 , 宋體 ) */

  21. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/*"L",5*/
  22. /* (8 X 16 , 宋體 ) */

  23. {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"D",7*/
  24. /* (8 X 16 , 宋體 ) */

  25. {0x08,0x01,0x08,0x06,0x8F,0xF8,0x69,0x02,0x09,0x01,0x09,0xFE,0x08,0x01,0x14,0x06,0xE4,0xF8,0x24,0x04,0x27,0xFE,0x24,0x22,0x24,0x22,0x27,0x22,0x20,0x02,0x00,0x00},/*"旋",8*/
  26. /* (16 X 16 , 宋體 ) */

  27. {0x13,0x10,0x1D,0x18,0xF1,0x10,0x17,0xFF,0x11,0x20,0x11,0x20,0x02,0x00,0x12,0x40,0x12,0xD0,0x17,0x48,0xFA,0x44,0x12,0x4B,0x12,0x50,0x12,0x60,0x02,0x00,0x00,0x00},/*"轉",9*/
  28. /* (16 X 16 , 宋體 ) */

  29. {0x00,0x01,0x00,0x02,0x03,0xEC,0x02,0x20,0x02,0x20,0x02,0x28,0xFE,0x26,0x12,0x20,0x12,0x28,0x12,0x26,0x12,0x20,0x13,0xE0,0x10,0x08,0x10,0x07,0x00,0x00,0x00,0x00},/*"點",10*/
  30. /* (16 X 16 , 宋體 ) */

  31. {0x00,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x10,0x10,0x13,0x10,0x1D,0x10,0xF1,0x10,0x17,0xFF,0x11,0x10,0x11,0x10,0x11,0x10,0x10,0x10,0x00,0x00},/*"陣",11*/
  32. /* (16 X 16 , 宋體 ) */

  33. {0x00,0x02,0x00,0x42,0x00,0x22,0x7F,0x1A,0x49,0x02,0x49,0xFE,0x49,0x02,0x49,0x02,0x49,0x02,0x49,0xFE,0x49,0x02,0x7F,0x0A,0x00,0x12,0x00,0x62,0x00,0x02,0x00,0x00},/*"顯",12*/
  34. /* (16 X 16 , 宋體 ) */

  35. {0x02,0x04,0x02,0x08,0x42,0x10,0x42,0x60,0x42,0x00,0x42,0x02,0x42,0x01,0x43,0xFE,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x40,0x42,0x20,0x02,0x10,0x02,0x0C,0x00,0x00},/*"示",13*/
  36. /* (16 X 16 , 宋體 ) */

  37. {0x00,0x02,0x00,0x0C,0x7F,0xF0,0x48,0x20,0x49,0x21,0x4D,0x26,0x4B,0xF8,0x49,0x20,0x49,0x20,0x49,0x20,0x4B,0xFF,0x4D,0x20,0x79,0x20,0x00,0x20,0x00,0x00,0x00,0x00},/*"屏",14*/
  38. /* (16 X 16 , 宋體 ) */

  39. {0x04,0x08,0x04,0x0C,0xFF,0xF8,0x04,0x10,0x04,0x10,0x1F,0x80,0x90,0xBF,0x54,0xAA,0x12,0xAA,0x1F,0xAA,0x12,0xAA,0x54,0xAA,0x90,0xBF,0x1F,0x80,0x00,0x00,0x00,0x00},/*"增",16*/
  40. /* (16 X 16 , 宋體 ) */

  41. {0x40,0x00,0x47,0xC2,0x44,0x41,0x44,0x42,0x7C,0x7C,0x00,0x02,0x01,0xE2,0x79,0x22,0x49,0x22,0x49,0x22,0x4F,0xFE,0x49,0x22,0x49,0x22,0x79,0x2A,0x01,0xE7,0x00,0x00},/*"強",17*/
  42. /* (16 X 16 , 宋體 ) */

  43. {0x04,0x22,0x44,0x42,0x45,0x92,0x7E,0x12,0x44,0x12,0x44,0x12,0x7F,0x92,0x44,0x7E,0x44,0x12,0x00,0x12,0x3E,0x12,0x00,0x92,0x00,0x52,0xFF,0x82,0x00,0x02,0x00,0x00},/*"型",18*/
  44. /* (16 X 16 , 宋體 ) */

  45. {0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00,0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/*"T",20*/
  46. /* (8 X 16 , 宋體 ) */

  47. {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00,0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"8",22*/
  48. /* (8 X 16 , 宋體 ) */

  49. {0x00,0x08,0x00,0x08,0x1F,0xC8,0x92,0x48,0x52,0x48,0x32,0x48,0x12,0x48,0x1F,0xFF,0x12,0x48,0x32,0x48,0x52,0x48,0x92,0x48,0x1F,0xC8,0x00,0x08,0x00,0x08,0x00,0x00},/*"單",23*/
  50. /* (16 X 16 , 宋體 ) */

  51. {0x00,0x00,0x00,0x01,0x00,0x06,0x7F,0xF8,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0xFC,0x40,0x04,0x7F,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00},/*"片",24*/
  52. /* (16 X 16 , 宋體 ) */

  53. {0x08,0x20,0x08,0xC0,0x0B,0x00,0xFF,0xFF,0x09,0x00,0x08,0xC1,0x00,0x06,0x7F,0xF8,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x02,0x00,0x1E,0x00,0x00},/*"機",25*/
  54. /* (16 X 16 , 宋體 ) */

  55. };
  56. u8 xdata LED2X128[262];                                        //開辟緩存空間,被定時器隨時調用。每列兩個字節,多加2個用于移位操作。
  57. sbit HC595_DS=P3^6;                                                //74HC595的數據
  58. sbit HC595_SH=P3^5;                                                //74HC595的時鐘
  59. sbit HC595_ST=P3^4;                                                //74HC595的鎖存
  60. u16 xdata Timer1_count;
  61. u8 xdata LED2X128_count=0;
  62. u8 xdata Timer1_TL1=0xc2;
  63. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  64. //------LED間距是2.346mm,一圈周長是329.8mm,可以顯示16*8=128列+2列黑
  65. //------轉一圈約40ms,一列時間就是40ms/(128+2)=307.7us,定時器再分10份就是31us
  66. //------定時器1配置:8位,定時時間31us
  67. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  68. void Timer1_Init()                                                                        
  69. {
  70.         AUXR &= 0xBF;                //定時器時鐘12T模式
  71.         TMOD &= 0x0F;                //設置定時器模式
  72.         TMOD |= 0x20;                //設置定時器模式
  73.         TL1 = Timer1_TL1;        //定時器賦初始值256-(24000000÷12T÷130列÷25幀÷10份)
  74.         TH1 = Timer1_TL1;        //定時器賦初始值256-(24000000÷12T÷130列÷25幀÷10份)
  75.         TF1 = 0;                        //清除TF1標志
  76.         TR1 = 1;                        //定時器1開始計時
  77.         ET1=1;
  78. }
  79. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  80. //------定時器1中斷處理,
  81. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  82. void Timer1_Routnie (void) interrupt 3                                
  83. {
  84.         u16 k;                //總共顯示130列        
  85.         Timer1_count++;
  86.         if(Timer1_count%10==1)
  87.         {
  88.                 LED2X128_count=LED2X128_count%260;//8個字*16列+2黑,每列2字節=(8*16+2)*2=260
  89.                 k=256-LED2X128_count;
  90.                
  91.                 if(k<128)
  92.                 {
  93.                         P4=~LED2X128[k];
  94.                         P2=~LED2X128[k+1];
  95.                         P1=~LED2X128[k+128];
  96.                         P0=~LED2X128[k+129];
  97.                 }
  98.                 else                                                        //兩邊的正好錯開180度,所以只需要顯示半圈                        
  99.                 {
  100.                         P4=255;
  101.                         P2=255;
  102.                         P1=255;
  103.                         P0=255;
  104.                 }
  105.                 LED2X128_count+=2;
  106.         }
  107. }

  108. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  109. //------下降沿中斷INT3 接收紅外PT928的下降沿
  110. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------

  111. void INT3_Routnie() interrupt 11
  112. {
  113.         if(Timer1_count>1305)                //如果轉一圈時間長了,那么定時器初值減少1  定時時間延長        
  114.         {
  115.                 Timer1_TL1--;
  116.                 TL1 = Timer1_TL1;
  117.                 TH1 = Timer1_TL1;
  118.         }
  119.         else if(Timer1_count<1285)         //如果轉速變快,那么定時器初值增加1  定時時間減少
  120.         {
  121.                 Timer1_TL1++;
  122.                 TL1 = Timer1_TL1;
  123.                 TH1 = Timer1_TL1;
  124.         }
  125.         LED2X128_count=0;                        //定位點從新開始顯示
  126.         Timer1_count=0;                                //定位點重新計時        
  127. }

  128. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  129. //------主函數
  130. //------------------------------------------------------------------------------------------------祁緒電子《人人學會單片機》 ------
  131. void main()                                                                   //主函數
  132. {
  133.         u16 i,count;
  134.         u8 num=0,ww=0;
  135.         INTCLKO |= 0x20;                     //外部中斷3下降沿中斷允許
  136.         Timer1_Init();
  137.         EA=1;
  138.         for(i=0;i<260;i++)
  139.         {
  140.                 LED2X128[i]=hanzi[i/32+1][i%32];
  141.         }
  142.         while(1)                                                           
  143.         {
  144.                 count=65000;                                                               
  145.                 while(count--);                                       
  146.                
  147.                 LED2X128[260]=hanzi[ww][num];         
  148.                 num++;
  149.                 LED2X128[261]=hanzi[ww][num];         
  150.                 num++;
  151.                 if(num>=32)                                                
  152.                 {
  153.                         num=0;
  154.                         ww++;                                                
  155.                         if(ww>=zishu)                                       
  156.                         {
  157.                                 ww=0;
  158.                         }
  159.                 }
  160.                 for(i=0;i<260;i++)                                
  161.                 {                                                               
  162.                         LED2X128[i]=LED2X128[i+2];
  163.                 }//*/
  164.         }
  165. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:592807 發表于 2021-1-5 08:58 | 只看該作者
請問無線充電是什么原理?
回復

使用道具 舉報

板凳
ID:143767 發表于 2021-1-5 10:12 | 只看該作者
說的很清楚,很好!
回復

使用道具 舉報

地板
ID:59830 發表于 2021-1-5 15:40 | 只看該作者
看了一下,感覺不錯。LED掃描顯示 有興趣的可以動動數 .  點贊
回復

使用道具 舉報

5#
ID:390416 發表于 2021-2-8 18:57 | 只看該作者
黃youhui 發表于 2021-1-5 08:58
請問無線充電是什么原理?

電磁感應
回復

使用道具 舉報

6#
ID:390416 發表于 2021-2-8 18:58 | 只看該作者
yygdzjs 發表于 2021-1-5 15:40
看了一下,感覺不錯。LED掃描顯示 有興趣的可以動動數 .  點贊

你也可以動手試試啊  
回復

使用道具 舉報

7#
ID:530691 發表于 2021-2-25 14:09 | 只看該作者
樓主 你這個套件在哪兒購買呀  有購買鏈接嗎  我看你這個無線線圈是自己繞的嗎
回復

使用道具 舉報

8#
ID:887070 發表于 2021-2-28 20:43 | 只看該作者
想問以下樓主 如果是三色的那種 RGB燈 要怎么控制呀?感覺會很繁瑣
回復

使用道具 舉報

9#
ID:390416 發表于 2021-3-1 11:25 | 只看該作者
000-0 發表于 2021-2-28 20:43
想問以下樓主 如果是三色的那種 RGB燈 要怎么控制呀?感覺會很繁瑣

這種東西 不建議做彩色 太燒錢了     還是做單色的劃算
回復

使用道具 舉報

10#
ID:887070 發表于 2021-3-11 09:52 | 只看該作者
樓主想請問電機轉速大概要求在多少之上?5V 22mA 5500轉的那種可以不?
回復

使用道具 舉報

11#
ID:390416 發表于 2021-3-11 10:49 | 只看該作者
zhuyaying 發表于 2021-2-25 14:09
樓主 你這個套件在哪兒購買呀  有購買鏈接嗎  我看你這個無線線圈是自己繞的嗎

嗯 我們就是 祁緒電子
回復

使用道具 舉報

12#
ID:390416 發表于 2021-3-11 10:50 | 只看該作者
一秒鐘轉30~50圈的樣子,轉速沒啥要求 程序里面自動計算的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美午夜剧场 | 欧美高清视频一区 | 五月婷婷激情网 | 久久噜噜噜精品国产亚洲综合 | 免费在线观看一区二区三区 | 国产精品久久久久久吹潮日韩动画 | 成人h动漫精品一区二区器材 | 亚洲成人蜜桃 | 天天操天天射天天 | 天天夜干 | 天天插天天操 | 国产高清免费 | 国产精品海角社区在线观看 | 日韩不卡在线观看 | 一区二区三区网站 | 中文字幕av在线 | 国产精品一区久久久 | 日韩在线欧美 | 9999视频| 日韩欧美国产一区二区三区 | 最新国产精品精品视频 | 日本不卡一区 | 91网在线播放 | 九九精品在线 | 91免费版在线观看 | 麻豆国产一区二区三区四区 | 日韩av在线一区 | 欧美日韩亚洲一区 | 国产在线精品一区二区三区 | av片在线观看 | 欧美日韩国产一区二区 | 国产三级| 黄a大片 | 91精品国产91久久久久久 | 日本免费一区二区三区 | 欧美高清视频一区 | 成人精品一区 | 欧美视频在线看 | 中文字幕在线免费视频 | 网站国产 | 国产一区欧美 |