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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種單片機(jī)控制的指令轉(zhuǎn)換器的設(shè)計(jì)

          一種單片機(jī)控制的指令轉(zhuǎn)換器的設(shè)計(jì)

          作者: 時(shí)間:2012-03-22 來源:網(wǎng)絡(luò) 收藏


          2.7 分頻電路

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

          分頻電路由12MHz晶振、74LS14、74LS92計(jì)數(shù)器(用于12倍分頻)、74LS90計(jì)數(shù)器(用于10倍分頻)組成,其主要目的是產(chǎn)生 的時(shí)鐘信號(hào),供串口擴(kuò)展芯片8251的 使用,同時(shí)產(chǎn)生 的CLK信號(hào),供8251內(nèi)部時(shí)鐘使用。

          2.8 檢測(cè)電路

          為了便于維護(hù)、管理,本系統(tǒng)了系統(tǒng)自我檢測(cè)功能模塊,各由三極管和發(fā)光二極管組成的四組檢測(cè)電路分別接至89C51的P14~P17,用于指示系統(tǒng)自檢、來自發(fā)送裝置的數(shù)據(jù)接收檢測(cè)、發(fā)送應(yīng)答數(shù)據(jù)至發(fā)送裝置的檢測(cè)及發(fā)送指令數(shù)據(jù)至指令接收裝置的檢測(cè)4種狀態(tài)。

          3 軟件

          軟件是信號(hào)的關(guān)鍵組成部分,本系統(tǒng)采用了KEIL C51集成開發(fā)環(huán)境。KEIL C51標(biāo)準(zhǔn)C編譯器為89C51微器的軟件開發(fā)提供了C語言環(huán)境,同時(shí)保留了匯編代碼高效、快速的特點(diǎn)。

          3.1 8251初始化編程

          8251是一個(gè)可編程的多功能通訊接口,所以在使用時(shí)必須對(duì)它進(jìn)行初始化編程,確定它的具體工作方式。例如:規(guī)定工作在同步方式還是異步方式、傳送的波特率、字符格式等。初始化編程必須在系統(tǒng)RESET以后,在USART工作以前進(jìn)行,即USART不論工作于任何方式,都必須經(jīng)過初始化。本系統(tǒng)中,兩片 8251都進(jìn)行收發(fā)工作。

          對(duì)于8251(Ⅰ),收發(fā)數(shù)據(jù)的速率為9600bps,接收器、發(fā)送器的時(shí)鐘頻率為153.6KHz,所以波特率系數(shù)為異步×16,字符長(zhǎng)度為8位,無奇偶校驗(yàn)位,異步方式,一個(gè)起始位,一個(gè)停止位。8251(Ⅰ)的方式選擇字、命令字分別為#4EH、#37H。

          對(duì)于8251(Ⅱ),收發(fā)數(shù)據(jù)的速率為2400bps,接收器、發(fā)送器的時(shí)鐘頻率為153.6KHz,所以波特率系數(shù)為異步×64,字符長(zhǎng)度為8位,無奇偶校驗(yàn)位,異步方式,一個(gè)停止位。8251(Ⅱ)的方式選擇字、命令字分別為#4FH、#37H。

          8251(Ⅰ)、8251(Ⅱ)的字和狀態(tài)寄存器的地址分別為#1FFFH、#3FFFH,下面以8251(Ⅰ)為例給出初始化編程:
          MOV DPTR,#1FFFH ;送方式
          MOV A,#4EH
          MOV @DPTR,A ;送命令指令
          MOV A,#37H
          MOV @DPTR,A

          3.2 8259A初始化編程

          前面已經(jīng)提過,由于8259A與89C51的接口信號(hào)不能完全兼容,因此必須對(duì)89C51輸出的控制信號(hào)進(jìn)行相應(yīng)的變換后再對(duì)8259A進(jìn)行控制。在軟件方面需要解決的問題是:當(dāng)CPU進(jìn)入中斷響應(yīng)周期,送來第①個(gè) 應(yīng)答負(fù)脈沖時(shí),89C51不能接收8259A送來的CALL指令機(jī)器碼(兩者CALL指令機(jī)器碼不兼容),在中斷程序中將其廢掉,然后在第②、③個(gè) 應(yīng)答負(fù)脈沖期間,用2條MOVX A,@R0指令讀出8259A中斷矢量低8位送DPL,高8位送DPH,通過DPTR,再用跳轉(zhuǎn)指令轉(zhuǎn)至中斷源對(duì)應(yīng)的中斷服務(wù)程序的入口執(zhí)行,時(shí)序圖見圖3-1。

          27.gif

          8259A中斷控制程序包括:初始化主程序,解決89C51中斷初始化和8259A的初始化;中斷服務(wù)程序以及為各個(gè)中斷源服務(wù)的子程序,解決如何從8259A讀入中斷矢量地址并轉(zhuǎn)中斷處理程序,最后結(jié)束中斷并返回,下面給出程序。

          設(shè)8259A選擇中斷優(yōu)先級(jí)固定,全嵌套工作方式,因此只需要填寫ICW1、ICW2。IR0設(shè)定為邊沿觸發(fā)中斷方式。中斷源輸入IR0的中斷矢量為0260H,IR1以及以后的中斷矢量依次加4。

          28.gif



          評(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); })();