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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3227|回復(fù): 4
收起左側(cè)

51單片機(jī)的16x128點陣顯示文字Proteus仿真程序

[復(fù)制鏈接]
ID:520507 發(fā)表于 2020-4-25 12:59 | 顯示全部樓層 |閱讀模式
自己設(shè)計了一款基于51單片機(jī)的16*128大屏點陣顯示文字,如效果如下圖:
128.png

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit sclk=P1^1;
  6. sbit rclk=P1^2;
  7. sbit sdin=P1^0;
  8. sbit s1=P3^6;
  9. sbit s2=P3^7;
  10. bit fangxiang;
  11. uint alt,net,s3=30*25.5;
  12. int d1,d2;
  13. bit mode;
  14. uchar code tab[]={

  15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/

  16. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",1*/

  17. 0x00,0x80,0x01,0x02,0x06,0x02,0x78,0x82,0x08,0x82,0x08,0x82,0x08,0x82,0x08,0x82,
  18. 0xFF,0xFE,0x48,0x82,0x08,0x82,0x08,0x82,0x19,0x82,0x08,0x86,0x00,0x02,0x00,0x00,/*"生",2*/

  19. 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFC,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,
  20. 0x42,0x08,0x42,0x08,0x42,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",3*/

  21. 0x0E,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x0D,0x01,0x11,0x02,0x11,0x0C,0x11,0x70,
  22. 0xFF,0x80,0x11,0x60,0x11,0x10,0x11,0x0C,0x1F,0x06,0x01,0x03,0x01,0x02,0x00,0x00,/*"快",4*/

  23. 0x00,0x00,0x00,0x04,0x02,0x18,0x3F,0x30,0x22,0xE0,0x22,0x48,0x22,0x04,0x62,0x02,
  24. 0x5F,0xFC,0x42,0x00,0xC2,0x00,0xC2,0x40,0x42,0x30,0x02,0x1C,0x00,0x08,0x00,0x00,/*"樂",5*/

  25. 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  26. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",6*/


  27. /*--  文字:  點  --*/
  28. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  29. 0x00,0x01,0x00,0x02,0x03,0xEC,0x02,0x20,0x02,0x20,0x02,0x28,0xFE,0x26,0x12,0x20,
  30. 0x12,0x28,0x12,0x26,0x12,0x20,0x13,0xE0,0x10,0x08,0x10,0x07,0x00,0x00,0x00,0x00,
  31.                        
  32. /*--  文字:  陣  --*/
  33. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  34. 0x00,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x10,0x10,0x13,0x10,
  35. 0x1D,0x10,0xF1,0x10,0x17,0xFF,0x11,0x10,0x11,0x10,0x11,0x10,0x10,0x10,0x00,0x00,
  36.                        
  37. /*--  文字:  顯  --*/
  38. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  39. 0x00,0x02,0x00,0x42,0x00,0x22,0x7F,0x1A,0x49,0x02,0x49,0xFE,0x49,0x02,0x49,0x02,
  40. 0x49,0x02,0x49,0xFE,0x49,0x02,0x7F,0x0A,0x00,0x12,0x00,0x62,0x00,0x02,0x00,0x00,

  41. /*--  文字:  示  --*/
  42. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  43. 0x02,0x04,0x02,0x08,0x42,0x10,0x42,0x60,0x42,0x00,0x42,0x02,0x42,0x01,0x43,0xFE,
  44. 0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x40,0x42,0x20,0x02,0x10,0x02,0x0C,0x00,0x00,

  45. /*--  文字:  屏  --*/
  46. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  47. 0x00,0x02,0x00,0x0C,0x7F,0xF0,0x48,0x20,0x49,0x21,0x4D,0x26,0x4B,0xF8,0x49,0x20,
  48. 0x49,0x20,0x49,0x20,0x4B,0xFF,0x4D,0x20,0x79,0x20,0x00,0x20,0x00,0x00,0x00,0x00,               

  49. /*--  文字:  程  --*/
  50. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  51. 0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC4,0x80,0x44,0x60,0x00,0x02,0x7C,0x92,
  52. 0x44,0x92,0x44,0x92,0x44,0xFE,0x44,0x92,0x44,0x92,0x7C,0x92,0x00,0x82,0x00,0x00,
  53. /*--  文字:  序  --*/
  54. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  55. 0x00,0x02,0x00,0x0C,0x3F,0xF0,0x20,0x00,0x20,0x80,0x20,0x80,0x28,0x80,0xA8,0x82,
  56. 0x6A,0x81,0x29,0xFE,0x2A,0x80,0x2C,0x80,0x28,0x80,0x20,0xA0,0x20,0xC0,0x00,0x00,

  57. /*--  文字:  設(shè)  --*/
  58. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  59. 0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFC,0x00,0x09,0x02,0x11,0x05,0x02,0x79,0xC2,
  60. 0x41,0x34,0x41,0x08,0x41,0x14,0x79,0x62,0x05,0x82,0x04,0x01,0x04,0x01,0x00,0x00,

  61. /*--  文字:  計  --*/
  62. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  63. 0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFE,0x00,0x04,0x02,0x08,0x02,0x00,0x02,0x00,
  64. 0x02,0x00,0xFF,0xFF,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,

  65. /*--  文字:  與  --*/
  66. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  67. 0x00,0x10,0x00,0x10,0x07,0x10,0xF9,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,
  68. 0x11,0x10,0x11,0x12,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x00,0x00,0x00,0x00,

  69. /*--  文字:  仿  --*/
  70. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  71. 0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x01,0x10,0x02,0x10,0x0C,0x1F,0xF0,
  72. 0x91,0x00,0x71,0x02,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x10,0x00,0x00,0x00,

  73. /*--  文字:  真  --*/
  74. /*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
  75. 0x00,0x08,0x20,0x08,0x20,0x09,0x2F,0xFA,0x2A,0xAC,0x2A,0xA8,0x2A,0xA8,0xFA,0xA8,
  76. 0x2A,0xA8,0x2A,0xA8,0x2A,0xAC,0x2F,0xFA,0x20,0x09,0x20,0x08,0x00,0x08,0x00,0x00,





  77. 0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04,/*"h",7*/

  78. 0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04,/*"a",8*/

  79. 0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"p",9*/

  80. 0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"p",10*/

  81. 0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00,/*"y",11*/

  82. 0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",12*/

  83. 0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"b",13*/

  84. 0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,/*"i",14*/

  85. 0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00,/*"r",15*/

  86. 0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00,/*"t",16*/

  87. 0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04,/*"h",17*/

  88. 0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04,/*"d",18*/

  89. 0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04,/*"a",19*/

  90. 0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00,/*"y",20*/

  91. 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",21*/

  92. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",22*/

  93. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",23*/

  94. };

  95. void delay(uint z)           //延時子函數(shù)
  96. {
  97.    uchar x;
  98.    for(;z>0;z--)
  99.    for(x=110;x>0;x--);
  100. }

  101. void writedata(uchar dat1,uchar dat2,uchar dat3,uchar dat4,uchar dat5,uchar dat6,uchar dat7,uchar dat8,uchar dat9,uchar dat10,uchar dat11,uchar dat12,uchar dat13,uchar dat14,uchar dat15,uchar dat16)         //595顯示子函數(shù)
  102. {
  103.   uchar i;
  104.   for(i=0;i<8;i++)                //循環(huán)八次
  105.   {
  106.     dat1=dat1>>1;                //數(shù)據(jù)左移
  107.           sdin=CY;
  108.           sclk=1;
  109.           
  110.           sclk=0;
  111.   }
  112.   for(i=0;i<8;i++)          //循環(huán)八次
  113.   {
  114.       dat2=dat2>>1;          //數(shù)據(jù)左移
  115.           sdin=CY;
  116.           sclk=1;
  117.           
  118.           sclk=0;
  119.   }
  120.         for(i=0;i<8;i++)          //循環(huán)八次
  121.   {
  122.       dat3=dat3>>1;          //數(shù)據(jù)左移
  123.           sdin=CY;
  124.           sclk=1;
  125.           
  126.           sclk=0;
  127.   }
  128.         for(i=0;i<8;i++)          //循環(huán)八次
  129.   {
  130.       dat4=dat4>>1;          //數(shù)據(jù)左移
  131.           sdin=CY;
  132.           sclk=1;
  133.           
  134.           sclk=0;
  135.   }
  136.        
  137.         for(i=0;i<8;i++)                //循環(huán)八次
  138.   {
  139.     dat5=dat5>>1;                //數(shù)據(jù)左移
  140.           sdin=CY;
  141.           sclk=1;
  142.           
  143.           sclk=0;
  144.   }
  145.   for(i=0;i<8;i++)          //循環(huán)八次
  146.   {
  147.       dat6=dat6>>1;          //數(shù)據(jù)左移
  148.           sdin=CY;
  149.           sclk=1;
  150.           
  151.           sclk=0;
  152.   }
  153.         for(i=0;i<8;i++)          //循環(huán)八次
  154.   {
  155.       dat7=dat7>>1;          //數(shù)據(jù)左移
  156.           sdin=CY;
  157.           sclk=1;
  158.           
  159.           sclk=0;
  160.   }
  161.         for(i=0;i<8;i++)          //循環(huán)八次
  162.   {
  163.       dat8=dat8>>1;          //數(shù)據(jù)左移
  164.           sdin=CY;
  165.           sclk=1;
  166.           
  167.           sclk=0;
  168.   }
  169.        
  170. for(i=0;i<8;i++)                //循環(huán)八次
  171.   {
  172.     dat9=dat9>>1;                //數(shù)據(jù)左移
  173.           sdin=CY;
  174.           sclk=1;
  175.           
  176.           sclk=0;
  177.   }
  178.   for(i=0;i<8;i++)          //循環(huán)八次
  179.   {
  180.       dat10=dat10>>1;          //數(shù)據(jù)左移
  181.           sdin=CY;
  182.           sclk=1;
  183.           
  184.           sclk=0;
  185.   }
  186.         for(i=0;i<8;i++)          //循環(huán)八次
  187.   {
  188.       dat11=dat11>>1;          //數(shù)據(jù)左移
  189.           sdin=CY;
  190.           sclk=1;
  191.           
  192.           sclk=0;
  193.   }
  194.         for(i=0;i<8;i++)          //循環(huán)八次
  195.   {
  196.       dat12=dat12>>1;          //數(shù)據(jù)左移
  197.           sdin=CY;
  198.           sclk=1;
  199.           
  200.           sclk=0;
  201.   }
  202.        
  203.         for(i=0;i<8;i++)                //循環(huán)八次
  204.   {
  205.     dat13=dat13>>1;                //數(shù)據(jù)左移
  206.           sdin=CY;
  207.           sclk=1;
  208.           
  209.           sclk=0;
  210.   }
  211.   for(i=0;i<8;i++)          //循環(huán)八次
  212.   {
  213.       dat14=dat14>>1;          //數(shù)據(jù)左移
  214.           sdin=CY;
  215.           sclk=1;
  216.           
  217.           sclk=0;
  218.   }
  219.         for(i=0;i<8;i++)          //循環(huán)八次
  220.   {
  221.       dat15=dat15>>1;          //數(shù)據(jù)左移
  222.           sdin=CY;
  223.           sclk=1;
  224.           
  225.           sclk=0;
  226.   }
  227.         for(i=0;i<8;i++)          //循環(huán)八次
  228.   {
  229.       dat16=dat16>>1;          //數(shù)據(jù)左移
  230.           sdin=CY;
  231.           sclk=1;
  232.           
  233.           sclk=0;
  234.   }        
  235.        
  236.        
  237.        
  238.        
  239.        
  240.        
  241.   rclk=0;                        //輸出顯示
  242.   rclk=1;
  243.   rclk=0;
  244. }


  245. void xianshi()                        //顯示
  246. {
  247.    char aa;
  248.              
  249.               P2=P2+1;   //列掃描
  250.               writedata(tab[net+aa],tab[net+aa+1],tab[net+aa+32],tab[net+aa+33],tab[net+aa+64],tab[net+aa+65],tab[net+aa+96],tab[net+aa+97],tab[net+aa+128],tab[net+aa+129],tab[net+aa+160],tab[net+aa+161],tab[net+aa+192],tab[net+aa+193],tab[net+aa+224],tab[net+aa+225]);         //顯示數(shù)據(jù)
  251.                   delay(1);                                                                //延時
  252.                   writedata(0,0,0,0);                                           //清屏
  253.                   aa+=2;                                                           //數(shù)據(jù)加 實現(xiàn)掃描
  254.                   if(aa>30) aa=0;                                              //循環(huán)16次 清零
  255.           //}
  256.    
  257. }

  258. void main()         //主函數(shù)
  259. {
  260.    sclk=0;
  261.    rclk=1;
  262.    ET0=1;         //使能定時器0
  263.    EA=1;         //開啟總中斷
  264.    TR0=1;        //開始計數(shù)
  265.    while(1)         //無限循環(huán)
  266.    {
  267.            xianshi();  //顯示
  268.            if(s1==0)   //檢測按鍵
  269. ……………………

  270. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
51hei.png
所有資料51hei提供下載:
51單片機(jī)16X128點陣顯示.rar (204.22 KB, 下載次數(shù): 62)


評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:737067 發(fā)表于 2020-4-25 17:01 | 顯示全部樓層
要是加字庫如何編寫
回復(fù)

使用道具 舉報

ID:520507 發(fā)表于 2020-4-26 21:49 | 顯示全部樓層
abcd-a 發(fā)表于 2020-4-25 17:01
要是加字庫如何編寫

用取模軟件把字庫的代碼取出來存放在一個矩陣數(shù)組里,調(diào)用就可以
回復(fù)

使用道具 舉報

ID:57831 發(fā)表于 2020-5-31 23:27 | 顯示全部樓層
void writedata(uchar dat1,uchar dat2,uchar dat3,uchar dat4,uchar dat5,uchar dat6,uchar dat7,uchar dat8,uchar dat9,uchar dat10,uchar dat11,uchar dat12,uchar dat13,uchar dat14,uchar dat15,uchar dat16)  
這個函數(shù)優(yōu)化優(yōu)化吧
回復(fù)

使用道具 舉報

ID:767117 發(fā)表于 2020-6-4 11:25 來自手機(jī) | 顯示全部樓層
longshugao123 發(fā)表于 2020-4-26 21:49
用取模軟件把字庫的代碼取出來存放在一個矩陣數(shù)組里,調(diào)用就可以

可否分享下取模軟件,自己的軟件取模出來不能正常顯示
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎影视免费在线 | 欧美日韩精品一区 | 国产伦精品一区二区三区在线 | 精品国产乱码久久久久久丨区2区 | 久久久在线视频 | 一区二区三区精品视频 | 成人国产在线视频 | 欧美www在线 | 国产小视频在线观看 | 免费成人国产 | 精品欧美乱码久久久久久1区2区 | 欧美视频二区 | 国产精品久久久亚洲 | 女人牲交视频一级毛片 | 亚洲一区网站 | 亚洲性在线 | 午夜伊人 | 免费观看a级毛片在线播放 黄网站免费入口 | 中文字幕av在线 | 手机av在线| 天天操天天射天天 | 日韩91 | 亚洲社区在线 | 国产亚洲网站 | 午夜影院| 欧美一区免费在线观看 | 午夜男人天堂 | 国产欧美精品一区二区 | 欧美精品一区三区 | 一区福利视频 | 午夜影院在线观看免费 | 韩日在线| 亚洲高清在线 | 久久精品久久综合 | 久久久九九 | 欧美三级免费观看 | 91免费在线视频 | 免费观看毛片 | 亚洲精品大片 | 日韩中文一区 | 精彩视频一区二区三区 |