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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11512|回復: 7
打印 上一主題 下一主題
收起左側

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

  [復制鏈接]
跳轉到指定樓層
樓主
1.第一次使用12864時不知道如何接線,由于開始把BLA和VCC接到了MSP430端口的VCC端,使得顯示屏亮度變暗,后來才知道BLA19腳)和VCC2腳)是12864的工作電壓,最好接到5V的供電電源上,MSP430端口Vcc輸出電壓是3.5V左右,可以用萬用表測試。


2.12864串行測試要接8條線。DB0~DB7不需要接。根據軟件程序,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級之前的學長們留下的程序庫,發現MSP430中有一些地方需要改進,就是初始化程序中應該包含有清屏指令,而他們都沒有將這條指令寫入,屏幕上會出現一些亂碼。


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

MSP430單片機源程序如下:
  1. //12864液晶串行顯示測試程序
  2. //P1.4模擬SID(接第5腳),P1.5模擬SCLK(接第6腳)
  3. //4腳(CS信號)接高電平選通,15腳(PSB信號)接地選擇串行方式
  4. //17腳(RST信號)根據注釋提示懸空
  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)             //延時函數
  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)     //數據傳送函數
  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;                      //產生時鐘信號下沿
  39.     P1OUT|=BIT5;                       //產生時鐘信號上沿                             
  40.     serial_shift=serial_shift>>1;      //準備發送下一位數據           
  41.   }   
  42. }
  43. void write_com(unsigned char cmdcode)  //寫命令函數
  44. {                                      //串口控制格式(11111AB0)
  45.                                 //A數據方向控制,A=H時讀,A=L時寫
  46.                                        //B數據類型選擇,B=H時為顯示數據,B=L時為命令
  47. sendbyte(0xf8);                //MCU向LCD發命令

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

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

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



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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕精品视频 | 精品成人在线视频 | av一区二区三区在线观看 | 99这里只有精品视频 | 午夜影院在线观看视频 | 久久精品国产一区二区电影 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 欧美国产视频一区二区 | 亚洲精品一区二区三区中文字幕 | www.五月婷婷.com | 人人性人人性碰国产 | 欧美毛片免费观看 | 在线国产一区 | 久久久免费少妇高潮毛片 | 天天综合网天天综合 | 国产精品久久久久久网站 | 日本精品一区二区三区视频 | 成人h动漫亚洲一区二区 | 国产精品一区二区福利视频 | 久久综合久 | 精精国产xxxx视频在线播放7 | 嫩草最新网址 | 成人免费视频久久 | 色99视频| 国产免费观看一级国产 | 欧美一区二区在线播放 | 国产精品美女久久久久 | 伊人网伊人网 | 亚洲一区在线播放 | 中文字幕一区二区三区精彩视频 | 久久精品国产精品青草 | 九九成人 | 国产日韩一区二区 | 国产第一页在线播放 | 久久精品国产久精国产 | 欧美性猛片aaaaaaa做受 | 天天射网站| 国产精品久久久久aaaa | 亚洲av毛片| 亚洲人成人一区二区在线观看 | 成人欧美一区二区三区视频xxx |