基于51單片機(jī)仿真485通信,單片機(jī)接收上位機(jī)單個(gè)字符后,轉(zhuǎn)發(fā)給上位機(jī)虛擬串口接收。
485-PC-單片機(jī)轉(zhuǎn)發(fā)上位機(jī)字符.zip
(305.83 KB, 售價(jià): 1 E幣)
2020-1-29 23:21 上傳
點(diǎn)擊文件名下載附件
售價(jià): 1 E幣 [記錄]
[ 購買]
150536iu8zedee4bdec94o.png (122.18 KB)
下載附件
2020-1-29 23:16 上傳
- #include <reg52.h>
- unsigned char T0RH = 0; //T0重載值的高字節(jié)
- unsigned char T0RL = 0; //T0重載值的低字節(jié)
- void ConfigTimer0(unsigned int ms);
- extern void UartDriver();
- extern void ConfigUART(unsigned int baud);
- extern void UartRxMonitor(unsigned char ms);
- extern void UartWrite(unsigned char *buf, unsigned char len);
- void main()
- {
- EA = 1; //開總中斷
- ConfigTimer0(1); //配置T0定時(shí)1ms
- ConfigUART(9600); //配置波特率為9600
-
- while (1)
- {
- UartDriver(); //調(diào)用串口驅(qū)動(dòng)
- }
- }
- /* 串口動(dòng)作函數(shù),根據(jù)接收到的命令幀執(zhí)行響應(yīng)的動(dòng)作
- buf-接收到的命令幀指針,len-命令幀長度 */
- void UartAction(unsigned char *buf, unsigned char len)
- {
- //在接收到的數(shù)據(jù)幀后添加換車換行符后發(fā)回
- buf[len++] = '\r';
- buf[len++] = '\n';
- UartWrite(buf, len);
- }
- /* 配置并啟動(dòng)T0,ms-T0定時(shí)時(shí)間 */
- void ConfigTimer0(unsigned int ms)
- {
- unsigned long tmp; //臨時(shí)變量
-
- tmp = 11059200 / 12; //定時(shí)器計(jì)數(shù)頻率
- tmp = (tmp * ms) / 1000; //計(jì)算所需的計(jì)數(shù)值
- tmp = 65536 - tmp; //計(jì)算定時(shí)器重載值
- tmp = tmp + 33; //補(bǔ)償中斷響應(yīng)延時(shí)造成的誤差
- T0RH = (unsigned char)(tmp>>8); //定時(shí)器重載值拆分為高低字節(jié)
- T0RL = (unsigned char)tmp;
- TMOD &= 0xF0; //清零T0的控制位
- TMOD |= 0x01; //配置T0為模式1
- TH0 = T0RH; //加載T0重載值
- TL0 = T0RL;
- ET0 = 1; //使能T0中斷
- TR0 = 1; //啟動(dòng)T0
- }
- /* T0中斷服務(wù)函數(shù),執(zhí)行串口接收監(jiān)控 */
- void InterruptTimer0() interrupt 1
- {
- TH0 = T0RH; //重新加載重載值
- TL0 = T0RL;
- UartRxMonitor(1); //串口接收監(jiān)控
- }
復(fù)制代碼
PC串口COMPIM設(shè)置.JPG (65.23 KB)
下載附件
2020-1-29 23:20 上傳
串口調(diào)試結(jié)果(發(fā)送數(shù)據(jù)).JPG (67.14 KB)
下載附件
2020-1-29 23:20 上傳
單片機(jī)-485-PC串口通信.jpg (146.98 KB)
下載附件
2020-1-29 23:20 上傳
虛擬串口設(shè)置.JPG (68.38 KB)
下載附件
2020-1-29 23:20 上傳
單片機(jī)-485-PC串口通信proteus仿真 程序資料.JPG (76.63 KB)
下載附件
2020-1-29 23:20 上傳
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會(huì)員個(gè)人意見,與本論壇立場無關(guān)。2、本站對所發(fā)內(nèi)容真實(shí)性、客觀性、可用性不做任何保證也不負(fù)任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進(jìn)行交流。3、對提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請勿將該數(shù)字內(nèi)容進(jìn)行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問題與本站無關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來,僅供學(xué)習(xí)用途使用,請務(wù)必下載后兩小時(shí)內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請及時(shí)聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|