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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11342|回復: 7
打印 上一主題 下一主題
收起左側(cè)

LCD12864顯示屏使用心得體會與例程及資料下載

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:267475 發(fā)表于 2017-12-27 01:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1.第一次使用12864時不知道如何接線,由于開始把BLA和VCC接到了MSP430端口的VCC端,使得顯示屏亮度變暗,后來才知道BLA19腳)和VCC2腳)是12864的工作電壓,最好接到5V的供電電源上,MSP430端口Vcc輸出電壓是3.5V左右,可以用萬用表測試。


2.12864串行測試要接8條線。DB0~DB7不需要接。根據(jù)軟件程序,R/w5腳)E6腳)兩個分別接MSP430的P1.4、P1.5。
VCC2腳)BLA19腳)兩個應該接+5V工作電壓,GND1腳)BLK20腳)兩個應該接在同一個地。+5V電壓可以使用另一片51單片機提供。把51單片機的Vcc和GND跳線帽摘下來,兩個引腳都要接滿才能導通。PSB15腳)接地說明是串口通訊。RS4腳)接高電平——可以接MSP430的VCC,3.5V足夠是高電平了。

3.使用13級之前的學長們留下的程序庫,發(fā)現(xiàn)MSP430中有一些地方需要改進,就是初始化程序中應該包含有清屏指令,而他們都沒有將這條指令寫入,屏幕上會出現(xiàn)一些亂碼。


4.基本的MSP430    LCD12864程序中包含有的基本的函數(shù):
寫命令函數(shù)(對顯示屏進行一些操作,比如清屏,顯示全部字,關(guān)閉游標等)
寫數(shù)據(jù)函數(shù)(想要在屏幕上輸出的東西)
初始化函數(shù)(對顯示屏進行初始化,調(diào)用到寫命令函數(shù))
設置坐標函數(shù)(了解12864的坐標,第一行是0x80,第二行0x90,第三行0x88,第四行0x98)
寫字符串或?qū)憯?shù)字函數(shù)(輸出自己想要的字符,但是要注意12864一行只能顯示8個字,而且不一定能全部正確顯示,會出現(xiàn)各種各樣的問題,需要自己慢慢排查接線或者重新調(diào)試)

MSP430單片機源程序如下:
  1. //12864液晶串行顯示測試程序
  2. //P1.4模擬SID(接第5腳),P1.5模擬SCLK(接第6腳)
  3. //4腳(CS信號)接高電平選通,15腳(PSB信號)接地選擇串行方式
  4. //17腳(RST信號)根據(jù)注釋提示懸空
  5. #include <MSP430g2231.h>

  6. void int_port(void)                    //管腳初始化                       
  7. {
  8.   P1SEL&=~BIT4;                        //P1.4模擬SID,設置為i/o口輸出方向                        
  9.   P1DIR|=BIT4;                          
  10.   P1OUT&=~BIT4;                           
  11.   P1SEL&=~BIT5;                        //P1.5模擬SCLK,設置為i/o口輸出方向                           
  12.   P1DIR|=BIT5;                           
  13.   P1OUT&=~BIT5;                           
  14. }
  15. void delay(unsigned int t)             //延時函數(shù)
  16. {                                      //粗略延時,滿足時序要求
  17. unsigned int i,j;
  18. for(i=0; i<t;  i++)
  19.         for(j=0; j<10; j++);
  20. }
  21. void sendbyte(unsigned char zdata)     //數(shù)據(jù)傳送函數(shù)
  22. {
  23.   unsigned char code_seg7;            
  24.   unsigned char serial_clk;              
  25.   unsigned char serial_shift;               
  26.   code_seg7=zdata;                              
  27.   serial_shift=0x80;                       
  28.   for(serial_clk=0; serial_clk<8; serial_clk++)
  29.   {                                   
  30.     if(code_seg7&serial_shift)            
  31.     {
  32.       P1OUT|=BIT4;                     //SID為1
  33.     }
  34.     else
  35.     {
  36.       P1OUT&=~BIT4;                    //SID為0                       
  37.     }
  38.     P1OUT&=~BIT5;                      //產(chǎn)生時鐘信號下沿
  39.     P1OUT|=BIT5;                       //產(chǎn)生時鐘信號上沿                             
  40.     serial_shift=serial_shift>>1;      //準備發(fā)送下一位數(shù)據(jù)           
  41.   }   
  42. }
  43. void write_com(unsigned char cmdcode)  //寫命令函數(shù)
  44. {                                      //串口控制格式(11111AB0)
  45.                                 //A數(shù)據(jù)方向控制,A=H時讀,A=L時寫
  46.                                        //B數(shù)據(jù)類型選擇,B=H時為顯示數(shù)據(jù),B=L時為命令
  47. sendbyte(0xf8);                //MCU向LCD發(fā)命令

  48.         sendbyte(cmdcode & 0xf0);      //發(fā)高四位數(shù)據(jù)(數(shù)據(jù)格式D7D6D5D4_0000)
  49. sendbyte((cmdcode << 4) & 0xf0);//發(fā)低四位數(shù)據(jù)(數(shù)據(jù)格式D3D2D1D0_0000)
  50. delay(2);                      //延時等待
  51. }
  52. void write_data(unsigned char Dispdata)//寫數(shù)據(jù)函數(shù)
  53. {

  54. sendbyte(0xfa);                //MCU向LCD發(fā)數(shù)據(jù)
  55. sendbyte(Dispdata & 0xf0);     //發(fā)高四位數(shù)據(jù)
  56. sendbyte((Dispdata << 4) & 0xf0);//發(fā)低四位數(shù)據(jù)
  57. delay(2);
  58. }
  59. void lcdinit()                         //LCD初始化
  60. {  
  61. delay(20000);                  //復位等待(內(nèi)部自帶上電復位電路),時間較長
  62. write_com(0x30);               //功能設定:基本指令集操作               
  63. delay(50);                     //延時等待
  64. write_com(0x0c);               //整體顯示,關(guān)游標
  65. write_com(0x01);               //屏幕清零            
  66. delay(50);
  67. }
  68. void print_string(unsigned char *s)          //發(fā)送字符串
  69. {  
  70. while(*s > 0)                  //C語言里字符串末尾自動加“\0”(ASCII碼值為0)
  71.     {
  72.   write_data(*s);        //發(fā)送字符對應的ASCII碼,12864指針可設置自動指向下一個顯示地址
  73.   s++;      
  74.   delay(50);
  75.     }
  76. }
  77. void Test()
  78. {       unsigned char dat1,dat2,dat3,dat4;
  79. dat1=1;dat2=2;dat3=3;dat4=4;//顯示dat1—4的值,如果dat1=1不轉(zhuǎn)換為ASCII碼,則輸出的應該是31而不是1
  80.         write_com(0x03);              //發(fā)指令,地址歸位
  81. delay(50);                     //延時   
  82. write_com(0x80);               //第一行首地址0x80
  83. print_string("德州儀器MSP430"); //第一行顯示。一行能顯示8個字,一個中文頂2個字母或數(shù)字
  84.         write_com(0x94);               //第二行首地址0x90,從第四個開始顯示
  85.         write_data(dat1+0x30);         //發(fā)送dat1的ASCII碼,顯示dat1的值
  86.         write_data(dat2+0x30);         //發(fā)送dat1的ASCII碼,顯示dat2的值
  87.         write_data(dat3+0x30);         //發(fā)送dat1的ASCII碼,顯示dat3的值
  88.         write_data(dat4+0x30);         //發(fā)送dat1的ASCII碼,顯示dat4的值
  89.         write_data('H');               //發(fā)送H的ASCII碼,顯示H
  90.         write_data('z');               //發(fā)送z的ASCII碼,顯示z
  91.         write_com(0x90);
  92.         print_string("頻率:");
  93.         delay(200);                    //較長時間延時,保證下次操作前LCD完成上述功能處于非忙狀態(tài)
  94. }
  95. void main()//正確結(jié)果:屏幕顯示:德州儀器MSP430(第一行) 頻率:  1234HZ(第二行)
  96. {
  97. WDTCTL=WDTPW+WDTHOLD;          //關(guān)閉看門狗
  98. int_port();                    //端口初始化
  99. lcdinit();                     //LCD初始化
  100. Test();                        //測試
  101. …………
  102. …………
  103. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
12864.rar (14.87 MB, 下載次數(shù): 317)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:266106 發(fā)表于 2017-12-27 07:48 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

板凳
ID:30541 發(fā)表于 2019-1-2 13:56 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

地板
ID:485647 發(fā)表于 2019-3-6 16:04 | 只看該作者
謝謝 樓主分享
回復

使用道具 舉報

5#
ID:592519 發(fā)表于 2019-7-30 15:36 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

6#
ID:631216 發(fā)表于 2019-10-28 09:47 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

7#
ID:647145 發(fā)表于 2019-12-8 21:01 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

8#
ID:632129 發(fā)表于 2020-1-17 17:26 | 只看該作者
十分感謝樓主的分享
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产黄| 成人在线视频免费看 | 成人一区在线观看 | 亚洲精品久久久一区二区三区 | 搞黄网站在线观看 | 成人在线一区二区三区 | 精品国产欧美一区二区 | 91精品国产色综合久久不卡蜜臀 | 一区二区三区在线 | 国产精品三级久久久久久电影 | 国产成人免费视频网站视频社区 | 亚洲欧美一区在线 | 91精品国产麻豆 | 亚洲精品乱码久久久久久9色 | 久久久久久亚洲欧洲 | 国产精品自拍视频网站 | 天天在线操 | av av在线| 国产精品免费福利 | 成人a网| 国产麻豆乱码精品一区二区三区 | 老头搡老女人毛片视频在线看 | 久久国产精品视频 | 日韩电影中文字幕在线观看 | 中文字幕第一页在线 | 婷婷在线视频 | 成人免费视频网站在线观看 | 看a网站 | 亚洲不卡在线观看 | 中文字幕一区在线观看视频 | 久久午夜视频 | 国产精品成人一区 | 欧美一区免费 | 欧美色a v | 成人精品在线观看 | 色精品 | 日韩精品a在线观看图片 | 91看片网 | 麻豆精品一区二区三区在线观看 | 日韩视频精品 | 精品欧美一区二区精品久久久 |