1602控制forMSP430
- /*****************************************************************
- //文件名:1602.h
- //描述:該頭文件定義與1602有關的各種接口、函數(shù),適用于MSP430F149
- //編寫人:小邪@清水
- //版本號:1.00
- *****************************************************************/
- #include
- #include"1602.h"
- #defineucharunsignedchar
- #defineuintunsignedint
- ucharNUM[]={"0123456789."};
- /*****************************************************************
- //關于1602的一些宏定義
- //注意:除第三個外都要根據(jù)實際使用IO口更改
- *****************************************************************/
- #defineDataDirP4DIR
- #defineDataPortP4OUT
- #defineBusy0x80
- #defineCtrlDirP3DIR
- #defineCLR_RSP3OUT&=~BIT0;//RS=P3.0
- #defineSET_RSP3OUT|=BIT0;
- #defineCLR_RWP3OUT&=~BIT1;//RW=P3.1
- #defineSET_RWP3OUT|=BIT1;
- #defineCLR_ENP3OUT&=~BIT2;//EN=P3.2
- #defineSET_ENP3OUT|=BIT2;
- /*************************************************************************
- //名稱:delay
- //參數(shù):無
- //返回值:無
- //功能:延時5ms的時間
- *************************************************************************/
- voidDelay5ms(void)
- {
- uinti=40000;
- while(i!=0)
- {
- i--;
- }
- }
- /*************************************************************************
- //名稱:WaitForEnable
- //參數(shù):無
- //返回值:無
- //功能:等待直到1602完成當前操作
- *************************************************************************/
- voidWaitForEnable(void)
- {
- P4DIR&=0x00;//將P4口切換為輸入狀態(tài)
- CLR_RS;
- SET_RW;
- _NOP();
- SET_EN;
- _NOP();
- _NOP();
- while((P4IN&Busy)!=0);//檢測忙標志
- CLR_EN;
- P4DIR|=0xFF;//將P4口切換為輸出狀態(tài)
- }
- /*************************************************************************
- //名稱:WriteCommand
- //參數(shù):cmd--命令,chk--是否判忙的標志,1:判忙,0:不判
- //返回值:無
- //功能:向1602寫指令
- *************************************************************************/
- voidWriteCommand(ucharcmd,ucharchk)
- {
- if(chk)WaitForEnable();//檢測忙信號
- CLR_RS;
- CLR_RW;
- _NOP();
- DataPort=cmd;//將命令字寫入數(shù)據(jù)端口
- _NOP();
- SET_EN;//產(chǎn)生使能脈沖信號
- _NOP();
- _NOP();
- CLR_EN;
- }
- /*************************************************************************
- //名稱:WriteData
- //參數(shù):unsignedcharData
- //返回值:無
- //功能:向1602寫入數(shù)據(jù)
- *************************************************************************/
- voidWriteData(uchardata)
- {
- WaitForEnable();//等待液晶不忙
- SET_RS;
- CLR_RW;
- _NOP();
- DataPort=data;//將顯示數(shù)據(jù)寫入數(shù)據(jù)端口
- _NOP();
- SET_EN;//產(chǎn)生使能脈沖信號
- _NOP();
- _NOP();
- CLR_EN;
- }
-
關鍵詞:
1602控制MSP43
評論