MSP430單片機(jī)驅(qū)動12864液晶程序_第1頁
MSP430單片機(jī)驅(qū)動12864液晶程序_第2頁
MSP430單片機(jī)驅(qū)動12864液晶程序_第3頁
MSP430單片機(jī)驅(qū)動12864液晶程序_第4頁
MSP430單片機(jī)驅(qū)動12864液晶程序_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 MSP430單片機(jī)驅(qū)動12864液晶程序#include <msp430g2553.h>typedef unsigned char uchar;typedef unsigned int uint;#define LCD_PORT_DIR P2DIR /定義P2口#define LCD_PORT_OUT P2OUT#define CS BIT0#define SID BIT1#define SCLK BIT2#define LCD_OUT LCD_PORT_DIR |= CS + SID + SCLK /定義P2.02.2為輸出#define CS_H LCD_PORT_OUT |

2、= CS#define CS_L LCD_PORT_OUT &= CS#define SID_H LCD_PORT_OUT |= SID#define SID_L LCD_PORT_OUT &= SID#define SCLK_H LCD_PORT_OUT |= SCLK#define SCLK_L LCD_PORT_OUT &= SCLKvoid Delay_1ms(void);void Delay_Nms(uint n);void Write_1byte(uint RW,uint RS,uchar data);void Write_8bits(uchar bit);

3、void Write_Cmd(uchar cmd);void Write_Dat(uchar dat);void Write_Datas(uchar *s);void Disp_Img(uchar *img);void Lcd_Init(void);void Locat_XY(uint x,uint y);void Write_Str(uint x,uint y,uchar *s);void Write_Str1(uint x,uint y, uchar q);/unsigned int SZ_bl=48,49,50,51,52,53,54,55,56,57;/*函數(shù)名稱:Delay_1ms功

4、 能:延時約1ms的時間參 數(shù):無返回值:無*/void Delay_1ms(void) uchar i; for(i = 150;i > 0;i-);/*函數(shù)名稱:Delay_Nms功 能:延時約N個1ms的時間參 數(shù):n-延時長度返回值:無*/void Delay_Nms(uint n) uint i; for(i = n;i > 0;i-) Delay_1ms();/*函數(shù)名稱:Write_1byte功 能:向LCD寫1byte數(shù)據(jù)參 數(shù):RW-讀寫控制,RS-數(shù)據(jù)命令控制 data-數(shù)據(jù) RW:0為寫,1為讀 RS:0為命令,1為數(shù)據(jù)返回值:無*/void Write_1b

5、yte(uint RW,uint RS,uchar data) uchar H_data,L_data,ID = 0xf8; if(RW = 1) ID = ID + 0x04; if(RS = 1) ID = ID + 0x02; H_data = data; H_data &= 0xf0; L_data = data; L_data &= 0x0f; L_data <<= 4; Write_8bits(ID); Delay_1ms(); Write_8bits(H_data); Delay_1ms(); Write_8bits(L_data); Delay_1m

6、s();/*函數(shù)名稱:Write_8bits功 能:向LCD連續(xù)寫8bits數(shù)據(jù)參 數(shù):bit-數(shù)據(jù)返回值:無*/void Write_8bits(uchar bit) uint i; for(i=0;i<8;i+) if(bit & 0x80) SID_H; else SID_L; SCLK_H; bit <<= 1; SCLK_L; /*函數(shù)名稱:Write_Cmd功 能:向LCD寫控制命令參 數(shù):cmd-控制命令返回值:無*/void Write_Cmd(uchar cmd) CS_L; _NOP(); CS_H; _NOP(); Write_1byte(0,0

7、,cmd); Delay_1ms(); CS_L;/*函數(shù)名稱:Write_Dat功 能:向LCD寫顯示數(shù)據(jù)參 數(shù):dat-顯示數(shù)據(jù)返回值:無*/void Write_Dat(uchar dat) CS_L; _NOP(); CS_H; _NOP(); Write_1byte(0,1,dat); Delay_1ms(); CS_L; _NOP();/*函數(shù)名稱:Lcd_Init功 能:液晶初始化參 數(shù):無返回值:無*/void Lcd_Init(void) Delay_Nms(500); Write_Cmd(0x30); /基本指令集 Delay_1ms(); Write_Cmd(0x02);

8、 /地址歸位 Delay_1ms(); Write_Cmd(0x0c); /整體顯示打開,游標(biāo)關(guān)閉 Delay_1ms(); Write_Cmd(0x01); /清除顯示 Delay_1ms(); Write_Cmd(0x06); /游標(biāo)右移 Delay_1ms(); Delay_1ms();/*函數(shù)名稱:Locat_XY功 能:設(shè)置液晶顯示地址參 數(shù):x-行地址,y-列地址 0<=x<=3,0<=y<=7返回值:無*/void Locat_XY(uint x,uint y) switch(y) case 0: Write_Cmd(0x80+x);break; case

9、 1: Write_Cmd(0x90+x);break; case 2: Write_Cmd(0x88+x);break; case 3: Write_Cmd(0x98+x);break; default:break; /*函數(shù)名稱:Write_Datas功 能:寫字符串?dāng)?shù)據(jù)參 數(shù):*s-字符串?dāng)?shù)組返回值:無*/void Write_Datas(uchar *s) char i; while(*s>0) Write_Dat(*s); s+; for(i=10;i>0;i-); /*函數(shù)名稱:Write_Str功 能:向指定起始坐標(biāo)寫字符串參 數(shù):x-行地址,y-列地址,*s-字符串

10、數(shù)組 0<=x<=3,0<=y<=7返回值:無*/void Write_Str(uint x,uint y, uchar *s) Locat_XY(x,y); Write_Datas(s);/*函數(shù)名稱:Write_Str1功 能:向指定起始坐標(biāo)寫變量參 數(shù):x-行地址,y-列地址,q-字符串?dāng)?shù)組ASCll碼值 0<=x<=3,0<=y<=7返回值:無*/void Write_Str1(uint x,uint y, uchar q) Locat_XY(x,y); Write_Dat(q);/*函數(shù)名稱:Disp-Img功 能:顯示圖片參 數(shù):*img-圖片數(shù)組返回值:無*/void Disp_Img(uchar *img) uint j=0; uchar x,y; for(y=0;y<32;y+) /垂直坐標(biāo)32位 for(x=0;x<8;x+) /水平坐標(biāo)16字 Write_Cmd(0x36); /開啟擴(kuò)展指令集 Write_Cmd(y+0x80); /先寫入垂直坐標(biāo) Write_Cmd(x+0x80); /再寫入水平坐標(biāo) Write_Cmd(0x30); /基本指令集 Write_Dat(imgj+); Write_Dat(imgj+); for(y=0;y<32;y+) /垂直坐標(biāo)32

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論