日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
串行口應(yīng)用編程實(shí)例
串行口應(yīng)用編程實(shí)例
 更新時(shí)間:2008-7-26 19:58:47  點(diǎn)擊數(shù):2
【字體: 字體顏色
 一、串口方式0應(yīng)用編程 8051單片機(jī)串行口方式0為移位寄存器方式,外接一個(gè)串入并出的移位寄存器,就可以擴(kuò)展一個(gè)并行口。
    例:用8051串行口外接CD4094擴(kuò)展8位并行輸出口,如圖所示,8位并行口的各位都接一個(gè)發(fā)光二極管,要求發(fā)光管呈流水燈狀態(tài)。 串行口方式0的數(shù)據(jù)傳送可采用中斷方式,也可采用查詢方式,無(wú)論哪種方式,都要借助于TI或RI標(biāo)志。串行發(fā)送時(shí),可以靠TI置位(發(fā)完一幀數(shù)據(jù)后)引起中斷申請(qǐng),在中斷服務(wù)程序中發(fā)送下一幀數(shù)據(jù),或者通過(guò)查詢TI的狀態(tài),只要TI為0就繼續(xù)查詢,TI為1就結(jié)束查詢,發(fā)送下一幀數(shù)據(jù)。在串行接收時(shí),則由RI引起中斷或?qū)I查詢來(lái)確定何時(shí)接收下一幀數(shù)據(jù)。無(wú)論采用什么方式,在開(kāi)始通訊之前,都要先對(duì)控制寄存器SCON進(jìn)行初始化。在方式0中將,將00H送SCON就可以了。
    ORG 2000H
    START: MOV SCON,#00H ;置串行口工作方式0
    MOV A,#80H ;最高位燈先亮
    CLR P1.0 ;關(guān)閉并行輸出(避象傳輸過(guò)程中,各LED的"暗紅"現(xiàn)象)
    OUT0: MOV SBUF,A ;開(kāi)始串行輸出
    OUT1: JNB TI,OUT1 ;輸出完否
    CLR TI ;完了,清TI標(biāo)志,以備下次發(fā)送
    SETB P1.0 ;打開(kāi)并行口輸出
    ACALL DELAY ;延時(shí)一段時(shí)間
    RR A ;循環(huán)右移
    CLR P1.0 ;關(guān)閉并行輸出
    JMP OUT0 ;循環(huán)
    說(shuō)明:DELAY延時(shí)子程序可以用前面我們講P1口流水燈時(shí)用的延時(shí)子程序,這里就不給出了。
    二、異步通訊
    org 0000H
    AJMP START
    ORG 30H
    START: MOV SP,#5fh ;
    MOV TMOD,#20h ;T1: 工作模式2
    MOV PCON,#80h ;SMOD=1
    MOV TH1,#0FDH ;初始化波特率(參見(jiàn)表)
    MOV SCON,#50h ;Standard UART settings
    MOV R0,#0AAH ;準(zhǔn)備送出的數(shù)
    SETB REN ;允許接收
    SETB TR1 ;T1開(kāi)始工作
    WAIT:
    MOV A,R0
    CPL A
    MOV R0,A
    MOV SBUF,A
    LCALL DELAY
    JBC TI,WAIT1 ;如果TI等于1,則清TI并轉(zhuǎn)WAIT1
    AJMP WAIT
    WAIT1: JBC RI,READ ;如果RI等于1,則清RI并轉(zhuǎn)READ
    AJMP WAIT1
    READ:
    MOV A,SBUF ;將取得的數(shù)送P1口
    MOV P1,A
    LJMP WAIT
    DELAY: ;延時(shí)子程序
    MOV R7,#0ffH
    DJNZ R7,$
    RET
    END
    將程序編譯通過(guò),寫(xiě)入芯片,插入實(shí)驗(yàn)板,用通讀電纜將實(shí)驗(yàn)板與主機(jī)的串口相連就可以實(shí)驗(yàn)了。上面的程序功能很簡(jiǎn)單,就是每隔一段時(shí)間向主機(jī)輪流送數(shù)55H和AAH,并把主機(jī)送去的數(shù)送到P1口?梢栽赑C端用串口精靈來(lái)做實(shí)驗(yàn)。串口精靈在我主頁(yè)上有下載。
    三、上述程序的中斷版本
    org 0000H
    AJMP START
    org 0023h
    AJMP SERIAL ;
    ORG 30H
    START: MOV SP,#5fh ;
    MOV TMOD,#20h ;T1: 工作模式2
    MOV PCON,#80h ;SMOD=1
    MOV TH1,#0FDH ;初始化波特率(參見(jiàn)表)
    MOV SCON,#50h ;Standard UART settings
    MOV R0,#0AAH ;準(zhǔn)備送出的數(shù)
    SETB REN ;允許接收
    SETB TR1 ;T1開(kāi)始工作
    SETB EA ;開(kāi)總中斷
    SETB ES ;開(kāi)串口中斷
    SJMP $
    SERIAL:
    MOV A,SBUF
    MOV P1,A
    CLR RI
    RETI
    END
    本程序沒(méi)有寫(xiě)入發(fā)送程序,大家可以自行添加。
  • 上一篇: 將基于AT89C2051的解碼器應(yīng)用于安防系統(tǒng)
  • 下一篇: 51單片機(jī)IO口模擬串口通訊C源程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1