資源簡介
MSP430F149 ADC12 單通道多次采樣工程文件,還包含LCD1602顯示

代碼片段和文件信息
/**************引用頭文件***************/
#include??????????//視具體單片機型號引用不同頭文件
#include?“LCD1602_Driver.h“
#define?uchar?unsigned?char
#define?uint?unsigned?int
/**************接口定義***************/
#define?DataDir?????P4DIR???????//8位數據線=P4口
#define?DataPort????P4OUT
#define?DataIn??????P4IN????????????????
#define?Busy????????0x80????????//Busy信號為數據線最高位BIT7
#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;????
/*******************************************
函數名稱:LcdWriteCommand
功????能:向液晶模塊寫入命令
參????數:cmd--命令,
?????????chk--是否判忙的標志,1:判忙,0:不判
返回值??:無
********************************************/
void?LcdWriteCommand(uchar?cmduchar?chk)?
{
???if?(chk)?CheckBusy();???//?檢測忙信號?
???
???CLR_RS;????
???CLR_RW;?
???_NOP();
???DataPort?=?cmd;?????????????//將命令字寫入數據端口?
???_NOP();????????????????????
???
???SET_EN;?????????????????????//產生使能脈沖信號
???_NOP();
???_NOP();
???CLR_EN;????????????
}
???
/*******************************************
函數名稱:LcdWriteData
功????能:向液晶顯示的當前地址寫入顯示數據
參????數:data--顯示字符數據
返回值??:無
********************************************/
void?LcdWriteData(?uchar?data?)?
{
???CheckBusy();????????//等待液晶不忙
???SET_RS;
???CLR_RW;?
???_NOP();
???DataPort?=?data;????????//將顯示數據寫入數據端口
???_NOP();
???SET_EN;?????????????????//產生使能脈沖信號
???_NOP();?
???_NOP();?
???CLR_EN;????????
}
/*******************************************
函數名稱:CheckBusy
功????能:檢測1602是否忙,等待1602液晶完成內部操作
參????數:無
返回值??:無
********************************************/
void?CheckBusy(void)
{
???DataDir?&=?0x00;??//將P4口切換為輸入狀態
???CLR_RS;
???SET_RW;
???_NOP();
???SET_EN;?
???_NOP();
???_NOP();
???
???while((DataIn?&?Busy)!=0);??//檢測忙標志
???CLR_EN;
???DataDir?|=?0xFF;??//將P4口切換為輸出狀態
}????
??????????????????????
/*******************************************
函數名稱:Delay5ms
功????能:延時約5ms
參????數:無
返回值??:無
********************************************/
void?Delay5ms(void)
{?
???uint?i=40000;
???while?(i?!=?0)
???{
???????i--;
???}
}
/*******************************************
函數名稱:LcdReset
功????能:對1602液晶模塊進行復位操作
參????數:無
返回值??:無
********************************************/
void?LcdReset(void)?
{
???CtrlDir?|=?0x07;?????????????????//控制線端口設為輸出狀態?
???DataDir??=?0xFF;?????????????????//數據端口設為輸出狀態
?
???LcdWriteCommand(0x38?0);????????//規定的復位操作
???Delay5ms();
???LcdWriteCommand(0x38?0);????????
???Delay5ms();
???LcdWriteCommand(0x38?0);
???Delay5ms();
???LcdWriteCommand(0x38?1);????????//顯示模式設置
???LcdWriteCommand(0x08?1);????????//顯示關閉
???LcdWriteCommand(0x01?1);????????//顯示清屏
???LcdWriteCommand(0x06?1);????????//寫字符時整體不移動
???LcdWriteCommand(0x0c?1);????????//顯示開,不開游標,不閃爍
}
/*******************************************
函數名稱:LocateXY
功????能:向液晶輸入顯示
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4000??2012-07-01?10:29??ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.dep
?????文件???????50738??2012-06-29?15:43??ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.ewp
?????文件?????????176??2012-06-29?15:41??ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.eww
?????目錄???????????0??2012-06-29?10:34??ADC12SingleChMultiSamp\Debug\
?????目錄???????????0??2012-06-29?15:42??ADC12SingleChMultiSamp\Debug\Exe\
?????文件???????23798??2012-06-29?15:42??ADC12SingleChMultiSamp\Debug\Exe\ADC12SingleChMultiSamp.d43
?????文件????????2950??2012-06-29?16:06??ADC12SingleChMultiSamp\Debug\Exe\ADC12SingleChMultiSamp.txt
?????目錄???????????0??2012-06-29?10:34??ADC12SingleChMultiSamp\Debug\List\
?????目錄???????????0??2012-07-01?10:29??ADC12SingleChMultiSamp\Debug\Obj\
?????文件?????????226??2012-07-01?10:29??ADC12SingleChMultiSamp\Debug\Obj\ADC12SingleChMultiSamp.pbd
?????文件???????14897??2012-06-29?15:42??ADC12SingleChMultiSamp\Debug\Obj\LCD1602_Driver.r43
?????文件???????13179??2012-06-29?16:06??ADC12SingleChMultiSamp\Debug\Obj\main.r43
?????文件????????5221??2012-06-28?01:03??ADC12SingleChMultiSamp\LCD1602_Driver.c
?????文件?????????464??2012-06-28?00:53??ADC12SingleChMultiSamp\LCD1602_Driver.h
?????文件????????3483??2012-06-29?16:06??ADC12SingleChMultiSamp\main.c
?????文件????????1383??2012-06-29?15:24??ADC12SingleChMultiSamp\MyMain.c
?????目錄???????????0??2012-06-29?15:41??ADC12SingleChMultiSamp\settings\
?????文件????????1071??2012-07-01?10:28??ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.cspy.bat
?????文件??????????63??2012-07-01?10:29??ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.dbgdt
?????文件?????????486??2012-07-01?10:29??ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.dni
?????文件????????2885??2012-07-01?10:29??ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.wsdt
- 上一篇:ProcessProtect.rar
- 下一篇:Fiddler視頻教程
評論
共有 條評論