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

下載本文檔

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

文檔簡介

1、<p><b>  緒論</b></p><p>  隨著計數(shù)器技術(shù)的不斷發(fā)展與進(jìn)步,計數(shù)器的種類越來越多,應(yīng)用的范圍越來越廣,隨之而來的競爭也越來越激烈。過硬的技術(shù)也成為眾多生產(chǎn)廠商競爭的焦點(diǎn)之一。廠商為了在競爭中處于不敗之地,從而不斷地改進(jìn)技術(shù),增加產(chǎn)品的種類。</p><p>  現(xiàn)計數(shù)器的種類以增加到:電磁計數(shù)器、電子計數(shù)器、機(jī)械計數(shù)器(拉動機(jī)械計數(shù)

2、器、轉(zhuǎn)動機(jī)械計數(shù)器、按動機(jī)械計數(shù)器、測長機(jī)械計數(shù)器)、液晶計數(shù)器等。計數(shù)器的應(yīng)用范圍也遍布各個行業(yè)。</p><p>  自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了近20年的發(fā)展路程。縱觀20年來單片機(jī)發(fā)展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā) 展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢。單片機(jī)的應(yīng)用在后PC時代得到了前所未有的發(fā)展,但對處理器的綜合性能

3、要求也越來越高。綜觀單片機(jī)的發(fā)展,以應(yīng)用需求為目標(biāo),市場越來越細(xì)化,充分突出以“單片”解決問題,而不像多年前以MCS51/96等處理器為中心,外擴(kuò)各種接口構(gòu)成各種應(yīng)用系統(tǒng)。單片機(jī)系統(tǒng)作為嵌入式系統(tǒng)的一部分,主要集中在中、低端應(yīng)用領(lǐng)域(嵌入式高端應(yīng)用主要由DSP、ARM、MIPS等高性能處理器構(gòu)成),在這些應(yīng)用中,目前也出現(xiàn)了一些新的需求,主要體現(xiàn)在以下幾個方面:</p><p> ?。?)以電池供電的應(yīng)用越來越多

4、,而且由于產(chǎn)品體積的限制,很多是用鈕扣電池供電,要求系統(tǒng)功耗盡可能低,如手持式儀表、水表、玩具等。</p><p> ?。?)隨著應(yīng)用的復(fù)雜,對處理器的功能和性能要求不斷提高。既要外設(shè)豐富、功能靈活,又要有一定的運(yùn)算能力,能做一些實(shí)時算法,而不僅僅做一些簡單的控制。</p><p> ?。?)產(chǎn)品更新速度快,開發(fā)時間短,希望開發(fā)工具簡單、廉價、功能完善。特別是仿真工具要有延續(xù)性,能適應(yīng)多種

5、MCU,以免重復(fù)投資,增加開發(fā)費(fèi)用。</p><p> ?。?)產(chǎn)品性能穩(wěn)定,可靠性高,既能加密保護(hù),又能方便升級</p><p>  一.總體設(shè)計任務(wù)和方案</p><p><b>  1.1設(shè)計任務(wù)</b></p><p>  要求應(yīng)用以51單片機(jī)為核心設(shè)計電子計數(shù)器,能設(shè)置起始數(shù)值,通過加、減鍵實(shí)現(xiàn)計數(shù)功能,設(shè)計復(fù)

6、位按鈕。數(shù)字通過數(shù)碼管顯示,計數(shù)結(jié)束發(fā)出警報。</p><p><b>  1.2設(shè)計方案</b></p><p>  根據(jù)儀器的功能,電子計數(shù)器有通用計數(shù)器和專用計數(shù)器</p><p>  通用計數(shù)器是一種具有多種測量功能,多種用途的電子計數(shù)器,它可以測量頻率,周期,時間間隔,頻率比,累加功能,計時等。配上相應(yīng)的插件還可以測量相位,電壓等&l

7、t;/p><p>  專用計數(shù)器指專門用于測量某一種功能的電子計數(shù)器,例如:專門測量高頻和微波頻率的頻率計數(shù)器;以測量時間為基礎(chǔ)的時間計數(shù)器;具有某種特殊功能的特種計數(shù)器,如可逆計數(shù)器,預(yù)置計數(shù)器,差值計數(shù)器等</p><p><b>  二.電路原理</b></p><p><b>  2.1 系統(tǒng)的組成</b></p

8、><p>  本設(shè)計為累加計數(shù)的專用計數(shù)器,應(yīng)用AT89C51芯片作為核心,8位的LED數(shù)管顯示。這種實(shí)現(xiàn)方法的優(yōu)點(diǎn)是電路簡單,性能可靠,實(shí)時性強(qiáng),操作簡單,編程容易。</p><p><b>  原理框圖:</b></p><p>  本設(shè)計的電子計數(shù)器的重要功能為:</p><p><b>  逐次累加計數(shù)&l

9、t;/b></p><p><b>  累加至預(yù)定值報警</b></p><p>  累加計數(shù)期間可隨時中斷</p><p>  2.2 AT89C51單片機(jī)</p><p>  2.2.1 單片機(jī)主要功能特性</p><p>  AT89C51是一個低功耗,高性能CMOS 8位單

10、片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,AT89C51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。</p><p><b>  主要性能特點(diǎn):

11、</b></p><p>  1.4k Bytes Flash片內(nèi)程序存儲器;</p><p>  2.128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM);</p><p>  3.32個外部雙向輸入/輸出(I/O)口;</p><p>  4.5個中斷優(yōu)先級、2層中斷嵌套中斷;</p><p><b&

12、gt;  5.6個中斷源;</b></p><p>  6.2個16位可編程定時器/計數(shù)器;</p><p>  7.2個全雙工串行通信口;</p><p>  8.看門狗(WDT)電路;</p><p>  9.片內(nèi)振蕩器和時鐘電路;</p><p>  10.與MCS-51兼容;</p>

13、<p>  11.全靜態(tài)工作:0Hz-33MHz;</p><p>  12.三級程序存儲器保密鎖定;</p><p>  13.可編程串行通道;</p><p>  14.低功耗的閑置和掉電模式。</p><p>  2.2.2 引腳功能及管腳電壓</p><p>  VCC:電源電壓輸入端。</p&

14、gt;<p><b>  GND:電源地。</b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。 

15、60;</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。</p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出</

16、p><p>  4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。</p><p>  并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P

17、2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能:</p><p>  P3.0 RXD(串行輸入口)

18、</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p><p>  P3.4 T0(T0定時器的外部計數(shù)輸入)</p><p>  圖4 PDIP封裝的AT89S51管腳圖 </p>

19、<p>  P3.5 T1(T1定時器的外部計數(shù)輸入) </p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器的寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲器的讀選通)</p><p>  P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。</p><p>  I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引

20、腳。讀端口時實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。89C51的P0、P1、P2、P3口作為輸入時都是準(zhǔn)雙向口。除了P1口外P0、P2、P3口都還有其他的功能。</p><p>  RST:復(fù)位輸入端,高電平有效。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。</p><

21、;p>  ALE/PROG:地址鎖存允許/編程脈沖信號端。當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX

22、,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  PSEN:外部程序存儲器的選通信號,低電平有效。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  EA/VPP:外部程序存儲器訪問允許。當(dāng)/EA保持低電平時,則在此期間外部

23、程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  2.3 單片機(jī)最小系統(tǒng)</p><p>  單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對于51系列的單片機(jī)來說,

24、最小系統(tǒng)一般應(yīng)該包括單片機(jī)、晶振電路、復(fù)位電路。圖6給出了51單片機(jī)的最小系統(tǒng)原理圖。</p><p>  圖6 51 單片機(jī)的最小系統(tǒng)</p><p>  2.3.1 晶振電路</p><p>  晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點(diǎn),以頻率的高低區(qū)分,其中較低的頻率是串聯(lián)諧振,較

25、高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當(dāng)?shù)慕咏?,在這個極窄的頻率范圍內(nèi),晶振等效為一個電感,所以只要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負(fù)反饋電路中就可以構(gòu)成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。</p><p>  一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反

26、相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應(yīng)該等于負(fù)載電容,請注意一般IC的引腳都有等效輸入電容,這個不能忽略。</p><p>  典型的晶振取值為11.0592MHz(可以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)和12MHz(產(chǎn)生精確的uS級時歇,方便定時操作)。</p><p>  2.3.2 復(fù)

27、位電路</p><p>  51單片機(jī)是高電平復(fù)位,所以先看給單片機(jī)加5V電源(上電)啟動時的情況:這時電容充電相當(dāng)于短路,你可以認(rèn)為RST上的電壓就是5V,這是單片機(jī)就是復(fù)位狀態(tài)。隨著時間推移電容兩端電壓升高,即造成RST上的電壓降低,當(dāng)?shù)椭灵撝惦妷簳r,即完成復(fù)位過程。</p><p>  如果按下復(fù)位鍵,電容C3短路,這時電容放電,兩端電壓都是5V,即RST引腳電壓為5V,如果超過規(guī)定

28、的復(fù)位時間,單片機(jī)就復(fù)位了。當(dāng)按鈕彈起后,RST引腳的電壓為0,單片機(jī)處于運(yùn)行狀態(tài)。</p><p>  51單片機(jī)復(fù)位要求是:RST上加高電平時間大于2個機(jī)器周期,12MHz的晶振的一個機(jī)器周期是1us,要復(fù)位就加2us的高電平即可。</p><p>  單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中

29、,受到環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。</p><p><b>  2.4 顯示模塊</b></p><p>  數(shù)碼管是一種把多個LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。通常的數(shù)碼管又分為8段,即8個LED顯示段,分別為A、B、C、D、E、F、G、小數(shù)點(diǎn)DP,通過段碼控制LED段位的亮滅,實(shí)現(xiàn)信息

30、的多樣化顯示。</p><p>  數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。多位數(shù)碼管的動態(tài)顯示時,為簡化電路,通常將所有顯示位的段碼線的相應(yīng)段并聯(lián)在一起,由一個8位I/O口作為段選線來控制;而各位的共陽極或共陰極分別由相應(yīng)的I/O口控制,形成各位的分時選通。</p><p>  此顯示模塊中將P0口最為段選線,P2口為位選線。采用循

31、環(huán)掃描的方式,分時輪流選通各數(shù)碼管的公共端,使數(shù)碼管輪流導(dǎo)通顯示。利用人眼的“視覺暫留”效應(yīng),依次給出各個數(shù)碼管公共端加有效信號,與此同時給出該數(shù)碼管有效的數(shù)據(jù)信號,盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要全段掃描速度大于視覺暫留速度時,視覺效果就是一組穩(wěn)定的顯示數(shù)據(jù),認(rèn)為各數(shù)碼管是同時發(fā)光的。圖7為顯示模塊硬件原理圖。</p><p><b>  三.軟件介紹</b></p>

32、<p>  3.1 51單片機(jī)C語言介紹</p><p>  單片機(jī)就是中央處理器CPU,隨機(jī)存儲器RAM。只讀存儲器ROM。定時、計數(shù)器和各種輸入輸出接口I/o接口電路等部件集成在一塊電路芯片上的微型計算機(jī)。</p><p>  按制造工藝分:HMOS和CHMOS CHMOS包括80c51等中間加了C功耗要小</p><p>  適合便攜式手提式和

33、野外作業(yè)。按不同容量的存儲器配置分:51子系列和52子系列</p><p>  51表示單片機(jī)最后一位數(shù)字為1作為標(biāo)志。片內(nèi)帶有4KbROM或EPROM(Erasable Programmable ROM,可擦除可編程ROM,128BRAM,兩個16位定時器/計數(shù)器和5個中段器52系列是增強(qiáng)型各項(xiàng)指標(biāo)都高。</p><p>  一個典型的單片機(jī)應(yīng)用系統(tǒng)包括輸入電路,單片機(jī),輸出電路<

34、/p><p>  3.2 Proteus仿真軟件介紹</p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的特點(diǎn)是: 1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動

35、態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 2.支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM7系列以及各種外圍芯片。 3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、寄存器等

36、的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。 4.具有強(qiáng)大的原理圖繪制功能。 5.PCB設(shè)計以及自動布線。</p><p>  特點(diǎn):支持ARM7,PIC ,AVR,HC11以及8051系列的微處理器CPU模型,更多模型正在開發(fā)中,更新信息請參見網(wǎng)頁;交互外設(shè)模型有LCD顯示、RS23

37、2終端、通用鍵盤、開關(guān)、按鈕、LED等;強(qiáng)大的調(diào)試功能,如訪問寄存器與內(nèi)存,設(shè)置斷點(diǎn)和單步運(yùn)行模式;支持如IAR、Keil和Hitech等開發(fā)工具的源碼C和匯編的調(diào)試;一鍵“make”特性:一個鍵完成編譯與仿真操作;內(nèi)置超過6000標(biāo)準(zhǔn)SPICE模型,完全兼容制造商提供的SPICE模型;DLL界面為應(yīng)用提供特定的模式;基于工業(yè)標(biāo)準(zhǔn)的SPICE3F5混合模型電路仿真器14種虛擬儀器:示波器、邏輯分析儀、信號發(fā)生器、規(guī)程分析儀

38、等;高級仿真包含強(qiáng)大的基于圖形的分析功能:模擬、數(shù)字和混合瞬時圖形;頻率;轉(zhuǎn)換;噪聲;失真;付立葉;交流、直流和音頻曲線;模擬信號發(fā)生器包括直流、正旋、脈沖、分段線性、音頻、指數(shù)、單頻FM;數(shù)字信號發(fā)生器包括尖脈沖、脈沖、時鐘和碼流;集成PROTEUS PCB設(shè)計形成完整的電子設(shè)計系統(tǒng)。</p><p>  3.3 Keil uVision2 C語言開發(fā)系統(tǒng)介紹</p><p&

39、gt;  Keil uVision2是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,

40、快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng), 使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。</p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,使您能在很短的時間內(nèi)就能學(xué)會使用k

41、eil c51來開發(fā)您的單片機(jī)應(yīng)用程序 。 </p><p>  另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p>  四.Proteus的仿真</p><p><b>  4.1 仿真圖形</b>

42、;</p><p><b>  4.2 元器件代號</b></p><p>  設(shè)計的電子計數(shù)器所需的元器件的代號為</p><p>  1、單片機(jī)代號為:AT89C51</p><p>  2、電容C1、C2的代號為:CERAMIC22P</p><p>  3、電容C3的代號為:MINELEC

43、T10U16V</p><p>  4、晶振X1的代號為:CRYSTAL</p><p>  5、電阻R1、R2的代號分別為:CHIPRES 10K、CHIPRES 100R</p><p>  6、上拉電阻RP1的代號為:RESPACK-8</p><p>  7、顯示器的代號為:7SEG-MP*1-CC</p><p&

44、gt;  8、開關(guān)六個的代號為BUTTON</p><p>  4.3 元器件的放置與連線</p><p>  在元器件代號列表里點(diǎn)擊所需元件的代號,就可以選定所需元件,鼠標(biāo)移動到元件的放置地點(diǎn),然后點(diǎn)擊鼠標(biāo)右鍵,即可以將元件放置好。依次放置好元件,要確保元件的擺放美觀。</p><p>  在需要連接的元件接線處,點(diǎn)擊左鍵,移動鼠標(biāo),可看到導(dǎo)線的出現(xiàn),再在導(dǎo)線的另

45、一端在另一個元件的端點(diǎn)處點(diǎn)擊,從而連接了電路。</p><p>  4.4程序運(yùn)行流程圖</p><p>  4.5 程序運(yùn)行代碼</p><p>  #include<reg52.h></p><p>  #define uint unsigned int</p><p>  #define uchar

46、unsigned char</p><p>  sbit up=P1^0;</p><p>  sbit down=P1^3;</p><p>  sbit stop=P1^6;</p><p>  sbit reset=P1^7;</p><p>  sbit beep=P3^7;</p><p&

47、gt;  uint num2,num0,num22,num00,temp;</p><p>  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p>  void delay(uint z)</p><p><b>  {</b></

48、p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void init()</p>

49、<p><b>  {</b></p><p><b>  num2=0;</b></p><p><b>  num22=0;</b></p><p><b>  num0=0;</b></p><p><b>  num00=0

50、;</b></p><p><b>  temp=0;</b></p><p><b>  P0=0;</b></p><p><b>  P2=0xff;</b></p><p><b>  P3=0xff;</b></p>&

51、lt;p><b>  beep=0;</b></p><p><b>  //stop=0;</b></p><p>  P0=table[num0];</p><p>  P2=table[num2];</p><p><b>  EA=0;</b></p>

52、<p><b>  IT0=1;</b></p><p><b>  EX0=1;</b></p><p><b>  }</b></p><p>  void keyscan()</p><p><b>  {</b></p>

53、<p>  /*************************************************************************/</p><p>  if(stop==0)</p><p><b>  {</b></p><p><b>  delay(5);</b></

54、p><p>  if(stop==0)</p><p><b>  {</b></p><p>  while(!stop);</p><p>  if((num2!=0) || (num0!=0))</p><p><b>  {</b></p><p&g

55、t;<b>  temp++;</b></p><p>  if(temp==1)</p><p><b>  EA=1;</b></p><p>  if(temp==2)</p><p><b>  EA=0;</b></p><p>  if(te

56、mp==3)</p><p><b>  {</b></p><p><b>  temp=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p><b>  

57、}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*************************************************************************/</p><p>  if

58、(temp==0)</p><p><b>  {</b></p><p>  /*************************************************************************/</p><p><b>  if(up==0)</b></p><p&g

59、t;<b>  {</b></p><p><b>  delay(5);</b></p><p><b>  if(up==0)</b></p><p><b>  {</b></p><p>  while(!up);</p><p

60、>  if(num2==9)</p><p><b>  {</b></p><p><b>  num2=0;</b></p><p>  P2=table[num2];</p><p>  if(num0==9)</p><p><b>  {</b

61、></p><p><b>  num0=0;</b></p><p>  P0=table[num0];</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&

62、gt;</p><p><b>  num0++;</b></p><p>  P0=table[num0];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b&g

63、t;</p><p><b>  {</b></p><p><b>  num2++;</b></p><p>  P2=table[num2];</p><p><b>  }</b></p><p><b>  }</b>&l

64、t;/p><p><b>  }</b></p><p>  /*************************************************************************/</p><p>  if(down==0)</p><p><b>  {</b><

65、;/p><p><b>  delay(5);</b></p><p>  if(down==0)</p><p><b>  {</b></p><p>  while(!down);</p><p>  if(num2==0)</p><p><

66、b>  {</b></p><p><b>  num2=9;</b></p><p>  P2=table[num2];</p><p>  if(num0==0)</p><p><b>  {</b></p><p><b>  num0=9

67、;</b></p><p>  P0=table[num0];</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  num0--;

68、</b></p><p>  P0=table[num0];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&

69、gt;</p><p><b>  num2--;</b></p><p>  P2=table[num2];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

70、lt;/p><p>  /*************************************************************************/</p><p><b>  }</b></p><p>  /********************************************************

71、*****************/</p><p>  if(reset==0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(reset==0)</p><p><b>  {<

72、/b></p><p>  while(!reset);</p><p>  if((num2!=0) && (num0!=0))</p><p><b>  {</b></p><p><b>  num22=0;</b></p><p><b&

73、gt;  num00=0;</b></p><p>  P2=table[num22];</p><p>  P0=table[num00];</p><p><b>  beep=0;</b></p><p><b>  EA=1;</b></p><p>&l

74、t;b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /**********************************************

75、***************************/</p><p>  void main()</p><p><b>  {</b></p><p><b>  init();</b></p><p><b>  while(1)</b></p><

76、p><b>  {</b></p><p>  keyscan();</p><p><b>  }</b></p><p><b>  }</b></p><p>  void INT() interrupt 0</p><p><b>

77、;  {</b></p><p>  if(num22==9)</p><p><b>  {</b></p><p><b>  num22=0;</b></p><p>  P2=table[num22];</p><p><b>  num00++

78、;</b></p><p>  P0=table[num00];</p><p>  /*if(num00==9)</p><p><b>  {</b></p><p><b>  num00=0;</b></p><p>  P0=table[num00];

79、</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  num00++;</b></p><p>  P0=table[num00]

80、;</p><p><b>  }*/</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  num22++;&l

81、t;/b></p><p>  P2=table[num22];</p><p>  P0=table[num00];</p><p><b>  }</b></p><p>  if((num22==num2) && (num00==num0)) &l

82、t;/p><p><b>  {</b></p><p><b>  EA=0;</b></p><p><b>  beep=1;</b></p><p><b>  }</b></p><p><b>  }</b

83、></p><p><b>  五、仿真調(diào)試</b></p><p>  5.1 電子計數(shù)器仿真電路調(diào)試</p><p>  5.2 電子計數(shù)器仿真測試結(jié)果分析</p><p>  起初設(shè)計電路完好,且都能很好的工作,但在P3.2端口少接了一個計數(shù)按鈕以及蜂鳴器報警裝置,從而導(dǎo)致無法計數(shù)及報警。</p>

84、<p>  經(jīng)過修正后,能夠正常運(yùn)行,且在按下up鍵,顯示器上能夠逐次加1,按下down鍵,顯示器上能夠逐次減1,在按下stop鍵一次,可以按下beep鍵進(jìn)行計數(shù),按下stop鍵兩次,停止計數(shù),當(dāng)計數(shù)達(dá)到預(yù)定的數(shù)值時蜂鳴器報警,按下reset鍵復(fù)位清零。</p><p>  六.課程設(shè)計的心得體會</p><p>  我們度過了為期兩周的單片機(jī)課程設(shè)計,同時也給我留下了很深刻

85、的印象。兩周的課程設(shè)計雖然看似很長,卻不知不覺中度過了,而在這兩周的時間里我設(shè)計好了電子計數(shù)器,且能夠運(yùn)行正常。</p><p>  在平時的上課學(xué)習(xí)中,我們對于書上所講的感覺很抽象。在做課程設(shè)計時我們從最簡單的實(shí)物開始做起,在制作過程中,我們首先是實(shí)驗(yàn)設(shè)計,設(shè)計電路圖,然后畫出電路流程圖,設(shè)計電子計數(shù)器運(yùn)行程序,同時我們還花費(fèi)了一些時間尋找課程設(shè)計的方法以及一些有關(guān)材料,并小組討論設(shè)計。最終,我們在各個方面實(shí)現(xiàn)

86、了對各個部分的電路設(shè)計。在設(shè)計過程中,我們遇到了很多的問題,但最終在我們小組的共同努力以及老師和同學(xué)的幫助下,把問題都解決了。</p><p>  在課程設(shè)計的整個過程中,我得到了一些感悟:</p><p>  1、在設(shè)計過程中,我們分工合作進(jìn)行查找資料,我們從Proteus仿真軟件的應(yīng)用,通過閱讀相關(guān)書籍,從而構(gòu)建出電子計數(shù)器的仿真電路圖,同時也初步知道了該軟件的應(yīng)用方法。</p&

87、gt;<p>  2、我覺得做課程設(shè)計同時也是對課本知識的鞏固和加強(qiáng),由于課本上的知識太多,平時課間的學(xué)習(xí)并不能很好的理解和運(yùn)用各個元件的功能,而且考試內(nèi)容有限,所以在這次課程設(shè)計過程中,我們了解了很多元件的功能,并且對于其在電路中的使用有了更多的認(rèn)識。</p><p>  3、同時我認(rèn)為我們的工作是一個團(tuán)隊(duì)的工作,團(tuán)隊(duì)需要個人,個人也離不開團(tuán)隊(duì),必須發(fā)揚(yáng)團(tuán)結(jié)協(xié)作的精神。某個人的離群都可能導(dǎo)致導(dǎo)致整

88、項(xiàng)工作的失敗。課程設(shè)計即是一個課題的研究與設(shè)計,需要一個小組的合作,所以要讓每個人都知道,團(tuán)隊(duì)的精神,團(tuán)結(jié)協(xié)作是我們課程設(shè)計成功的一項(xiàng)非常重要的保證。</p><p>  4、通過這次課程設(shè)計使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在課程設(shè)計的過程中遇到問題,可以說是困難

89、重重,無論做什么事,難免會遇到過各種各樣的問題,同時在課程設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p>  通過這次的課程設(shè)計,使我們更深刻的體會到了理論聯(lián)系實(shí)際的重要性,我們今后學(xué)習(xí)工作中會更加注重實(shí)際,更多的去鍛煉自己的技能,也讓自己更好的發(fā)揮好自己的優(yōu)勢和特長!</p><p><b>  七.參考文獻(xiàn)</b&g

90、t;</p><p>  [1]張毅剛 彭喜元 彭宇編:《單片機(jī)原理及應(yīng)用》 第二版 高等教育出版社 2010</p><p>  [2]路而紅主編:《電子設(shè)計自動化應(yīng)用技術(shù)——FPGA應(yīng)用篇》 高等教育出版社 2009</p><p>  [3]張?jiān)?王建軍等著:《單片機(jī)開發(fā)技術(shù)實(shí)例教程》 機(jī)械工業(yè)出版社 2010</p><p

溫馨提示

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

評論

0/150

提交評論