音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

I/O模擬UART,還有很多人想要,用多年了,貢獻出來給大家!

作者:汽車電子 欄目:單片機
I/O模擬UART,還有很多人想要,用多年了,貢獻出來給大家!
標準51單片機用,可供C語言調(diào)用
;/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;@@@                          模擬串口通訊函數(shù)                               @@@
;@@@           晶振:11059200Hz    波特率2400 4800 9600 19200                @@@
;@@@    幀格式:11位數(shù)據(jù),1位啟起位,8位數(shù)據(jù)位,1位識別碼,1位停止位         @@@
;@@@    發(fā)送一字節(jié)函數(shù):_PutByte   入口參數(shù):1字節(jié)數(shù)據(jù),1字節(jié)識別碼          @@@
;@@@    接收一字節(jié)函數(shù):_GetByte  出口參數(shù):1字節(jié)數(shù)據(jù) ,1字節(jié)成功標志        @@@
;@@@                        (此函數(shù)只作主機用)                             @@@
;@@@    影響資源: r4,r5,r6,r7,a,b ,ucBaudrate 波特率選擇                    @@@
;@@@    r5,r6,r7 entrance and exit parameter                                 @@@
;@@@    發(fā)送程序中,入口參數(shù)r5為0xff時是尋址,為0時是數(shù)據(jù),R7為待送數(shù)據(jù)
;@@@    接收程序中,出口參數(shù)R6為0時檢測不到起始位或停止位,數(shù)據(jù)在R7中。
; $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ */
public             _GetByte,_PutByte;

SimuSerialCodeSeg  segment   code

   mBaud           equ       2

bTransmit          bit       P1.3;
bReceive           bit       P1.2;       ;// (INT1);
bEnableSimu485     bit       P1.1;
;;//////////////////////////////////////////////////////////////
rseg               SimuSerialCodeSeg
_PutByte:          nop;
                   setb      bEnableSimu485;  ;; // 允許發(fā)送
                   clr       bTransmit;
                   mov       a,#mBaud;    ;; 9600bps
                   rl        a;               ;; 存貯在ucBaudrate單元
                   mov       dptr,#Blanch
                   jmp       @a+dptr;
Blanch:            ajmp      UAT2400
Blanch1:           ajmp      UAT4800
Blanch2:           ajmp      UAT9600
Blanch3:           ajmp      UAT19200
                   nop;
                   ret;



;; ////////////////////////////////////////////////////
                ;; //  416.67uS/bit
UAT2400:           nop;
                   mov       a,r5;
                   mov       c,acc.0;
                   mov       a,r7;
                   mov       r4,#9;
                   mov       r6,#183;
                   djnz      r6,$;
                   nop;
NextBit2400:       rrc       a;
                   mov       bTransmit,c;
                   mov       bTransmit,c;
                   mov       r6,#188;
                   djnz      r6,$;
                   djnz      r4,NextBit2400;
                   nop;
                   setb      bTransmit;        /
2樓: >>參與討論
hebeijiang
支持。
雖然我不用51。

3樓: >>參與討論
winloop
用過3年了
早就不用了,占用資源太多,而且數(shù)據(jù)量大的時候有一定的出錯率,現(xiàn)在全用550\552\554來擴展,要做就做穩(wěn)定的東西

4樓: >>參與討論
coke
不錯.鼓勵一下.
 
5樓: >>參與討論
汽車電子
要求不高的場合用,很爽呀,便宜!。
   做主機用的效率也不低呀。
   其實有些人寫串口程序不用中斷,而用查詢,效率跟我的模擬串口一樣!!!

6樓: >>參與討論
12864
軟串口也應該鼓勵用中斷
容易融入程序結構中。

7樓: >>參與討論
piero
頂一下吧!
 
8樓: >>參與討論
abc2001
不錯,頂一下.
 
9樓: >>參與討論
汽車電子
軟串口用中斷?發(fā)送?接收?用定時器中斷??
   軟串口用定時器中斷的效率很低,也許低過查詢
   最好不要用軟串口做從機使用,
   不得已要做從機時,接收腳可用中斷引腳

10樓: >>參與討論
12864
對呀,收發(fā)都用中斷
接收占用一個外中斷和定時器中斷,發(fā)送只占用定時器中斷。如果要全雙工,占用一個中斷+2個定時器中斷,哈哈,有些破費啊。

* - 本貼最后修改時間:2005-1-29 1:35:56 修改者:12864

11樓: >>參與討論
hotpower
同意4行8字LCD意見
 
12樓: >>參與討論
j_lailei
頂一下!
 
13樓: >>參與討論
pheavecn
用軟件delay,效率太低。
應該只用一個定時器中斷。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
請問哪位大俠有MC68HC08的C IDE?多謝了!急
求助:利用定時中斷可以消除按鍵抖動嗎?
如何在占用最少資源的情況下,只利用一個IO來通信——?
華邦W78E52B老化后失效?
stc51RC/RD系列單片機 片內(nèi)E2PROM 大家用的怎么樣?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號