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

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

QQ登錄

只需一步,快速開始

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

單片機(jī)驅(qū)動(dòng)2004液晶測(cè)試程序,4線 8線 控制器HD44780

[復(fù)制鏈接]
ID:165363 發(fā)表于 2019-6-27 15:50 | 顯示全部樓層 |閱讀模式
兩個(gè)C51單片機(jī)的測(cè)試程序,一個(gè)是連接八條數(shù)據(jù)線的,另一個(gè)是連接四條數(shù)據(jù)線的。附件里有原程序和proteus仿真文件。
Snap3.jpg Snap4.jpg

單片機(jī)源程序如下:
  1. /*=========================================================
  2. LCD2004模擬口線接線方式 連接線圖:                                                  =
  3. ----------------------------------------------------          =
  4. | LCM-----51   | LCM-----51     | LCM------51  |   |          =
  5. ---------------------------------------------------|          =
  6. |              | RS -------P3.5 |                                   |          =
  7. |              | RW------- GND  |                                   |          =
  8. |              | E --------P3.4 |                                   |          =
  9. |              |                                |                                   |          =
  10. | DB4-----P0.4 |                                 |                                   |          =
  11. | DB5-----P0.5 |                                 |                                   |          =
  12. | DB6-----P0.6 |                                 |                                   |          =
  13. | DB7-----P0.7 |                                 |                                   |          =
  14. ----------------------------------------------------          =
  15. [注:AT89S51 使用 11.0592M 晶體震蕩器]                                          =
  16. =========================================================*/
  17. #include <reg51.h>
  18. #define uchar unsigned char
  19. #define uint unsigned int

  20. sbit LCM_RS=P3^5; //定義引腳
  21. sbit LCM_E =P3^4;
  22. sbit LED   =P2^5;//LED 的輸出鎖存端
  23. sbit dula  =P2^6;//數(shù)碼管的段鎖存端        74HC573
  24. sbit wela  =P2^7;//數(shù)碼管的位鎖存端

  25. #define LCM_Data  P0

  26. #define Busy 0x80 //用于檢測(cè) LCM 狀態(tài)字中的 Busy 標(biāo)識(shí)

  27. uchar num;
  28. uchar code table0[]="ABCDEFGHIJKLMNOPQRST";
  29. uchar code table1[]="01234567890123456789";
  30. uchar code table2[]="UVWXYZ!@#%&?+<[>]*-;";
  31. uchar code table3[]="abcdefghijklmnopqrst";

  32. void delay(uint z)//延時(shí)函數(shù)
  33. {
  34.         uint x,y;
  35.         for(x=z;x>0;x--)
  36.                 for(y=110;y>0;y--);
  37. }

  38. //寫數(shù)據(jù) RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖
  39. void WriteDataLCM(uchar Data)  
  40. {      
  41.         LCM_RS = 1;
  42.         LCM_E  = 0;
  43.         LCM_Data =(Data & 0xF0);
  44.         LCM_E  = 1;
  45.         delay(5);
  46.         LCM_E  = 0;
  47.         LCM_Data =(Data & 0x0F)<<4;
  48.         LCM_E  = 1;
  49.         delay(5);
  50.         LCM_E  = 0;
  51. }

  52. //寫指令 RS=L,RW=L,D0~D7=指令碼,E=高脈沖
  53. void WriteCommandLCM(uchar Command)
  54. {
  55.         delay(5);       //短暫延時(shí),代替檢測(cè)忙狀態(tài)
  56.         LCM_RS = 0;
  57.         LCM_E  = 0;
  58.         LCM_Data =( Command & 0xF0);
  59.         LCM_E  = 1;
  60.         delay(5);
  61.         LCM_E  = 0;
  62.         LCM_Data =( Command & 0x0F )<<4;
  63.         LCM_E  = 1;
  64.         delay(5);
  65.         LCM_E  = 0;
  66. }

  67. //讀數(shù)據(jù) RS=H,RW=H,E=H
  68. //讀狀態(tài) RS=L,RW=H,E=H
  69. //由于不要檢測(cè)忙,所以讀數(shù)據(jù)和讀狀態(tài)兩個(gè)函數(shù)省略

  70. void LCMInit(void)     //LCM 初始化
  71. {
  72.         WriteCommandLCM(0x03);
  73.         delay(5);
  74.         WriteCommandLCM(0x02);
  75.         delay(5);        
  76.         WriteCommandLCM(0x28); //顯示模式設(shè)置,開始要求每次檢測(cè)忙信號(hào)
  77.         WriteCommandLCM(0x0C);
  78.         WriteCommandLCM(0x06); // 顯示光標(biāo)移動(dòng)設(shè)置
  79.         WriteCommandLCM(0x01);
  80.         delay(5);
  81. }

  82. void main(void)
  83. {
  84.         LED=0; //將LED的鎖存端關(guān)閉
  85.         dula=0;//將數(shù)碼管的段鎖存端關(guān)閉
  86.         wela=0;//將數(shù)碼管的位鎖存端關(guān)閉
  87.     LCMInit();         //LCM 初始化
  88.         //第一行顯示
  89.         WriteCommandLCM(0x80+0x00);
  90.         for(num=0;num<20;num++)
  91.         {
  92.                 WriteDataLCM(table0[num]);
  93.                 delay(250);
  94.         }
  95.         //第二行顯示
  96.         WriteCommandLCM(0x80+0x40);         
  97.         for(num=0;num<20;num++)
  98.         {
  99.                 WriteDataLCM(table1[num]);
  100.                 delay(250);
  101.         }
  102.         //第三行顯示
  103.         WriteCommandLCM(0x80+0x14);         
  104.         for(num=0;num<20;num++)
  105.         {
  106.                 WriteDataLCM(table2[num]);
  107.                 delay(250);
  108.         }
  109.         //第四行顯示
  110.         WriteCommandLCM(0x80+0x54);         
  111.         for(num=0;num<20;num++)
  112.         -----限于篇幅余下內(nèi)容下載附件----------
復(fù)制代碼

所有資料51hei提供下載:
2004液晶測(cè)試程序.rar (79.32 KB, 下載次數(shù): 49)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:526871 發(fā)表于 2019-6-27 18:26 | 顯示全部樓層
仿真原理圖要自己連嗎,里面沒有仿真圖。。。
回復(fù)

使用道具 舉報(bào)

ID:573709 發(fā)表于 2019-6-27 20:41 來自觸屏版 | 顯示全部樓層
學(xué)習(xí)來了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区在线免费观看 | a级毛片毛片免费观看久潮喷 | 人人爽日日躁夜夜躁尤物 | 日韩欧美三级电影在线观看 | 天天天操操操 | 久久国产成人午夜av影院武则天 | 99精品网 | 亚洲欧洲中文日韩 | 成人在线视频免费看 | 一本大道久久a久久精二百 国产成人免费在线 | 黑人精品 | 成人高清网站 | 国产高清视频 | 天天操天天射综合 | 久久噜噜噜精品国产亚洲综合 | 国产区在线免费观看 | 精品久久久久久国产 | 精品国产免费一区二区三区演员表 | 久久一级| 91久久综合亚洲鲁鲁五月天 | 日本一区二区三区在线观看 | 黄色大片网站 | 极品粉嫩国产48尤物在线播放 | 在线观看日韩av | 欧美日韩国产一区二区三区不卡 | 国产精品中文字幕在线 | 九九导航| 国产乱码精品1区2区3区 | 国内精品伊人久久久久网站 | 一区二区三区在线播放 | 精品毛片在线观看 | 一级视频黄色 | 日本在线精品视频 | 在线看黄免费 | av免费网站在线观看 | 亚洲视频一区在线观看 | 亚洲欧美中文日韩在线v日本 | 国产亚洲一区二区三区 | 久久久一区二区三区 | 欧美一区二区三区小说 | 在线欧美亚洲 |