《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲一区免费在线观看| 国产免费的野战视频| 中国一级特黄特级毛片| 欧美xxxxx高潮喷水| 免费国内精品久久久久影院| 黑人猛男大战俄罗斯白妞| 在线观看人成网站深夜免费| 中文字幕无码日韩专区| 最近高清中文字幕在线国语5 | 国产亚洲精品美女久久久久| 884hutv四虎永久黄网| 差差漫画在线登录入口弹窗页面 | 理论片yy4408在线观看| 国产91刮伦脏话对白| 91秦先生在线| 国产精彩视频在线| www.jizz在线观看| 把水管开水放b里是什么感觉| 久青草影院在线观看国产| 欧美综合自拍亚洲综合图| 办公室开档情趣内衣做爽视频| 韩国全部三级伦电影在线播放| 国产精品亚洲精品日韩已方| 99自拍视频在线观看| 影音先锋男人站| 久久久久国产精品免费看| 最近韩国电影高清免费观看中文| 亚洲精品乱码久久久久久蜜桃 | 国产精品欧美亚洲韩国日本| www.中文字幕在线观看| 日本三级很黄试看120秒| 亚洲一卡2卡3卡4卡国产网站 | av一本久道久久波多野结衣| 成年女人黄小视频| 久久精品7亚洲午夜a| 欧美交性又色又爽又黄| 亚洲精品第一国产综合野| 精品国产黑色丝袜高跟鞋| 国产一级毛片免| 韩国爱情电影妈妈的朋友 | 国产福利一区二区精品秒拍|