老外又粗又长一晚做五次-亚洲AV日韩综合一区尤物-欧美乱子伦XXXX12-精品国产免费观看久久久

深圳市佳顯電子技術(shù)有限公司
深圳市佳顯電子技術(shù)有限公司

10年專注字符型LCD、LCM液晶生產(chǎn)定制,現(xiàn)貨批發(fā)

24小時服務(wù)熱線:

0755-29769890

聯(lián)系方式
全國服務(wù)熱線:0755-29769890

投訴熱線:13148701893

 聯(lián)系人:鄧小姐

傳真: 0755-27315661

           0760-85884496
座機(jī):0755-29769890-0
           0760-85884486
郵箱:jxdlx107@goodview-lcd.com
辦公地址:深圳市寶安區(qū)福永塘尾富華工業(yè)區(qū)11棟3樓
工廠地址:廣東省中山市三鄉(xiāng)鎮(zhèn)萬里路1號平鋪工業(yè)區(qū)B棟三樓

1602字符液晶顯示屏程序詳解(C語言詳細(xì)解說)

來源:1602字符液晶,lcd液晶屏廠家   發(fā)布時間:2017-12-14   點擊量:26672

1602字符液晶模塊

液晶模塊和數(shù)碼管相比,液晶模塊會顯得更加專業(yè)、漂亮。液晶顯示屏以其體積小、功耗低、超薄輕巧、顯示內(nèi)容豐富、使用方便等等諸多優(yōu)點,在電子設(shè)備、通訊、家用電器、儀器儀表等低功耗應(yīng)用系統(tǒng)之中得到越來越廣泛的應(yīng)用了,使得這一些電子設(shè)備的人機(jī)界面變得越來越直觀、越來越形象了,液晶模塊現(xiàn)在已經(jīng)廣泛的應(yīng)用于液晶電視機(jī)、電子表、復(fù)印機(jī)、計算器、便攜式電腦、IC卡電話機(jī)、掌上型電子玩具、傳真機(jī)等許多方面。1602的字符型液晶模塊(帶背光),是現(xiàn)在工控系統(tǒng)之中使用最為廣泛的液晶屏之一了。1602采用了標(biāo)準(zhǔn)的16腳接口,其引腳功能如下所示:
第1腳:VSS是電源地,接到GND。
第2腳:VDD接到5V正電源。
第3腳:VL為液晶顯示屏對比度的調(diào)整端,在接正電源時對比度是最弱的,在接地電源時對比度是最高,對比度在過高時顯示會產(chǎn)生“鬼影”,在使用時可以通過一個10K的電位器來調(diào)整對比度。
第4腳:RS是寄存器選擇,在高電平時選擇數(shù)據(jù)寄存器、在低電平時則選擇指令寄存器。
第5腳:RW為讀寫信號線,在其高電平時進(jìn)行讀操作,低電平時則進(jìn)行寫操作。當(dāng)RS與RW都共同為低電平時,就可以寫入指令或者是顯示地址,當(dāng)RS為低電平,RW為高電平時就可以讀忙信號,當(dāng)RS為高電平、RW為低電平時就可以寫入數(shù)據(jù)了。
第6腳:E端是使能端,當(dāng)E端由高電平跳變成低電平的時候,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7都為8位雙向數(shù)據(jù)線。
第15腳:BLA的背光電源正極(+5V)的輸入引腳。
第16腳:BLK的背光電源負(fù)極,接到GND。

字符液晶模塊應(yīng)用
1602的液晶模塊內(nèi)一般都是帶有標(biāo)準(zhǔn)字庫的,在內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)是存儲了192個5×7的點陣字符,32個5×10的點陣字符。另外還會有字符生成RAM(CGRAM)512字節(jié),供給用戶來自定義字符。比如表1所示,這一些字符都有:英文字母的大小寫、阿拉伯?dāng)?shù)字、常用的符號以及日文假名等,每一個字符都會有一個固定的代碼,比如:大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊會把地址41H中的點陣字符圖形給顯示出來,我們就能夠看到字母“A”了。

    液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每一條指令之前都一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令會失效。要顯示字符時需要先輸入顯示字符地址,也就是說告訴模塊在哪里顯示字符。

    C51程序如下:
[注:使用12M晶振]
[cpp] view plain copy
1. /*==========================================================*/
2. #include <reg51.h>
3. #define LCM_Data P1
4. #define Busy 0x80 //用于檢測LCM狀態(tài)字中的Busy標(biāo)識
5. sbit LCM_RW P2^0; //定義引腳
6. sbit LCM_RS P2^1;
7. sbit LCM_E P2^2;
8.
9. void WriteDataLCM(unsigned char WDLCM);
10. void WriteCommandLCM(unsigned char WCLCM,BuysC);
11. unsigned char ReadDataLCM(void);
12. unsigned char ReadStatusLCM(void);
13. void LCMInit(void);
14. void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
15. void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
16. void Delay5Ms(void);
17. void Delay400Ms(void);
18. unsigned char code csdn[] = {"csdn"}; 
19. unsigned char code net[] = {www.csdn.net}; 
20. void main(void)
21. {
22. LCMInit(); //LCM初始化
23. Delay5Ms(); //延時片刻(可不要)
24. DisplayListChar(0, 5, csdn);
25. DisplayListChar(1, 0, net);
26. ReadDataLCM();//測試用句無意義
27. while(1);
28. }
29. //寫數(shù)據(jù)
30. void WriteDataLCM(unsigned char WDLCM)
31. {
32. ReadStatusLCM(); //檢測忙
33. LCM_Data = WDLCM;
34. LCM_RS = 1;
35. LCM_RW = 0;
36. LCM_E = 0; //若晶振速度太高可以在這后加小的延時
37. LCM_E = 0; //延時
38. LCM_E = 1;
39. }
40. //寫指令
41. void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測
42. {
43. if (BuysC) ReadStatusLCM(); //根據(jù)需要檢測忙
44. LCM_Data = WCLCM;
45. LCM_RS = 0;
46. LCM_RW = 0;
47. LCM_E = 0;
48. LCM_E = 0;
49. LCM_E = 1;
50. }
51. //讀數(shù)據(jù)
52. unsigned char ReadDataLCM(void)
53. {
54. LCM_RS = 1;
55. LCM_RW = 1;
56. LCM_E = 0;
57. LCM_E = 0;
58. LCM_E = 1;
59. return(LCM_Data);
60. }
61. //讀狀態(tài)
62. unsigned char ReadStatusLCM(void)
63. {
64. LCM_Data = 0xFF;
65. LCM_RS = 0;
66. LCM_RW = 1;
67. LCM_E = 0;
68. LCM_E = 0;
69. LCM_E = 1;
70. while (LCM_Data & Busy); //檢測忙信號
71. return(LCM_Data);
72. }
73. void LCMInit(void) //LCM初始化
74. {
75. LCM_Data = 0;
76. WriteCommandLCM(0x38,0); //三次顯示模式設(shè)置,不檢測忙信號
77. Delay5Ms();
78. WriteCommandLCM(0x38,0);
79. Delay5Ms();
80. WriteCommandLCM(0x38,0);
81. Delay5Ms();
82. WriteCommandLCM(0x38,1); //顯示模式設(shè)置,開始要求每次檢測忙信號
83. WriteCommandLCM(0x08,1); //關(guān)閉顯示
84. WriteCommandLCM(0x01,1); //顯示清屏
85. WriteCommandLCM(0x06,1); // 顯示光標(biāo)移動設(shè)置
86. WriteCommandLCM(0x0C,1); // 顯示開及光標(biāo)設(shè)置
87. }
88. //按指定位置顯示一個字符
89. void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
90. {
91. Y &= 0x1;
92. X &= 0xF; //限制X不能大于15,Y不能大于1
93. if (Y) X |= 0x40; //當(dāng)要顯示第二行時地址碼 0x40;
94. X |= 0x80; // 算出指令碼
95. WriteCommandLCM(X, 0); //這里不檢測忙信號,發(fā)送地址碼
96. WriteDataLCM(DData);
97. }
98. //按指定位置顯示一串字符
99. void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
100. {
101. unsigned char ListLength;
102. ListLength = 0;
103. Y &= 0x1;
104. X &= 0xF; //限制X不能大于15,Y不能大于1
105. while (DData[ListLength]>0x20) //若到達(dá)字串尾則退出
106. {
107. if (X <= 0xF) //X坐標(biāo)應(yīng)小于0xF
108. {
109. DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
110. ListLength++;
111. X++;
112. }
113. }
114. }
115. //5ms延時
116. void Delay5Ms(void)
117. {
118. unsigned int TempCyc = 5552;
119. while(TempCyc--);
120. }

熱門標(biāo)簽:1602字符液晶,字符液晶模塊,LCD液晶顯示屏,lcd液晶模塊定制,深圳lcd液晶價格

聯(lián)系方式

傳真:0755-27315661     0760-85884496
座機(jī):0755-29769890-0  0760-85884486
郵箱:jxdlx107@goodview-lcd.com
辦公地址:深圳市寶安區(qū)福永塘尾富華工業(yè)區(qū)11棟3樓
工廠地址:廣東省中山市三鄉(xiāng)鎮(zhèn)萬里路1號平鋪工業(yè)區(qū)B棟三樓

阿里巴巴二維碼阿里巴巴二維碼

網(wǎng)站二維碼網(wǎng)站二維碼

Copyrights?2017 深圳市佳顯電子技術(shù)有限公司 All Rights Reserved ICP 備案號:粵ICP備17051216號