|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
MCU與PC簡(jiǎn)單通信程序,問(wèn)題請(qǐng)教! |
| 作者:yuxing276 欄目:單片機(jī) |
#include<reg51.h> #include<stdio.h> //晶振11.0592// unsigned CHAR idata trdata_buf[10]; unsigned CHAR code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9 0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned CHAR a; //************************************ void delayms(unsigned int b) //豪秒延時(shí)子程序 { unsigned CHAR j; while((b--)!=0) { for(j=0;j<125;j++) {;} } } //************************************* void tx(unsigned CHAR b) //串口發(fā)送子程序 {SBUF=b; while(TI==0); TI=0; } //************************************* CHAR rx(void) //串口接收子程序 { unsigned CHAR a_sbuf; while(RI==0); RI=0; a_sbuf=SBUF; return(a_sbuf); } //************************************* void DISPLAY(unsigned CHAR aaa)//顯示子程序 {unsigned CHAR j,m,n,i; for(j=0;j<aaa;j++) {m=trdata_buf[j]&0x0f; n=trdata_buf[j]>>4; i=0; do{ P2=0xdf; P0=ledcode[m]; delayms(10); P2=0xF7; P0=ledcode[n]; delayms(10); i++; } while(i!=100); } P0=0xff; } //************************************ void receive(unsigned CHAR aa) //接收子程序 { unsigned CHAR i; for(i=0;i<aa;i++) {while(RI==0);RI=0; trdata_buf[i]=SBUF; tx(0xdd); } } //************************************ void main(void) //主程序 { TMOD=0x20;//自動(dòng)重裝方式2 TL1=0xfd;TH1=0xfd;//9600bit/s SCON=0xd8; PCON=0x00;//SMOD=0x00;//撥特率不加倍,等于1時(shí)撥特率加倍 TR1=1; P1=0xff; while(1) {//rx(); if((a=rx())!=0xff)tx(0); else{ tx(0xff); rx(); a=rx(); if(a<10) {tx(0x77); receive(a); DISPLAY(a); P1=0xff; } else tx(0x00); printf ("you are bad!\n"); } } } 最后一句printf ("you are bad!\n"); 請(qǐng)問(wèn)用printf是否可以連續(xù)向串口發(fā)數(shù)據(jù)! |
| 2樓: | >>參與討論 |
| 作者: yuxing276 于 2005/12/21 20:31:00 發(fā)布:
大俠們快來(lái)看看。。。。。謝謝了!! 大蝦們快來(lái)看看啊。。!。謝謝了!! |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2005/12/21 20:36:00 發(fā)布:
最好自己寫(xiě)一個(gè)print函數(shù)吧,這樣比較好。 |
|
| 4樓: | >>參與討論 |
| 作者: tc9148 于 2005/12/21 20:38:00 發(fā)布:
to:樓主 估計(jì)你這里人多,借地方問(wèn)個(gè)問(wèn)題:你理解定時(shí)器t1是如何為串口服務(wù)的嗎? 謝謝!。! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |