Proteus軟件的單片機(jī)仿真_第1頁(yè)
Proteus軟件的單片機(jī)仿真_第2頁(yè)
Proteus軟件的單片機(jī)仿真_第3頁(yè)
Proteus軟件的單片機(jī)仿真_第4頁(yè)
Proteus軟件的單片機(jī)仿真_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要基于Proteus軟件的單片機(jī)自動(dòng)取款機(jī)(ATM)仿真系統(tǒng)設(shè)計(jì),硬件電路需要單 片機(jī)開(kāi)發(fā)板和12864液晶顯示器,能夠?qū)崿F(xiàn)自動(dòng)取款的全部功能。通過(guò)在在計(jì)算機(jī)上 用C語(yǔ)言編程來(lái)將生成文件下載到單片機(jī)控制其它外圍器件工作。但是在EDA新技 術(shù)的引入使得系統(tǒng)的開(kāi)發(fā)成本降低而且靈活性增強(qiáng),在Proteus軟件中都可以找到上 述硬件元件,通過(guò)電路圖連接完全可以實(shí)現(xiàn)仿真功能。在Keil軟件環(huán)境下通過(guò)C語(yǔ) 言編程,編譯調(diào)試后生成單片機(jī)下載的HEX(十六進(jìn)制)文件,硬件電路圖是在Proteus 軟件中進(jìn)行建模。通過(guò)Proteus和Keil結(jié)合建立的虛擬系統(tǒng)實(shí)現(xiàn)聯(lián)合仿真,單片機(jī)實(shí) 時(shí)控制12864LCD實(shí)現(xiàn)

2、漢字的顯示,掃描鍵盤從而達(dá)到用戶與ATM的信息交換,使 得ATM系統(tǒng)設(shè)計(jì)變?yōu)楝F(xiàn)實(shí)。ATM系統(tǒng),是一個(gè)有數(shù)據(jù)庫(kù)組成的應(yīng)用系統(tǒng)。用戶的初始信息通過(guò)E2PROM存 放,這樣免去了掉電丟失數(shù)據(jù)的弊端。系統(tǒng)功能有用戶在ATM上提取現(xiàn)金、查詢賬 戶余額、修改密碼、賬戶凍結(jié)、密碼保護(hù)、自動(dòng)存款及轉(zhuǎn)賬功能??梢苑抡鎸?shí)現(xiàn)最基 本的銀行服務(wù)。關(guān)鍵詞:ATM; 51 單片機(jī);Proteus; Keil; 12864LCD; E2PROM;虛擬仿真AbstractAutomatic Teller Machine system is based on Proteus 51-microcontroller.Hardwar

3、e circuit includes microcontroller developer board and 12864LCD display. All features of ATM can be well worked on it. Programming on PC then download created file to 51-microcontroller to control outer circuit. However, with the introduction of EDA, new technology, which lower the cost of system ex

4、ploration and enhance flexibility. Programing with C language, compiling and debugging under the environment of Keil software,creating a HEX file which will be downloaded by microcontroller later. Hardware schematic diagrams are established with Proteus software. According to the combination of Prot

5、eus and Keil , making a virtual system , successfully achieve united simulation. Microcontroller controls 12864LCD to display Chinese words, scans keyboard to exchange information between customer and ATM, which makes virtual ATM system becoming reality.ATM system includes databases, which are used

6、for the storage of customers5 initial information, leading to emerge from the disadvantage of data lost when power cuts. The functions of ATM are as follows: withdraw cash, search client and remaining modify password, client freezed, password protection, automatic deposit and transfer client. This s

7、ystem simulates to realize the banks fundamental services. Keywords:ATM;51microcontroller;Proteus;Keil;12864LCD;E2PROM;virtual simulation目錄 TOC o 1-5 h z HYPERLINK l bookmark33 o Current Document 引言1 HYPERLINK l bookmark36 o Current Document 第一章Proteus軟件的單片機(jī)ATM系統(tǒng)3 HYPERLINK l bookmark39 o Current Do

8、cument Proteus 軟件的 ATM 概述3 HYPERLINK l bookmark43 o Current Document Proteus軟件的ATM安全性分析3 HYPERLINK l bookmark47 o Current Document Proteus軟件的ATM穩(wěn)定性分析3 HYPERLINK l bookmark51 o Current Document Proteus軟件的ATM主要功能分析3 HYPERLINK l bookmark118 o Current Document 第二章Proteus軟件仿真的硬件系統(tǒng)設(shè)計(jì)5 HYPERLINK l bookmark

9、121 o Current Document MCS-51系列單片機(jī)5 HYPERLINK l bookmark125 o Current Document AT89C51 單片機(jī)5 HYPERLINK l bookmark129 o Current Document 2.1.2單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)5 HYPERLINK l bookmark132 o Current Document 2.2串行傳輸5 HYPERLINK l bookmark135 o Current Document I2C串行總線6 HYPERLINK l bookmark138 o Current Document

10、E2PROM8 HYPERLINK l bookmark142 o Current Document 12864液晶顯示模塊102.5.1引腳功能10 HYPERLINK l bookmark145 o Current Document 12864DDRAM 存儲(chǔ)器10 HYPERLINK l bookmark161 o Current Document 2.5.3顯示控制控制方法11 HYPERLINK l bookmark88 o Current Document 2.6蜂鳴器12 HYPERLINK l bookmark164 o Current Document 2.7鍵盤12 HYP

11、ERLINK l bookmark167 o Current Document 2.7.1鍵的識(shí)別 12 HYPERLINK l bookmark170 o Current Document 2.7.2鍵盤掃描流程圖 13 HYPERLINK l bookmark173 o Current Document 2.8 ATM硬件原理圖13 HYPERLINK l bookmark176 o Current Document 第三章Proteus單片機(jī)仿真軟件系統(tǒng)設(shè)計(jì)15 HYPERLINK l bookmark179 o Current Document C-51 簡(jiǎn)介15 HYPERLINK

12、l bookmark184 o Current Document C-51具有特點(diǎn)15 HYPERLINK l bookmark188 o Current Document C-51具有優(yōu)點(diǎn)15 HYPERLINK l bookmark192 o Current Document C-51獨(dú)特地方15 HYPERLINK l bookmark208 o Current Document ATM自動(dòng)取款機(jī)系統(tǒng)流程16 HYPERLINK l bookmark211 o Current Document 3.3程序介紹16 HYPERLINK l bookmark214 o Current Doc

13、ument PCtoLCD2002 掃描軟件17 HYPERLINK l bookmark221 o Current Document Proteus 軟件19 HYPERLINK l bookmark225 o Current Document Proteus 概述19 HYPERLINK l bookmark229 o Current Document Proteus 具有特點(diǎn)19 HYPERLINK l bookmark233 o Current Document 3.5.3虛擬工具箱20 HYPERLINK l bookmark236 o Current Document Keil 軟

14、件21 HYPERLINK l bookmark240 o Current Document 3.6.1概述213.6.2創(chuàng)建工程22 HYPERLINK l bookmark243 o Current Document 第四章 Proteus軟件仿真結(jié)果23 HYPERLINK l bookmark246 o Current Document 第五章結(jié)論25 HYPERLINK l bookmark249 o Current Document 參考文獻(xiàn)26 HYPERLINK l bookmark269 o Current Document 附錄27 HYPERLINK l bookmark

15、272 o Current Document 謝辭34引言隨著大規(guī)模集成電路的發(fā)展,組成微型計(jì)算機(jī)的各個(gè)功能部件:中央處理器、 RAM、ROM、EPROM、并行串行輸入輸出I/O接口電路、定時(shí)器/計(jì)數(shù)器集、中斷 控制等部件成到一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)8。由于它具有功能 強(qiáng)、體積小、功耗低、價(jià)格便宜、工作可靠、使用方便靈活等特點(diǎn),因此特別適合工 業(yè)控制或控制類有關(guān)的數(shù)據(jù)處理系統(tǒng),愈來(lái)愈廣泛的應(yīng)用到自動(dòng)控制、智能化儀表以 及家用電器等各個(gè)領(lǐng)域。由于其結(jié)構(gòu)及應(yīng)用特點(diǎn),不同于通用的微型計(jì)算機(jī),它的執(zhí) 行命令時(shí)間是可以計(jì)算出時(shí)間。目前生產(chǎn)單片機(jī)的廠商很多Intel、Motorola P

16、hilips等公司,產(chǎn)品達(dá)上百種,雖 然其名稱各異但原理大同小異。單片機(jī)在智能儀表方面的應(yīng)用有,利用單片機(jī)改造原 有的測(cè)量控制儀表,促進(jìn)儀表像數(shù)字化、智能化方向發(fā)展A/D轉(zhuǎn)換器的集成,通過(guò) 單片機(jī)軟件的編寫程序來(lái)控制溫度、壓力、流量、濃度等的測(cè)量顯示。而且還具有復(fù) 雜運(yùn)算、誤差修正、線性化、零點(diǎn)漂移處理、數(shù)字濾波等功能。其實(shí)具有很強(qiáng)的靈活 性和實(shí)踐性。Proteus就是一款很好的單片機(jī)仿真軟件,通過(guò)學(xué)習(xí)這款軟件不僅能夠掌握一些 硬件電路還能更深刻的理解單片機(jī),從而達(dá)到理論與實(shí)踐相結(jié)合。增強(qiáng)感性認(rèn)識(shí),在 仿真的同時(shí)培養(yǎng)動(dòng)手能力,創(chuàng)新能力和綜合知識(shí)運(yùn)用。而且仿真技術(shù)的發(fā)展帶來(lái)很大 的經(jīng)濟(jì)效益。例如

17、在航空工業(yè)方面,采用仿真技術(shù)使大型客機(jī)的設(shè)計(jì)和研制周期縮短 20%?,F(xiàn)代仿真技術(shù)應(yīng)用于各個(gè)工程領(lǐng)域,對(duì)于社會(huì)經(jīng)濟(jì)等系統(tǒng),很難在真實(shí)的系統(tǒng) 上進(jìn)行實(shí)驗(yàn)。因此,利用仿真技術(shù)來(lái)研究這些系統(tǒng)就具有更為重要的意義。而51單片機(jī)又是最基礎(chǔ)的所以要扎實(shí)掌握原理,加上EDA軟件的鼎力相助,使 得學(xué)習(xí)單片機(jī)變得更有意思。Keil軟件可以實(shí)現(xiàn)匯編和C語(yǔ)言的編程,剛學(xué)單片機(jī) 學(xué)的是匯編語(yǔ)言,感受是命令比較多而且很接近硬件,可移植性差。單片機(jī)C語(yǔ)言 相比匯編語(yǔ)言是高級(jí)語(yǔ)言,很大提高編程速度而且對(duì)硬件了解不是很高。編程環(huán)境接 近Visual C+ 6.0,不同就是需要建立工程然后添加C文件,可以進(jìn)行軟件仿真,斷 點(diǎn)設(shè)置

18、,全速運(yùn)行,單步運(yùn)行,程序中的延時(shí)函數(shù)是通過(guò)軟件仿真調(diào)試成功。仿真ATM自動(dòng)取款機(jī),要實(shí)現(xiàn)的功能是就像銀行那里的功能,基本功能有存款, 修改密碼,查詢余額,轉(zhuǎn)帳和自動(dòng)存款。程序思想就是源于校園的自動(dòng)取款機(jī)的流程 而設(shè)計(jì)。插卡后輸入密碼然后進(jìn)行一系列業(yè)務(wù)處理最后退卡完成交易。硬件電路設(shè)計(jì) 有12864LCD對(duì)漢字進(jìn)行顯示,并且掌握了漢字編碼原理,用軟件生成見(jiàn)后邊軟件介 紹。IIC總線對(duì)E2PROM的數(shù)據(jù),指令的寫入和讀出程序編寫。鍵盤掃描程序用的是 C語(yǔ)言實(shí)現(xiàn)的。總之都是利用C語(yǔ)言進(jìn)行控制,程序設(shè)計(jì)比較大時(shí)流程圖的作用就顯 得十分重要,將每個(gè)函數(shù)寫成塊這樣就可以輕松調(diào)用不至于亂,例如顯示子函數(shù),

19、鍵 盤掃描子函數(shù)等。51單片機(jī)掌握好有助于以后的PIC,DSP,ARM,F(xiàn)PGA,CPLD和嵌入式系統(tǒng) 的學(xué)習(xí),目前來(lái)看單片機(jī)在自動(dòng)控制領(lǐng)域應(yīng)用是非常廣泛的,單片機(jī)的前景是十分光 明。第一章Proteus軟件的單片機(jī)ATM系統(tǒng)Proteus軟件的ATM概述Proteus軟件仿真ATM系統(tǒng),ATM是由CPU控制的持卡人自我服務(wù)型的金融專 用設(shè)備。該系統(tǒng)是一個(gè)較典型的銀行存取款模擬系統(tǒng),并采用軟件仿真其效果,使用 者被假定為銀行信用卡用戶,系統(tǒng)應(yīng)該具有安全、穩(wěn)定、功能齊全的特點(diǎn)。滿足銀行 自動(dòng)取款機(jī)一般功能和服務(wù)。ATM自動(dòng)取款機(jī)系統(tǒng),是一個(gè)有終端機(jī),ATM系統(tǒng), 數(shù)據(jù)庫(kù)組成的應(yīng)用系統(tǒng)。系統(tǒng)功能有

20、用戶在ATM上提取現(xiàn)金、查詢賬戶余額、修改 密碼及轉(zhuǎn)賬功能。ATM自動(dòng)取款機(jī)系統(tǒng)向用戶提供一個(gè)方便、簡(jiǎn)單、及時(shí)、隨時(shí)隨地可以隨心所 欲存取款的互聯(lián)的現(xiàn)代計(jì)算機(jī)化的網(wǎng)絡(luò)系統(tǒng)。可以大大減少工作人員,節(jié)約人力資源 的開(kāi)銷,同時(shí)由于手續(xù)程序減少也可以減輕業(yè)務(wù)員的工作負(fù)擔(dān),有效地提高了整體的 工作效率和精確度。減少了用戶辦理業(yè)務(wù)的等待時(shí)間,用戶可以隨時(shí)隨地可以隨心 所欲存取款,并且操作簡(jiǎn)單易懂。當(dāng)今信息時(shí)代,時(shí)間就是金錢,提高了用戶的辦理 效率。Proteus軟件的ATM安全性分析銀行存取款機(jī)的數(shù)據(jù)涉及到取款機(jī)內(nèi)儲(chǔ)存的三名用戶,數(shù)據(jù)量較大且對(duì)保密性的 需求很高,所以要通過(guò)設(shè)置密碼等手段確保數(shù)據(jù)在用戶未用

21、正確密碼登錄時(shí)不能被隨 意的刪減和修改。并用單片機(jī)定時(shí)器設(shè)置用戶交易是的時(shí)間,如果超過(guò)50s則自動(dòng)退 到輸入密碼頁(yè)面。Proteus軟件的ATM穩(wěn)定性分析系統(tǒng)用單片機(jī)實(shí)現(xiàn)對(duì)鍵盤、LCD、E2PROM、蜂鳴器實(shí)時(shí)控制,功能比較健全, 硬件系統(tǒng)的單片機(jī)采用12MHZ晶振,LCD刷新頻率也很高。軟件系統(tǒng)雖然龐大但經(jīng) 過(guò)嚴(yán)格的分塊編寫并長(zhǎng)時(shí)間調(diào)試程序,當(dāng)然少不了老師的指導(dǎo),完全符合設(shè)計(jì)思想。 只要是用戶的合理操作軟件系統(tǒng),系統(tǒng)都應(yīng)給出合理正確的回應(yīng),并滿足用戶的愿望, 而不是出現(xiàn)令用戶感到意外的系統(tǒng)錯(cuò)誤或系統(tǒng)崩潰。Proteus軟件的ATM主要功能分析開(kāi)機(jī)時(shí)顯示“中國(guó)農(nóng)業(yè)銀行請(qǐng)輸入插入磁卡”,當(dāng)用戶將

22、磁卡插入時(shí)(低電平有 效)屏幕顯示“請(qǐng)輸入密碼”??ㄒ幻艽a為“123456”;卡二密碼為“654321”,卡三 密碼為“111111”全部初始化到外部存儲(chǔ)器中。初始密碼當(dāng)然可以在程序中由串行數(shù) 據(jù)來(lái)修改。用戶密碼存放到E2PROM中,仿真開(kāi)始后用戶可以自己隨便設(shè)置六位數(shù) 字號(hào)碼,但是只要Proteus軟件仿真結(jié)束后,密碼又變?yōu)槌跏蓟瘯r(shí)的密碼。輸入密碼 通過(guò)和讀取E2PROM中密碼對(duì)比一致時(shí)才能登錄成功。允許用戶選擇業(yè)務(wù)、修改密 碼,查詢,對(duì)用戶由于疏忽錄入的非法數(shù)據(jù),能夠及時(shí)提示并更正,倘若密碼錯(cuò)誤次 數(shù)大于三次則該用戶將被凍結(jié)。登陸成功界面以后共有四個(gè)個(gè)選項(xiàng),查詢、改密、取款、取款分別對(duì)應(yīng)P

23、12、P10、 P13、P11按鍵。分別按下相應(yīng)的按鍵則選擇相應(yīng)的功能或者進(jìn)入該鍵下的子菜單。 每一屏都有退出按鍵可以返回到上一層目錄中。查詢子菜單中有如下功能鍵,余額查詢,轉(zhuǎn)賬,和自動(dòng)存款,選定P12后,進(jìn)入 查詢界面,用戶輸入查詢條件,系統(tǒng)規(guī)則地在界面顯示查詢結(jié)果,且顯示的數(shù)據(jù)盡量 全面。如果使用自動(dòng)存款,可以選擇的金額與取款額度一樣為100,200,300。 使用轉(zhuǎn)賬業(yè)務(wù)是需用先選擇要轉(zhuǎn)入的用戶,不可給自己轉(zhuǎn)帳,然后選擇金額。取款時(shí)選定P10鍵后,進(jìn)入取款界面,用戶可以取面值100,200,300,若 取款金額大于存款金額則會(huì)提示“余額不足”,若小于則會(huì)在原余額上扣除取款金額。 本次給三

24、個(gè)用戶分別存入1000,2000,3000。退出時(shí)選定P11后,進(jìn)入退出界面,系統(tǒng)會(huì)延遲5毫秒重新跳回登陸界面,供其 他用戶使用。第二章Proteus軟件仿真的硬件系統(tǒng)設(shè)計(jì)MCS-51系列單片機(jī)AT89C51 單片機(jī)AT89C51單片機(jī)161集成8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個(gè)8位 并口、1個(gè)全雙工串行口、2個(gè)16位定時(shí)/計(jì)數(shù)器。尋址范圍64K,并有控制功能較 強(qiáng)的布爾處理器。最小系統(tǒng)能夠運(yùn)行起來(lái)必須包括電源、晶振、復(fù)位電路。輸出時(shí)一般用低電平這 是因?yàn)榉乐乖肼暩蓴_,因?yàn)樵肼曇话愣紴楦唠娖?。單片機(jī)對(duì)外設(shè)備控制或?qū)纹瑱C(jī)控制其實(shí)就是通過(guò)對(duì)I/O 口的控制。51系列單片 機(jī)共有4

25、個(gè)I/O 口 P0、P1、P2、P3四個(gè)8位雙向輸入輸出端口,每個(gè)端口都有鎖存 器、輸出驅(qū)動(dòng)器和輸入緩沖器。其中P0 口為準(zhǔn)雙向I/O 口,其它三個(gè)為雙向I/O 口。 P0中每一位為OD門輸出,所以不能用作高電平驅(qū)動(dòng)外圍電路,所以用P0驅(qū)動(dòng)電路 時(shí)必須加上拉電阻這樣才能輸出高電平;如果作為輸入,必須先向相應(yīng)的鎖存器寫 “1”才不會(huì)影響輸入電平。P3 口還具有第二功能特點(diǎn)。2.1.2單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)若單片機(jī)無(wú)片內(nèi)程序存儲(chǔ)器或存儲(chǔ)容量不夠時(shí)需要外部擴(kuò)展程序存儲(chǔ)器。數(shù)據(jù)存 儲(chǔ)器利用RAM構(gòu)成,存儲(chǔ)容量滿足的情況下盡可能減少芯片的擴(kuò)展。I/O接口是最 復(fù)雜的部分,因?yàn)閱纹瑱C(jī)與外圍電路接口各不相同

26、。譯碼電路使用時(shí)要盡可能簡(jiǎn)單除 了可利用常規(guī)的門電路、譯碼器實(shí)現(xiàn)外還可以利用只讀存儲(chǔ)器與可編程門陣列來(lái)實(shí) 現(xiàn)。如果單片機(jī)外部擴(kuò)展的器件較多負(fù)載太大,總線驅(qū)動(dòng)是必須考慮的。2.2串行傳輸圖2-1串行傳輸隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能愈來(lái)愈 顯得重要。計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。串 行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送,其特點(diǎn)為傳輸 線少,且可以利用電話網(wǎng)等現(xiàn)成設(shè)備,相比并行傳輸要復(fù)雜一些。2.3 I2C串行總線I2C串行總線是由Philips公司推出的一種串行總線,具有多主機(jī)系統(tǒng)所需的包括 總線裁決和高低

27、速同步的高性能串行總線。I2C總線有倆根雙向信號(hào)線,即SCL和 SDA,分別為串行時(shí)鐘信號(hào)和串行數(shù)據(jù)輸入輸出。和電路連接時(shí)要通過(guò)上拉電阻接 高電平,串行總線空閑時(shí)都是高電平,各器件的SCL、SDA都接成線與的關(guān)系,既 有一根線為低電平則整條線被拉為低電平。每個(gè)器件接到I2C總線上都有唯一的地址,就像這次我做的課題80C51單片機(jī) 為發(fā)送裝置,F(xiàn)M24C02為接收裝置。進(jìn)行數(shù)據(jù)傳輸時(shí),時(shí)鐘信號(hào)為高電平期間數(shù)據(jù) 信號(hào)線必須保持穩(wěn)定,當(dāng)時(shí)鐘信號(hào)變?yōu)榈碗娖綍r(shí),數(shù)據(jù)信號(hào)才可以變化。一次完整的 傳輸要有起始信號(hào)和終止信號(hào),都是由單片機(jī)發(fā)出的。SCL線為高電平期間,SDA 線由高電平向低電平的變化表示起始信

28、號(hào);SCL線為高電平期間,SDA線由低電平 向高電平的變化表示終止信號(hào)。起始信號(hào)產(chǎn)生后總線處于被占用狀態(tài),終止信號(hào)產(chǎn)生 時(shí)總線處于閑置狀態(tài)。數(shù)據(jù)傳輸時(shí)是一個(gè)字節(jié),一個(gè)字節(jié)傳輸,每一字節(jié)8位最高位 到最低位傳送,最后還需帶一個(gè)應(yīng)答位,所以一共9位為一幀。應(yīng)答信號(hào)為低電平代 表從機(jī)應(yīng)答,否則為“非應(yīng)答”。從機(jī)不應(yīng)答時(shí)則主機(jī)需向從機(jī)發(fā)送終止信號(hào),結(jié)束 數(shù)據(jù)傳送。當(dāng)主機(jī)接收數(shù)據(jù)時(shí),它收到最后一個(gè)數(shù)據(jù)字節(jié)后,必須向從機(jī)發(fā)出一個(gè)結(jié) 束傳送的信號(hào)。這個(gè)信號(hào)是由對(duì)從機(jī)的“非應(yīng)答”來(lái)實(shí)現(xiàn)的。然后從機(jī)釋放SDA線, 以允許主機(jī)產(chǎn)生終止信號(hào)。總線上的信號(hào)既包括地址信號(hào)又包括數(shù)據(jù)信號(hào),產(chǎn)生起始信號(hào)后需要發(fā)送一個(gè)地 址

29、信號(hào),與從機(jī)地址進(jìn)行匹配。地址信號(hào)為8位最后一位代表傳輸方向,“0”表示主 機(jī)發(fā)送數(shù)據(jù),“1”表示主機(jī)接收數(shù)據(jù)。I2C總線尋址采用7位的尋址字節(jié),即起始信號(hào)后的第一個(gè)字節(jié)。D7D1位組 成從機(jī)的地址。D0位是數(shù)據(jù)傳送方向位,為“0”時(shí)表示主機(jī)向從機(jī)輸出數(shù)據(jù),為“1” 時(shí)表示主機(jī)由從機(jī)讀數(shù)據(jù)。主機(jī)發(fā)送地址時(shí),總線上的每個(gè)從機(jī)都將這7位地址碼與 自己的地址進(jìn)行比較,如果相同,則認(rèn)為自己正被主機(jī)尋址,根據(jù)R/T位將自己確定 為發(fā)送器或接收器。從機(jī)的地址由固定部分和可編程部分組成。在一個(gè)系統(tǒng)中可能希 望接入多個(gè)相同的從機(jī),從機(jī)地址中可編程部分決定了可接入總線該類器件的最大數(shù)目。比方說(shuō)一個(gè)從機(jī)的7位地址

30、有4位是固定位,那么3位是可編程位,由排列組合 可知,這時(shí)僅能尋址8個(gè)同樣的器件。典型程序如下:起始信號(hào)void I2CStart(void) sda = 1;delay(5);scl= 1;delay(5);sda = 0;delay(5);I2C應(yīng)答信號(hào)void respons() uchar i;scl=1;delay_2();while(sda=1)&(i250)i+;scl=0;delay_2();向I2C寫單個(gè)數(shù)據(jù)void write_byte(uchar date) uchar i,temp;temp=date;for(i=0;i8;i+) temp=temp1;scl=0;de

31、lay_2();終止信號(hào)void I2CStop(void) sda = 0;delay(5);scl = 1;delay(5);sda = 1;delay(5);I2C初始化void ic_init() scl=1;delay_2();sda=1;delay_2();scl=0;delay_2();sda=1;delay_2(); sda=CY;delay_2();scl=1;delay_2();I2C讀單個(gè)數(shù)據(jù)for(i=0;i8;i+)uchar read_byte() scl=1; uchar i,k;delay_2();scl=0;k=(k CJBXS5皿.rocM WilLCri

32、P02W2 Pfi.CE3 re-MiXCM PD-MtfM FtibdJS 祈5FSJW R2.WFZSftID KlJrtll FZ4aiZ KL5I3 F2 EMH F2.7A15RiCfeD 向ims R32Hl R3iwr IraHiiD rasri rsjo F3.7CRDUTUXBU21::9U2JER. . =1則表示卡插入狀態(tài)。 主程序都是在chakc= 1的情況下編寫的。例如chakc=3時(shí)為業(yè)務(wù)選擇頁(yè)面程序。首先判斷當(dāng)chakc=3時(shí),調(diào)用顯示函數(shù)顯示將業(yè)務(wù)選擇頁(yè)面顯示到LCD上。鍵 盤檢測(cè)時(shí),當(dāng)取卡鍵keysanf_rk1 ()子程序掃描到該鍵按下時(shí),只進(jìn)行初始化;當(dāng)取

33、款 keysanf_rk2 ()子程序掃描到該鍵按下時(shí)時(shí)就轉(zhuǎn)到取款頁(yè)面子程序完成??;當(dāng)查詢鍵keysanf_lk2 ()子程序掃描到該鍵按下時(shí),程序轉(zhuǎn)到查詢頁(yè)面子程序完成查詢?nèi)蝿?wù);當(dāng) 修改密碼keysanf_lk1 ()子程序掃描到該鍵按下時(shí),程序鉆到修改密碼頁(yè)面完成修改密 碼任務(wù)。鍵在每個(gè)頁(yè)面都有不同的定義,rk1bz代表鍵的狀態(tài)當(dāng)為1時(shí)是表示按下 鍵,每次執(zhí)行完任務(wù)后都要將其拉低。if(chakc=3)keysanf_lk2(); display_ywxuanze();if(lk2bz=1)keysanf_rk1(); chakc=7;if(rk1bz=1)lk2bz=0; init();

34、keysanf_lk1();keysanf_rk2();if(lk1bz=1)if(rk2bz=1) chakc=9; chakc=4;lk1bz=0;rk2bz=0;表3-1程序功能簡(jiǎn)介if(chakc=0)磁卡沒(méi)插入程序if(chakc=2)磁卡插入輸入密碼程序if(chakc=3)業(yè)務(wù)選擇程序if(chakc=4)取款程序if(chakc=5)準(zhǔn)備鈔票程序if(chakc=6)等待取走鈔票程序if(chakc=7)查詢程序if(chakc=8)顯示余額程序if(chakc=9)改密程序if(chakc=10)密碼錯(cuò)誤程序if(chakc=11)磁卡卡凍結(jié)程序if(chakc=12)修改密

35、碼成功程序if(chakc=13)余額不足程序if(chakc=14)自動(dòng)存款程序if(chakc=15)轉(zhuǎn)帳程序PCtoLCD2002 掃描軟件漢字就需要編碼軟件生成代碼,下面就介紹一下PCtoLCD2002軟件15。12864LCD顯示每個(gè)漢字需要32個(gè)8位代碼,編程使得代碼被依次掃描到DDRAM中,一個(gè)漢字 需要256個(gè)點(diǎn)的明暗來(lái)實(shí)現(xiàn)。掃描代碼是先上半部分后下半部分。要求PCtoLCD2002 軟件設(shè)置為先上半部分后下半部分掃描方式。此軟件還可以掃描圖片生成代碼用來(lái)在 12864LCD液晶顯示,方法類似只需要程序略加修改。圖 3-2 PCtoLCD2002界面聊生成字岸掇W 左扇以胃謎秩

36、町點(diǎn).寫爭(zhēng)色=海口推多步中更盤長(zhǎng) 一玷玄哼匚 日界茬亞格珂生:了時(shí)r at戒宣弓苴悴r上畿二地氏字京走彰新建一個(gè)文本在里邊輸入自己想要顯示的漢字例如“中國(guó)農(nóng)業(yè)銀行”。將字體設(shè) 置為宋體小四號(hào)保存。在菜單中點(diǎn)擊模式中選擇字符模式,選擇字體中設(shè)置為宋體, 字寬和字高都設(shè)置為16,掃描方式設(shè)置為先上半部分后下半部分。2) 1.IXT -已乒E史件間推心幫或 gg 套颯HJ0 x00,。芯OG/ClxFQOx 10,0 x lOpClxLD.DxLCI ,0 xFFhQx LOjGkLO ,0 x 10 .Ox 1&xFO,OxOO .Ox。, CfcdJ D,0 x00,0 xaacix01jax0

37、4,0 xa4haxD4,OxO4,3職皿4,OxO4,0 x04.0 x04,0ccOF,CixOCLQxgCccO成尸中,一g0 x00 ,OxFE ,0s02 g 12j 0 x92 ,Qz92t0 x92j 0 xF2,0 x92,0 x92f0 x9 2,02i0& QxAS 皿 L Q, DkOO ,0k000k 10,0 x0802404 jOk02 ,0 xFFh0 x4 0, 0k20 ,0 x00 .0 x03, DkO 4 ,OxOAj 0 x11,0 x20 0 x4 00 x4 D,OxOOL/f24/OjiOO F0 xl OOjcSOjOjiSO ,0?j00 卜

38、。xF 吧 0 x00,0 x00 .Oxg DxFFfOxOOpOxDOj DxCOOxS DjOxOOjOxOOJj 0j:40r0 x400 x 0j0 x43,0?:40 0 x7? 0 x40,0?i40 h0 x10,0 x7 Fr0 x42,0 x4 L Dx4OF0K40h0 x1。, 0l 0,/4 業(yè)月丫0 x200 x 1 0,0k2C .OxE,F(xiàn) ,Qk2 4,0 x2 4,0ji00,0kFE ,0k92 巧0 xS2 ,0 x92 hOxFE ,0 x0000 0,0 x00.001 .OxObOMO 1,0 x7 F,0 x2 LOkLI, OhCiQCixFF

39、, 0 x4 0, 0k23 r0 x0Cr0 xl 4,0 x220 x41x40,0 x00 / *糧,4 */000,0k 10。濾 8,0jiC4, Dx33,0k00 .0k4 0,0 x4 2,0 x42,0 x4 2 h0 xC2 0*4 2,0 x42,0s42 0 x4 0, OjiOO,0ji0 2,0 x01 ;0mO0 ,Oj!FT,OhOO ; 0k00,0 x00 ,QxOO ;0 x40, DkSO ,0m7F; 0 x00,0 x00,0 x00,0 x00 .CcjcOO,/圖3-4生成漢字編碼LCD所顯示的每一個(gè)漢字都用此種方法生成。然后以數(shù)組形式存放到Ke

40、il中字庫(kù) 中。將來(lái)顯示函數(shù)會(huì)調(diào)用數(shù)組這樣就將漢字顯示到屏幕上。LCD分為兩種,帶字庫(kù)和不帶字庫(kù)的。帶字庫(kù)的只能顯示GB2312宋體,不帶字 庫(kù)可以顯示多種字體。顯示ASCII字符和1602液晶一樣,只需要將要顯示的字符送到 該顯示的位置即可。Proteus 軟件Proteus 概述Proteus是英國(guó)Labcenter electronic公司開(kāi)發(fā)的多功能EDA軟件5,在全球廣泛 使用。本次使用的是Proteus 7 Professional 7.8sp2它由ISIS (智能原理圖輸入系統(tǒng)) 和AERS (硬刷電路板系統(tǒng))兩大部分組成。其最大特點(diǎn)就是Proteus VSM (虛擬系 統(tǒng)模型)

41、實(shí)現(xiàn)混合模式的SPICE電路仿真。具有虛擬儀表、高級(jí)圖表仿真、微處理 器軟件仿真器,第三方編譯及調(diào)試有機(jī)結(jié)合。Proteus具有特點(diǎn)具有模擬電路、數(shù)字電路、單片機(jī)及外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、IIC調(diào)試器、SPI調(diào)試器、鍵盤和LCD、LED、AD和DA、RAM和ROM系統(tǒng) 的仿真功能。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16 系列、PIC18系列、Z80系列、HC11系列、ARM7系列以及各種外圍芯片。支持最 大的存儲(chǔ)器和外圍芯片。具有集單片機(jī)與SPICE分析于一身仿真軟件,功能強(qiáng)大。 當(dāng)然軟件仿真精度有限,不可能所有器件都

42、找得到相應(yīng)的仿真模型,但是對(duì)于單片機(jī) 愛(ài)好者和簡(jiǎn)單的開(kāi)發(fā)應(yīng)用是比較好的選擇。Proteus是嵌入式系統(tǒng)軟硬件設(shè)計(jì)仿真平臺(tái),它的特點(diǎn)是能夠把用戶編寫的應(yīng)用 程序下載到微處理器(MCU)中,并結(jié)合外界連線及模擬、數(shù)字電路對(duì)微處理器進(jìn)行系 統(tǒng)邏輯功能的控制。常用的微處理器有MCS-51系列和AT89系列等,Proteus的使用 徹底改變了傳統(tǒng)單片機(jī)的學(xué)習(xí)和開(kāi)發(fā)方式,可在沒(méi)有硬件條件的基礎(chǔ)上進(jìn)行邏輯控制 電路設(shè)計(jì),大幅縮短了開(kāi)發(fā)周期,節(jié)約了開(kāi)發(fā)成本。打開(kāi)Proteus軟件進(jìn)行硬件原理圖的繪制,單擊Device上的P在Keywords里輸 入選用的器件的名稱,單擊OK就將元件加到工作區(qū)中,用線將其端口連

43、起來(lái)。畫(huà)總 線時(shí)為了美觀在總線轉(zhuǎn)折處時(shí)按鍵盤上Ctrl鍵就將總線按45度方向畫(huà)。硬件電路圖 繪制時(shí)有時(shí)導(dǎo)線跨越幅度太大時(shí),可以采用標(biāo)號(hào)方式。相同標(biāo)號(hào)代表物理連接,使得 電路圖整潔美觀。3.5.3虛擬工.具箱避輯分Hr*電壓那電說(shuō)衣甲口調(diào)試5圖3-5 Proteus虛擬工具箱Proteus的虛擬工具箱提供了電路測(cè)試中的常用工具和儀器,主要用于在實(shí)時(shí)仿真同時(shí)的電路參數(shù)觀測(cè),測(cè)量結(jié)果隨仿真動(dòng)態(tài)變化并顯示,可以滿足精度要求不是很 高的測(cè)量分析,對(duì)于電路特性的定性分析可以起到事半功倍的效果,大大節(jié)約了測(cè)試 時(shí)間和開(kāi)發(fā)成本。Keil 軟件Keil C51是美國(guó)Keil Software公司出品的51系列兼

44、容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā) 系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì), 因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng) 大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境uVision將這些部分 組合在一起。3.6.1概述Keil C5114軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,兼容 Windows系統(tǒng),另外重要的一點(diǎn),匯編語(yǔ)言雖然直觀更接近硬件,但只要看一下編譯 后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句 生成的匯編代碼很緊湊容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面

45、 詳細(xì)介紹Keil C51開(kāi)發(fā)系統(tǒng)各部分功能和使用。Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),uVision是在 Windows下運(yùn)行的版本,可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。 開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51 編譯器編譯生成目標(biāo)文件OBJ。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù) 文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件ABS。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的 HEX文件,以供調(diào)試器Dscope51或Tscope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真 器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序

46、存貯器如EPROM中。使用獨(dú)立 的Keil仿真器時(shí),仿真器標(biāo)配12MHz的晶振,但用戶可以在仿真器上的晶振插孔中 換插其他頻率的晶振。仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。仿真 芯片的31腳EA已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM,不能使用片外ROM, 但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò) 展有外部ROM其CPU的EA引腳接至低電平的目標(biāo)系統(tǒng)中使用。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容 易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。與匯編相比,C語(yǔ)言在功能上、 結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的

47、優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。3.6.2創(chuàng)建工程此 kEm - 如4u I 回 I S3 |niyew Projed: H#h rs.ebi.g BefiphEM, Inals _5VL5 ndaw H?p嵯房a *f a#閭 5尊 國(guó)七I函 krtmi.英 iBfcj Target 1 古 Q Group 1 katm.c rarfirDLkd.h hdrrsfm.h * bi-snlcS-.h-llQQQy-EI-s國(guó)曰目dplay.hicchFediitehlth財(cái) 3# i nc 1 ude M2 .M300+Lfl5血Cd 7MB009LHDOil0

48、12=incljdebianldv. h) .變量定義#include/lcd動(dòng)程序#Lncljdehanssn. h/,函藪的聲 WW#include#L:cldde=i ncljde:i iccon, h1#include/4美數(shù)據(jù)和函魏的初始化#incldde#Lncludevoid cflelay(iiin: a) g j 1*0150150171Tichar x, y ;forx一)fciT (y-110: y)3: y -):1 nuritf OutputSinulatjon圖3-7 Keil創(chuàng)建工程界面Keil使用時(shí)必須要?jiǎng)?chuàng)建一個(gè)工程,單擊Project菜單選擇New uviso

49、n project,選 擇ATMEL下的ATC8951單片機(jī)。然后新建一個(gè)C文件保存。右鍵Target目錄下的 Source Group1添加C文件到工程中,在C文件中進(jìn)行程序輸入,首先將所需要的頭 文件和宏定義寫入比如 reg52.h、math.h、ctype.h、stdio.h、stdlib.h、absacc.h; #define uchar unsigned char, #define uint unsigned int。各個(gè)功能函數(shù)都可以保存為H文件然 后直接用頭文件包含主函數(shù)就可以實(shí)現(xiàn)調(diào)用。單擊左上角的編譯如果下邊顯示沒(méi)有錯(cuò) 誤則程序編寫成功,否則編譯時(shí)通不過(guò)的。將生成HEX文件打上

50、鉤重新編譯一下, 在目錄下將生成十六進(jìn)制HEX文件,單片機(jī)將要添加。在Proteus軟件中右鍵單擊單 片機(jī),在目錄下找到生成的HEX文件,單擊左下角的開(kāi)始按鈕就開(kāi)始仿真。第四章Proteus軟件仿真結(jié)果本次ATM所編寫的功能都可以通過(guò)Proteus軟件仿真實(shí)現(xiàn),以下就介紹取款這項(xiàng) 功能為例來(lái)說(shuō)明仿真效果。在Proteus軟件中單擊開(kāi)始仿真按鈕就出現(xiàn)圖4-1,開(kāi)機(jī)頁(yè)面為中國(guó)農(nóng)業(yè)銀行自動(dòng) 取款機(jī)系統(tǒng),提示插入磁卡,可以任意選擇三張卡,以卡一為例,按鍵盤上卡一鍵后 選擇卡一,顯示圖4-2要求輸入密碼畫(huà)面,密碼初始設(shè)置為123456,在鍵盤上正確輸 入密碼,如果密碼錯(cuò)誤則會(huì)顯示密碼錯(cuò)誤頁(yè)面。圖4-1開(kāi)

51、機(jī)界面圖4-2輸入密碼界轉(zhuǎn)到業(yè)務(wù)選擇頁(yè)面時(shí),按下取款鍵圖4-3業(yè)務(wù)選擇界面Rxgg 寸 ENua to m mi m m m oo m m tr 口 Qi n Q Q O O D LU選擇200元按鍵如下圖中國(guó)農(nóng)業(yè)銀行請(qǐng)選擇金額100200300退出圖4-4取款金額界面LCD顯示屏幕上會(huì)出現(xiàn)“正為你準(zhǔn)備鈔票頁(yè)面”如下圖4-5,這時(shí)需在Proteus 軟件按下“準(zhǔn)備鈔票鍵”。然后在Proteus軟件按下“取走鈔票鍵鍵”,圖4-6所示。 卡一的初始金額設(shè)置為1000元,當(dāng)完成取款后,選擇查詢下的查詢余額屏幕就會(huì)顯 示出“你的余額為800元”。圖4-5準(zhǔn)備鈔票界面圖4-6取走鈔票界面ATM自動(dòng)取款的

52、功能通過(guò)Proteus軟件仿真正確實(shí)現(xiàn)。系統(tǒng)其它功能如用戶在 ATM上查詢賬戶余額、修改密碼、提示賬戶凍結(jié)、密碼保護(hù)、自動(dòng)存款及轉(zhuǎn)賬功能 都可可以仿真實(shí)現(xiàn)。第五章結(jié)論單片機(jī)發(fā)展已有30多年,但是還是吸引了無(wú)數(shù)的愛(ài)好者。作為測(cè)控技術(shù)與儀器 的畢業(yè)生,用單片機(jī)實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)控制是必須掌握的基本能力。凡是與控制或簡(jiǎn)單 計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來(lái)實(shí)現(xiàn),再根據(jù)具體實(shí)際情況選擇不同性能的單 片機(jī),51單片機(jī)也是最廉價(jià)的選擇。單片機(jī)系統(tǒng)的開(kāi)發(fā)過(guò)程首先要進(jìn)行系統(tǒng)需求調(diào)查,做好詳細(xì)的系統(tǒng)調(diào)查是對(duì)系統(tǒng) 研制的關(guān)鍵。其次就是可行性分析,包括功能方面、安全性、經(jīng)濟(jì)性等來(lái)決定能否進(jìn) 行下去。系統(tǒng)方案的設(shè)計(jì)是實(shí)現(xiàn)

53、的基礎(chǔ),要求全面地考慮包括系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),功能 設(shè)計(jì)。然后系統(tǒng)建模是將硬件框圖轉(zhuǎn)化為具體的電路,軟件流程用程序?qū)崿F(xiàn)。最后是 系統(tǒng)調(diào)試階段,排除設(shè)計(jì)中的錯(cuò)誤直到運(yùn)行成功為止,由于種種局限,其中可能需要 方案局部修改再次進(jìn)入調(diào)試階段。加工成品時(shí),用硬件原理圖生成印制電路板PCB 版即可到工廠去加工,然后將所需硬件一一焊接到電路板上。參考文獻(xiàn)譚浩強(qiáng).C程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社.2001.1. 求實(shí)科技.8051系列單片機(jī)C語(yǔ)言設(shè)計(jì)完全手冊(cè).北京:人民郵電出版社.2006. 4.郭天翔.51單片機(jī)C語(yǔ)言教程.北京:電子工業(yè)出版社.2009.7.李廣第.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)

54、出版社.1994.楊延寧,劉利軍,張志勇.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示電路.西北大 學(xué).2009. 2第24卷第2期.王威,劉佳,張志雄.基于Proteus和Keil的單片機(jī)虛擬仿真平臺(tái)的設(shè)計(jì).上海電 力學(xué)院.2009. 12.第25卷第6期.何立明.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版 社.1995.張凱.單片機(jī)綜合系統(tǒng)及其設(shè)計(jì)開(kāi)發(fā).北京:科學(xué)出版社.1996.侯伯亨,李伯成,十六位微型計(jì)算機(jī)原理及接口技術(shù).西安:西安電子科技大學(xué) 出版社.1996.丁元杰,單片微機(jī)原理.北京:機(jī)械工業(yè)出版社.1994.陳偉人.AT89C系列單片機(jī)技術(shù)手冊(cè).北京:北京威力姆

55、電子技術(shù)有限責(zé)任公 司.1995.馬忠梅,劉濱,戚軍.單片機(jī)C語(yǔ)言Windows環(huán)境編程寶典M.北京:北京 航空航天大學(xué)出版社.2004.簡(jiǎn)獻(xiàn)忠,虞箐.基于80C51和Keil C5l的LED點(diǎn)陣顯示系統(tǒng)J.儀器儀表學(xué) 報(bào).2005(26): 315316.馬患梅.單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)(修訂本)M北京:北京航空航天大學(xué)出版 社.1999.ZHOU W,KENZO WATANABE Technology development of instrumentation and measurement abroad in recent yearsJ. Chinese Journal of Scie

56、ntific Instrument. 2005(7): 765-770.ZHANGS Y X. Single microcomputer principle application and interface technologyM. Beijing: National De一fence Industry Press. 1993.Atmel Microcontroller Handbook. 2001.附錄#include#include/變量定義#include/lcd 的驅(qū)動(dòng)程序 #include/ 函數(shù)的聲明 #include#include#include#include/數(shù)據(jù)和函數(shù)的

57、初始化#include#includevoid delay(uint a)uchar x,y;for(x=a;x0;x-)for(y=110;y0;y-);void buzzer_di()/蜂鳴器 di 聲buzzer=0;delay(100);buzzer=1;void main()init();ininticcdate();/E2PROM 數(shù)據(jù)初始化 TMOD=0 x01;/定時(shí)器0工作方式1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/開(kāi)總中斷ET0=1;/開(kāi)定時(shí)器0中斷while(1)if(chakc=0)keysanf_chak

58、();if(chakc=1)display_mima();chakc=2;if(chakc=2)keysanf_mima();if(xing6)xing=6;if(xing0)xing=0;keysanf_lk1();if(lk1bz=1)mima=table_mimaxing-1;xing-;lk1bz=0;display_mimax(xing);table_mimaxing=mima;keysanf_rk1();/ 取卡if(rk1bz=1)init();keysanf_rk2();/ 取款if(rk2bz=1)chakc=4;rk2bz=0;keysanf_lk2();/ 查詢余額if(

59、lk2bz=1)chakc=7;lk2bz=0;keysanf_lk1();/修 改密碼if(lk1bz=1)chakc=9;lk1bz=0;if(chakc=4)display_qukuan();/ 顯示取款頁(yè)面keysanf_rk1();/ 退出按鍵if(rk1bz=1)chakc=3;if(xing=6)keysanf_rk1();if(rk1bz=1)if(if(table_mima1=read_add(1+(cha-1)*8)&table_mima2=read_add(2+(cha-1)*8)&table_mima3=read_add(3+(cha-1)*8)&table_mima4

60、=read_add(4+(cha-1)*8)&table_mima5=read_add(5+(cha-1)*8)&table_mima6=read_add(6+(cha-1)*8)chakc=3;TR0=1;/啟動(dòng)定時(shí)器0elsechakc=10;erroncount=read_add(0+(cha-1)*8)+1;delay(50);write_add(0+(cha-1)*8,erroncount);rk1bz=0;xing=0;if(chakc=3)display_ywxuanze();/ 選擇業(yè)務(wù)rk1bz=0;keysanf_rk2();/取款 200 按鍵if(rk2bz=1)yue

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論