2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)</p><p><b>  成績(jī):______</b></p><p>  題目:簡(jiǎn)易計(jì)算器的設(shè)計(jì)</p><p>  系別:電氣信息工程學(xué)院</p><p><b>  目錄</b></p><p><b>

2、  摘 要</b></p><p><b>  第一章 緒 論</b></p><p>  第二章 方案論證與設(shè)計(jì)</p><p>  2.1 設(shè)計(jì)目標(biāo)和實(shí)現(xiàn)方法</p><p>  2.2方案論證與設(shè)計(jì)</p><p>  第三章 硬件模塊介紹</p>

3、<p><b>  3.1 運(yùn)算模塊</b></p><p>  3.2 單片機(jī)(AT89C51)</p><p>  3.2.1 單片機(jī)(AT89S51)的引腳功能</p><p>  3.3.2 引腳介紹</p><p>  3.3 74ls245芯片</p><p> 

4、 74ls245芯片如圖3-7所示</p><p>  3.4 輸入模塊</p><p>  3.4.1 鍵盤介紹</p><p><b>  3.5 顯示模塊</b></p><p>  3.5 .1 數(shù)碼</p><p>  3.5.2 數(shù)碼管的分類</p>&l

5、t;p><b>  第四章 軟件設(shè)計(jì)</b></p><p>  4.1 LED顯示程序流程圖設(shè)計(jì)</p><p>  4.2 讀鍵輸入程序流程圖設(shè)計(jì)</p><p>  4.3 主程序流程圖設(shè)計(jì)</p><p>  第五章 仿真及調(diào)試</p><p><b>  總

6、結(jié)</b></p><p>  附錄 ....................................................................</p><p><b>  摘要</b></p><p>  計(jì)算器在人們的日常中是比較的常見的電子產(chǎn)品之一。可是它還在發(fā)展之中,以后必將出現(xiàn)功能更加強(qiáng)大的

7、計(jì)算器,基于這樣的理念,本次設(shè)計(jì)是用單片機(jī)來設(shè)計(jì)的八位計(jì)算器。該設(shè)計(jì)系統(tǒng)是以AT89C51為單片機(jī),用74LS245為顯示位控制, P1口作為輸入端,外接4X4的鍵盤,通過鍵盤掃描來對(duì)輸入數(shù)的控制,并外接驅(qū)動(dòng)電路,系統(tǒng)采用LED數(shù)碼管作為顯示器,軟件程序采用均采用C語言編寫,便于移植與升級(jí)。報(bào)告詳細(xì)介紹了整個(gè)系統(tǒng)的硬件組成結(jié)構(gòu)、工作原理和系統(tǒng)的軟件程序設(shè)計(jì)。計(jì)算器將完成的功能有整數(shù)的加,減,乘,除等功能。</p><

8、p>  關(guān)鍵字 計(jì)算器 數(shù)碼管 74LS245</p><p><b>  第一章 緒 論</b></p><p>  隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步的提高,尤其是微電子技術(shù)的發(fā)展,猶如雨后春筍般的變化。電子產(chǎn)品的更新速度快就不足驚奇了, 單片機(jī)的應(yīng)用已經(jīng)越來越貼近生活,用單片機(jī)來實(shí)現(xiàn)一些電子設(shè)計(jì)也變得容易起來?! 〗陙?,單片機(jī)以其體

9、積小、價(jià)格廉、面向控制等獨(dú)特優(yōu)點(diǎn),在各種工業(yè)控制、儀器儀表、設(shè)備、產(chǎn)品的自動(dòng)化、智能化方面獲得了廣泛的應(yīng)用。與此同時(shí),單片機(jī)應(yīng)用系統(tǒng)的可靠性成為人們?cè)絹碓疥P(guān)注的重要課題。影響可靠性的因素是多方面的,如構(gòu)成系統(tǒng)的元器件本身的可靠性、系統(tǒng)本身各部分之間的相互耦合因素等。其中系統(tǒng)的抗干擾性能是系統(tǒng)可靠性的重要指標(biāo)。</p><p>  本設(shè)計(jì)采用80S51 芯片,實(shí)現(xiàn)了利用單片機(jī)進(jìn)行了一個(gè)簡(jiǎn)單計(jì)算器設(shè)計(jì)。允許對(duì)輸入數(shù)據(jù)

10、進(jìn)行加減乘除運(yùn)算及LED 顯示。如果設(shè)計(jì)對(duì)象是更為復(fù)雜的計(jì)算器系統(tǒng),其實(shí)際原理與方法與本設(shè)計(jì)基本相同。另外,實(shí)例所設(shè)計(jì)的計(jì)算器是用LED 數(shù)碼管顯示的,當(dāng)然也可以用其他的器件顯示,如LED 顯示屏,這樣就可以顯示出更多的字符,在此基礎(chǔ)上,還可以編寫更加完善的程序來實(shí)現(xiàn)更多的計(jì)算功能。設(shè)計(jì)的關(guān)鍵所在,必須非常熟悉單片機(jī)的原理與結(jié)構(gòu),同時(shí)還要對(duì)整個(gè)設(shè)計(jì)流程有很好的把握,將單片機(jī)和其他模塊完整的銜接。</p><p>

11、  第二章 方案論證與設(shè)計(jì)</p><p>  2.1 設(shè)計(jì)目標(biāo)和實(shí)現(xiàn)方法</p><p>  為了滿足計(jì)算器的基本要求,可以基本的運(yùn)算(加減乘除),數(shù)據(jù)歸零和出錯(cuò)警告提示,我們采用基于單片機(jī)設(shè)計(jì)計(jì)算器,并用LED 數(shù)碼管顯示數(shù)據(jù),4*4 的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入。設(shè)計(jì)仿真和調(diào)試要用到Protues 、Keil等軟件。</p><p>  2.2方案論證與設(shè)計(jì)&l

12、t;/p><p>  根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用MCS 51 單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口</p><p>  電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。具體設(shè)計(jì)考慮如下:</p><p>  ①由于要設(shè)計(jì)的是簡(jiǎn)單的計(jì)算器,可以進(jìn)行四則運(yùn)算,對(duì)數(shù)字的大小范圍要求不高故</p><p>  我們采用可以進(jìn)行四位數(shù)字的運(yùn)算,選用8 個(gè)LED 數(shù)碼管顯示

13、數(shù)據(jù)和結(jié)果。</p><p> ?、诹硗怄I盤包括數(shù)字鍵(0~9)、符號(hào)鍵(+、-、×、÷)、清除鍵和等號(hào)鍵,故只需要16 個(gè)按鍵即可。</p><p><b>  系統(tǒng)模塊圖:</b></p><p>  圖2-1 系統(tǒng)模塊圖</p><p>  根據(jù)需要我們可以采用自上而下的程序設(shè)計(jì)方法,此方法先從

14、主程序開始設(shè)計(jì),然后再編制各從屬程序和子程序,層層細(xì)化逐步求精,最終完成一個(gè)復(fù)雜程序的設(shè)計(jì)。這種方法比較符合人們的日常思維,缺點(diǎn)是一級(jí)的程序錯(cuò)誤會(huì)對(duì)整個(gè)程序產(chǎn)生影響。程序流程圖如圖2-2所示:</p><p>  圖2-2 程序流程圖</p><p>  第三章 硬件模塊介紹</p><p><b>  3.1 運(yùn)算模塊</b></p&g

15、t;<p>  MCS-51 單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O等一臺(tái)計(jì)算機(jī)所需要的基本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、并行I/O 口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能

16、,通過使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能部件,可以進(jìn)行很快地實(shí)現(xiàn)運(yùn)算功能,如圖2-1所示:</p><p>  圖3-1 單片機(jī)芯片</p><p>  3.2 單片機(jī)(AT89C51)</p><p>  單片機(jī)是我們電子產(chǎn)品實(shí)現(xiàn)自動(dòng)化、智能化必不可少的電子元器件,它的外觀如圖3-2所示:</p&

17、gt;<p>  圖3-2 單片機(jī)外觀圖</p><p>  3.2.1 單片機(jī)(AT89S51)的引腳功能</p><p>  51系列單片機(jī)8031、8051及89c51/89s51均采用40Pin封裝的雙列直接DIP結(jié)構(gòu)。上圖是它們的引腳配置:40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用,如圖3-3所示:&

18、lt;/p><p><b>  圖3-3 引腳圖</b></p><p>  3.3.2 引腳介紹</p><p>  3.3.2.1 電源引腳</p><p>  Vcc 40腳 正電源腳,工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。</p><p>  GND 2

19、0腳 接地端。</p><p>  3.3.2.2 外接晶體引腳</p><p>  外接晶體引腳如圖3-4所示:</p><p>  圖3-4 外接晶體管引腳</p><p>  Pin19:時(shí)鐘XTAL1腳, Pin18:時(shí)鐘XTAL2腳,XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接

20、加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。 型號(hào)同樣為AT89C51的芯片,在其后面還有頻率編號(hào),有12,16,20,24MHz可選。大家在購(gòu)買和選用時(shí)要注意了。如AT89C51 24PC就是最高振蕩頻率為24MHz,40P6封裝的普通商用芯片。</p><p>  3

21、.3.2.3 復(fù)位</p><p>  在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的0000H處開始運(yùn)行程序。常用的復(fù)位電路如下圖3-5所示。</p><p>  圖3-5

22、復(fù)位電路圖</p><p>  復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。當(dāng)8051通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。什么叫復(fù)位?復(fù)位是單片機(jī)重新執(zhí)行程序代碼的意思。8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,如圖3-6所示。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電期間,此腳可接上備用電源, 以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p>

23、<p><b>  圖3-6 復(fù)位方式</b></p><p>  3.3.2.4 輸入輸出(I/O)引腳:</p><p>  P39-P32為P0.0-P0.7輸入輸出腳,稱為P0口,是一個(gè)8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時(shí),P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載電路。通常在使用時(shí)外接上拉電阻,用來驅(qū)動(dòng)多個(gè)數(shù)碼管。

24、在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻。P1-P8為P1.0-P1.7輸入輸出腳,稱為P1口,是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/0口。P1口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。 通常在使用時(shí)外不需要外接上拉電阻,就可以直接驅(qū)動(dòng)發(fā)光二極管。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p>  P21-P28為P2.0-P2.7輸入輸出腳,稱為P2口

25、,是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。 </p><p>  P10-P17為P3.0-P3.7輸入輸出腳,稱為P3口,是一個(gè)帶內(nèi)部上拉電阻

26、的8位雙向I/O口,P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載,這8個(gè)引腳還用于專門的第二功能。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p>  P1-P3端口在做輸入使用時(shí),因內(nèi)部有上接電阻,被外部拉低的引腳會(huì)輸出一定的電流。除此之外P3端口還用于一些專門功能,具體請(qǐng)看下表3-1:</p><p>  表3-1 P3口功能表</p><p>  3.3

27、.2.5 其它的控制或復(fù)用引腳</p><p>  (1) ALE/PROG 30 訪問外部存儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE端仍以不變的頻率輸出脈沖信號(hào)(此頻率是振蕩器頻率的1/6)。在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),出現(xiàn)一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程時(shí),這個(gè)引腳用于輸入編程脈沖PROG</p><p>  (2) PSEN 29 該

28、引是外部程序存儲(chǔ)器的選通信號(hào)輸出端。當(dāng)AT89C51由外部程序存儲(chǔ)器取指令或常數(shù)時(shí),每個(gè)機(jī)器周期輸出2個(gè)脈沖即兩次有效。但訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將不會(huì)有脈沖輸出。</p><p>  (3) EA/Vpp 31 外部訪問允許端。當(dāng)該引腳訪問外部程序存儲(chǔ)器時(shí),應(yīng)輸入低電平。要使AT89S51只訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),這時(shí)該引腳必須保持低電平。對(duì)Flash存儲(chǔ)器編程時(shí),用于施加Vpp編程電

29、壓。</p><p>  3.3 74ls245芯片</p><p>  74ls245芯片如圖3-7所示:</p><p><b>  圖3-7 驅(qū)動(dòng)電路</b></p><p>  74ls245是我們常見的芯片,在這里它用來驅(qū)動(dòng)LED,它是8路同相三態(tài)雙向總線收發(fā)器,可以雙向傳送數(shù)據(jù)。</p>&l

30、t;p>  74ls245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。</p><p>  當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須介入74L245等 總線驅(qū)動(dòng)器。</p><p>  當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由 B 向 A 傳輸;(接收)</p><p>  *DIR=“1”,信號(hào)由 A 向 B 傳輸;(

31、發(fā)送)當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。</p><p><b>  3.4 輸入模塊</b></p><p>  計(jì)算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡(jiǎn)單,但是會(huì)占用大量的I/O 口資源,因此在很多情況下都不采用這種方式。為此,我們引入了矩陣鍵盤的應(yīng)用,采用四條I/O 線作為行線,四條I/O 線作為列線組成

32、鍵盤。在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為4×4個(gè)。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O 口的利用率,如圖3-8所示:</p><p><b>  圖3-8 鍵盤按鍵</b></p><p>  3.4.1 鍵盤介紹</p><p>  每個(gè)按鍵都有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)

33、按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。鍵盤的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地;另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過軟件查表,查出該鍵的功能。</p><p>  當(dāng)

34、無按鍵閉合時(shí),P10~P13 與P14~P17 之間開路;當(dāng)有鍵閉合時(shí),與閉合鍵相連的兩條I/O 口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線P14~P17 為輸入狀態(tài),從行線P10~P13 輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線P14~P17 讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號(hào)。但是鍵閉合一次只能進(jìn)行一次鍵功能操

35、作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會(huì)連續(xù)多次進(jìn)行同樣的鍵操作。</p><p><b>  圖3-9 鍵盤電路</b></p><p><b>  3.5 顯示模塊</b></p><p>  發(fā)光二極管LED 是單片機(jī)應(yīng)用系統(tǒng)中的一宗簡(jiǎn)單而常用的輸出設(shè)備,其在系統(tǒng)中的主要作用是顯示單片機(jī)的輸

36、出數(shù)據(jù)、狀態(tài)等。因而作為典型的外圍器件,LED 顯示單元是反映系統(tǒng)輸出和操作輸入的有效器件。LED 具備數(shù)字接口可以方便的和大年紀(jì)系統(tǒng)連接;它的優(yōu)點(diǎn)是價(jià)格低,壽命長(zhǎng),對(duì)電壓電流的要求低及容易實(shí)現(xiàn)多路等,因而在單片機(jī)應(yīng)用系統(tǒng)中獲得了廣泛的應(yīng)用,所以在此設(shè)計(jì)中我首先選用了LED作為顯示器件。如圖3-10所示: </p><p>  圖3-10 數(shù)碼顯示管</p><p><b>  

37、3.5 .1 數(shù)碼</b></p><p>  3.5.2 數(shù)碼管的分類</p><p>  數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼

38、管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。</p><p>  LED顯示器由七段

39、發(fā)光二極管組成,排列成8字形狀,因此也成為七段LED顯示器,器排列形狀如下圖所示:</p><p>  圖3-11 LED段碼</p><p>  為了顯示數(shù)字或符號(hào),要為L(zhǎng)ED顯示器提供代碼,即字形代碼。七段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供的字形代碼的長(zhǎng)度正好是一個(gè)字節(jié)。簡(jiǎn)易計(jì)算器用到的數(shù)字0~9的共陰極字形代碼如下表3-1所示:</p><p>

40、;  表3-1 0~9七段數(shù)碼管共陰級(jí)字形代碼</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p>  4.1 LED顯示程序流程圖設(shè)計(jì)</p><p>  6位LED顯示的程序框圖如圖4-1所示:</p><p>  圖4-1 LED顯示流程圖</p><p>  4.2 讀

41、鍵輸入程序流程圖設(shè)計(jì)</p><p>  為了實(shí)現(xiàn)鍵盤的數(shù)據(jù)輸入功能和命令處理功能,每個(gè)鍵都有其處理子程序,為此每個(gè)鍵都對(duì)應(yīng)一個(gè)碼——鍵碼。為了得到被按鍵的鍵碼,現(xiàn)使用行掃描法識(shí)別按鍵。列掃描信號(hào)進(jìn)行讀入行的信號(hào)判斷該列是否有列的輸出——是則進(jìn)行按照行列計(jì)算鍵盤的值,查表取得鍵碼并返回——若否則進(jìn)行再次掃描。其程序框圖如下:</p><p><b>  圖4-2 程序框圖<

42、/b></p><p>  4.3 主程序流程圖設(shè)計(jì)</p><p><b>  運(yùn)算主程序設(shè)計(jì)</b></p><p>  首先初始化參數(shù),送LED低位顯示“0”,高位不顯示。然后掃描鍵盤看是否有鍵輸入,若有,讀取鍵碼。判斷鍵碼是數(shù)字鍵、清零鍵還是功能鍵(“+”“-”“*”“/”“=” ),是數(shù)值鍵則送LED顯示并保存數(shù)值,是清零鍵則做

43、清零處理,是功能鍵則又判斷是“=”還是運(yùn)算鍵,若是“=”則計(jì)算最后結(jié)果并送LED顯示,若是運(yùn)算鍵則保存相對(duì)運(yùn)算程序的首地址。運(yùn)算主程序框圖如3-4所示:</p><p>  圖4-4 運(yùn)算主程序框圖</p><p>  第五章 仿真及調(diào)試</p><p>  在程序設(shè)計(jì)方法上,模塊化程序設(shè)計(jì)是單片機(jī)應(yīng)用中最常用的程序設(shè)計(jì)方法。設(shè)計(jì)的中心思想是把一個(gè)復(fù)雜應(yīng)用程序按整

44、體功能劃分成若干相對(duì)獨(dú)立的程序模塊,各模塊可以單獨(dú)設(shè)計(jì)、編程和調(diào)試,然后組合起來。這種方法便于設(shè)計(jì)和調(diào)試,容易實(shí)現(xiàn)多個(gè)程序共存,但各個(gè)模塊之間的連接有一定的難度。根據(jù)需要我們可以采用自上而下的程序設(shè)計(jì)方法,此方法先從主程序開始設(shè)計(jì),然后再編制各從屬程序和子程序,層層細(xì)化逐步求精,最終完成一個(gè)復(fù)雜程序的設(shè)計(jì)。這種方法比較符合人們的日常思維,缺點(diǎn)是一級(jí)的程序錯(cuò)誤會(huì)對(duì)整個(gè)程序產(chǎn)生影響。</p><p>  功能和操作:

45、加減乘除運(yùn)算和顯示。</p><p> ?、偕想姾螅聊怀跏蓟?。</p><p>  ②計(jì)算。按下數(shù)字鍵,屏幕顯示要運(yùn)算的第一個(gè)數(shù)字,再按下符號(hào)鍵,然后再按下</p><p>  數(shù)字鍵,屏幕顯示要運(yùn)算的第二個(gè)數(shù)字,最后按下“﹦”號(hào)鍵,屏幕上顯示出計(jì)算結(jié)果。</p><p>  ③如果要再次計(jì)算,可以按下“ON/C”鍵清零,或者按下單片機(jī)的復(fù)

46、位鍵,重新初始化。</p><p><b>  總 結(jié)</b></p><p>  經(jīng)過近兩個(gè)星期的努力,終于順利完成了畢業(yè)設(shè)計(jì)。剛開始,我們頭緒不是很清楚,不知道從哪里入手,但通過老師的耐心指導(dǎo)并和同學(xué)認(rèn)真研究設(shè)計(jì)課題,跑圖書館查資料、確定基本設(shè)計(jì)方案、對(duì)所用芯片功能進(jìn)行查找、調(diào)試、上機(jī)仿真等,經(jīng)歷了一次次的困難,卻積累了很多寶貴的經(jīng)驗(yàn)。在整個(gè)設(shè)計(jì)的過程中遇到的問題

47、主要有以下三點(diǎn),第一:基礎(chǔ)知識(shí)掌握的不牢固,主要表現(xiàn)在一些常用的電路的形式和功能不清楚,對(duì)書本上的內(nèi)容理解不夠透徹。第二:對(duì)一些常用的應(yīng)用軟件缺少應(yīng)用,體現(xiàn)在畫電路圖和系統(tǒng)的仿真的時(shí)候,對(duì)這些軟件的操作不熟練,浪費(fèi)了很多時(shí)間。第三:相關(guān)知識(shí)掌握的不夠全面,缺少系統(tǒng)設(shè)計(jì)的經(jīng)驗(yàn)。</p><p>  這次設(shè)計(jì)進(jìn)一步端了我的學(xué)習(xí)態(tài)度,學(xué)會(huì)了實(shí)事求是,嚴(yán)謹(jǐn)?shù)淖黠L(fēng),對(duì)自己要嚴(yán)格要求,不能夠一知半解,要力求明明白白。急于求成

48、是不好的,我有所感受。如果省略了那些必要的步驟,急于求成,不僅會(huì)浪費(fèi)時(shí)間,還會(huì)適得其反。我覺得動(dòng)手之前,頭腦里必須清楚該怎么做,這一點(diǎn)是很重要的。就目前來說,我的動(dòng)手能力雖然差一點(diǎn),但我想,通過我的不懈努力,在這方面,我總會(huì)得到提高。這一點(diǎn),我堅(jiān)信。因?yàn)閯e人能做到的,我也一定能做到。</p><p>  在此次的課程設(shè)計(jì)中我最大的體會(huì)就是進(jìn)一步認(rèn)識(shí)到了理論聯(lián)系實(shí)踐的重要性。一份耕耘,一份收獲。通過這段時(shí)間的設(shè)計(jì),

49、讓我明白科學(xué)的思維方法和學(xué)習(xí)方法是多么重要,只有這樣才能夠有很高的效率,才能夠讓自己的工作更完美??偠灾?,此次課程設(shè)計(jì)讓我學(xué)到了好多平時(shí)在課堂上學(xué)不到的東西,增加了我的知識(shí)運(yùn)用能力,增強(qiáng)我的實(shí)際操作能力。謝謝老師給我們提供這么好的機(jī)會(huì),為我們之后走向社會(huì)奠定了一個(gè)好的基礎(chǔ)。</p><p>  本次課程設(shè)計(jì)讓我學(xué)到了很多,也學(xué)會(huì)到了要怎么樣去面對(duì)困難,不要對(duì)知識(shí)一知半截,要有的求實(shí)的能力,通過老師的幫助我學(xué)到了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論