51?單片機?與上位機串口通信程序設(shè)計?
1.?發(fā)送:向總線上發(fā)命令?
2.?接收:從總線接收命令,并分析是地址還是數(shù)據(jù)。?
3.?定時發(fā)送:從內(nèi)存中取數(shù)并向主機發(fā)送.?
經(jīng)過調(diào)試,以上功能基本實現(xiàn),目前可以通過上位機對 單片機 進行實時控制。?
程序如下:?
//這是一個 單片機 C51串口接收(中斷)和發(fā)送例程,可以用來測試51單片機的中斷接收??
?
//和查詢發(fā)送,另外我覺得發(fā)送沒有必要用中斷,因為程序的開銷是一樣的??
#include?
#include?
#include?
#define?INBUF_LEN?4?//數(shù)據(jù)長度?
unsigned?char?inbuf1[INBUF_LEN];?
unsigned?char?checksum,count3?,?flag,temp,ch;?
bit?read_flag=0;?
sbit?cp=P1^1;?
sbit?DIR=P1^2;?
int?i;?
unsigned?int?xdata?*RAMDATA;?/*定義RAM地址指針*/?
unsigned?char?a[6]?={0x11,0x22,0x33,0x44,0x55,0x66}?;?
void?init_serialcomm(void)?
{?
SCON=0x50;?//在11.0592MHz下,設(shè)置串行口波特率為9600,方式1,并允許接收?
PCON=0x00;?
ES=1;?
TMOD=0x21;?//定時器工作于方式2,自動裝載方式?
TH0=(65536-1000)%256;?
TL0=(65536-1000)/256;?
TL1=0xfd;?
TH1=0xfd;?
ET0=1;?
TR0=1;?
TR1=1;?
//?TI=0;?
EA=1;?
//?TI=1;??
RAMDATA=0x1F45;?
}?
void?serial?()?interrupt?4?using?3??
{??
if(RI)?
{?RI=0;?
ch=SBUF;?
TI=1;?//置SBUF空?
switch(ch)?
{?
case?0x01?:printf("A");?TI=0;break;?
case?0x02?:printf("B");?TI=0;break;?
case?0x03?:printf("C");?TI=0;break;?
case?0x04?:printf("D");?TI=0;break;?
default?:printf("fg");?TI=0;break;?
}?
}?
}?
//向串口發(fā)送一個字符??
void?timer0()?interrupt?1?using?3{?
//?char?i;??
flag++;?
TH0=0x00;?
TL0=0x00;?
if(flag==10)?
{//?cp=!cp;?
//?for(i=0;i<6;i++)?
P2=0x25;?
TI=1;?
temp=*RAMDATA;?
printf("%c",temp);?
TI=0;?
//?RAMDATA--;?
flag=0;?
}?
}?
//主程序?
main()?
{??
init_serialcomm();?//初始化串口??
//向6264中送數(shù)據(jù)?
{??
*RAMDATA=0x33;?
}?
while(1)?
{??
*RAMDATA=0x33;;??
}?
}?
調(diào)試過程中遇到的問題:?
1.?發(fā)送過程:在發(fā)送時必須保證TI=1:即發(fā)送緩沖器為空,否則將導(dǎo)致數(shù)據(jù)發(fā)不出去,如果想強制發(fā)送可以用:TI=1.具體發(fā)送數(shù)據(jù):利用printf(“akjdfaklfj”);函數(shù)直接發(fā)送即可。?
2.?接收過程:在接收時多選用中斷方式,這樣可以節(jié)約CPU的時間,提高效率.?
上一篇:音樂生日快樂的播放程序
下一篇:DAC7611控制數(shù)/模轉(zhuǎn)換器程序
推薦閱讀
史海拾趣
背景:GarrettCom始創(chuàng)于1989年,專注于工業(yè)網(wǎng)絡(luò)通信產(chǎn)品的研發(fā)與制造。在那個工業(yè)自動化初具規(guī)模的年代,GarrettCom憑借其卓越的產(chǎn)品質(zhì)量和創(chuàng)新的解決方案,迅速在市場中嶄露頭角。公司推出的工業(yè)以太網(wǎng)交換機和路由器等產(chǎn)品,以其高穩(wěn)定性和可靠性,贏得了眾多工業(yè)客戶的信賴。
發(fā)展:隨著工業(yè)自動化程度的不斷提升,GarrettCom不斷加大研發(fā)投入,推出了一系列適應(yīng)惡劣工業(yè)環(huán)境的產(chǎn)品。這些產(chǎn)品不僅滿足了工業(yè)自動化對通信穩(wěn)定性的嚴(yán)苛要求,還推動了工業(yè)通信技術(shù)的進步。通過不斷的技術(shù)創(chuàng)新和市場拓展,GarrettCom逐步確立了其在工業(yè)通信領(lǐng)域的領(lǐng)先地位。
背景:GarrettCom始創(chuàng)于1989年,專注于工業(yè)網(wǎng)絡(luò)通信產(chǎn)品的研發(fā)與制造。在那個工業(yè)自動化初具規(guī)模的年代,GarrettCom憑借其卓越的產(chǎn)品質(zhì)量和創(chuàng)新的解決方案,迅速在市場中嶄露頭角。公司推出的工業(yè)以太網(wǎng)交換機和路由器等產(chǎn)品,以其高穩(wěn)定性和可靠性,贏得了眾多工業(yè)客戶的信賴。
發(fā)展:隨著工業(yè)自動化程度的不斷提升,GarrettCom不斷加大研發(fā)投入,推出了一系列適應(yīng)惡劣工業(yè)環(huán)境的產(chǎn)品。這些產(chǎn)品不僅滿足了工業(yè)自動化對通信穩(wěn)定性的嚴(yán)苛要求,還推動了工業(yè)通信技術(shù)的進步。通過不斷的技術(shù)創(chuàng)新和市場拓展,GarrettCom逐步確立了其在工業(yè)通信領(lǐng)域的領(lǐng)先地位。
宏發(fā)公司在發(fā)展過程中,積極實施國際化戰(zhàn)略。2003年,宏發(fā)成立了歐洲公司,加快了國際化進程。隨后,公司又在美國等地設(shè)立了分支機構(gòu),建立了本土化營銷及服務(wù)網(wǎng)絡(luò)。通過國際市場的拓展,宏發(fā)不僅提升了品牌知名度和影響力,還獲得了更多的市場機會和客戶資源。如今,宏發(fā)的產(chǎn)品已暢銷全球多個國家和地區(qū),成為了繼電器行業(yè)的領(lǐng)軍企業(yè)。
【全】2007年全國大學(xué)生電子設(shè)計競賽各題論文(包括本科組和高職高專組) 2007年全國大學(xué)生電子設(shè)計競賽試題各題論文下載【包括部分主要電路及代碼】 給各位備戰(zhàn)2009大賽的XDJM作參考~~~~~ 音頻信號分析儀(A題)【本科組】 無線識別裝置(B題)【本科組】 數(shù)字示波器(C題)【本科組】 程控濾波器(D題)【本科組】 開關(guān) ...… 查看全部問答∨ |
|
在調(diào)試單片機與PC機通信的時候,發(fā)現(xiàn)我在51中以奇校驗方式通過串口發(fā)送數(shù)據(jù)的時候(借助PSW,ACC軟件實現(xiàn))在串口助手上無論以奇校驗還是偶校驗方式都能收到完整數(shù)據(jù),這讓我很疑惑,偶校驗應(yīng)該啥也接受不到,直接摒棄數(shù)據(jù)才對。 &nbs ...… 查看全部問答∨ |
CPU上帶有硬件視頻解碼,我如何應(yīng)用(使用)這個硬解碼功能來播視頻文件? CPU上帶有硬件視頻解碼,我如何應(yīng)用(使用)這個硬解碼功能來播視頻文件?(請給一個思路) … 查看全部問答∨ |
vc2005智能設(shè)備下如果想使用CCheckListBox ,需要填加那些頭文件, vc2005智能設(shè)備下如果想使用CCheckListBox ,需要填加那些頭文件, 我添加了 afxwin.h 還是有問題,編譯通不過… 查看全部問答∨ |
stm32的dma能不能實現(xiàn)fifo?i2c甚至spi沒fifo浪費時間了啊. dma有半當(dāng)中和到底兩個中斷,按說cpu一次可以處理一半數(shù)據(jù),但沒硬件指針,不到一半的數(shù)據(jù)是不是就無法處理呢?可以跟蹤dma指針么?要是數(shù)據(jù)溢出是不是也不知道呢?… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 高手指點?。。。。?! 單 片 機 (MCU type):STC89C52RC 注意事項(Attention): 修改時間: ----------------------------------------------------------------------------------------------- ...… 查看全部問答∨ |
我再modelsim后仿真的時候出現(xiàn)論壇上同一個帖子的錯誤,請教高手幫忙啊? # Loading instances from F:/QIIpractice/count4_simulation/count4_v.sdo# ** Error: (vsim-SDF-3250) count4_v.sdo(39): Failed to find INSTANCE \'\\clk~I \'.# ** Er ...… 查看全部問答∨ |
小弟手頭有塊EVM6472的板子,想從pc上傳圖片到DSp上,然后進行處理。能用的接口只有UART和網(wǎng)口。 TI官網(wǎng)有提供CSL,以及(platform library)。由于對網(wǎng)口不熟,想用串口。原理圖上串口是用DSP的I2C端口,通過I2C to UART芯片(SC16IS750)實現(xiàn)的。 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 阿里黑科技落地!夸克AI眼鏡全球首發(fā),高德、淘寶、支付寶都能用
- 化繁為簡, 適配復(fù)雜磁場環(huán)境,MT73xx 3D雙路輸出霍爾鎖存器賦能車規(guī)電機精準(zhǔn)控制
- 9.5億美元收購恩智浦MEMS傳感器業(yè)務(wù),意法半導(dǎo)體 在傳感器領(lǐng)域的地位再升級
- 高性能電動滑板車 BLDC 電機驅(qū)動器:技術(shù)解析與應(yīng)用展望
- 5G工業(yè)網(wǎng)關(guān)的“邊緣計算+AI推理”一體化設(shè)計,PLC協(xié)議解析與缺陷檢測的實時聯(lián)動
- AR眼鏡的“工業(yè)指令投射”系統(tǒng),SLAM的空間定位、PLC數(shù)據(jù)實時疊加顯示
- 多光譜氣體傳感器的抗交叉干擾設(shè)計
- 多模態(tài)融合感知的“語義-幾何”聯(lián)合建模
- 工業(yè)觸摸屏的“壓感-手勢”多模態(tài)交互設(shè)計
- 工業(yè)機器人高精度力控的“雙模融合”傳感器設(shè)計