說得具體點(diǎn):
lcd_ce為使能端,讀數(shù)據(jù)時為高。lcd_ce=P1^0;
lcd_clk為時鐘,上升緣有效。 lcd_clk=P1^1;
lcd_do為單片機(jī)要讀取的數(shù)據(jù)。lcd_do=P0^1;
假設(shè)單片機(jī)要讀一個字節(jié)為0x43,它的程序這樣寫對嗎?請高人指點(diǎn)
void read_data()
{
uchar i;
_nop_();
_nop_();
lcd_clk=1;
lcd_ce=1;
_nop_();
_nop_();
for(i=0;i<8;i++)
{
uchar read_data;
lcd_do=1; //讀程序是不是要先把P0^1置1?
lcd_clk=0;
lcd_clk=1;
read_data=lcd_do; //read_data得到的一位一位的數(shù)據(jù)放哪了?
if(read_data==1)
{
P0^2=1; //蜂鳴器響
}
_nop_();
}
}
關(guān)于單片機(jī)讀串口程序-----你到問題把人搞糊涂了!----是不是讀 RS232 啊?或是讀其它啊?
如果是 RS232 ,怎么有 3 個引腳啊?
如果你不是說 RS232 ,那么你的就是天書了,誰也不明白!
通信有一個前提:總是有一方為"主",有一方為"從",就說 RS232 吧,讀串口時是"從",因?yàn)樗恢朗欠裼袛?shù)據(jù)發(fā)來.僅僅是做好接收準(zhǔn)備而已.----而不能是你什么什么的就可以接收數(shù)據(jù).---人家沒有發(fā)送,你怎么接收?
例如:你手機(jī)沒有響鈴,你不會接電話吧?
如果說 232 接收,又是 51 ,直接使用芯片內(nèi)部 RS232 功能就可以了.----即使你使用 I/O 模擬串口,也不用 3 根引腳啊!
-----論壇里許多 RS232 的好文章,建議閱讀一下.千萬不要憑空想一個串口出來.
僅供參考!
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |