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

QQ登錄

只需一步,快速開(kāi)始

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

msp430驅(qū)動(dòng)LCD1602液晶顯示C語(yǔ)言程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51337 發(fā)表于 2013-7-14 16:17 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include "msp430x14x.h"
  2. #define CPU_F ((double)8000000)
  3. #define delay_us(x) __delay_cycles((long)(CPU_F)*(double)x/2000000.0)
  4. #define delay_ms(x) __delay_cycles((long)(CPU_F)*(double)x/20000.0)
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. #define RS_H  P5OUT|=BIT5
  8. #define RS_L  P5OUT&=~BIT5 //P1OUT&=~BIT0
  9. #define RW_H  P5OUT|=BIT6
  10. #define RW_L  P5OUT&=~BIT6
  11. #define E_H  P5OUT|=BIT7
  12. #define E_L  P5OUT&=~BIT7
  13. #define BF  BIT7
  14. #define DataDIR P4DIR
  15. #define DataOUT P4OUT
  16. #define DataIN  P4IN
  17. uchar lcd_shuju[]="0123456789-";//定義字符數(shù)組顯示數(shù)字
  18. uchar lcd_tab[]="abcde";
  19. uchar lcd_tab1[]="XYZ";


  20. /*void LCDable(void)  //忙檢測(cè)不寫也可以
  21. {
  22. DataDIR&=0X00;//數(shù)據(jù)端設(shè)置為輸入(讀取液晶狀態(tài)字,判斷液晶狀態(tài))
  23. RS_L;
  24. RW_H;
  25. E_H;
  26. delay_us(4);
  27. while((DataIN & BF!=0));
  28. E_L;
  29. DataDIR|=0xff;
  30. }*/

  31. void shizhong()
  32. {
  33.   BCSCTL1=0X37;            //使用高速晶振XT2,低速模式,8分頻
  34.   BCSCTL2=0XBE;           //選擇時(shí)鐘源為XT2,8分頻,DC0震蕩電阻選擇內(nèi)部電阻
  35. }
  36. void WriteCommond(uchar Commond) //寫指令
  37. {
  38. //LCDable();
  39. DataDIR|=0xff;//數(shù)據(jù)端設(shè)置為輸出
  40. RS_L;
  41. RW_L;
  42. E_L;
  43. delay_ms(4);
  44. DataOUT=Commond;
  45. delay_ms(4);
  46. E_H;
  47. delay_ms(4);
  48. E_L;
  49. RW_H;
  50. RS_H;
  51. }

  52. void WriteAddress(uchar x) //寫地址
  53. {
  54.   WriteCommond(0x80|x);
  55. }

  56. void Writedata(uchar data) //寫數(shù)據(jù)
  57. {
  58. //LCDable();
  59. DataDIR|=0xff;//數(shù)據(jù)端設(shè)置為輸出
  60. RS_H;
  61. RW_L;
  62. E_L;
  63. delay_ms(4);
  64. DataOUT=data;
  65. delay_ms(4);
  66. E_H;
  67. delay_ms(4);
  68. E_L;
  69. RW_H;
  70. RS_L;
  71. }

  72. void LCD_Init()
  73. {
  74. DataDIR|=0xff;//數(shù)據(jù)口設(shè)置為輸出
  75. P5DIR|=0XE0;//控制端設(shè)置為輸出
  76. WriteCommond(0X38);//顯示模式設(shè)置 16X2
  77. WriteCommond(0X0C);//開(kāi)顯示,光標(biāo)設(shè)置為不顯示
  78. WriteCommond(0X06);//開(kāi)顯示,光標(biāo)移動(dòng)模式設(shè)置為:讀寫一個(gè)字符后光標(biāo)及地址指針加1
  79. WriteCommond(0x80+0x00);//顯示起始地址
  80. WriteCommond(0X01);//清屏設(shè)置
  81. }

  82. void display_ZFC()
  83. {
  84.     uchar i;
  85.     WriteAddress(0x05);//顯示起始地址:第1行第6個(gè)位置
  86.     i=0;
  87.     while(lcd_tab[i]!='\0')
  88.      {
  89.       Writedata(lcd_tab[i]);
  90.       i++;
  91.       delay_ms(50);
  92.      }
  93. }

  94. void display_ZFC1()
  95. {
  96.     uchar i;
  97.     WriteAddress(0x42);//顯示起始地址:第2行第3個(gè)位置
  98.     i=0;
  99.     while(lcd_tab1[i]!='\0')
  100.      {
  101.       Writedata(lcd_tab1[i]);
  102.       i++;
  103.       delay_ms(50);
  104.      }
  105. }

  106. void display_SJ()
  107. {
  108.     uchar i;
  109.     WriteAddress(0x03);//顯示起始地址:第1行第1個(gè)位置
  110.     i=0;
  111.     while(lcd_shuju[i]!='\0')
  112.      {
  113.       Writedata(lcd_shuju[i]);
  114.       i++;
  115.       delay_ms(50);
  116.      }
  117. }

  118. int main( void )
  119. {
  120.   WDTCTL = WDTPW + WDTHOLD;//關(guān)閉看門狗
  121.   shizhong();//配置時(shí)鐘
  122.   P5DIR=0xE0;//控制端設(shè)置為輸出
  123.   LCD_Init();//液晶初始化
  124.   display_ZFC();//顯示字符串
  125.   display_ZFC1();//顯示字符串1
  126.   delay_ms(2000);
  127.   display_SJ();//顯示數(shù)據(jù)串0123456789-
  128. }
復(fù)制代碼

完整代碼下載:http://www.torrancerestoration.com/bbs/dpj-78454-1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:52343 發(fā)表于 2013-7-30 00:09 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:54808 發(fā)表于 2013-9-7 14:27 | 只看該作者
謝謝分享啊~
回復(fù)

使用道具 舉報(bào)

地板
ID:64877 發(fā)表于 2014-8-9 10:40 | 只看該作者
編譯顯示錯(cuò)誤,自己又不會(huì)改。。。哎
回復(fù)

使用道具 舉報(bào)

5#
ID:64930 發(fā)表于 2014-8-10 17:40 | 只看該作者
看看
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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