《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲一卡2卡4卡5卡6卡在线99| 成人亚洲欧美激情在线电影| 亚洲第一区se| 精品久久久久久无码中文字幕漫画| 国产成人精品男人免费| 1000部禁片黄的免费看| 国模大胆一区二区三区| www一级毛片| 性欧美成人免费观看视| 久久亚洲精品成人综合| 最近最新中文字幕2018| 亚洲日韩AV无码一区二区三区人 | 久久亚洲欧美综合激情一区| 最新猫咪www免费人成| 亚洲大片免费看| 色人阁在线视频| 国产在线无码精品电影网| 欧美手机在线视频| 国产精品久久精品福利网站| 91理论片午午伦夜理片久久| 夜先锋av资源网站| gogo全球高清大胆亚洲| 好男人在线社区www我在线观看| 中文字幕久久久久久久系列| 日本一道本在线| 久久亚洲日韩看片无码| 日韩一级在线播放| 久久青草免费91线频观看不卡| 权明星商标查询| 亚洲av永久无码精品三区在线4 | 日本乱子伦xxxx| 久久久精品电影| 日本久久中文字幕| 久久久久亚洲精品美女| 日本道色综合久久影院| 久久精品午夜福利| 日韩中文字幕在线播放| 久久无码无码久久综合综合| 日韩在线视频二区| 久久婷婷人人澡人人喊人人爽| 日韩午夜中文字幕电影|