資源簡介
文件夾中有MSP430實現串口通信的源程序代碼,在IAR中新建工程,添加其中的C文件即可編譯、運行。

代碼片段和文件信息
#include?“Total.h“
const?unsigned?char?PageTable[8]?=?{76543210};
extern?unsigned?char?cursor_xcursor_y;
extern?const?unsigned?char?lyASCII[95][16];
/****本項目中的頂層應用****/
void?Display_bckgnd();
//////////////////////////////
//////////////////////////////
//寫指令
void?write_cmd(unsigned?char?cmd)
{
??SET_CTRDIR??P6DIR?|=?(BIT5+BIT4+BIT3);
??DataDir=0xff;
??CLR_A0;
??CLR_RW;
??DataOut=cmd;
??SET_E;
??_NOP();
??_NOP();
??CLR_E;
??_NOP();??
}
//寫數據
void?write_dat(unsigned?char?dat)
{
??SET_CTRDIR??P6DIR?|=?(BIT5+BIT4+BIT3);
??DataDir=0xff;
??SET_A0
??CLR_RW;
??DataOut=dat;
??SET_E;
??_NOP();
??_NOP();
??CLR_E;
??_NOP();??
}
//讀指令
unsigned?char?read_cmd(void)
{
??unsigned?char?cmd;
??SET_CTRDIR??P6DIR?|=?(BIT5+BIT4+BIT3);
??DataDir=0x00;
??CLR_A0;
??SET_RW;
??SET_E;
??_NOP();
??_NOP();
??_NOP();
??cmd=DataIn;
??CLR_E;?
??return?cmd;?
}
//讀數據
unsigned?char?read_dat(void)
{
??unsigned?char?dat;
??SET_CTRDIR??P6DIR?|=?(BIT5+BIT4+BIT3);
??DataDir=0x00;
??SET_A0;
??SET_RW;
??SET_E;
??_NOP();
??_NOP();
??_NOP();
??dat=DataIn;
??CLR_E;?
??return?dat;??
}
//////////////////////////////
//////////////////////////////
//查忙
void?Busy_wait(void)
{
??while(read_cmd()?&?0x80?==0x80);
}
//1-on0-off
void?DisplayOnOff(unsigned?char?doit)
{
??Busy_wait();
??if(doit!=0x00)
????write_cmd(0xaf);
??if(doit==0x00)
????write_cmd(0xae);
}
//lineaddr:?0~63
void?DisplayStartLineSet(unsigned?char?lineaddr)??//行地址
{
??unsigned?char?tmp;
??tmp?=?0x40?+?(lineaddr?&?0x3f);
??Busy_wait();
??write_cmd(tmp);
}
//pageaddr:?0~8
void?PageAddrSet(unsigned?char?pageaddr)???//頁地址
{
??unsigned?char?tmp;
??tmp?=?0xb0?+(PageTable[pageaddr]?&?0x0f);
??Busy_wait();
??write_cmd(tmp);
}
//columnaddr:?0~131
void?ColumnAddrSet(unsigned?char?columnaddr)????????//列地址
{
??unsigned?char?tmp;
??tmp?=?0x10?+?((columnaddr>>4)&0x0F);
??Busy_wait();
??write_cmd(tmp);?
??tmp?=?columnaddr?&?0x0f;
??Busy_wait();
??write_cmd(tmp);?
}
//?BUSY?ADC?ON/OFF?RESET?0000
unsigned?char?StatusRead(void)??//讀狀態
{
??unsigned?char?status;
??Busy_wait();
??status?=?read_cmd();
??return?status;
}
void?DisplayDataWrite(unsigned?char?dat)??//寫數據
{
??Busy_wait();
??write_dat(dat);
}
unsigned?char?DisplayDataRead(void)??//讀數據
{
??unsigned?char?dat;
??Busy_wait();
??dat?=?read_dat();
??return?dat;
}
//0-normal?1-reverse
void?ADCSelect(unsigned?char?doit)???//ADC?左右倒置
{
??Busy_wait();
??if(doit!=0x00)
????write_cmd(0xa1);
??if(doit==0x00)
????write_cmd(0xa0);
}
//0-nomal?1-reverse
void?DisplayNormalReverse(unsigned?char?doit)???//反白顯示
{
??Busy_wait();
??if(doit!=0x00)
????write_cmd(0xa7);
??if(doit==0x00)
????write_cmd(0xa6);
}
//0-normal?1-allpointson?
void?DisplayAllPointsOnOff(unsigned?char?doit)?//全點開
{
??Busy_wait();
??if(doit==0x00)?
????write_cmd(0xa4);
??if(doit!=0x00)
????write_cmd(0xa5);
}
//0-1/9bias?1-1/7bias
void?LC
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8676??2011-08-16?17:29??USART\Basic_OCM12864.c
?????文件????????551??2011-08-14?12:22??USART\Delay.c
?????文件????????872??2011-08-17?11:21??USART\FunDeclare.h
?????文件??????10755??2011-07-23?17:40??USART\lyASCII.c
?????文件????????967??2011-08-17?16:02??USART\Main.c
?????文件???????2739??2011-07-23?17:40??USART\OCM12864.h
?????文件????????486??2011-08-17?11:22??USART\Total.h
?????目錄??????????0??2011-08-18?11:15??USART
-----------?---------??----------?-----??----
????????????????25046????????????????????8
評論
共有 條評論