《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT89S51單片機接口電路的時序仿真研究
基于AT89S51單片機接口電路的時序仿真研究
2016年微型機與應用第05期
侯進旺
(佛山職業技術學院,廣東 佛山 528000)
摘要: 高阻態是數字電路接口器件一個重要的狀態,是接口電路的硬件設計中容易忽視的一種狀態。本文分析研究在某機床控制中74LS373接口芯片在單片機總線技術擴展I/O口時出現的總線沖突的時序仿真,使用接口芯片的高阻態可以有效解決多芯片I/O擴展時的總線沖突。
Abstract:
Key words :

  侯進旺

  (佛山職業技術學院,廣東 佛山 528000)

  摘要:高阻態是數字電路接口器件一個重要的狀態,是接口電路的硬件設計中容易忽視的一種狀態。本文分析研究在某機床控制中74LS373接口芯片在單片機總線技術擴展I/O口時出現的總線沖突的時序仿真,使用接口芯片的高阻態可以有效解決多芯片I/O擴展時的總線沖突。

  關鍵詞AT89S51單片機;接口電路;時序分析;仿真;總線沖突

0引言

  在基于單片機的工業產品控制電路設計中,輸入輸出通道電路通常較多地關心信號傳輸中輸入輸出通道的高、低電平,對高阻態關注較少。實際上硬件設計如果對芯片的高阻態不注意,將會造成控制電路中接口芯片短路燒毀。下面針對基于AT89S51單片機[1]總線技術進行I/O擴展時接口芯片74LS373高阻態的時序進行仿真分析研究。

1基于單片機I/O擴展接口電路的硬件設計

  1.1基本擴展電路

  接口芯片74LS373是一個三態8D鎖存器,通常用于單片機的輸入輸出接口,其元件原理圖和功能表如圖1所示。

001.jpg

  圖174LS373原理圖與功能表從圖1功能表中知,當OE端為低電平,控制端LE為高電平時,輸入D端的數據傳送到輸出端Q;當OE和LE同為低電平時,輸出端Q保持原態(與輸入D無關);當OE為高電平時,無論LE、D如何,輸出均保持高阻態。

002.jpg

  圖2所示電路為基于單片機AT89S51總線技術和兩片接口芯片74LS373進行I/O口擴展的電路[2]。U2擴展輸出接口,U3擴展輸入接口。U2和U3的接口地址分別為7FFFH和FEFFH。

  在對圖2電路進行PROTEUS[3]仿真時,設置輸入開關的數據為01110110(76H),執行如下指令:

  MOV DPTR,#0FEFFH

  MOVX A,@DPTR ;讀入U3開關數據

  NOP

  MOV DPTR,#7FFFH

  MOV A,#55H

  MOVX @DPTR,A ;向U2輸出01010101

  利用PROTEUS軟件仿真得到基本電路圖2的仿真時序圖,如圖3。從時序圖中看出,在RD信號有效(低電平)之前,AD(0..7)(P0)數據為高阻態,說明在讀U3時數據出現錯誤(正確應為FFH);在WR信號(低電平)前后,P0上的數據也為高阻態(正確應分別為FFH和55H),說明在U2輸出時數據也出現錯誤;同時在對圖2的電路仿真時,P0口的數據信號出現短路現象。圖2基于單片機AT89S51總線技術和接口芯片

74LS373進行I/O口擴展的電路

003.jpg

  分別對U2和U3執行輸出和輸入指令,通過時序分析知,U2的輸出數據正確,U3的數據出現錯誤。

  圖5重新設計后電路的仿真時序圖(下轉第48頁)1.2輸入接口的擴展電路錯誤原因分析

  從74LS373的功能表可以看出,當OE端保持在低電平,LE同時為低時,其輸出保持原態,說明74LS373具有鎖存功能。由于圖2電路中U3的OE端常接地,使得總線始終被U3占領:當U3的LE為高時,芯片外部輸入的開關信號送到芯片輸出,當U3的LE為低時,其U2輸出的數據狀態被保持鎖存,也就意味著數據總線P0口被U3保持在輸入開關決定的數據。

  事實上AT89S51單片機通過MOVX指令訪問U2和U3時,先將U2和U3的口地址分別輸出到P2口(高8位地址)和P0口(低8位地址),輸出到P0的低8位地址數據可能與U3輸入并保持的數據不同,從而造成P0口的數據沖突。

  1.3解決數據沖突的方法

  從上述分析可以看出,造成數據沖突的原因是輸入芯片U3的OE端常接地,使得單片機數據總線始終被U3芯片占據。因此在硬件設計時應該避免單片機的總線始終被某一個芯片占據的現象。

  事實上,從74LS373的功能表看,它還有一個高阻態,只要保證當單片機不訪問U3時或者U3被訪問而在尋址階段時,使U3的輸出端始終保持高阻態,這樣就能避免數據沖突。

004.jpg

  如圖4為修改后的U3控制電路,OE信號由U4A或非門輸出信號取反得到。仿真結果如圖5所示。在執行讀入U3的指令后,數據總線(P0)上的數據為76H;在執行輸出U2指令后,數據總線(P0)上的數據為55H,輸入輸出結果正確。

005.jpg

2結論

  通過以上分析和仿真,在基于單片機控制的電子電路設計中,時序的仿真分析是查找硬件電路錯誤的有效方法。

  防止總線上數據沖突是硬件工程師在硬件電路設計中需要認真考慮的問題,而高阻態也是硬件電路設計中常用到的,這也是硬件工程師在電路設計中容易忽視的地方。

  在使用單片機總線擴展I/O口時,常需要多個輸入輸出芯片時,正確運用接口芯片的高阻態是解決總線數據沖突的有效方法。

  若接口芯片輸出無高阻態控制,則該芯片不能用于輸入接口擴展。在使用單片機總線技術擴展I/O口時,硬件設計必須要保證總線被單片機訪問的接口芯片占據,而且不被訪問的接口芯片與總線脫離。硬件設計時應該避免單片機的總線始終被某一個芯片占據。

  參考文獻

  [1] 余永權.Atmel89 系列單片機應用技術[M].北京:北京航空航天大學出版社,2002.

  [2] 高玉琴.單片機原理與應用及C51編程技術[M].北京:機械工業出版社,2011.

  [3] 張靖武,周靈彬.單片機系統的PROTEUS設計與仿真[M].北京:電子工業出版社,2007.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本高清免费一本视频无需下载| 激情图片小说区| 国产成人三级视频在线观看播放| 91精品一区二区三区久久久久| 妇乱子伦精品小说588| 四虎影视免费在线| 黄色一级视频在线播放| 国产精品久久久久久久久久久搜索 | 久久天天躁狠狠躁夜夜| 欧妇女乱妇女乱视频| 午夜爽爽爽男女免费观看hd| 蜜桃97爱成人| 国产天堂在线观看| 99热99re8国产在线播放| 婷婷五月综合缴情在线视频| 中文字幕一精品亚洲无线一区| 欧美亚洲天堂网| 亚洲欧美国产精品第1页| 美女叉开腿让男人捅| 国产一级成人毛片| 青青青国产依人精品视频| 国产成人污污网站在线观看| 亚洲www视频| 国产精品久久久久久久久久影院| 18女人腿打开无遮掩| 国产精品毛片大码女人| 69视频在线观看高清免费| 国内精品一战二战| 99re热视频这里只精品| 在线观看的网站| 中文字幕日韩精品有码视频| 欧美bbbbxxxx| 亚洲午夜爱爱香蕉片| 欧美成人免费高清视频| 亚洲欧洲久久久精品| 欧美色视频日本| 亚洲第一网站男人都懂| 波多野结衣免费一区视频| 亚洲视频aaa| 激情人妻另类人妻伦| 亚洲精品无码久久久久|