<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AT89C51單片機(jī)高速串行輸出口設(shè)計(jì)

          AT89C51單片機(jī)高速串行輸出口設(shè)計(jì)

          作者: 時(shí)間:2012-04-05 來(lái)源:網(wǎng)絡(luò) 收藏

          (與MCS-51兼容)口在方式0工作狀態(tài)下,使用移位寄存器芯片可以擴(kuò)展多個(gè)8位并行I/O口。在LED點(diǎn)陣顯示屏應(yīng)用系統(tǒng)中,一般都采用數(shù)據(jù)同步移位輸出方式,并使用移位寄存器芯片(如74LS595)擴(kuò)展并行I/O口驅(qū)動(dòng)LED點(diǎn)陣顯示。LED 點(diǎn)陣顯示采用掃描方式,為不產(chǎn)生閃爍感,每秒需要傳送50屏點(diǎn)陣顯示數(shù)據(jù),因此有大量的數(shù)據(jù)要通過(guò)同步移位的方式送到顯示驅(qū)動(dòng)電路部分,這就要求能夠快速地輸出數(shù)據(jù)。口在方式0工作狀態(tài)下,數(shù)據(jù)以fosc/12的波特率輸出,1個(gè)字節(jié)數(shù)據(jù)寫(xiě)入SBUF后,需檢查中斷標(biāo)志位 TI是否為“1”并清“0”TI或延時(shí)幾個(gè)機(jī)器周期后才能繼續(xù)寫(xiě)入了一個(gè)數(shù)據(jù),輸出速度慢。在LED點(diǎn)陣顯示屏應(yīng)用系統(tǒng)中,系統(tǒng)與PC機(jī)之間的通訊需要使用單片機(jī)的口,顯示數(shù)據(jù)的同步移位輸只有另外擴(kuò)展。本文介紹的串行同步移位輸(以下簡(jiǎn)稱擴(kuò)展串行口)電路,采用模塊化,給出基于 TTL和PLD兩種電路的實(shí)現(xiàn)方案,波特率提高到fosc,數(shù)據(jù)輸出不需要等待或延時(shí)。

          本文引用地址:http://www.ex-cimer.com/article/171685.htm

          一、擴(kuò)展串行口與單片機(jī)的連接

          擴(kuò)展串行口電路框圖如圖1所示。與并行存儲(chǔ)器芯片類似,擴(kuò)展串行口被視為一個(gè)外部RAM地址單元,直接掛接在的外部數(shù)據(jù)總線上,D0~D7為數(shù)據(jù)線,CE為片選信號(hào),WE為寫(xiě)脈沖信號(hào),也是擴(kuò)展串行口的輸出控制信號(hào)。AT89C51 外接晶體振蕩器的振蕩信號(hào)經(jīng)二個(gè)與非門整形后為擴(kuò)展串行口提供時(shí)鐘脈沖XTAL2。DAT和CLK分別是擴(kuò)展串行口的數(shù)據(jù)輸出端和同步移位脈沖輸出端。

          29.gif

          二、操作指令

          假設(shè)AT89C51分配給擴(kuò)展串行口的地址是0000H,使用MOVX@DPTR,A或MOVX@R0,A指令將數(shù)據(jù)寫(xiě)入擴(kuò)展串行口并移位數(shù)據(jù)。下面的程序段將內(nèi)部RAM數(shù)據(jù)區(qū)首址為30H的32字節(jié)數(shù)據(jù)送擴(kuò)展串行口同步移位輸出:
          MOV P2,#00H ;設(shè)置擴(kuò)展串行口地址高8位
          MOV R1,#30H ;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首址
          MOV R7,#32 ;輸出字節(jié)個(gè)數(shù)
          LOOP:MOV A,@R1 ;從內(nèi)部RAM數(shù)據(jù)區(qū)讀入1字節(jié)
          INC R1 ;指向內(nèi)部RAM數(shù)據(jù)區(qū)下一個(gè)地址單元
          MOVX @R0,A ;數(shù)據(jù)送擴(kuò)展串行口輸出
          DJNZ R7,LOOP ;32字節(jié)未送完繼續(xù)
          RET

          三、基于TTL電路的方案和工作原理

          30.gif

          圖2是用TTL電路實(shí)現(xiàn)的擴(kuò)展串行口電路。74LS74是有預(yù)置、清零功能的雙上升沿D觸發(fā)器,D1~D5構(gòu)成8脈沖發(fā)生器(計(jì)數(shù)器原理),74LS165是8位并行輸入串行輸出移位寄存器。CPU執(zhí)行MOVX@R0,A(或MOVX @DPTR,A)指令時(shí),數(shù)據(jù)被鎖存在74LS165中。產(chǎn)生8脈沖信號(hào)的時(shí)序如圖3所示。圖3中,Q0~Q5分別是6個(gè)D觸發(fā)器的輸出端,擴(kuò)展串行口片選有效(CE=0),寫(xiě)脈沖WE到來(lái)時(shí),WR=0,在時(shí)鐘脈沖XTAL2的上升沿觸發(fā)器D0的輸出Q0=0,Q0復(fù)位Q5,使Q5=1;寫(xiě)脈沖結(jié)束后,WR=1,則WR·Q5=1,計(jì)數(shù)器的復(fù)位端無(wú)效,計(jì)數(shù)器開(kāi)始計(jì)數(shù),同時(shí)在Q1端輸出方波脈沖;第8個(gè)脈沖結(jié)束后,Q5=1,則WR·Q5=0,計(jì)數(shù)器被復(fù)位,停止計(jì)數(shù),等待下一個(gè)寫(xiě)脈沖。Q1端輸出的8個(gè)脈沖作為同步移位脈沖接74LS165的CLK2(15腳),同時(shí)也是擴(kuò)展串行輸的同步移位脈沖輸出信號(hào):由MOVX指令鎖存在74LS165中的數(shù)據(jù)在同步移位脈沖(CLK)的作用下,從擴(kuò)展串行輸出口的數(shù)據(jù)端(DAT)輸出。

          31.gif

          32.gif

          51單片機(jī)相關(guān)文章:51單片機(jī)教程



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();