版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE18目錄目錄 0第1章概述 12.1基本原理 32.2設計思路 32.3設計方案 3第3章硬件電路設計 53.1按鍵設計電路圖 53.2顯示電路設計圖 5第4章軟件設計 74.1主程序流程及說明 74.2中斷服務子程序 94.3鍵盤掃描程序 10第5章系統(tǒng)調試及軟件仿真 115.1程序調試 115.2硬件電路調試 13第6章總結 14第6章總結 14參考文獻 16附錄A 17系統(tǒng)原理圖: 17附錄B 18程序清單: 18概述隨著科學技術特別是微型計算機技術的高速發(fā)展,單片微機技術也獲得了飛速發(fā)展。目前,單片機已經(jīng)在日常生活和控制領域等方面得到廣泛的應用,它正為我國經(jīng)濟的快速發(fā)展發(fā)揮著舉足輕重的作用。作為自動化專業(yè)的一名工科學生應該牢牢掌握這一重要技術。而課程設計這一環(huán)節(jié)是我們提高單片機應用能力的很好機會,也是我們學好這一課程的必經(jīng)環(huán)節(jié)。通過課程設計可以進一步鞏固我們前面所學理論知識,使我們對單片機理論知識有一個深刻的認識和全面的掌握。另外通過這一真正意義上的實踐活動,我們可以從中發(fā)現(xiàn)自己不足之處并能夠在自己的深思下和老師的指導下得到及時的解決。再次,它能使我們的應用能力和科技創(chuàng)新能力得到較大的提高。本課程設計是單片機系統(tǒng)在測速方面的簡單應用。目前單片機技術已經(jīng)在電機轉速等為控制對象的控制系統(tǒng)中得到了廣泛的應用,而在這一控制過程中必須通過單片機來測量轉速?;诖吮菊n程設計利用89C51單片機及外圍電路來設計一個數(shù)字轉速表。通過測量轉速所對應的方波脈沖來測量轉速,其轉速可以通過鍵盤輸入給定,同時其具體數(shù)值也可以在LED上顯示出來。單片機作為嵌入式微控制器在工業(yè)測控系統(tǒng),智能儀器和家用電氣中得到廣泛應用。雖然單片機的品種很多,但MCS-51系列單片機仍不失為單片機中的主流機型。本課程一MCS-51系列以及派生系列單片機芯片為主介紹單片機的原理與應用,與其特點是由淺入深,注重接口技術和應用。機電一體化是當今制造技術和產品發(fā)展的主要傾向,也是我國機電工業(yè)發(fā)展的必由之路??梢哉J為,它是用系統(tǒng)工程學的觀點和方法,研究在機電系統(tǒng)和產品中如何將機械、計算機、信息處理和自動控制技術綜合應用,以求機電系統(tǒng)和產品達到最佳的組合。機電一體化產品所需要的是嵌入式微機,而單片機具有體積小、集成度高、功能強等特點,適于嵌入式應用。智能儀器、家用電器、數(shù)控機床、工業(yè)控制等機電設備和產品中竟相使用單片機。
就目前而言,單片機的發(fā)展勢頭依然不減,各種型號和功能更強的單片機和超級接口芯片不斷出現(xiàn),進一步向高層次發(fā)展的重要標志就是構成多機系統(tǒng)和分布式網(wǎng)絡。世界上單片機芯片的產量以每年27%的速度遞增,到本世紀初已達30億片,而我國的年需求量也超過了億片的數(shù)量,這表明單片機有著廣闊的應用前景。本課程設計主要針對目前我國早期應用比較廣泛的“MCS-51”單片機進行系統(tǒng)的講解和分析。為使用和開發(fā)各類機電一體化設備和儀表建立基礎。
第2章工作原理和設計思路及方案2.1基本原理本次課程設計用STC89C52作為主控器組成一個轉速表。電機轉速采用光電脈沖傳感器來測量,通過設置定時器/計數(shù)器T0為1S,設置定時器/計數(shù)器T1為計數(shù)器對光電傳感器傳過來的脈沖進行計數(shù),電動機測速采用測周法,即每旋轉一周產生一個脈沖,則設在1s內測量的脈沖個數(shù)為n,故測到轉速n就是脈沖頻率,再乘以60就是電動機的轉速,單位為r/min。在此期間定時1s,在1s內允許中斷,每中斷一次,軟件計數(shù)器加1,1s后,關閉中斷,則軟件計數(shù)器即為1s內的脈沖數(shù),通過計數(shù)一定時間內通過定時器的脈沖數(shù)通過軟硬件結合工作即可測出電機的轉速。2.2設計思路為了確定其設計方案,首先必須構思好初步的設計思路。根據(jù)設計要求和實驗仿真條件,初步的設計思路可以總結如下:1)用信號發(fā)生器來產生頻率為0-500Hz的方波脈沖信號。2)當前轉速與電動機的狀態(tài)顯示用4段LED數(shù)碼管。3)鍵盤采用獨立式鍵盤,需要3個鍵。4)采樣時間用定時/計數(shù)器0來實現(xiàn)。5)用定時/計數(shù)器1來統(tǒng)計采樣時間內的脈沖數(shù),進而計算轉速。2.3設計方案根據(jù)設計要求和設計思路,可以確定該系統(tǒng)的設計方案,圖1為該系統(tǒng)設計的硬件電路設計框圖。硬件主要由四部分組成,即脈沖源、單片機、鍵盤、LED顯示器。單片機采用STC89C52。要求測量的脈沖直接用另一個單片機產生提供。在單片機中,定時功能既可以由硬件(定時/記數(shù)器)實現(xiàn),也可通過軟件定時實現(xiàn)。硬件定時是利用單片機內定時器定時,啟動以后定時器可與CPU并行工作,不占用CPU時間,CPU有較高的工作效率。采用硬件定時和軟件定時并用的方式,即用T0溢出中斷功能實現(xiàn)50ms定時,通過軟件延時程序實現(xiàn)1s定時。定時器的TMOD用于設置定時器/計數(shù)器的工作方式0~3,并確定用于定時還是用于計數(shù)。TCON主要功能是為定時器在溢出時設定標志位,并控制定時器的運行或停止等。硬件電路設計如圖2.1所示圖2.1硬件電路設計
第3章硬件電路設計3.1按鍵設計電路圖對于按鍵電路的設計可以有2種方式:一種方式是直接按鍵設計,也稱獨立按鍵,這種設計電路適用于按鍵較少的控制,具有按鍵電路簡單,編程方便等優(yōu)點;另一種方式是矩陣式鍵盤的設計,它適用于對控制按鍵較多的電路控制,占用較少的I/O接口,但是按鍵電路復雜,編程比較復雜。本課題總共需要按鍵,所以采用獨立按鍵設計。設計圖如3.1.1:由上到下的按鍵分別是復位、停止、啟動圖3.13.2顯示電路設計圖本課題所采用得是由LED(數(shù)碼管)作為顯示電路,用以顯示由單片機所接收的脈沖轉換來的BCD碼,以及開始測速時的各種狀態(tài)。硬件電路連接是單片機P0.0~P0.7接數(shù)碼管的由A~G、DP8個各管腳,P2.0~P2.3接數(shù)碼管的控制端W4、W3、W2、W1采用共陽極連接的方法連接圖如圖3.2.1圖3.2.13.2脈沖產生電路設計圖 在實際做試驗是由另一塊單片機產生脈沖,在本次設計中我讓另一塊單片機輸入1Hz頻率的脈沖,并把脈沖接到現(xiàn)實的單片機的P3.5口進行計數(shù)。
第4章軟件設計4.1主程序流程及說明本次設計用T0做定時器定時時間為50ms、T1作計數(shù)器,都設置為工作方式一。如圖4.1.1所示圖4.1.14.2中斷服務子程序圖4.2.14.3鍵盤掃描程序數(shù)字轉速表的鍵盤操作應具有3個功能,即:啟動、停止、復位。本次采用的是直接連接的獨立式按鍵,在鍵盤掃描過程中必須解決以下問題:1、是否有鍵按下;2、是哪一個鍵按下;3是不是有抖動;4、按鍵是不是松開。故在程序應該注意以上問題,不然會產生問題,不能正確的對按鍵進行識別。圖4.3.1為鍵盤流程圖:NNYNY是否有鍵閉合延時去抖是否有鍵閉合閉合鍵是否釋放相對應操作圖4.3.1按鍵流程圖
第5章系統(tǒng)調試及軟件仿真5.1程序調試試驗所涉及的2個軟件KeiluVsion2和proteus,以下是仿真步驟。程序調試部分:uVsion2先新建一個工程,選擇芯片為AT89C52然后點擊是,然后彈出是否加入標準啟動文件,點擊否,再新建一個文件,保存為“文件名.C”。然后點開工程窗口的Target右鍵單擊出現(xiàn)彈出菜單,選擇添加文件到工程,選到剛才新建的文件然后點擊OK,輸入程序,點擊工程選擇,選中Output中的CreatHexFile,然后編譯,連接生成Hex文件,有錯誤修改后再編譯鏈接。當編譯結果中沒出現(xiàn)錯誤時證明該程序已不存在語法錯誤。是否能完成課題所要求的功能則需要進行仿真。仿真部分:運行proteus的ISIS后進入仿真界面將所需元件選擇好,根據(jù)原理圖畫出仿真圖,待仿真圖換好后雙擊AT89C52導入KeiluVsion2所產生的后綴名為.HEX文件,按開始鍵進行仿真。當輸入脈沖為6HZ時輸出為360rad/min。5.2硬件電路調試硬件調試的步驟如下:接通電源和數(shù)據(jù)線,通過軟件將在KeiluVsion2中生成的HEX文件下載到單片機板子上,先對板子關電當顯示請上電時按下單片機上的電源開關按鈕上電下載程序到單片機中,通過按鍵和LED的顯示進行調試。當程序下載完之后,按下電源開關,LED上顯示初始狀態(tài),按下啟動鍵顯示接收數(shù)據(jù)的狀態(tài),按下停止鍵后顯示當前所記錄的數(shù)據(jù),按下復位鍵則顯示初始狀態(tài),關閉所有數(shù)碼管,為全黑狀態(tài)。
第6章總結實驗表明,本系統(tǒng)的設計在功能上完全滿足要求,說明設計是有效的。具體來說,鍵盤上的各鍵都有效果,且能實現(xiàn)其功能;顯示器也完全能滿足要求;轉速的測量基本上無誤差,之所以還存在很小的誤差是因為在計算上計算誤差。總的來說,本設計是合理的,但應當指出的是此系統(tǒng)還可以采用其它更好的方案,從而達到更好的效果。譬如在軟件方面,鍵盤掃描程序和LED顯示子程序等,但為了便于快速看懂程序,本程序沒有進行一些復雜的處理,而是注重彰顯各個部分。另外,由于時間關系和能力的局限性,錯誤之處難免,還請老師體諒。下面是我的一些體會與建議。通過兩周的單片機課程設計的實習,在老師的指導下和自己的努力下,我成功地完成了數(shù)字轉速表的設計,真正地感覺到在這段時間里受益良多,這主要表現(xiàn)在:一是對之前所學的理論知識得到了很大的鞏固和提高;二是對單片機課程設計有了一個全面的認識,對單片機有關的設備儀器和軟件的使用有了很深的認識;三是對硬件設計,特別是軟件設計有了較強的掌握;四是進一步培養(yǎng)了自己的思維,提高了動手能力和創(chuàng)新能力。盡管在此之前,我已經(jīng)做過不少專業(yè)課的課程設計,但這一次與前面的設計有很大的不同,其中最大的不同是,系統(tǒng)設計好后需在實驗室調試,調試的成功與否具有直接否決權,而這一過程恰恰是我們最不敢面對的,也是最具有難度的。這一過程能夠考驗我們設計的系統(tǒng),同時也能真正地考察我們對這門課程的應用能力。因此,突出這一環(huán)節(jié)的重要性,是完全正確的。在實驗室調試過程中,我不斷發(fā)現(xiàn)問題和解決問題。重點解決了鍵盤輸入、調用顯示和設計程序計算等問題??傊敬卧O計的收獲是以往任何課程設計無法相比的。因為這次課程設計是真正意義上的課程設計,在形式上更具有實際意義。另外,這次學校為我們提供了很好的設計條件,而且老師也非常負責。在這里向老師表示真心的感謝。
參考文獻1、周向紅、劉國繁.51系列單片機應用與實踐教程. 北京航空航天大學出版社, 20082、王迎旭.單片機原理及應用.機械工業(yè)出版社,20103、張毅剛.新編MCS-51單片機應用設計.哈爾濱工業(yè)大學出版社, 20034、何立民.編單片機應用系統(tǒng)設計.北航出版社,2000
附錄A系統(tǒng)原理圖:附錄B程序清單:#include<reg52.h> //頭文件#defineucharunsignedchar //宏定義#defineuintunsignedint //宏定義uchar codetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//共陽數(shù)碼管代碼0-FuintCount=0; //定時器中斷的次數(shù)uintKey_State,T_State; //定義鍵的狀態(tài)和定時器的狀態(tài)intsecond=0; //定時器1在1S內計數(shù)的次數(shù)sbitStop=P3^0; //停止 sbitReset=P3^1; //復位sbitkey=P3^2; //啟動voiddelay(uintms) //延時子程序{uinti;while(ms--)for(i=0;i<120;i++);}voidDisplay() //顯示子程序{P2=0xFE; //顯示個位P0=Tab[second%10]; delay(5); P2=0xFD; //顯示十位 P0=Tab[second%100/10]; delay(5); P2=0xFB; //顯示百位P0=Tab[second%1000/100]; delay(5); P2=0xF7; //顯示千位P0=Tab[second/1000]; delay(5);}voidScan_Key() //鍵盤掃描子程序{ if(key==0) //啟動功能鍵被按下 { delay(10); //去抖 if(key==0) //啟動鍵被按下 { if(Key_State==0|Key_State==3)//假如鍵狀態(tài)為0或3 { TR0=1; //開啟定時器/計數(shù)器0 TR1=1; //開啟定時器/計數(shù)器1 Key_State=1; //把鍵狀態(tài)設為1 } while(!key); //等待啟動鍵釋放 } } if(Stop==0) //復位鍵被按下 { delay(10); //延時去抖 if(Stop==0) //停止鍵被按下 { if(Key_State!=2) //鍵狀態(tài)不為2 { Key_State=2; //狀態(tài)設為2 TR0=0; //關閉定時器/計數(shù)器0 TR1=0; //關閉定時器/計數(shù)器1 } while(!Stop); //等待復位鍵釋放 } } if(Reset==0) //停止鍵被按下 { delay(10); //延時去抖 if(Reset==0) //停止鍵確實被按下 { if(Key_State!=3) //鍵狀態(tài)為不3 { Key_State=3; //鍵狀態(tài)設為3 TR0=0; //關閉定時器/計數(shù)器0 TR1=0; //關閉定時器/計數(shù)器1 } while(!Reset); //等待停止鍵釋放 } } }voidmain() //主函數(shù){TMOD=0x51; //定時器1和0都工作在方式1TH0=(65536-50000)/256; //定時器0裝入初值TL0=(65536-50000)%256;TH1=0; //定時器1裝入初值TL1=0;EA=1; //開放總中斷ET0=1; //開放定時器/計數(shù)器0中斷ET1=1; //開放定時器/計數(shù)器1中斷TR0=0; //關閉定時器/計數(shù)器0TR1=0; //關
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026重慶涪陵區(qū)武陵山鎮(zhèn)人民政府招聘1人備考考試試題及答案解析
- 2026年甘肅省蘭州市城關區(qū)人民政府雁南街道辦事處公益性崗位招聘參考考試題庫及答案解析
- 2026貴州貴陽市息烽縣衛(wèi)生健康局公益性崗位招聘2人備考考試題庫及答案解析
- 2026廣東河源市東源縣市場監(jiān)督管理局鄉(xiāng)鎮(zhèn)市場監(jiān)管所執(zhí)法輔助人員招聘15人考試備考試題及答案解析
- 出租車群管理制度(3篇)
- 2026四川自貢市第四人民醫(yī)院輔助性崗位人員招聘4人參考考試題庫及答案解析
- 2026四川華西乳腺健康醫(yī)學研究院招聘3人考試參考試題及答案解析
- 2026年廣西桂林市事業(yè)單位招聘(1221人)參考考試題庫及答案解析
- 企業(yè)管理-人力資源公司成本核算財務分析報告
- 風物之歌介紹
- 四川省成都市武侯區(qū)2024-2025學年七年級上學期期末生物學試題(含答案)
- 校園欺凌預防策略:心理干預與行為矯正
- 辦公樓物業(yè)安全管理
- 中老年人常見疾病預防
- 2024基因識別數(shù)據(jù)分類分級指南
- 臨床成人失禁相關性皮炎的預防與護理團體標準解讀
- 創(chuàng)新創(chuàng)業(yè)教育學習通超星期末考試答案章節(jié)答案2024年
- 河道治理、拓寬工程 投標方案(技術方案)
- 政治審查表(模板)
- 《最奇妙的蛋》完整版
- SEMI S1-1107原版完整文檔
評論
0/150
提交評論