找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)使用2片74LS138、2片74HC595驅(qū)動(dòng)16x16點(diǎn)陣顯示漢字的上移源程序及源程序

  [復(fù)制鏈接]
ID:526281 發(fā)表于 2020-6-9 20:57 | 顯示全部樓層 |閱讀模式
2片74LS138、2片74HC595驅(qū)動(dòng)16x16點(diǎn)陣顯示漢字的上移源程序及仿真,需要的自取,也歡迎提一些建議。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif
51hei.png

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. sbit R=P2^0;        //數(shù)據(jù)串口輸入
  4. sbit CLK=P2^1;        //脈沖信號(hào)輸入
  5. sbit STB=P2^2;        //鎖存信號(hào)

  6. char code table[]={
  7. /*--  文字:  風(fēng)  --*/
  8. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  9. 0x00,0x00,0xFC,0x0F,0x04,0x08,0x04,0x08,0x14,0x0A,0x24,0x0A,0x44,0x09,0x44,0x09,
  10. 0x84,0x08,0x84,0x08,0x44,0x09,0x44,0x49,0x24,0x52,0x12,0x52,0x02,0x60,0x01,0x40,

  11. /*--  文字:  星  --*/
  12. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  13. 0x00,0x00,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x80,0x00,0x88,0x00,
  14. 0xF8,0x1F,0x84,0x00,0x82,0x00,0xF8,0x0F,0x80,0x00,0x80,0x00,0xFE,0x3F,0x00,0x00,

  15. /*--  文字:  子  --*/
  16. /*--  宋體12;  此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  17. 0x00,0x00,0xFE,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x80,0x01,0x80,0x00,0xFF,0x7F,
  18. 0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00,

  19. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //尾部的一屏的空字符,用于清屏,參數(shù)和屏大小有關(guān)。
  20. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  21. };        

  22. void delay(int z)                                //延時(shí)程序
  23. {
  24.         int x,y;
  25.         for(x=55;x>0;x--)
  26.                 for(y=z;y>0;y--);
  27. }

  28. void wordByt(char b)                        //寫(拆分)一個(gè)字節(jié)數(shù)據(jù)
  29. {
  30.         char i;
  31.         for(i=0;i<8;i++)
  32.         {
  33.                 b=b>>1;                        //右移一位,暫存近CY
  34.                 R=CY;                                //取出最低位
  35.                 CLK=0;                        //上升沿        
  36.                 CLK=1;
  37.         }
  38. }

  39. void main()
  40. {
  41.         int num,move,speed,i;
  42.         i=3;                                        //漢字個(gè)數(shù)
  43.         while(1)
  44.         {
  45.                 if(++speed>2)                //速度控制(數(shù)字小速度快)
  46.                 {
  47.                         speed=0;
  48.                         move++;                //移位

  49.                         if(move>16*i)        //判斷是否完成一個(gè)漢字
  50.                                 move=0;        //從頭開始

  51.                 }

  52.                         for(num=0;num<16;num++)
  53.                         {
  54.                                 wordByt(table[2*num+move*2]);
  55.                                 wordByt(table[2*num+1+move*2]);
  56.                                 P1=num;
  57.                                 STB=1;                //輸出鎖存中的數(shù)據(jù),下降沿
  58.                                 STB=0;
  59.                                 delay(3);
  60.                         }
  61.         }
  62. }
復(fù)制代碼

所有資料51hei提供下載:
上移位16x16點(diǎn)陣源程序及仿真.7z (60.79 KB, 下載次數(shù): 211)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:782710 發(fā)表于 2020-6-18 00:47 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:785582 發(fā)表于 2020-6-21 22:32 | 顯示全部樓層
為啥我用字模軟件轉(zhuǎn)換的時(shí)候,用你這個(gè)程序,顯示出來(lái)的左右是顛倒的啊,請(qǐng)問(wèn)有什么需要改動(dòng)么
回復(fù)

使用道具 舉報(bào)

ID:949804 發(fā)表于 2021-7-14 09:50 | 顯示全部樓層
為什么我改不了程序里的漢字啊樓主,我一打字都是亂碼
回復(fù)

使用道具 舉報(bào)

ID:1052096 發(fā)表于 2023-5-30 20:15 | 顯示全部樓層
xsjsensei 發(fā)表于 2020-6-21 22:32
為啥我用字模軟件轉(zhuǎn)換的時(shí)候,用你這個(gè)程序,顯示出來(lái)的左右是顛倒的啊,請(qǐng)問(wèn)有什么需要改動(dòng)么

程序里的字模以0X3F為例,自己取得字模是0XFC
回復(fù)

使用道具 舉報(bào)

ID:1052096 發(fā)表于 2023-5-30 20:34 | 顯示全部樓層
xsjsensei 發(fā)表于 2020-6-21 22:32
為啥我用字模軟件轉(zhuǎn)換的時(shí)候,用你這個(gè)程序,顯示出來(lái)的左右是顛倒的啊,請(qǐng)問(wèn)有什么需要改動(dòng)么

將LED接口的前八位接成(8~15)后八位接成(0~7)
回復(fù)

使用道具 舉報(bào)

ID:1098329 發(fā)表于 2023-11-3 13:18 | 顯示全部樓層
這個(gè)確實(shí)很棒
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表