2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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、<p><b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  2014—2015學(xué)年第 1 學(xué)期</p><p>  電氣與信息工程 學(xué)院(系、部) 電子信息 專業(yè) 1203 班級(jí)</p><p>  課程名稱: 單片機(jī)應(yīng)用系統(tǒng)

2、 </p><p>  設(shè)計(jì)題目: 對(duì)外部脈沖計(jì)數(shù)及出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) </p><p>  完成期限:自 2014 年 12 月 27 日至 2015 年 1 月 4 日共 2 周</p><p>  指 導(dǎo) 教 師 (簽字):

3、 年 月 日</p><p>  系(教研室)主任(簽字): 年 月 日</p><p><b>  單片機(jī)應(yīng)用系統(tǒng)</b></p><p><b>  課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 

4、 起止日期:2014年12月27日至2015年1月4 日</p><p><b>  姓 名: </b></p><p><b>  組 員:</b></p><p>  班 級(jí):電子信息 1203班</p><p>  學(xué) 號(hào):1240172</p><

5、p>  成 績(jī): </p><p>  指導(dǎo)老師: </p><p><b>  電氣與信息工程學(xué)院</b></p><p>  2015年 1 月 5 日</p><p><b>  一、設(shè)計(jì)任務(wù):</b></p><p>

6、;  1.1 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示</p><p>  1.1.1設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0-255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  1.1.2設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:0-50000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  1.2 設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng)

7、 </p><p>  起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(角,元,十元,百元)</p><p>  注:要求首先采用PROTEUS完成單片機(jī)最小系統(tǒng)的硬件電路設(shè)計(jì)及仿真;程序仿真測(cè)試通過(guò)后,再下載到單片機(jī)實(shí)訓(xùn)板上執(zhí)行。</p>

8、<p>  1.3長(zhǎng)短按鍵的設(shè)計(jì)(附加題)</p><p>  系統(tǒng)從000開(kāi)始,一個(gè)按鍵若短按一下(0.5s以內(nèi)),則個(gè)位數(shù)加1;如果長(zhǎng)按2s不放,則個(gè)位數(shù)按步長(zhǎng)0.2s快速進(jìn)滿后,十位數(shù)按步長(zhǎng)0.5s加1;加到100則停止并長(zhǎng)時(shí)間顯示。</p><p>  二、單片機(jī)最小系統(tǒng)硬件資源介紹</p><p>  STC89C52RC單片機(jī);</p&

9、gt;<p><b>  8位共陰極數(shù)碼管;</b></p><p>  段碼驅(qū)動(dòng)器74HC573;</p><p><b>  4路獨(dú)立式按鍵;</b></p><p>  ISP下載接口(In system program,在系統(tǒng)編程);</p><p><b>  IS

10、P下載線。</b></p><p>  STC89C52RC</p><p>  STC89C52RC單片機(jī)8K字節(jié)程序存儲(chǔ)空間;512字節(jié)數(shù)據(jù)存儲(chǔ)空間;內(nèi)帶2K字節(jié)EEPROM存儲(chǔ)空間;可直接使用串口下載;8K字節(jié)程序存儲(chǔ)空間;256字節(jié)數(shù)據(jù)存儲(chǔ)空間。</p><p> ?。?)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指

11、令代碼完全兼容傳統(tǒng)8051.</p><p> ?。?)工作電壓:5.5V~3.3V(5V 單片機(jī))/3.8V~2.0V(3V 單片機(jī))</p><p> ?。?)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz;</p><p> ?。?)用戶應(yīng)用程序空間為8K字節(jié);</p><p> ?。?)片

12、上集成512字節(jié)RAM;</p><p> ?。?)通用I/O口(32個(gè)),復(fù)位后為:P0/P1/P2/P3是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻,設(shè)計(jì)電路時(shí)需要注意這點(diǎn)。共3個(gè)16位定時(shí)/計(jì)數(shù)器,分別為T0,T1,T2。</p><p>  STC89C52引腳圖如圖1所示,其主要芯片功能如下所示。</p>

13、<p><b>  VCC:電源電壓</b></p><p><b>  GND:接地</b></p><p>  P0口:P0口是一組8位雙向I/O口。P0口即可作地址/數(shù)據(jù)總線使用,又可以作為通用的I/O口使用。</p><p>  P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8準(zhǔn)位雙向I/O口,P1作為通用的I/O

14、口使用。</p><p>  P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口 </p><p>  P3口:P3口是一組帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/0口</p><p><b>  RST:復(fù)位輸入</b></p><p>  PSEN程序儲(chǔ)存允許(P

15、SEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)</p><p>  EA/VPP:外部訪問(wèn)允許</p><p>  XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端</p><p>  XTAL2:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸:出端</p><p>  圖1 STC89C52引腳圖</p><p><b&g

16、t;  數(shù)碼管顯示電路</b></p><p>  顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我采用的是數(shù)碼管顯示電路。用八個(gè)共陰極數(shù)碼管顯示,LED是七段式顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。共陰極數(shù)碼管的碼表為如表1所示。</p><p>  表1 共陰數(shù)碼管碼表</p><p>  在用數(shù)

17、碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡(jiǎn)單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省單片機(jī)的I/O口。</p><p>  LED數(shù)碼管的顯示原理:數(shù)碼管有段選與位選兩個(gè)使能端,由于采用共陰極數(shù)碼管,要把數(shù)碼管點(diǎn)亮,就必須給位選選通,至于顯示什么數(shù)字,只需給段選輸入數(shù)據(jù)即可。</p><p>  通過(guò)給52單片機(jī)P0口送入初始值,并用P0口來(lái)控制段選位

18、,P2.6、P2.7口來(lái)控制位顯來(lái)實(shí)現(xiàn)動(dòng)態(tài)顯示,來(lái)顯示各燈所在狀態(tài)的顯示時(shí)間。</p><p>  在設(shè)計(jì)中,我們采用LED數(shù)碼管動(dòng)態(tài)顯示,用P0口驅(qū)動(dòng)顯示。由于P0口的輸出級(jí)時(shí),數(shù)碼管顯示的亮度不夠,根據(jù)以前學(xué)習(xí)的知識(shí)及學(xué)長(zhǎng)們的經(jīng)驗(yàn),只需給P0口強(qiáng)勢(shì)上拉10K排阻,經(jīng)實(shí)驗(yàn)驗(yàn)證,P0口上拉10K排阻后,數(shù)碼管顯示較亮。電路圖如圖2所示。</p><p>  其中單片機(jī)P0口與數(shù)碼管各引腳之

19、間的連接關(guān)系分別為:</p><p>  P0.0------a</p><p>  P0.1------b</p><p>  P0.2------c</p><p>  P0.3------d</p><p>  P0.4------e</p><p>  P0.5------f</p

20、><p>  P0.6------g</p><p>  P0.7------Dp</p><p>  圖2 數(shù)碼管顯示電路</p><p>  其中a,b,c,d,e,f,g,Dp在數(shù)碼管上的位置如圖3所示。</p><p><b>  圖3 數(shù)碼管</b></p><p>

21、  3. 74HC573</p><p>  74HC573的八個(gè)鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時(shí),Q 輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí),新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅(qū)

22、動(dòng)器和工作寄存器。</p><p>  芯片引腳如圖4所示。</p><p>  圖4 74HC573引腳圖</p><p><b>  三、設(shè)計(jì)思路</b></p><p>  1、設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0-255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  設(shè)計(jì)思路

23、:255可用8位二進(jìn)制數(shù)表示,故本設(shè)計(jì)可直接采用可以自動(dòng)裝載初值的計(jì)數(shù)器T1模式二進(jìn)行計(jì)數(shù)。然后對(duì)TL1的內(nèi)容進(jìn)行相應(yīng)的二進(jìn)制---十進(jìn)制轉(zhuǎn)換:首先TL1的內(nèi)容除以64H,所的商就是十進(jìn)制的百位,然后用余數(shù)除以0AH,所得的商就是十進(jìn)制數(shù)的十位,余數(shù)即相應(yīng)的十進(jìn)制的個(gè)位。接著將相應(yīng)的十進(jìn)制數(shù)進(jìn)行譯碼,并在LED數(shù)碼管上顯示出來(lái)。每來(lái)一個(gè)脈沖其顯示的結(jié)果加一,直加至255然后T1重新開(kāi)始計(jì)數(shù)。流程圖如圖5所示。</p>&l

24、t;p>  圖5 255計(jì)數(shù)程序流程圖</p><p>  2、設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:0-50000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  設(shè)計(jì)思路:通過(guò)外部中斷循環(huán)次數(shù)判斷實(shí)現(xiàn)計(jì)數(shù)。20H-24H分別存放個(gè)、十、百、千、萬(wàn)位。通過(guò)向每個(gè)內(nèi)存單元自增一,判斷每個(gè)數(shù)是否已經(jīng)增至10,如果增至10立即轉(zhuǎn)向十位,以此類推,但是由于是50000計(jì)數(shù),所以

25、在最后在萬(wàn)位到5的時(shí)候,我要限制其不再增至10,達(dá)到5便清零,最后便得到了結(jié)果所需。其中程序用了查表來(lái)實(shí)現(xiàn)數(shù)碼管的顯示。流程圖如圖6所示。</p><p>  圖6 50000計(jì)數(shù)程序流程圖</p><p>  3、設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示

26、價(jià)錢(角,元,十元,百元)</p><p>  設(shè)計(jì)思路:首先由按鍵控制的外部中斷脈沖來(lái)模擬出租車車輪走過(guò)的里程,每按一次P3.3按鍵產(chǎn)生一個(gè)脈沖,1個(gè)脈沖當(dāng)作100m。自動(dòng)計(jì)費(fèi)模塊會(huì)按照不同的計(jì)費(fèi)標(biāo)準(zhǔn)自動(dòng)調(diào)節(jié)計(jì)費(fèi)。計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定模塊包掛起步費(fèi)、單位里程費(fèi)、低速行駛等待時(shí)間設(shè)定部分。設(shè)定好的數(shù)值分別送到自動(dòng)計(jì)費(fèi)模塊、計(jì)時(shí)模塊和計(jì)程模塊。按下電源開(kāi)關(guān)后開(kāi)始自動(dòng)計(jì)費(fèi)。統(tǒng)計(jì)模塊統(tǒng)計(jì)的各項(xiàng)數(shù)據(jù)將通過(guò)LED顯示模塊,在最終界

27、面上顯示行駛路程和總費(fèi)用。難點(diǎn)主要在于計(jì)費(fèi)金額的顯示,可將初值置為50,其中十位調(diào)用帶點(diǎn)的字型碼,即顯示05.0,超過(guò)1個(gè)脈沖,里程加1,金額加8,由于十位是帶有小數(shù)點(diǎn),即可實(shí)現(xiàn)金額加0.8元。流程圖如圖7所示。</p><p>  圖7 出租車計(jì)費(fèi)系統(tǒng)程序流程圖</p><p>  4、長(zhǎng)短按鍵的設(shè)計(jì)(附加題)</p><p>  設(shè)計(jì)思路:所有的主要程序都在等

28、待按鍵釋放的時(shí)候進(jìn)行。在沒(méi)有長(zhǎng)按功能時(shí),由于使用的是定時(shí)器中斷數(shù)碼管掃描,所以等待釋放所做的工作就是等待。我們利用等待的這個(gè)時(shí)間來(lái)做一些事情,判斷長(zhǎng)短按鍵并執(zhí)行對(duì)應(yīng)的動(dòng)作。同時(shí)定義一個(gè)臨時(shí)變量用于計(jì)數(shù)按鍵的時(shí)長(zhǎng),這里使用key_press_num,檢測(cè)到這個(gè)數(shù)值大于200,也就是2s時(shí),我們認(rèn)為按鍵進(jìn)入長(zhǎng)按動(dòng)作,此時(shí)進(jìn)入長(zhǎng)按鍵處理程序,首先清零計(jì)數(shù)變量,以待下次使用,再次檢測(cè)按鍵是否按下,如果按下,執(zhí)行長(zhǎng)按程序,否則退出。此程序中長(zhǎng)按鍵

29、的動(dòng)作是快速加減數(shù)值,沒(méi)有這個(gè)按鍵的時(shí)候,按一次按鍵值加減一次,如果數(shù)值比較大,調(diào)節(jié)占用的時(shí)間會(huì)比較長(zhǎng),進(jìn)入長(zhǎng)按鍵后,可以快速對(duì)數(shù)值進(jìn)行連加或者連減動(dòng)作,并實(shí)時(shí)調(diào)用顯示處理。流程圖如圖8所示。</p><p>  圖8 長(zhǎng)短按鍵的設(shè)計(jì)程序流程圖</p><p><b>  四、設(shè)計(jì)內(nèi)容</b></p><p>  1、0—255數(shù)碼管計(jì)數(shù)&l

30、t;/p><p><b> ?。?)程序清單</b></p><p><b>  顯示子程序:</b></p><p>  DISPLAY: MOV A,TL1</p><p>  MOV B,#100</p><p><b>  DIV AB<

31、/b></p><p>  MOV BAI,A</p><p>  MOV A,B</p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><p>  MOV SHI,A</p><p>  MO

32、V GEE,B </p><p>  MOV DPTR,#TAB</p><p>  MOV R0,#3</p><p>  MOV A,BAI ;輸入百位</p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p&

33、gt;<p>  SETB P2.6</p><p><b>  NOP</b></p><p>  CLR P2.6</p><p>  MOV P0,#0DFH</p><p>  SETB P2.7</p><p>  NOP </p>

34、;<p>  ACALL DELAY </p><p>  MOV P0,#0FFH</p><p>  CLR P2.7</p><p>  MOV A,SHI ;輸入十位</p><p>  MOVC A,@A+DPTR</p><p>  MOV

35、 P0,A</p><p>  SETB P2.6</p><p><b>  NOP</b></p><p>  CLR P2.6</p><p>  MOV P0,#0BFH</p><p>  SETB P2.7</p><p>  NOP

36、 </p><p>  ACALL DELAY </p><p>  MOV P0,#0FFH</p><p>  CLR P2.7</p><p>  MOV A,GEE ;輸入個(gè)位</p><p>  MOVC A,@A+DPTR</p><

37、;p>  MOV P0,A</p><p>  SETB P2.6</p><p><b>  NOP</b></p><p>  CLR P2.6</p><p>  MOV P0,#7FH</p><p>  SETB P2.7</p><p

38、>  NOP </p><p>  ACALL DELAY</p><p>  MOV P0,#0FFH</p><p>  CLR P2.7 </p><p><b>  RET</b></p><p>  (2)PROTEUS仿真圖</

39、p><p>  圖9 255計(jì)數(shù)器PROTEUS仿真圖</p><p><b> ?。?)調(diào)試結(jié)果</b></p><p>  圖10 255計(jì)數(shù)器調(diào)試結(jié)果</p><p>  2、0—50000數(shù)碼管計(jì)數(shù)</p><p><b> ?。?)程序清單</b></p>

40、;<p>  顯示子程序和255計(jì)數(shù)器相差無(wú)幾,這里只列出中斷服務(wù)程序。</p><p><b>  中斷服務(wù)程序:</b></p><p>  INTO: LCALL DELAY1</p><p>  PUSH ACC</p><p>  MOV A,WAN</p><p

41、>  CJNE A,#5,LOOP1</p><p>  MOV WAN,#0</p><p>  SJMP LOOP2 </p><p>  LOOP1: INC GEE</p><p>  LOOP2: MOV A,GEE</p><p>  CJNE

42、 A,#10,GOO</p><p>  MOV GEE,#0</p><p>  INC SHI</p><p>  MOV A,SHI</p><p>  CJNE A,#10,GOO</p><p>  MOV SHI,#0</p><p>  INC

43、BAI</p><p>  MOV A,BAI</p><p>  CJNE A,#10,GOO</p><p>  MOV BAI,#0</p><p>  INC QIA</p><p>  MOV A,QIA</p><p>  CJNE A,#10,GOO

44、</p><p>  MOV QIA,#0</p><p>  INC WAN </p><p>  GOO: POP ACC</p><p>  RETI </p><p>  DELAY: MOV R3,#80 <

45、/p><p>  DJNZ R3,$</p><p><b>  RET</b></p><p>  DELAY1:MOV R1,#2</p><p>  LOOP4:MOV R0,#255</p><p><b>  LOOP3:NOP</b></p>

46、;<p><b>  NOP</b></p><p>  DJNZ R0,LOOP3</p><p>  DJNZ R1,LOOP4</p><p><b>  RET</b></p><p> ?。?)PROTEUS仿真圖</p><p>  圖11

47、 50000計(jì)數(shù)器仿真圖</p><p><b> ?。?)調(diào)試結(jié)果</b></p><p>  圖12 50000計(jì)數(shù)器調(diào)試結(jié)果</p><p><b>  3、出租車計(jì)費(fèi)系統(tǒng)</b></p><p><b> ?。?)程序清單</b></p><p&g

48、t;<b>  延時(shí)子程序:</b></p><p>  void delay() </p><p><b>  {</b></p><p>  for(j=0;j<25;j++);</p><p><b>  }</

49、b></p><p><b>  顯示子程序:</b></p><p>  void display() </p><p><b>  {</b></p><p>  P2 = 0x01;

50、 //選定初始位</p><p>  for(i = 0; i < 8; i++) </p><p><b>  {</b></p><p>  P1 = (i == 1||i==6)?Num[Count[i]]&0x7f:Num[Count[i]];</p>&

51、lt;p>  delay(); //固定小數(shù)點(diǎn)位置</p><p>  P2 <<= 1; //位左移</p><p><b>  }</b></p><p><b>  }</b>&

52、lt;/p><p><b>  價(jià)格的算法程序:</b></p><p>  int Compute_Money(int Far) </p><p><b>  {</b></p><p>  Money = (Far < 2000)? 5:5+(((Far

53、- 2000)/500)+1)*0.8;</p><p>  return Money*10; //返回價(jià)格數(shù)</p><p>  } //思路:先返回10倍價(jià)格,再固定小數(shù)點(diǎn)</p><p>  value_Count(int Far)</p><p>

54、;<b>  {</b></p><p>  Get_money = Compute_Money(Far); //調(diào)用算法程序</p><p>  Count[0] = Get_money%10; //價(jià)錢的小數(shù)位</p><p>  Count[1] = Get_money%100

55、/10; //價(jià)錢的個(gè)位</p><p>  Count[2] = Get_money%1000/100; //價(jià)錢的十位</p><p>  Count[3] = 0; //四五位不顯示</p><p>  Count[4] = 0;

56、 </p><p>  Count[5] = Far%1000/100; //公里制小數(shù)位</p><p>  Count[6] = Far%10000/1000; //公里制個(gè)位</p><p>  Count[7] = Far%100000/10

57、000; //公里制十位</p><p><b>  }</b></p><p> ?。?)PROTEUS仿真圖</p><p>  圖13 出租車計(jì)費(fèi)系統(tǒng)仿真圖</p><p><b>  (3)調(diào)試結(jié)果</b></p><p>  圖14

58、 出租車計(jì)費(fèi)系統(tǒng)調(diào)試結(jié)果</p><p>  4、長(zhǎng)短按鍵的設(shè)計(jì)(附加題)</p><p><b> ?。?)程序清單</b></p><p><b>  位碼:</b></p><p>  unsigned char code HEYAO_WeiMa[]={0xf7,0xef,0xdf,0xbf

59、,0x7f};//之前調(diào)試一直出問(wèn)題,找到最后才發(fā)現(xiàn)是這里位碼出問(wèn)題了;分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮。</p><p><b>  主函數(shù):</b></p><p>  void main (void)</p><p><b>  {</b></p><p>  unsigned char num=0

60、,key_press_num; </p><p>  P35=0; //這是為了關(guān)閉開(kāi)發(fā)板上的點(diǎn)陣實(shí)際應(yīng)用去掉</p><p>  KEY_ADD=1; //按鍵輸入端口電平置高</p><p>  KEY_DEC=1;</p><p>  Init_Timer0();</p><p>  while (1) //主循

61、環(huán)</p><p><b>  {</b></p><p>  if(!KEY_ADD) //如果檢測(cè)到低電平,說(shuō)明按鍵按下</p><p><b>  {</b></p><p>  DelayMs(10); //延時(shí)去抖,一般10-20ms</p><p>  if(!K

62、EY_ADD) //再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出</p><p><b>  {</b></p><p>  while(!KEY_ADD)</p><p><b>  {</b></p><p>  key_press_num++;</p><p>  DelayM

63、s(10); //10x200=2000ms=2s </p><p>  if(key_press_num==200) //大約2s</p><p><b>  {</b></p><p>  key_press_num=0; //如果達(dá)到長(zhǎng)按鍵標(biāo)準(zhǔn) </p><p>  //則進(jìn)入長(zhǎng)按鍵動(dòng)作</p>&l

64、t;p>  while(!KEY_ADD) //這里用于識(shí)別是否按</p><p>  //鍵還在按下,如果按</p><p>  //下執(zhí)行相關(guān)動(dòng)作,否則退出</p><p><b>  {</b></p><p>  if(num<100) //加操作</p><p><b&

65、gt;  num++;</b></p><p>  //即時(shí)把顯示數(shù)據(jù)處理,如果去掉下面2</p><p>  //句處理信息,實(shí)際上看不到漸變效果,</p><p>  //而是看到跳變效果</p><p>  //用戶可以自行屏蔽測(cè)試</p><p>  //分解顯示信息,如要顯示68,則68/10=6

66、 68%10=8</p><p>  TempData[0]=HEYAO_DuanMa[num/100]; </p><p>  TempData[1]=HEYAO_DuanMa[num%100/10];</p><p>  TempData[2]=HEYAO_DuanMa[num%100%10];</p><p>  DelayMs(50)

67、;//用于調(diào)節(jié)長(zhǎng)按循環(huán)操作</p><p>  //的速度,可以自行調(diào)整此值以便達(dá)到最佳效果</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  key_press_

68、num=0;//防止累加造成錯(cuò)誤識(shí)別</p><p>  if(num<100) //加操作</p><p><b>  num++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //

69、分解顯示信息,如要顯示68,則68/10=6 68%10=8 </p><p>  TempData[0]=HEYAO_DuanMa[num/100]; </p><p>  TempData[1]=HEYAO_DuanMa[num%100/10];</p><p>  TempData[2]=HEYAO_DuanMa[num%100%10];</p>

70、<p>  // Display(0,8); //顯示全部8位</p><p>  //主循環(huán)中添加其他需要一直工作的程序</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)PROTEUS仿真圖</p><p&g

71、t;  圖15 長(zhǎng)短按鍵PROTEUS仿真圖</p><p><b> ?。?)調(diào)試結(jié)果</b></p><p>  圖16 長(zhǎng)短按鍵調(diào)試結(jié)果</p><p><b>  五、設(shè)計(jì)心得</b></p><p>  作為一名電子信息專業(yè)的大三學(xué)生,我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必

72、要的。在已度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課。我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí),我想做類似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。</p><p>  單片機(jī)作為我們的主要專業(yè)課之一,雖然我對(duì)這門課并沒(méi)有什么興趣,覺(jué)得那些程序枯燥乏味,但在這次課程設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對(duì)單片機(jī)的興趣也在逐漸增加。</p><p>  我們的課程設(shè)計(jì)有兩個(gè)主要內(nèi)容:一個(gè)是出租車計(jì)

73、費(fèi)器系統(tǒng)(還包括255計(jì)數(shù)和50000計(jì)數(shù));另一個(gè)就是溫度報(bào)警系統(tǒng)。</p><p>  單片機(jī)課程設(shè)計(jì)為兩個(gè)人一組,而我有幸跟一位參加過(guò)電子設(shè)計(jì)競(jìng)賽的單片機(jī)能手在一組。說(shuō)實(shí)話由于平時(shí)對(duì)單片機(jī)沒(méi)有多少興趣導(dǎo)致我對(duì)單片機(jī)這門課并不了解,幸虧搭檔很諒解我,于是單片機(jī)的兩個(gè)內(nèi)容一分為二,我負(fù)責(zé)255計(jì)數(shù)而他負(fù)責(zé)50000計(jì)數(shù)和出租車計(jì)費(fèi)器。通過(guò)搭檔的講解和自己的努力,我逐漸發(fā)現(xiàn)單片機(jī)設(shè)計(jì)很有趣,俗話說(shuō):對(duì)什么有興趣,

74、就一定能做好它。寫(xiě)好編程,然后調(diào)試。不行再重新發(fā)現(xiàn)問(wèn)題,這樣反反復(fù)復(fù)之后終于達(dá)成了!并且還和搭檔一起探究出租車計(jì)數(shù)器的問(wèn)題。最后在我倆竭盡全力, 老師的精心指導(dǎo)下, 程序基本編寫(xiě)成功,這是我們共同努力的結(jié)果。 在享受我們成果之時(shí),不得不感慨單片機(jī)的重要性與高難度性,所以為期兩周的單片機(jī)課程設(shè)計(jì)沒(méi)有浪費(fèi),我們從中學(xué)到了很多知識(shí).,也讓我們對(duì)單片機(jī)有了更深一步的了解.</p><p>  在完成單片機(jī)課程設(shè)計(jì)后,我們

溫馨提示

  • 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ù)僅提供信息存儲(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)論