亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 一種C51單片機并行口擴展設計及應用

一種C51單片機并行口擴展設計及應用

時間:2008-10-29 10:52:00來源:zhangting

導語:?c51單片機是我們生活中最常用的系列,mcs-51系列單片機有4個并行口(p0,p1,p2,p3口),但對一個稍微復雜的應用系統來說。
1 引言 c51單片機是我們生活中最常用的系列,mcs-51系列單片機有4個并行口(p0,p1,p2,p3口),但對一個稍微復雜的應用系統來說,真正可供用戶使用的并行口,只有p1口可用,況且常常因擴展i2c和spi的器件需占用某些p1口,迫使用戶不得不擴展并行口以滿足實際的需要。習慣上,常用的并行口接口芯片有8255、8155,這兩種芯片功能比較齊全,可以使用在相對比較復雜的系統中,但如是對一般的系統而言,這些功能往往閑置不用。那么就可以選用一些本來閑置不用的口線作為選通信號來進行并行口的擴展,這樣就能充分利用單片機有限的i/o資源,在本設計中是將p1口擴展成一個或幾個8位并行口,在每一個八位口上接入8個發光二極管做為輸出,二極管是做開關量來使用的,在這里設計了跑馬燈和流水燈程序,做到對開關量的開斷控制;配合開關量的控制筆者設計了一個共陽led數碼管,用來顯示當前發光二極管發亮的序號,做到更加直觀的雙重控制效果,然后再將p0口通過d/a轉換器和一放大器輸出一個模擬信號,其結果可以通過示波器看出。這樣整個系統即有了數字信號輸出和模擬信號輸出,也有數碼管顯示功能,實用性能大提高了。 2 基于89c51的系統硬件設計 2.1 并行口的擴展的電路設計 眾所周知,c51系列的單片機都有四個i/o口(p0、p1、p2、p3),那么at89c51也不例外,但我們通常僅僅使用p1口作為并行口,而令其余口(p2、p3)處于閑置狀態,所以這次設計,我們就是使用閑置不用的p3口做為選能信號線來將p1口進行并行口擴展。 (1) 種方式的并行口擴展優點 連線簡單; 不占用存儲器空間; (2) 編程也方便靈活。但也有很大的缺點 并行口擴展能力有限,(如使用74ls573(74ls373)且不進行驅動處理,則最多可擴展4個同樣類型的并行輸出端口,當然還需要與之對應的四個選通信號。) 如擴展較多,選通信號占用并行口位數太多,例如欲擴展8個并行輸出端口,則需要8個選能信號,此時,僅選能信號就占用了一個8位并行口,這對在i/o端口線有限的單片機系統中,如此浪費資源的現象是不能容忍的。在本次的設計中,采用芯片74hc573(帶三態輸出的八進制透明d型鎖存器)對p1口進行了一個8位并行口的擴展,選通信號選用p3口的p3.3引腳。原理圖如圖1所示:
[img=450,199]http://www.ca800.com/uploadfile/maga/2005-8-23/200582314413864526.gif[/img]
圖1 pi口擴展電路
2.2 擬信號輸出的電路設計 模擬信號的輸出需要用到d/a轉換器,這里我使用最常用的8位的d/a轉換器dac0832來轉換數字電壓信號。因dac0832是并行d/a轉換集成電路,其輸出為電流型,在使用時,必須額外增加一個運算放大器,才能得到電壓信號,在本次電路中使用了1個lm741放大器來放大信號輸出,lm741是一個普通的單操作的放大器,具有輸入電壓范圍大,短路電壓保護,高增益和不需頻率補償等優點。dac0832的片選端口與單片機的p2.2相連,xfer和wr2接地,使之一直處于使能狀態,即輸入數據寄存器中的數字信號可直接轉換為模擬信號。d/a轉換電路的輸出是一個周期的正弦波,通過外接示波器可以清淅的看到。另外模擬信號的輸出引在一個外接端子上,可以與其它系統相連接,做到通用性的效果。d/a轉換原理圖如圖2所示:
[img=450,129]http://www.ca800.com/uploadfile/maga/2005-8-23/200582314421434599.gif[/img]
圖2 d/a轉換
2.3 靜態數碼管顯示的電路設計 數碼管顯示器是各種儀器設備所不可缺少的重要組成部分,是儀器設備與人對話的一種重要形式,它告訴人們機器的運行狀態、數據處理結果、提示操作人員下一步要進行的操作等。按照顯示方法的不同,可分為靜態顯示和動態顯示兩種,這里我們所設計的電路顯示是屬于靜態顯示那種,是兩位靜態數碼管顯示,其主要的功能是顯示當前發光led的序號,比如如果當前是l1燈在亮的話,數碼管將顯示11,是l2燈亮,數碼管顯示22字樣等。電路的設計使用2個8位的移位寄存器(74hc164),和兩個八段的led數碼管(共陽的)加上2個8×330ω的排阻構成。靜態數碼管顯示的優點在于,編寫程序相對比較簡單,一旦將欲顯示的數據發送出去,只要當前顯示的數據沒有變化,就無須理睬它。不足之處在于,如果顯示的位數太多,硬件的開銷和電源的功耗問題將會很嚴重(比如這里,只需顯示兩位,就需要用到兩塊74hc164和2個排阻)。電路原理圖如圖3所示:
[img=450,205]http://www.ca800.com/uploadfile/maga/2005-8-23/200582314424455352.gif[/img]
圖3 顯示電路
2.4 電源部分電路的設計 整個電路系統使用9v~12v的直流電源供電,故使用一個拔碼開關和一個二極管,以起保護作用,這里拔碼開關只起到電源開關的作用。由于cpu電源為5v,所以使用l7805三端穩壓來供cpu電源,電源指示燈一個。電源部分電路圖如圖4所示:
[img=450,245]http://www.ca800.com/uploadfile/maga/2005-8-23/200582314431121987.gif[/img]
圖4 電源電路
2.5 復位部分電路設計 本電路的復位電路是用一個復位芯片max706p來設計的,并帶有復位按鈕一個。這里復位是低電平有效的,有手動復位按鈕,當程序跑飛或無響應時可以選用手動復位。復位信號來自于cpu的p22口。復位電路原理圖如圖5所示。
[img=450,157]http://www.ca800.com/uploadfile/maga/2005-8-23/200582314435968306.gif[/img]
圖5 復位電路
[b]3 系統軟件部分設計與應用 [/b] 程序已經調試通過,整個程序實現的功能如下: p1口的八位擴展,控制8個開關led指示燈,程序實驗了對這8個指示燈的開關跑馬控制,實驗程序可以編寫從l1至l8的循環發亮,在每個發光二極管發光的同時,數碼管顯示當前發亮led的序號,比如11、22、33等等。也可讓每個二極管閃爍,可以規定閃爍時間為半秒鐘或更長,然后再在每一個led指示燈閃爍的同時,讓led數碼管顯示當前閃爍的指示燈的序號,比如,l1燈閃爍時,數碼管顯示11字樣,l2燈閃爍時,數碼管顯示22字樣等等。在數模轉換這一子函數的編寫上,是使用指針數組來寫的,dac0832實現da的轉換的芯片,實現的功能是輸出一正弦波模擬信號,當在端子口接一示波器時,示波器將輸出一正弦波圖形。主程序流程圖如(圖6)所示。以上所述是整個系統的功能,所有的程序都已經通過調試試驗,實驗證明是可行的。 [b]4 結束語 [/b] 整個系統的軟件已經完全通過調試,證明是切實可行的,整個系統的硬件設計是本著單片機系統設計的簡單化原則來設計,顯的簡煉有序,軟件編寫也非常簡單易懂。本系統設計比較適合于在小型系統中應用。

標簽:

點贊

分享到:

上一篇:現場總線在發動機缸體生產線...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 全南县| 商河县| 湘潭县| 宁南县| 新源县| 肃北| 呼图壁县| 开原市| 昌乐县| 佳木斯市| 惠水县| 贵溪市| 五华县| 玛纳斯县| 二连浩特市| 永福县| 广平县| 二连浩特市| 全州县| 襄汾县| 兴义市| 拜泉县| 观塘区| 玉田县| 饶河县| 河源市| 闵行区| 南阳市| 肇源县| 张家口市| 三都| 曲靖市| 潜江市| 喀喇沁旗| 苏尼特左旗| 深州市| 赤峰市| 武乡县| 武平县| 基隆市| 兴宁市|