基於msp430的1602液晶驅動底層源程式

2022-12-02 11:57:06 字數 2409 閱讀 8385

#include <

#include ""

typedef unsigned char uchar;

typedef unsigned int uint;

巨集定義#define datadir p4dir

#define dataport p4out

#define busy 0x80

#define ctrldir p3dir

#define clr_rs p3out&=~bit0; //rs = p3.0

#define set_rs p3out|=bit0;

#define clr_rw p3out&=~bit1; //rw = p3.1

#define set_rw p3out|=bit1;

#define clr_en p3out&=~bit2; //en = p3.2

#define set_en p3out|=bit2;

函式名稱:dispnchar

功能:讓液晶從某個位置起連續顯示n個字元

引數:x--位置的列座標

y--位置的行座標

n--字元個數

ptr--指向字元存放位置的指標

返回值 :無

void dispnchar(uchar x,uchar y, uchar n,uchar *ptr) }}

函式名稱:locatexy

功能:向液晶輸入顯示字元位置的座標資訊

引數:x--位置的列座標

y--位置的行座標

返回值 :無

void locatexy(uchar x,uchar y)

函式名稱:disp1char

功能:在某個位置顯示乙個字元

引數:x--位置的列座標

y--位置的行座標

data--顯示的字元資料

返回值 :無

void disp1char(uchar x,uchar y,uchar data)

函式名稱:lcdreset

功能:對1602液晶模組進行復位操作

引數:無

返回值 :無

void lcdreset(void)

函式名稱:lcdwritecommand

功能:向液晶模組寫入命令

引數:cmd--命令,

chk--是否判忙的標誌,1:判忙,0:不判

返回值 :無

void lcdwritecommand(uchar cmd,uc

har chk)

{if (chk) waitforenable(); // 檢測忙訊號?

clr_rs;

clr_rw;

_nop();

dataport = cmd將命令字寫入資料埠

_nopset_en產生使能脈衝訊號

_nop();

_nop();

clr_en函式名稱:lcdwritedata

功能:向液晶顯示的當前位址寫入顯示資料引數:data--顯示字元資料返回值 :無void lcdwritedata( uchar data )

{waitforenable等待液晶不忙

set_rs;

clr_rw;

_nop();

dataport = data將顯示資料寫入資料埠

_nop();

set_en產生使能脈衝訊號

_nop();

_nop();

clr_en函式名稱:waitforenable

功能:等待1602液晶完成內部操作引數:無返回值 :無void waitforenable(void)

{p4dir &= 0x00; //將p4口切換為輸入狀態

clr_rs;

set_rw;

_nop();

set_en;

_nop();

_noph標頭檔案)

void dispnchar(unsigned char x,unsigned char y, unsigned char n,unsigned char *ptr);

void locatexy(unsigned char x,unsigned char y);

void disp1char(unsigned char x,unsigned char y,unsigned char data);

void lcdreset(void);

void lcdwritecommand(unsigned char cmd,unsigned char chk);

void lcdwritedata( unsigned char data );

void waitforenable(void);

void delay5ms(void);

void delay400ms(void);

MSP430定時器A說明

msp430的定時器a有比較 捕獲兩種工作模式 比較模式 這是定時器的預設模式,當在比較模式下的時候,與捕獲模式相關的硬體停止工作,如果這個時候開啟定時器中斷,然後設定定時器終值 將終值寫入taccrx 開啟定時器,當tar的值增到taccrx的時候,中斷標誌位ccifgx置1,同時產生中斷。若中斷...

基於MSP430微控制器的開關穩壓電源設計

1 引言 msp430系列微控制器是美國ti公司生產的新一代16位微控制器,是一種超低功耗的混合訊號處理器 mixedsignal processor 它具有低電壓 超低功耗 強大的處理能力 系統工作穩定 豐富的片內外設 方便開發等優點,具有很高的價效比,在工程控制等領域有著極其廣泛的應用範圍。開關...

MSP430無磁熱量表的設計體會

無磁熱量表的設計體會 無磁熱量表的設計體會 利爾達科技 陳振華 摘要 本文介紹一種新型的無磁流量檢測技術,即電極檢測技術,電極取樣原理,溫度感測器電路的設計及能量計算方法。關鍵詞 msp430f135,pt1000溫度感測器 一 引言 熱量表的流量檢測方法有韋根 lc等感測器設計方法,但這些設計從嚴...