<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種單片機控制的指令轉換器的設計

一種單片機控制的指令轉換器的設計

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


2.7 分頻電路

本文引用地址:http://dyxdggzs.com/article/171804.htm

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

2.8 檢測電路

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

3 軟件

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

3.1 8251初始化編程

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

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

對于8251(Ⅱ),收發(fā)數據的速率為2400bps,接收器、發(fā)送器的時(shí)鐘頻率為153.6KHz,所以波特率系數為異步×64,字符長(cháng)度為8位,無(wú)奇偶校驗位,異步方式,一個(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)提過(guò),由于8259A與89C51的接口信號不能完全兼容,因此必須對89C51輸出的控制信號進(jìn)行相應的變換后再對8259A進(jìn)行控制。在軟件方面需要解決的問(wèn)題是:當CPU進(jìn)入中斷響應周期,送來(lái)第①個(gè) 應答負脈沖時(shí),89C51不能接收8259A送來(lái)的CALL指令機器碼(兩者CALL指令機器碼不兼容),在中斷程序中將其廢掉,然后在第②、③個(gè) 應答負脈沖期間,用2條MOVX A,@R0指令讀出8259A中斷矢量低8位送DPL,高8位送DPH,通過(guò)DPTR,再用跳轉指令轉至中斷源對應的中斷服務(wù)程序的入口執行,時(shí)序圖見(jiàn)圖3-1。

27.gif

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

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

28.gif



關(guān)鍵詞: 設計 轉換器 指令 控制 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>