一款基于Proteus的自動取款機設(shè)計與仿真
摘要:自動取款機系統(tǒng)采用高可靠性的AT89C52單片機作為核心控制芯片,采用具備I2C總線接口的FM24C02芯片完成密碼與金額的存儲,通過液晶顯示器128x64顯示運行狀態(tài)和操作步驟。軟件設(shè)計采用具有較好移植性和可讀性的C51語言編寫程序,以便修改和增減功能。通過Proteus軟件成功實現(xiàn)了自動取款機的仿真過程。經(jīng)仿真表明,利用Proteus軟件進行仿真設(shè)計可極大地簡化單片機程序在目標(biāo)硬件上的調(diào)試工作。
本文引用地址:http://butianyuan.cn/article/234980.htm0 引言
自動取款機,簡稱ATM(Automatic Teller Machine),它使用現(xiàn)代技術(shù)實現(xiàn)自動取款、修改密碼、查詢余額等操作,是業(yè)務(wù)電子化的一種機器設(shè)備,由于其便利性和實用性受到了人們的青睞。本文設(shè)計了一種自動取款機系統(tǒng),模擬自動取款機的基本功能(取款、查詢余額、修改密碼、取卡),使人們了解利用Proteus軟件來實現(xiàn)自動取款機的仿真過程。
1 系統(tǒng)總體設(shè)計
本系統(tǒng)主要由微控制器模塊、液晶顯示模塊、鍵盤輸入模塊、存儲模塊、蜂鳴電路所組成。系統(tǒng)結(jié)構(gòu)如圖1所示。
微控制器模塊主要完成對整個系統(tǒng)操作過程的控制;液晶顯示模塊模擬自動取款機的人機交互界面;鍵盤輸入模塊完成對密碼的輸入及修改功能;存儲模塊完成對模擬銀行卡密碼及金額的存儲功能。
2 系統(tǒng)硬件電路設(shè)計
系統(tǒng)硬件電路仿真圖如圖2所示。微控制器采用Atmel公司的AT89C52,存儲器采用具備I2C總線接口的FM24C02芯片,液晶顯示采用LCD 128x64模塊。
液晶顯示模塊是128x64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8 192個中文漢字(16×16點陣)、128個字符(8×16點陣)及64x256點陣顯示RAM(GDRAM)。可與微處理器直接相連,提供兩種界面來連接微處理器:8位并行及串行兩種連接方式。利用該模塊靈活的接口方式,可構(gòu)成全中文人機交互圖形界面。
FM24C02是2 048位的串行電可擦除只讀存儲器,內(nèi)部組織為256 B,其作用是存儲模擬銀行卡的密碼及金額。
由圖2可知,AT89C52的P0口通過上拉電阻RPt與LCD 128x64的數(shù)據(jù)端口DB0~DB7相連,使讀取或?qū)懭氲臄?shù)據(jù)顯示在液晶模塊上。P1.0~P1.5實現(xiàn)對模擬銀行卡的操作,如密碼的輸入與修改,查詢余額,取款,取卡等;P2.0,P2.1,P2.2分別接LCD 128x64的使能端,讀/寫數(shù)據(jù)控制端口及片選端口;P2.5,P2.6端口作為模擬銀行卡“CARD1”,“CARD2”按鍵輸入端,當(dāng)LCD 128x64液晶顯示界面出現(xiàn)“請插卡”時,按下相應(yīng)的按鍵即表示了插入銀行卡;P3.0~P3.6端口實現(xiàn)對鍵盤的掃描,實現(xiàn)密碼的輸入、修改等功能;P3.7接蜂嗚電路,當(dāng)對模擬銀行卡操作時,就會發(fā)出聲響提示操作已經(jīng)完成。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件包括主程序模塊、鍵盤輸入掃描模塊、液晶顯示模塊等。采用C51語言對系統(tǒng)的各個模塊編寫程序。系統(tǒng)程序流程如圖3所示。
3.1 主程序模塊
主程序主要用于定義全局變量,給全局變量賦初值,初始化E2PROM,從FM24C02中讀取或?qū)懭朊艽a,驅(qū)動顯示等,為整個程序提供數(shù)據(jù)。FM24C02讀/寫數(shù)據(jù)部分子程序如下:
3.2 鍵盤輸入掃描模塊
該模塊具備掃描鍵盤確定被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除去抖動、判斷閉合的按鍵是否釋放等功能。
3.3 液晶顯示模塊
此模塊包括液晶初始化、命令的輸入、顯示數(shù)據(jù)的輸入。
向LCD 128x64里寫數(shù)據(jù)部分子程序如下:
4 系統(tǒng)仿真結(jié)果
本文采用具有強大的EDA仿真功能的Proteus軟件進行仿真,仿真測試結(jié)果如圖4所示。
當(dāng)按下運行的Proteus軟件中的“play”按鈕時,即啟動系統(tǒng),此時LCD液晶屏顯示如圖4(a)所示的界面。按下仿真電路中“CARD1”按鍵或“CARD2”按鍵,出現(xiàn)圖4(b)所示畫面,在鍵盤輸入界面中輸入銀行卡“CARD1”或“CARD2”密碼。若在密碼輸入的過程中,出現(xiàn)錯誤,則可按“key0”鍵進行修改。密碼輸入完成之后,按下仿真電路圖中“key1”按鍵確定,若密碼輸入錯誤,則出現(xiàn)圖4(c)所示界面,3 s鐘之后轉(zhuǎn)向圖4(d)所示界面,重新輸入密碼。密碼輸入錯誤3次及以上,出現(xiàn)圖4(e)所示界面,提示“此卡已被凍結(jié)”,再按“key1”按鍵取卡;若密碼正確,則會出現(xiàn)圖4(f)所示界面。在圖4(f)所示界面下,按下“key0”按鍵選擇“修改密碼”功能,出現(xiàn)圖4(g)界面,輸入新的密碼,修改成功之后跳轉(zhuǎn)圖4(h)界面;按下“key2”按鍵選擇“查詢余額”功能,出現(xiàn)圖4(i)界面;按下“key3”按鍵選擇“取款”功能,出現(xiàn)圖4(i)界面,選擇相應(yīng)的金額按鍵按下(key0按鍵表示1 000,key2按鍵表示2 000,key3按鍵表示3 000),之后出現(xiàn)圖4(k)界面,按下“key4”按鍵取鈔,界面跳轉(zhuǎn)到圖4(1),完成取款操作。若要繼續(xù)選擇業(yè)務(wù)功能,則按下“key5”按鍵,界面重新跳轉(zhuǎn)到圖4(f)界面;若要取卡,則按下“key1”按鍵,則界面跳轉(zhuǎn)到圖4(a),對重新插入的銀行卡進行操作。
5 結(jié)語
本文利用Proteus與Keil μVision3軟件對自動取款機系統(tǒng)進行了仿真設(shè)計與實現(xiàn)。從仿真結(jié)果可知,利用Proteus軟件進行仿真設(shè)計可極大地簡化單片機程序在目標(biāo)硬件上的調(diào)試工作,同時也可直觀展示系統(tǒng)的運行界面,實現(xiàn)了自動取款機的基本功能,證明了此設(shè)計方案的可行性與正確性。
led顯示器相關(guān)文章:led顯示器原理
上拉電阻相關(guān)文章:上拉電阻原理
評論