課程簡(jiǎn)易計(jì)算器與實(shí)現(xiàn)_第1頁(yè)
課程簡(jiǎn)易計(jì)算器與實(shí)現(xiàn)_第2頁(yè)
課程簡(jiǎn)易計(jì)算器與實(shí)現(xiàn)_第3頁(yè)
課程簡(jiǎn)易計(jì)算器與實(shí)現(xiàn)_第4頁(yè)
課程簡(jiǎn)易計(jì)算器與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

16/16長(zhǎng)江職業(yè)學(xué)院工學(xué)院畢業(yè)實(shí)踐報(bào)告課題名稱:簡(jiǎn)易計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)專業(yè)班級(jí):計(jì)算機(jī)控制技術(shù)081班學(xué)生姓名:黃楊學(xué)號(hào):20082940班級(jí)序號(hào)6實(shí)踐性質(zhì):校內(nèi)畢業(yè)實(shí)踐實(shí)踐成績(jī):指導(dǎo)老師:杜力201目錄一、緒論TOC\o”1—3”\h\z\u1.1計(jì)算器的歷史 41.2電子計(jì)算器的特殊鍵 41.3單片機(jī)概述 51。4設(shè)計(jì)要求 51.5我做簡(jiǎn)易模擬計(jì)算器的過(guò)程說(shuō)明 51.6系統(tǒng)的基本功能 6二、課題設(shè)計(jì)的分析與思路的確定 6三、芯片簡(jiǎn)介 73.1MSC-51芯片簡(jiǎn)介 73.2MCS—51的引腳說(shuō)明 9四、計(jì)算器程序設(shè)計(jì) 114.1存儲(chǔ)單元分配 114.2主程序設(shè)計(jì) 114.3數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序CONV 124。4數(shù)碼管動(dòng)態(tài)顯示子程序 12五、連接知識(shí) 125.1鍵盤的連接 125.2、顯示器的連接 13六、仿真過(guò)程 15八、參考文獻(xiàn) 17一、緒論本課題擬定以MCS-51系列單片機(jī)為控制中心,采用模塊化的設(shè)計(jì)方案,運(yùn)用液晶顯示器或LED顯示數(shù)據(jù)/鍵盤輸入數(shù)據(jù),以實(shí)現(xiàn)能夠完成加、減、乘、除、數(shù)據(jù)存儲(chǔ)等運(yùn)算的簡(jiǎn)易計(jì)算器.系統(tǒng)的功能是:(1)模擬的計(jì)算器能顯示10位數(shù)字,開(kāi)機(jī)運(yùn)行時(shí),只顯示最低位為“0”,其余不顯示;(2)4×4鍵盤分別表示:0到9,+,-,×,/,=,CL;(3)第一次按下,顯示“D1”,第二次按下,顯示“D1D2”,第三次按下,顯示“D1D2D3"…8個(gè)全顯示完畢,再次按下按鍵時(shí),給出“嘀”的提示音;(4)可以對(duì)計(jì)算結(jié)果小于256的兩個(gè)無(wú)符號(hào)數(shù)進(jìn)行加、減、乘、除運(yùn)算.

單片機(jī)程序用匯編語(yǔ)言編寫(xiě),經(jīng)過(guò)Wave軟件調(diào)試,生成HEX文件,再用Proteus軟件進(jìn)行計(jì)算機(jī)仿真。

程序中鍵盤部分使用行列式掃描原理,若無(wú)鍵按下則調(diào)用動(dòng)態(tài)顯示程序,并繼續(xù)檢測(cè)鍵盤;若有鍵按下則得其鍵值,并通過(guò)查表轉(zhuǎn)換為數(shù)字0—9和功能鍵與清零鍵的代號(hào)。

動(dòng)態(tài)顯示程序,是先建立待顯示緩沖區(qū)地址指針和共陰極數(shù)碼管的段代碼表;緩沖區(qū)內(nèi)容通過(guò)查表得相應(yīng)的段代碼,再用位選信號(hào)動(dòng)態(tài)掃描顯示。

主程序在初始化后調(diào)用鍵盤程序,再判斷返回的值。若為數(shù)字0—9,則根據(jù)按鍵的次數(shù)進(jìn)行保存和顯示的處理,當(dāng)按鍵次數(shù)超過(guò)八時(shí),喇叭位置一;若為功能鍵,則先判斷上次的功能鍵,根據(jù)代號(hào)執(zhí)行不同功能,并將按鍵次數(shù)清零,然后進(jìn)入BCD碼程序,將計(jì)算結(jié)果拆分成個(gè)、十、百位,再返回主程序繼續(xù)檢測(cè)鍵盤并顯示;若為清零鍵,則返回主程序的最開(kāi)始。1.1計(jì)算器的歷史說(shuō)起計(jì)算器,值得我們驕傲的是,最早的計(jì)算工具誕生在中國(guó)。中國(guó)古代最早采用的一種計(jì)算工具叫籌策,又被叫做算籌.這種算籌多用竹子制成,也有用木頭,獸骨充當(dāng)材料的。約二百七十枚一束,放在布袋里可隨身攜帶.直到今天仍在使用的珠算盤,是中國(guó)古代計(jì)算工具領(lǐng)域中的另一項(xiàng)發(fā)明,明代時(shí)的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。17世紀(jì)初,西方國(guó)家的計(jì)算工具有了較大的發(fā)展,英國(guó)數(shù)學(xué)家納皮爾發(fā)明的”納皮爾算籌”,英國(guó)牧師奧卻德發(fā)明了圓柱型對(duì)數(shù)計(jì)算尺,這種計(jì)算尺不僅能做加減乘除、乘方、開(kāi)方運(yùn)算,甚至可以計(jì)算三角函數(shù),指數(shù)函數(shù)和對(duì)數(shù)函數(shù),這些計(jì)算工具不僅帶動(dòng)了計(jì)算器的發(fā)展,也為現(xiàn)代計(jì)算器發(fā)展奠定了良好的基礎(chǔ),成為現(xiàn)代社會(huì)應(yīng)用廣泛的計(jì)算工具。1.2電子計(jì)算器的特殊鍵在使用電子計(jì)算器進(jìn)行四則運(yùn)算的時(shí)候,一般要用到數(shù)字鍵,四則運(yùn)算鍵和清除數(shù)據(jù)鍵。除了這些按鍵,還有一些特殊鍵,可以使計(jì)算更加簡(jiǎn)便迅速。1。3單片機(jī)概述單片機(jī)是現(xiàn)代電子設(shè)備中使用最廣泛的電子元件。它的價(jià)格低廉,功能強(qiáng)大,條件小,性能穩(wěn)定。目前在各類產(chǎn)品中都能看到單片機(jī)的身影,如門鈴、報(bào)警器、玩具以及各類數(shù)據(jù)采集系統(tǒng)等.單片機(jī)又稱為微處理器,它是把中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器、I\O接口、定時(shí)器\計(jì)數(shù)器及其其他通信接口等全部集成在一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。但隨著大規(guī)模集成電路和計(jì)算機(jī)的技術(shù)的迅速發(fā)展,現(xiàn)在有些單片機(jī)本身就帶有A/D、D/A轉(zhuǎn)換器和串行接口等功能部件,使其更符合多功能控制技術(shù)要求。單片機(jī)在電路中作為一個(gè)控制器,在外部必然加一些硬件系統(tǒng)(如驅(qū)動(dòng)電路、輸入設(shè)備及執(zhí)行機(jī)構(gòu)等)和軟件設(shè)計(jì)(流程圖、程序),這樣就是一個(gè)實(shí)用的控制系統(tǒng),以滿足各個(gè)應(yīng)用領(lǐng)域的需要.單片機(jī)廠商很多,但目前在我國(guó)使用最為廣泛的單片機(jī)系列Intel公司生產(chǎn)的MCS-51系列單片機(jī)。1。4設(shè)計(jì)要求1.設(shè)計(jì)4*4的鍵盤,其中10個(gè)數(shù)字鍵0~9,其余6個(gè)為“+”“—”“*”“/”“=”和“C”2.設(shè)計(jì)2位LED接口電路3.實(shí)現(xiàn)1位數(shù)的簡(jiǎn)單運(yùn)算1。5我做簡(jiǎn)易模擬計(jì)算器的過(guò)程說(shuō)明計(jì)算器是數(shù)字電路系統(tǒng)中最基本的功能模塊之一。設(shè)計(jì)十進(jìn)制計(jì)算器,要求計(jì)算器有計(jì)數(shù)允許和復(fù)位輸入及進(jìn)位輸出功能.計(jì)數(shù)時(shí)鐘可以用2Hz信號(hào),用LED顯示計(jì)數(shù)值.本設(shè)計(jì)要求用仿真和測(cè)試兩種手段來(lái)驗(yàn)證計(jì)數(shù)器的功能。1.6系統(tǒng)的基本功能它具有計(jì)數(shù)允許,復(fù)位和預(yù)置數(shù)據(jù)功能。二、課題設(shè)計(jì)的分析與思路的確定首先本次課程設(shè)計(jì)的任務(wù)是設(shè)計(jì)一個(gè)簡(jiǎn)單的能進(jìn)行六位無(wú)符號(hào)整數(shù)的加減乘除運(yùn)算的計(jì)算器,首先考慮畫(huà)原理圖,所用CPU可以選擇AT89C51或AT89C52,我選擇了后者。顯示設(shè)備,因?yàn)槭橇粩?shù),所以可以選擇一個(gè)六位LED液晶顯示屏作顯示器,顯示屏有共陽(yáng)極的和共陰極的兩種,在這里我選擇了共陽(yáng)極顯示屏,輸入數(shù)據(jù)低電平有效??刂贫烁唠娖接行А3绦蛟O(shè)計(jì)首先考慮鍵盤,程序要一直不斷地掃描鍵盤,看是否有按鍵按下,當(dāng)按鍵按下時(shí)就會(huì)執(zhí)行相應(yīng)的程序。鍵盤只需要八個(gè)接口就可以完全控制,因此使用AT89C52的一個(gè)并行口就可實(shí)現(xiàn),用p1口控制鍵盤實(shí)現(xiàn)鍵盤的掃描。用p2口傳送數(shù)據(jù)顯示數(shù)字,用p3口的低六位控制六個(gè)數(shù)碼管的顯示。掃描到按鍵就要處理按鍵,顯示0~9十個(gè)數(shù)字,用到按鍵數(shù)據(jù)顯示函數(shù),數(shù)據(jù)顯示需要一個(gè)動(dòng)態(tài)顯示的過(guò)程,計(jì)算器要處理第一個(gè)數(shù)和運(yùn)算符,因此還要編寫(xiě)運(yùn)算符處理函數(shù)。加減乘除運(yùn)算的結(jié)果不能在數(shù)碼管上顯示,需要將數(shù)據(jù)轉(zhuǎn)換,讓六個(gè)數(shù)碼管分別顯示各個(gè)位上的數(shù)據(jù).這就需要編寫(xiě)LED顯示函數(shù)。當(dāng)按下加減乘除運(yùn)算符處理完相應(yīng)的運(yùn)算后,要將數(shù)碼顯示管清零以便顯示系一個(gè)數(shù)據(jù),因此又需要編寫(xiě)清零函數(shù)。整個(gè)程序采用函數(shù)思想,將整個(gè)程序化整為零.編寫(xiě)各個(gè)函數(shù)然后調(diào)用函數(shù)就可實(shí)現(xiàn)計(jì)算器功能.程序的整體流程為:1、主函數(shù)調(diào)用鍵盤掃描函數(shù),2、如果有按鍵且是0~9十個(gè)數(shù)字則調(diào)用按鍵顯示函數(shù)顯示數(shù)字,3、如果是開(kāi)關(guān)按鍵則調(diào)用清零函數(shù)。4、如果是加減乘除運(yùn)算符,調(diào)用第一個(gè)數(shù)及運(yùn)算符處理函數(shù).5、如果是等號(hào)按鍵,則調(diào)用運(yùn)算結(jié)果運(yùn)算函數(shù),運(yùn)算結(jié)果函數(shù)再調(diào)用LED顯示函數(shù)顯示結(jié)果。程序的整體設(shè)計(jì)思路就出來(lái)了,程序中還會(huì)用到延時(shí)程序,因此添加完延時(shí)程序后,整個(gè)程序就編寫(xiě)完了.三、芯片簡(jiǎn)介3。1MSC-51芯片簡(jiǎn)介MCS—51單片機(jī)內(nèi)部結(jié)構(gòu)

8051是MCS—51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解.

8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:中央處理器

中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(RAM)

8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 圖1程序存儲(chǔ)器(ROM):8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(ROM):8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路:8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS—96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS—51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖5。3。2MCS—51的引腳說(shuō)明:MCS—51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:MCS-51的引腳說(shuō)明:MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖3Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位.初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專用寄存器被清“0”.RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序.然而,初始復(fù)位不改變RAM(包括工作寄存器R0—R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。四、計(jì)算器程序設(shè)計(jì)4。1存儲(chǔ)單元分配30H單元:數(shù)值個(gè)位顯示單元;31H單元:數(shù)值十位顯示單元;32H單元:數(shù)值百位顯示單元;33H單元:數(shù)值千位顯示單元;23H單元:第一操作數(shù)存儲(chǔ)單元;24H單元:第二操作數(shù)存儲(chǔ)單元;25H單元:鍵值暫存單元;27H單元:清除鍵狀態(tài);34H-37H單元:結(jié)果數(shù)據(jù)轉(zhuǎn)換暫存單元;38H—39H單元:結(jié)果高低8位暫存單元;R5單元:操作數(shù)計(jì)數(shù)單元;R4單元:操作數(shù)數(shù)值位數(shù)計(jì)數(shù)單元;R3單元:運(yùn)算符號(hào)存儲(chǔ)單元。4。2主程序設(shè)計(jì)主程序進(jìn)行程序中用到的一些存儲(chǔ)單元的初始化,數(shù)值顯示和4*4鍵盤掃描。首先,進(jìn)行存儲(chǔ)單元初始化,給數(shù)碼管顯示單元30H—33H賦予“0000”字形數(shù)據(jù),將數(shù)值計(jì)數(shù)單元,存儲(chǔ)單元,23H-25H,34H—37H,38H,39H,3AH,3BH,3CH,賦予初值零。之后,調(diào)用鍵盤掃描子程序,和數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換程序,數(shù)碼管動(dòng)態(tài)顯示子程序。主程序不斷進(jìn)行鍵盤掃描,數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序和動(dòng)態(tài)顯示子程序。4.3數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序CONV由于數(shù)值單元存放的是二進(jìn)制數(shù),而用戶熟悉的是十進(jìn)制數(shù),所以應(yīng)將數(shù)值單元中的二進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù),即BCD碼。要通過(guò)數(shù)碼管顯示出當(dāng)前數(shù)值,還必須將BCD碼進(jìn)一步轉(zhuǎn)換為七段碼,轉(zhuǎn)換的最終結(jié)果數(shù)據(jù)存放于顯示緩沖區(qū)30H-33H單元中,其中30H單元存放數(shù)值的個(gè)位七段碼,31H單元存放數(shù)值的十位七段碼,32H單元存放數(shù)值的百位七段碼,33H單元存放數(shù)值的千位七段碼。4.4數(shù)碼管動(dòng)態(tài)顯示子程序本任務(wù)由P1口輸出字形碼,P0口輸出字位碼。先將存放于30H單元的數(shù)值個(gè)位七段碼由P1口輸出,同時(shí)P0口輸出使數(shù)值個(gè)位顯示數(shù)碼管點(diǎn)亮的字位碼。由于采用的是共陽(yáng)數(shù)碼管,所以只有該位數(shù)碼管對(duì)應(yīng)的P0.0為1,其他位P0。1-P0。3位0,點(diǎn)亮延時(shí)10MS。然后P1口輸出數(shù)值十位七段碼,P0.1位1,數(shù)值十位數(shù)碼管點(diǎn)亮,延時(shí)10MS.接著P1口輸出數(shù)值百位七段碼,P0。2為1,數(shù)值百位數(shù)碼管點(diǎn)亮,延時(shí)10MS。最后P1口輸出數(shù)值千位七段碼,P0.3為1,數(shù)值千位數(shù)碼管點(diǎn)亮,延時(shí)10MS。五、連接知識(shí)5.1鍵盤的連接鍵盤由4*4共16個(gè)按鍵組成,10個(gè)數(shù)字鍵(由0-9組成)5個(gè)運(yùn)算符號(hào)(加減乘除等于)組成,1個(gè)清除鍵(作用相當(dāng)于整體復(fù)位)。鍵盤只需要八個(gè)接口就可以完全控制,因此使用AT89C52的一個(gè)并行口就可實(shí)現(xiàn),用p1口控制鍵盤實(shí)現(xiàn)鍵盤的掃描。用p2口傳送數(shù)據(jù)顯示數(shù)字,用p3口的低六位控制六個(gè)數(shù)碼管的顯示.監(jiān)測(cè)是否有鍵按下,有鍵按下時(shí),在無(wú)硬件去抖的動(dòng)電路時(shí),應(yīng)用軟件延時(shí)方法消除按鍵抖動(dòng)影響;當(dāng)有多個(gè)鍵同時(shí)按下時(shí),只處理一個(gè)按鍵,不管一次按鍵持續(xù)多長(zhǎng)時(shí)間,僅執(zhí)行一次按鍵功能程序。鍵盤連接圖如下。5。2、顯示器的連接在本任務(wù)中用6位LED數(shù)碼管顯示當(dāng)前數(shù)值的十萬(wàn),萬(wàn),千,百,十,個(gè),由于數(shù)碼管個(gè)數(shù)多,如采用靜態(tài)顯示方式,則占用單片機(jī)的I/O口線太多,如果用定時(shí)器/計(jì)數(shù)器的串行移位寄存器工作方式及外接串入并出移位寄存器74LS164的方式,則電路復(fù)雜。所以,在數(shù)碼管個(gè)數(shù)較多時(shí),常采用動(dòng)態(tài)顯示方式。顯示屏有共陽(yáng)極的和共陰極的兩種,這這里我們選擇共陽(yáng)極顯示屏,輸入數(shù)據(jù)低電平有效,控制端高電平有效。6位數(shù)碼管的相同段并聯(lián)在一起,由一個(gè)8位I/O(P1口)輸出字形碼控制顯示某一字形,每個(gè)數(shù)碼管的公共端由另外一個(gè)I/O口(P2口)輸出的字位碼控制,即數(shù)碼管顯示的字形是由單片機(jī)I/O口輸出的字形碼確定,而哪個(gè)數(shù)碼管點(diǎn)亮是由單片機(jī)I/O口輸出的字位碼確定的。6個(gè)數(shù)碼管分時(shí)輪流循環(huán)點(diǎn)亮,在同一時(shí)刻只有1個(gè)數(shù)碼管點(diǎn)亮,本此硬件連接的系統(tǒng)總框圖如下:六、仿真過(guò)程程序編寫(xiě)完成后,編譯、連接、運(yùn)行程序,生成hex文件。如果程序有錯(cuò)進(jìn)行調(diào)試,按f10進(jìn)行單步調(diào)試,調(diào)試無(wú)誤后會(huì)生成hex文件,右鍵單擊cpu后添加hex文件,將軟件與硬件結(jié)合起來(lái)進(jìn)行仿真,輸入數(shù)據(jù)檢測(cè)加減乘除運(yùn)算.當(dāng)然程序運(yùn)行無(wú)誤并不等于完成任務(wù),如果硬件不能實(shí)現(xiàn)預(yù)設(shè)的功能,還需要檢查源程序采用單步調(diào)試,選取變量,觀察變量值是否符合。多次調(diào)試直到與預(yù)想功能符合時(shí),仿真成功.調(diào)試過(guò)程中最主要的難點(diǎn)就是程序運(yùn)行正確,硬件卻不能實(shí)現(xiàn)其功能,語(yǔ)法邏輯錯(cuò)誤好檢查,但功能錯(cuò)誤卻難檢查,這需要認(rèn)真檢查程序的每一步,全局縱觀

溫馨提示

  • 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)論