資源簡介
msp430 模塊程序 包括DS18B20 PS2 串口 電機 AD 12864 鍵盤 DA等,對于學習MSP430相當有幫助。

代碼片段和文件信息
//st7920?12864?LCD的8位并行?MSP430F149驅動
/*
說明:此程序中工作在未設置430時鐘?的情況下。
請他情況尚未測試。
2008/8月/11日
*/
#include?
#include“LCD_12864.h“
#define?uchar?unsigned?char?
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// 配置連線
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#define???LCD_Data_DIR P5DIR
#define???LCD_Data_SEL P5SEL
#define ??LCD_Data_IN P5IN
#define???LCD_Data_OUT P5OUT
#define???LCD_Ctrl_DIR P4DIR
#define ??LCD_Ctrl_SEL P4SEL
#define???LCD_Ctrl_OUT P4OUT
#define???RS????0x80??????//RS??接P4.7
#define???RW????0x40??????//RW??接P4.6
#define???E?????0x20????//?E???接P4.5
#define???DATA??0xff????//數據口接P5
#define??delay140ns() _NOP();_NOP()
//延時函數??延時約100us
void?delay_100us(void)
{
unsigned?char?i=8;
while(i--)
?????????_NOP();
}
void?delay_20ms()
{
unsigned?int?i=1600;
????????while(i--)
????????_NOP(); ??
}
//忙狀態檢測函數??
unsigned?char?Busy_Test(void)
{
?? unsigned?char?Busy;
LCD_Data_DIR?=?0x00;???//設為輸入
LCD_Data_SEL?=?0x00;???//p設為普通IO
LCD_Ctrl_OUT?|=?RW;????//設置為讀
LCD_Ctrl_OUT?&=?~(RS+E);//設置為操作指令
??????
LCD_Ctrl_OUT?|=?E;?????//產生上跳沿讀取數據
delay140ns();
Busy?=?LCD_Data_IN?&?0x80;?
LCD_Ctrl_OUT?&=?~E;?????//恢復低電平
????????????????
return(Busy);//返回忙標志
}
//忙時等待函數
void?wait()
{
while(Busy_Test()==0x80);
}
//寫控制命令函數
?void?WriteCOM(unsigned?char?Command)
{
wait(); //忙時則等待
LCD_Data_DIR?=?0xff;???//p5設為輸出
LCD_Data_SEL?=?0x00;???//p設為普通IO
????????
LCD_Ctrl_OUT?&=?~(RW?+?RS);???//寫操作
LCD_Data_OUT?=?Command;??//發送控制命令
????????
LCD_Ctrl_OUT?|=?E;???????//產生上跳沿,發送數據
delay140ns();
LCD_Ctrl_OUT?&=?~E;??????//恢復低電平
}
//??????????寫顯示數據函數?????????//
?
void?WriteData(unsigned?char?Data)
?{
wait(); // 忙時則等待
LCD_Data_DIR?=?0xff;???//p5設為輸出
LCD_Data_SEL?=?0x00;???//p設為普通IO
LCD_Ctrl_OUT?|=?RS;???//RS置1?設置為數據
LCD_Ctrl_OUT?&=?~RW;??//RW置0?設置為寫操作?
??????????????????
LCD_Data_OUT?=?Data;
????? delay140ns();?
LCD_Ctrl_OUT?|=?E;//E置1?產生上跳沿電平
????? delay140ns();
LCD_Ctrl_OUT?&=?~E;//E置低?恢復低電平
}
unsigned?char?ReadData(void)
{
unsigned?char?ReadCode;
wait();
LCD_Data_DIR=0x00;?????????//設置為輸入
LCD_Data_SEL=0x00;?????????//設置為普通IO口
LCD_Ctrl_OUT?|=?RS;???//RS置1?設置為數據
LCD_Ctrl_OUT?|=?RW;??????????//RW置1?設置為讀操作
LCD_Ctrl_OUT?&=?~E;??????????//E置0?以備產生上跳沿
delay140ns();
LCD_Ctrl_OUT?|=?E;?????????//E置1??產生上跳沿
ReadCode?=?LCD_Data_IN;???????//讀取顯示數據
LCD_Ctrl_OUT?&=?~E;??????//E置0??恢復為低電平
return?ReadCode;
}
void?WriteLine(char?ADDRchar?Data)//ADDR是DDRAM中的寄存器。?Data存放的是半角的字符,也就是ASCII碼。
{
unsigned?char?count=0;
WriteCOM(ADDR);
for(count=0;count<16;count++)
{
WriteData(Data);
}
}
////////////////////////////////////////////////////////////////////////
// 供用戶調用的函數
////////////////////////////////////////////////////////////////////////
//定義連個全局變量.
unsigned?char?CurTextRowCurTextColTextOverflow;
//==========================================
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????25631??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\Debug\Exe\wq.d43
?????文件??????61659??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\Debug\Obj\LCD_12864.r43
?????文件??????57261??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\Debug\Obj\main.r43
?????文件????????179??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\Debug\Obj\wq.pbd
?????文件????????156??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\ew.eww
?????文件??????10852??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\LCD_12864.c
?????文件????????874??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\LCD_12864.h
?????文件???????3335??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\settings\ew.wsdt
?????文件???????2672??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\settings\wq.cspy.bat
?????文件???????4722??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\settings\wq.dbgdt
?????文件???????1016??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\settings\wq.dni
?????文件???????2678??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\wq.dep
?????文件??????13743??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\wq.ewd
?????文件??????46756??2010-07-12?15:23??MSP430的模塊程序---JJJ\12864并行_JJJ\wq.ewp
?????文件????????546??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\DAC.h
?????文件???????3121??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\DAC7800.dep
?????文件??????46762??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\DAC7800.ewp
?????文件????????161??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\DAC7800.eww
?????文件???????1901??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\DAC_invert.c
?????文件??????16640??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\Debug\Exe\DAC7800.d43
?????文件???????8888??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\Debug\Obj\DAC.r43
?????文件????????183??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\Debug\Obj\DAC7800.pbd
?????文件???????9877??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\Debug\Obj\DAC_invert.r43
?????文件???????2564??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\settings\DAC7800.cspy.bat
?????文件?????????63??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\settings\DAC7800.dbgdt
?????文件????????179??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\settings\DAC7800.dni
?????文件???????3575??2010-07-12?15:23??MSP430的模塊程序---JJJ\12位(未調試)?DAC7800--TI\settings\DAC7800.wsdt
?????文件???????2700??2010-07-12?15:23??MSP430的模塊程序---JJJ\16位?DAC7632--TI\DAC7632.dep
?????文件??????13743??2010-07-12?15:23??MSP430的模塊程序---JJJ\16位?DAC7632--TI\DAC7632.ewd
?????文件??????46762??2010-07-12?15:23??MSP430的模塊程序---JJJ\16位?DAC7632--TI\DAC7632.ewp
............此處省略296個文件信息
- 上一篇:視頻點播源碼
- 下一篇:AD7732中文文檔
評論
共有 條評論