(void)
{
P2DIR|=0X02;// SDA="0"
;IIC_Delay();
P2DIR&=0XFB;//SCL=1 FB="1111",1011
IIC_Delay();
P2DIR|=0X04;// SCL="0"
IIC_Delay();
}
// 連續(xù)讀字符模塊
void ReadNbyte(unsigned char *p,unsigned int addr,unsigned char number)
{
start_IIC();
send_char(0xa2);
iic_ACK();
send_char(addr/256);
iic_ACK();
send_char(addr%256);
iic_ACK();
start_IIC();
send_char(0xa3);
iic_ACK();
do
{
*p=read_char();
p++;
if(number!=1)
S_ACK(); //send ACK
}
while(--number);
iic_NACK();
stop_IIC();
}
數(shù)據(jù)的傳輸
數(shù)據(jù)傳輸是存儲在EEPROM中的數(shù)據(jù)到達(dá)計(jì)算機(jī)的有效途徑,數(shù)據(jù)上傳到計(jì)算機(jī)最常用的是串行(RS232)接口,現(xiàn)在由于USB計(jì)數(shù)的不斷成熟,通過USB可以方便快捷實(shí)現(xiàn)數(shù)據(jù)傳輸,而且可以滿足速率和設(shè)備外觀的要求,但是USB的驅(qū)動程序設(shè)計(jì)是比較復(fù)雜的工作,本例中使用簡單的橋接電路,把UART接口的數(shù)據(jù)經(jīng)過CP2102的橋接,直接實(shí)現(xiàn)數(shù)據(jù)的USB轉(zhuǎn)換,從430F449異步串口輸出的數(shù)據(jù)自動轉(zhuǎn)化為符合USB協(xié)議的數(shù)據(jù)直接連接到計(jì)算機(jī)的USB口,上位機(jī)應(yīng)用程序通過CP2102的驅(qū)動程序可以象操作串口一樣直接讀寫端口數(shù)據(jù)。
結(jié)論
以上的硬件設(shè)計(jì)比較簡單可靠,可以照搬到同類型的控制芯片上,軟件代碼也同樣具有較好的移植性,只要把控制時鐘和數(shù)據(jù)端口和程序軟件設(shè)置相一致即可。
參考文獻(xiàn):
1、MSP430系列16位超低功耗單片機(jī)實(shí)踐與系統(tǒng)設(shè)計(jì)《清華大學(xué)出版社》
2、MSP430系列單片機(jī)接口計(jì)數(shù)及系統(tǒng)設(shè)計(jì)實(shí)例《北京航天航空大學(xué)出版社》
3、MSP430系列單片機(jī)C語言程序設(shè)計(jì)與開發(fā)《北京航天航空大學(xué)出版社》





