畢業(yè)設(shè)計(jì)---數(shù)字轉(zhuǎn)速計(jì)的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  標(biāo) 題:數(shù)字轉(zhuǎn)速計(jì)的設(shè)計(jì) </p><p>  學(xué)生姓名: </p><p>  系 部:汽車電子系 </p><p>  專 業(yè):應(yīng)用電子技術(shù)

2、 </p><p>  班 級(jí): </p><p>  指導(dǎo)教師: </p><p><b>  目 錄</b></p><p><b>  第1章 序言3</b></p><

3、;p>  第2章 工作原理和設(shè)計(jì)思路及方案5</p><p>  2.1 基本原理5</p><p>  2.2 設(shè)計(jì)思路5</p><p>  2.3 設(shè)計(jì)方案5</p><p>  第3章 硬件電路設(shè)計(jì)7</p><p>  3.1 按鍵設(shè)計(jì)電路圖7</p><p>  3

4、.2 顯示電路設(shè)計(jì)圖7</p><p>  3.3脈沖產(chǎn)生電路設(shè)計(jì)圖8</p><p>  第4章 軟件設(shè)計(jì)8</p><p>  4.1主程序流程及說(shuō)明9</p><p>  4. 2中斷服務(wù)子程序9</p><p>  4.3鍵盤(pán)掃描程序10</p><p>  第5章 系統(tǒng)調(diào)試

5、及軟件仿真11</p><p>  5.1 程序調(diào)試11</p><p>  5.2 硬件電路調(diào)試12</p><p><b>  第6章 總結(jié)13</b></p><p><b>  參考文獻(xiàn)14</b></p><p><b>  附錄15</

6、b></p><p><b>  系統(tǒng)原理圖:15</b></p><p><b>  程序清單:15</b></p><p><b>  第1章 序言</b></p><p>  隨著科學(xué)技術(shù)特別是微型計(jì)算機(jī)技術(shù)的高速發(fā)展,單片微機(jī)技術(shù)也獲得了飛速發(fā)展。目前,單片機(jī)

7、已經(jīng)在日常生活和控制領(lǐng)域等方面得到廣泛的應(yīng)用,它正為我國(guó)經(jīng)濟(jì)的快速發(fā)展發(fā)揮著舉足輕重的作用。作為自動(dòng)化專業(yè)的一名工科學(xué)生應(yīng)該牢牢掌握這一重要技術(shù)。而課程設(shè)計(jì)這一環(huán)節(jié)是我們提高單片機(jī)應(yīng)用能力的很好機(jī)會(huì),也是我們學(xué)好這一課程的必經(jīng)環(huán)節(jié)。通過(guò)課程設(shè)計(jì)可以進(jìn)一步鞏固我們前面所學(xué)理論知識(shí),使我們對(duì)單片機(jī)理論知識(shí)有一個(gè)深刻的認(rèn)識(shí)和全面的掌握。另外通過(guò)這一真正意義上的實(shí)踐活動(dòng),我們可以從中發(fā)現(xiàn)自己不足之處并能夠在自己的深思下和老師的指導(dǎo)下得到及時(shí)的解

8、決。再次,它能使我們的應(yīng)用能力和科技創(chuàng)新能力得到較大的提高。</p><p>  本課程設(shè)計(jì)是單片機(jī)系統(tǒng)在測(cè)速方面的簡(jiǎn)單應(yīng)用。目前單片機(jī)技術(shù)已經(jīng)在電機(jī)轉(zhuǎn)速等為控制對(duì)象的控制系統(tǒng)中得到了廣泛的應(yīng)用,而在這一控制過(guò)程中必須通過(guò)單片機(jī)來(lái)測(cè)量轉(zhuǎn)速。本課程設(shè)計(jì)利用89C51單片機(jī)及外圍電路來(lái)設(shè)計(jì)一個(gè)數(shù)字轉(zhuǎn)速表。通過(guò)測(cè)量轉(zhuǎn)速所對(duì)應(yīng)的方波脈沖來(lái)測(cè)量轉(zhuǎn)速,,同時(shí)其具體數(shù)值也可以在LED上顯示出來(lái)。</p><

9、p>  單片機(jī)作為嵌入式微控制器在工業(yè)測(cè)控系統(tǒng),智能儀器和家用電氣中得到廣泛應(yīng)用。雖然單片機(jī)的品種很多,但MCS-51系列單片機(jī)仍不失為單片機(jī)中的主流機(jī)型。本課程以MCS-51系列與其特點(diǎn)是由淺入深,注重接口技術(shù)和應(yīng)用。機(jī)電一體化是當(dāng)今制造技術(shù)和產(chǎn)品發(fā)展的主要傾向,也是我國(guó)機(jī)電工業(yè)發(fā)展的必由之路。可以認(rèn)為,它是用系統(tǒng)工程學(xué)的觀點(diǎn)和方法,研究在機(jī)電系統(tǒng)和產(chǎn)品中如何將機(jī)械、計(jì)算機(jī)、信息處理和自動(dòng)控制技術(shù)綜合應(yīng)用,以求機(jī)電系統(tǒng)和產(chǎn)品達(dá)到

10、最佳的組合。機(jī)電一體化產(chǎn)品所需要的是嵌入式微機(jī),而單片機(jī)具有體積小、集成度高、功能強(qiáng)等特點(diǎn),適于嵌入式應(yīng)用。智能儀器、家用電器、數(shù)控機(jī)床、工業(yè)控制等機(jī)電設(shè)備和產(chǎn)品中竟相使用單片機(jī)。</p><p>  第2章 工作原理和設(shè)計(jì)思路及方案</p><p><b>  2.1 基本原理</b></p><p>  本次課程設(shè)計(jì)用STC89C52作為主

11、控器組成一個(gè)轉(zhuǎn)速表。電機(jī)轉(zhuǎn)速采用光電脈沖傳感器來(lái)測(cè)量,通過(guò)設(shè)置定時(shí)器/計(jì)數(shù)器T0為1S,設(shè)置定時(shí)器/計(jì)數(shù)器T1為計(jì)數(shù)器對(duì)光電傳感器傳過(guò)來(lái)的脈沖進(jìn)行計(jì)數(shù),電動(dòng)機(jī)測(cè)速采用測(cè)周法,即每旋轉(zhuǎn)一周產(chǎn)生一個(gè)脈沖,則設(shè)在1s內(nèi)測(cè)量的脈沖個(gè)數(shù)為n,故測(cè)到轉(zhuǎn)速n就是脈沖頻率,再乘以60就是電動(dòng)機(jī)的轉(zhuǎn)速,單位為r/min。在此期間定時(shí)1s,在1s內(nèi)允許中斷,每中斷一次,軟件計(jì)數(shù)器加1,1s后,關(guān)閉中斷,則軟件計(jì)數(shù)器即為1s內(nèi)的脈沖數(shù),通過(guò)計(jì)數(shù)一定時(shí)間內(nèi)通過(guò)

12、定時(shí)器的脈沖數(shù)通過(guò)軟硬件結(jié)合工作即可測(cè)出電機(jī)的轉(zhuǎn)速。</p><p><b>  2.2 設(shè)計(jì)思路</b></p><p>  為了確定其設(shè)計(jì)方案,首先必須構(gòu)思好初步的設(shè)計(jì)思路。根據(jù)設(shè)計(jì)要求和實(shí)驗(yàn)仿真條件,初步的設(shè)計(jì)思路可以總結(jié)如下:</p><p>  (1) 當(dāng)前轉(zhuǎn)速與電動(dòng)機(jī)的狀態(tài)顯示用4段LED數(shù)碼管。</p><p&

13、gt;  (2) 鍵盤(pán)采用獨(dú)立式鍵盤(pán),需要3個(gè)鍵。</p><p>  (3) 采樣時(shí)間用定時(shí)/計(jì)數(shù)器0來(lái)實(shí)現(xiàn)。</p><p>  (4) 用定時(shí)/計(jì)數(shù)器1來(lái)統(tǒng)計(jì)采樣時(shí)間內(nèi)的脈沖數(shù),進(jìn)而計(jì)算轉(zhuǎn)速。</p><p><b>  2.3 設(shè)計(jì)方案</b></p><p>  根據(jù)設(shè)計(jì)要求和設(shè)計(jì)思路,可以確定該系統(tǒng)的設(shè)計(jì)方案

14、,圖1為該系統(tǒng)設(shè)計(jì)的硬件電路設(shè)計(jì)框圖。硬件主要由三部分組成,即單片機(jī)、鍵盤(pán)、LED顯示器。單片機(jī)采用STC89C52。要求測(cè)量的脈沖直接用另一個(gè)單片機(jī)產(chǎn)生提供。</p><p>  在單片機(jī)中,定時(shí)功能既可以由硬件(定時(shí)/記數(shù)器)實(shí)現(xiàn),也可通過(guò)軟件定時(shí)實(shí)現(xiàn)。硬件定時(shí)是利用單片機(jī)內(nèi)定時(shí)器定時(shí),啟動(dòng)以后定時(shí)器可與CPU并行工作,不占用CPU時(shí)間,CPU有較高的工作效率。采用硬件定時(shí)和軟件定時(shí)并用的方式,即用T0溢出中

15、斷功能實(shí)現(xiàn)50ms定時(shí),通過(guò)軟件延時(shí)程序?qū)崿F(xiàn)1s定時(shí)。定時(shí)器的TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0~3,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。硬件電路設(shè)計(jì)如圖2.1所示。</p><p>  圖2.1 硬件電路設(shè)計(jì)</p><p>  第3章 硬件電路設(shè)計(jì)</p><p>  3.1 按鍵設(shè)計(jì)電路

16、圖</p><p>  對(duì)于按鍵電路的設(shè)計(jì)可以有2種方式:一種方式是直接按鍵設(shè)計(jì),也稱獨(dú)立按鍵,這種設(shè)計(jì)電路適用于按鍵較少的控制,具有按鍵電路簡(jiǎn)單,編程方便等優(yōu)點(diǎn);另一種方式是矩陣式鍵盤(pán)的設(shè)計(jì),它適用于對(duì)控制按鍵較多的電路控制, 占用較少的I/O接口,但是按鍵電路復(fù)雜,編程比較復(fù)雜。本課題總共需要3按鍵,所以采用獨(dú)立按鍵設(shè)計(jì)。設(shè)計(jì)圖如3.1.1:由上到下的按鍵分別是復(fù)位、停止、啟動(dòng)。</p><

17、;p>  圖3.1. 按鍵電路</p><p>  3.2 顯示電路設(shè)計(jì)圖</p><p>  本課題所采用得是由LED(數(shù)碼管)作為顯示電路,用以顯示由單片機(jī)所接收的脈沖轉(zhuǎn)換來(lái)的BCD碼,以及開(kāi)始測(cè)速時(shí)的各種狀態(tài)。硬件電路連接是單片機(jī)P0.0~P0.7接數(shù)碼管的由A~G、DP 8個(gè)各管腳,P2.0~P2.3接數(shù)碼管的控制端W4、W3、W2、W1采用共陽(yáng)極連接的方法連接圖如圖3.2.

18、1所示。</p><p><b>  圖3.2顯示電路</b></p><p>  3.3脈沖產(chǎn)生電路設(shè)計(jì)圖</p><p>  在實(shí)際做試驗(yàn)是由另一塊單片機(jī)產(chǎn)生脈沖,在本次設(shè)計(jì)中我讓另一塊單片機(jī)輸入1Hz頻率的脈沖,并把脈沖接到現(xiàn)實(shí)的單片機(jī)的P3.5口進(jìn)行計(jì)數(shù)。</p><p>  圖3.3 脈沖電路 第4章 軟件設(shè)計(jì)

19、</p><p>  4.1主程序流程及說(shuō)明</p><p>  本次設(shè)計(jì)用T0做定時(shí)器定時(shí)時(shí)間為50ms 、T1作計(jì)數(shù)器,都設(shè)置為工作方式一。在主程序鐘通過(guò)先重裝初值,然后再檢測(cè)按鍵,根據(jù)按鍵的狀態(tài)和定時(shí)器的狀態(tài)調(diào)用相應(yīng)的子程序。程序流程如圖4.1所示</p><p>  圖4.1主程序流程圖</p><p>  4. 2中斷服務(wù)子程序&l

20、t;/p><p>  當(dāng)定時(shí)器的50MS的定時(shí)時(shí)間到時(shí),假如計(jì)數(shù)值大于20次就改變定時(shí)器的狀態(tài)位并清定時(shí)器的計(jì)數(shù)值。</p><p>  圖4.2中斷程序流程圖</p><p><b>  4.3鍵盤(pán)掃描程序</b></p><p>  數(shù)字轉(zhuǎn)速表的鍵盤(pán)操作應(yīng)具有3個(gè)功能,即:?jiǎn)?dòng)、停止、復(fù)位。本次采用的是直接連接的獨(dú)立式按

21、鍵,在鍵盤(pán)掃描過(guò)程中必須解決以下問(wèn)題:1、是否有鍵按下;2、是哪一個(gè)鍵按下;3是不是有抖動(dòng);4、按鍵是不是松開(kāi)。故在程序應(yīng)該注意以上問(wèn)題,不然會(huì)產(chǎn)生問(wèn)題,不能正確的對(duì)按鍵進(jìn)行識(shí)別。圖4.3為鍵盤(pán)流程圖:</p><p><b>  圖4.3按鍵流程圖</b></p><p>  第5章 系統(tǒng)調(diào)試及軟件仿真</p><p><b>  

22、5.1 程序調(diào)試</b></p><p>  試驗(yàn)所涉及的2個(gè)軟件Keil uVsion2和proteus,以下是仿真步驟。</p><p>  程序調(diào)試部分:uVsion2先新建一個(gè)工程,選擇芯片為AT89C52然后點(diǎn)擊是,然后彈出是否加入標(biāo)準(zhǔn)啟動(dòng)文件,點(diǎn)擊否,再新建一個(gè)文件,保存為“文件名.C”。然后點(diǎn)開(kāi)工程窗口的Target右鍵單擊出現(xiàn)彈出菜單,選擇添加文件到工程,選到剛

23、才新建的文件然后點(diǎn)擊OK,輸入程序,點(diǎn)擊工程選擇,選中Output中的Creat Hex File,然后編譯,連接生成Hex文件,有錯(cuò)誤修改后再編譯鏈接。當(dāng)編譯結(jié)果中沒(méi)出現(xiàn)錯(cuò)誤時(shí)證明該程序已不存在語(yǔ)法錯(cuò)誤。是否能完成課題所要求的功能則需要進(jìn)行仿真。</p><p>  仿真部分:運(yùn)行proteus的ISIS后進(jìn)入仿真界面將所需元件選擇好,根據(jù)原理圖畫(huà)出仿真圖,待仿真圖換好后雙擊AT89C52導(dǎo)入Keil uVsi

24、on2所產(chǎn)生的后綴名為.HEX文件,按開(kāi)始鍵進(jìn)行仿真。 當(dāng)輸入脈沖為6HZ時(shí)輸出為360rad/min。</p><p>  5.2 硬件電路調(diào)試</p><p>  硬件調(diào)試的步驟如下:接通電源和數(shù)據(jù)線,通過(guò)軟件將在Keil uVsion2中生成的HEX文件下載到單片機(jī)板子上,先對(duì)板子關(guān)電當(dāng)顯示請(qǐng)上電時(shí)按下單片機(jī)上的電源開(kāi)關(guān)按鈕上電下載程序到單片機(jī)中,通過(guò)按鍵和LED的顯示進(jìn)行調(diào)試。&l

25、t;/p><p>  當(dāng)程序下載完之后,按下電源開(kāi)關(guān),LED上顯示初始狀態(tài),按下啟動(dòng)鍵顯示接收數(shù)據(jù)的狀態(tài),按下停止鍵后顯示當(dāng)前所記錄的數(shù)據(jù),按下復(fù)位鍵則顯示初始狀態(tài),關(guān)閉所有數(shù)碼管,為全黑狀態(tài)。</p><p><b>  第6章 總結(jié)</b></p><p>  回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期

26、的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的

27、過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)三極管PNP管腳不懂怎么放置,不懂分得二極管的正負(fù)極,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好……通過(guò)這次課程設(shè)計(jì)之后,一定把以前 所學(xué)過(guò)的知識(shí)重新溫故。</p><p>  這次的課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在歐陽(yáng)老師的辛勤指導(dǎo)下,終于迎刃而解。同時(shí),在歐陽(yáng)老師的身上我學(xué)得到很多實(shí)用的知識(shí),在此我表示感謝!同時(shí),對(duì)

28、給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示衷心的感謝。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 周向紅,劉國(guó)繁.51系列單片機(jī)應(yīng)用與實(shí)踐教程. 北京航空航天大學(xué) 出版社, 2008</p><p>  [2] 王迎旭.單片機(jī)原理及應(yīng)用.機(jī)械工業(yè)出版社,2010</p><p>  [

29、3] 張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì),哈爾濱工業(yè)大學(xué)出版社,2003</p><p>  [4] 何立民.編單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北航出版社,2000</p><p>  [5]劉國(guó)榮.單片微型計(jì)算機(jī)技術(shù).機(jī)械工業(yè)出版社,1996</p><p>  [6] 張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).國(guó)防工業(yè)出版社,1993</p><

30、p>  [7]房小翠.編單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù).國(guó)防工業(yè)出版社,1999</p><p>  [8]何立民.編單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北航出版社,2005</p><p>  [9]曹琳琳.編單片機(jī)原理及接口技術(shù).國(guó)防科技大學(xué)出版社,2000</p><p><b>  附錄</b></p><p><b>

31、  系統(tǒng)原理圖:</b></p><p><b>  程序清單:</b></p><p>  #include<reg52.h>//頭文件</p><p>  #define uchar unsigned char//宏定義</p><p>  #define uint unsigne

32、d int//宏定義</p><p>  ucharcode tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x88,0x83,0xC6,0xA1,0x86,0x8E}; //共陽(yáng)數(shù)碼管代碼 0-F</p><p>  uint Count=0;//定時(shí)器中斷的次數(shù)</p><p&

33、gt;  uint Key_State,T_State;//定義鍵的狀態(tài)和定時(shí)器的狀態(tài)</p><p>  int second=0;//定時(shí)器1在1S內(nèi)計(jì)數(shù)的次數(shù)</p><p>  sbit Stop=P3^0;//停止</p><p>  sbit Reset=P3^1;//復(fù)位</p><p>  

34、sbit key=P3^2;//啟動(dòng)</p><p>  void delay(uint ms) //延時(shí)子程序</p><p><b>  {</b></p><p><b>  uint i;</b></p><p>  while(ms--)</p><p&g

35、t;  for(i=0;i<120;i++);</p><p><b>  }</b></p><p>  void Display()//顯示子程序</p><p>  { </p><p>  P2=0xFE; //顯示個(gè)位

36、</p><p>  P0=Tab[second%10]; </p><p><b>  delay(5);</b></p><p>  P2=0xFD; //顯示十位 </p><p>  P0=Tab[second%100/10];</p><p><b

37、>  delay(5);</b></p><p>  P2=0xFB;//顯示百位</p><p>  P0=Tab[second%1000/100];</p><p><b>  delay(5);</b></p><p>  P2=0xF7;//顯示千位</p>&

38、lt;p>  P0=Tab[second/1000];</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  void Scan_Key()//鍵盤(pán)掃描子程序</p><p><b>  {</b>&

39、lt;/p><p>  if(key==0) //啟動(dòng)功能鍵被按下</p><p><b>  {</b></p><p>  delay(10);//去抖</p><p>  if(key==0)//啟動(dòng)鍵被按下</p><p><b>  { </b>

40、</p><p>  if(Key_State==0|Key_State==3)//假如鍵狀態(tài)為0或3</p><p><b>  {</b></p><p>  TR0=1;//開(kāi)啟定時(shí)器/計(jì)數(shù)器0</p><p>  TR1=1;//開(kāi)啟定時(shí)器/計(jì)數(shù)器1</p><p>  Key

41、_State=1; //把鍵狀態(tài)設(shè)為1</p><p><b>  }</b></p><p>  while(!key); //等待啟動(dòng)鍵釋放</p><p><b>  }</b></p><p><b>  }</b></p><p> 

42、 if(Stop==0)//復(fù)位鍵被按下</p><p><b>  {</b></p><p>  delay(10);//延時(shí)去抖</p><p>  if(Stop==0)//停止鍵被按下</p><p><b>  {</b></p><p&g

43、t;  if(Key_State!=2)//鍵狀態(tài)不為2</p><p><b>  {</b></p><p>  Key_State=2;//狀態(tài)設(shè)為2</p><p>  TR0=0;//關(guān)閉定時(shí)器/計(jì)數(shù)器0</p><p>  TR1=0; //關(guān)閉定時(shí)器/計(jì)數(shù)器1</p><

44、p><b>  }</b></p><p>  while(!Stop);//等待復(fù)位鍵釋放</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(Reset==0)//停止鍵被按下</p>&l

45、t;p><b>  {</b></p><p>  delay(10);//延時(shí)去抖</p><p>  if(Reset==0)//停止鍵確實(shí)被按下</p><p><b>  {</b></p><p>  if(Key_State!=3) //鍵狀態(tài)為不3</p

46、><p><b>  {</b></p><p>  Key_State=3;//鍵狀態(tài)設(shè)為3</p><p>  TR0=0;//關(guān)閉定時(shí)器/計(jì)數(shù)器0</p><p>  TR1=0; //關(guān)閉定時(shí)器/計(jì)數(shù)器1</p><p><b>  } </b><

47、/p><p>  while(!Reset);//等待停止鍵釋放</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p><p>  void main()//

48、主函數(shù)</p><p><b>  {</b></p><p>  TMOD=0x51;//定時(shí)器 1和0 都工作在方式1</p><p>  TH0=(65536-50000)/256;//定時(shí)器0裝入初值</p><p>  TL0=(65536-50000)%256;</p><p>

49、;  TH1=0;//定時(shí)器1裝入初值</p><p><b>  TL1=0;</b></p><p>  EA=1;//開(kāi)放總中斷</p><p>  ET0=1;//開(kāi)放定時(shí)器/計(jì)數(shù)器0中斷</p><p>  ET1=1;//開(kāi)放定時(shí)器/計(jì)數(shù)器1中斷</p>

50、<p>  TR0=0;//關(guān)閉定時(shí)器/計(jì)數(shù)器0</p><p>  TR1=0;//關(guān)閉定時(shí)器/計(jì)數(shù)器1</p><p>  P2=0xff;//關(guān)閉數(shù)碼顯示管</p><p><b>  while(1)</b></p><p><b>  {</b>&

51、lt;/p><p>  Scan_Key();//調(diào)用鍵盤(pán)掃描子程序</p><p>  if(T_State==1&&Key_State==1)//鍵狀態(tài)為1且定時(shí)器狀態(tài)為1</p><p><b>  { </b></p><p>  T_State=0;//把定時(shí)器狀態(tài)清0</p>

52、<p>  second=(TH1*256+TL1)*60;//計(jì)算轉(zhuǎn)速</p><p>  TH1=0;//清計(jì)數(shù)器</p><p><b>  TL1=0; </b></p><p><b>  }</b></p><p>  if(Key_State==1|Key_St

53、ate==2)//鍵狀態(tài)為1或2</p><p>  Display();//調(diào)用顯示子程序</p><p>  if(Key_State==3)//鍵狀態(tài)為3</p><p>  P2=0XFF;//關(guān)閉顯示</p><p><b>  } </b></p><p><b

54、>  }</b></p><p>  void T0timer() interrupt 1 //定時(shí)器0用于定時(shí)</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;//重裝初值</p><p>  TL0=(65536-50000)%2

55、56;</p><p>  Count++;//計(jì)數(shù)值加1</p><p>  if(Count>=20)//計(jì)數(shù)值到了20次,即1S就清0, 并把定時(shí)器狀態(tài)設(shè)為1</p><p><b>  {</b></p><p><b>  Count=0;</b>

56、</p><p>  T_State=1; </p><p><b>  } </b></p><p><b>  }</b></p><p>  void T1timer() interrupt 3 //定時(shí)器1用于計(jì)數(shù)</p><p><b> 

溫馨提示

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