第一篇:單片機課程設(shè)計選題
單片機原理與接口技術(shù)課程設(shè)計題目
以下題目任選其一,1-2人一組,自由組合,組內(nèi)各人必須有明確的分工,原則上同一組最多一個同學(xué)得優(yōu)。
可使用任何單片機或ARM,1-4要求自己設(shè)計全部硬件和焊接電路板,5-10題可用現(xiàn)成的單片機開發(fā)板,5-6題亦可用proteus仿真。自擬題的根據(jù)題目難度由指導(dǎo)老師決定能否用現(xiàn)成的單片機開發(fā)板。
一、PC機看門狗(每班最多6人選此題,難度系數(shù):低)
功能:當(dāng)PC機死機時能自動使其重新啟動。
硬件:可使用串口或USB與PC機通訊。
軟件:PC機上軟件編程可選用任何一種面向?qū)ο箝_發(fā)軟件,如VC,Delphi等。
實現(xiàn)原理:PC機正常時,每隔一段時間通過串口向單片機發(fā)送一些固定的數(shù)據(jù),單片機如果收到此數(shù)據(jù),說明PC機正常,如果超時未收到,則控制PC機重新啟動。
二、電子琴設(shè)計(每班最多6人選此題,難度系數(shù):中)
按下1-7,實驗箱上的蜂鳴器發(fā)出對應(yīng)的音調(diào)(中音),當(dāng)同時按下L和1-7時是,蜂鳴器發(fā)出低音,同時按下H和1-7時,蜂鳴器發(fā)高音。只要按鍵沒松開,蜂鳴器一直發(fā)聲,直到
擴展功能:在彩屏LCD上顯示電子屏琴圖片,用觸摸屏控制發(fā)音,就像真正彈電子琴一樣。
三、自行車測速儀(難度系數(shù):中偏高)
基本功能:能實時顯示自行車的行駛速度
附加功能:實時時鐘,行駛里程累計
要求具備一定的實用價值,即要考慮如下問題(也是答辯時的考察和評分指標(biāo)):
1、體積要做到盡量小
2、為了省電,要使用低電壓工作的單片機,比如使用2.0-3.3V工作電壓的單片機
3、供電采用可充電的聚合物鋰電池(普通手機電池),一次充電后的使用時間最少1
2小時
4、最好能直接用單車輪子的旋轉(zhuǎn)為電池充電(選做)。
四、計算器設(shè)計
5、使用4×4行列式鍵盤和1602液晶(其他液晶亦可)或數(shù)碼管,實現(xiàn)普通十進制計
算器的功能,鍵盤符號定義如下:
6、“C”表示退格,即刪除鍵,按一次刪除鍵刪掉顯示的最后一個數(shù)字。
7、如果是用LCD,LCD的第一行顯示運算式,第二行顯示運算結(jié)果。比如要計算機
12+34,在鍵盤上按下相應(yīng)鍵后,LCD的第一行顯示“12+34”,按下“=”號后,LCD的第二行顯示“=46”。
8、如果用數(shù)碼管,至少用6位的數(shù)碼管,按“=”前顯示輸入的數(shù)字和運算符,按“=”
后顯示運算結(jié)果。
9、其他功能參考普通計算器。
10、基本功能:四則運算、退格功能,按“=”號后再按數(shù)字時自動清除之前的輸入和
計算結(jié)果,重新開始下一次新的計算過程。
11、擴展功能:負數(shù)、小數(shù)運算。復(fù)合運算。連續(xù)運算。2進制、8進制運算。觸摸功
能:直接在LCD上顯示一個計算器,用觸摸屏操作。
12、必須考慮不正常輸入的情況,答辯時會測試是否能處理各種不正常輸入。
五、PC機控制的計算器設(shè)計(每班最多6人選此題,難度:中偏高)計算器要實現(xiàn)的功能同第四題。與第四題不同的是:
1、計算器的輸入不使用單片機板上的鍵盤,而是用PC機的鍵盤輸入,PC機將銨鍵通過串口發(fā)給單片機,并在單片機的LCD上顯示。
2、在LCD上開光標(biāo)顯示并閃爍,可將光標(biāo)退回去修改輸入的計算式,通過PC機的左右箭頭鍵將光標(biāo)移到要修改的位置,再按下數(shù)字或操作符號可替換光標(biāo)所在位置的字符。
3、按退格鍵刪除光標(biāo)前面一個位置的字符,按del鍵刪除光標(biāo)所在位置的字符。
3、任何時候按“=”鍵開始計算結(jié)果,按了“=”之后還可以將光標(biāo)退回到計算式上修改計算式。再按“=”則重新計算新的結(jié)果。
此題可用現(xiàn)成的單片機開發(fā)板,亦可用proteus仿真。
六、單片機用普通IO口實現(xiàn)串口通信(每班最多6人選此題,難度系數(shù):中)
在理解單片機異步串口通信的基礎(chǔ)上,不使用單片機的串口模塊,用普通的IO口實現(xiàn)與PC機的串口通信的功能,要求實現(xiàn)的基本參數(shù):波特率1200、數(shù)據(jù)位8位、無奇偶校驗、停止位1位。
其他功能:有關(guān)參數(shù)能方便地修改。
此題主要鍛煉編程能力,所以可以用Proteus仿真或現(xiàn)成的單片機開發(fā)板做。
七、基于三軸加速度傳感器的新型鼠標(biāo)(難度系數(shù):高)
利用三軸加速度傳感器實現(xiàn)鼠標(biāo)的四個方向的移動光標(biāo)的功能。有兩種方案可以選擇:一種是設(shè)計一種USB接口連接電腦,只要按USB鼠標(biāo)的協(xié)議收發(fā)數(shù)據(jù),則PC機上不需另外做驅(qū)動;第二種方案是用串口連接電腦,但PC機上需要設(shè)計驅(qū)動程序,可以采用API函數(shù)的控制鼠標(biāo)移動,可參考下面網(wǎng)址或百度搜索相關(guān)資料。
注:此題可用現(xiàn)成的單片機開發(fā)板,另加上自己的三軸加速度傳感器來做,即傳感器模塊的硬件需要自己設(shè)計,單片機部分可用現(xiàn)成的開發(fā)板。
八、智能學(xué)習(xí)型紅外遙控器(難度系數(shù):中偏高)
可學(xué)習(xí)其他遙控器的按鍵功能,替換原遙控器各按鍵的遙控功能。
功能參考淘寶上產(chǎn)品:
注:此題可用現(xiàn)成的單片機開發(fā)板,如果開發(fā)板上沒有紅外的收和發(fā)模塊,則需另加上紅外的收發(fā)模塊。
對物聯(lián)網(wǎng)感興趣的同學(xué),可做這個題目,以后再加上zigbee模塊就成為物聯(lián)網(wǎng)家居里面的一個應(yīng)用。
九、Zigbee無線臺燈設(shè)計
利用CC2530單片機無線收發(fā)數(shù)據(jù),實現(xiàn)對臺燈的控制。
CC2530單片機模塊由Webee提供,單片機板上有1個按鍵,按1次開臺燈,快速按2次則關(guān)臺燈。控制臺燈需要另加繼電器,這些控制電路需要自己設(shè)計。
對物聯(lián)網(wǎng)家居感興趣的同學(xué),可做這個題目。CC2530就是一個增強型的51單片機,學(xué)習(xí)起來并不復(fù)雜。
十、電梯模型(難度系數(shù):高)
設(shè)計一個五層樓的電梯模型,每層樓的電梯口2個指示燈(指明電梯運行方向是上或下),2個按鍵(上、下);電梯廂內(nèi)7個燈及7個按鍵(1-5目標(biāo)樓層選擇各一個,開關(guān)門各一個)。可用現(xiàn)成的單片機開發(fā)板,其他模塊自做。
十一、自擬題
鼓勵大家自擬題目,但需指導(dǎo)老師的同意。歡迎大家選擇智能家居和物聯(lián)網(wǎng)有關(guān)的題目。
選題必須在課程設(shè)計開始的第二天中午前確定好,班長統(tǒng)計好各人的題目后,將匯總表發(fā)到郵箱:23647837@qq.com
格式:
答疑方式及時間:QQ答疑(全天候)、現(xiàn)場答疑(先預(yù)約)
答辯時間:初定第10周四下午和周五全天,答辯時必須帶上打印好的課程設(shè)計報告。題目難度大的可以推遲答辯,具體時間再商定。
答疑及答辯地點:工一407
注意事項:每個組答辯完后硬件暫時保留在實驗室,待全部同學(xué)答辯完后再發(fā)還給大家,所以要求在自己的硬件上貼上標(biāo)簽,標(biāo)簽上寫明組內(nèi)各成員的班級、學(xué)號和姓名,注意標(biāo)簽貼牢一些,不要輕易就掉了。
課程設(shè)計報告:詳細記錄課程設(shè)計過程中碰到的難點和問題、問題的解決過程及解決方法,心得體會。上交的打印稿不需附程序源碼,但需有程序框圖及軟件的操作說明。報告要有操作界面的截圖,特別是自已做的硬件,要有整體的照片。
班長收集全班同學(xué)的程序源碼及課程設(shè)計報告電子文檔壓縮打包上交。
答辯注意事項:除了書本上已有的例子,絕不允許抄襲其他同學(xué)的程序,先做好的同學(xué)先答辯,答辯時如果發(fā)現(xiàn)某段程序與已答辯的同學(xué)雷同,則答辯不能通過。
允許參考,但不允許抄襲,參考是指先看懂別人的程序,然后自己編程,而不是照抄(復(fù)制)別人的某段程序,也不是在別人的程序基礎(chǔ)做修改,所有的代碼一定要自己寫。
第二篇:單片機課程設(shè)計選題
選題一 簡易電子琴
基本功能:設(shè)計電子琴按鍵,使得按不同的按鍵能夠發(fā)出1,2,3,4,5,6,7等音符 選題二 電子音樂盒
基本功能:設(shè)置0-7號按鍵控制播放不同的音樂
選題三 8×8點陣式LED顯示系統(tǒng)
基本功能:能夠顯示點陣漢字
選題四 電子計算器
基本功能:能夠進行加減乘除運算,并顯示運算結(jié)果
選題五 數(shù)字溫度計
基本功能:能夠?qū)崟r顯示環(huán)境溫度
選題六 LCD液晶顯示系統(tǒng)
基本功能:能夠顯示英文字符
選題七 電子秒表
基本功能:能夠?qū)崿F(xiàn)秒表計時,并顯示計時值,能夠清零,重新計時
選題八 電子萬年歷
基本功能:能夠輸入初始年月日,并能夠顯示當(dāng)前日期
選題九 智能交通燈
基本功能:模擬十字交通路口的紅綠黃三種燈的閃亮情況,控制交通
選題十 電子密碼鎖
基本功能:能夠預(yù)設(shè)3位初始密碼,當(dāng)輸入密碼與預(yù)設(shè)密碼一致時自動開鎖,否則報警 選題十一 搖搖棒
基本功能:當(dāng)搖搖棒搖動時,能夠顯示不同變換效果圖
提示:可以選用振動開關(guān)
選題十二 多功能數(shù)字電子鐘
基本功能:能夠預(yù)置初始時間,并能夠?qū)崟r顯示當(dāng)前時間
每組選題人數(shù)不超過5人。
論文寫作分以下幾個部分
一、選題的意義
二、主要功能
三、設(shè)計方案
四、硬件電路
五、軟件設(shè)計
六、總結(jié)
自制封面:包含課程設(shè)計題目、學(xué)號、姓名、班級等內(nèi)容
第三篇:單片機課程設(shè)計
單片機課程設(shè)計
課題: 簡易電子琴設(shè)計
學(xué)
院:
電氣與信息工程學(xué)院 專
業(yè):
電子信息工程 姓
名:
李琳琳 學(xué)
號:
093411106
指導(dǎo)老師:
田巍
河南城建學(xué)院
2014年
01 月
01 日
第四篇:單片機課程設(shè)計
課 程 設(shè) 計
設(shè)計題目: 基于單片機的8*8點陣顯示數(shù)字設(shè)計
學(xué)生姓名: 指導(dǎo)教師: 二級學(xué)院: 專
業(yè): 班
級: 學(xué)
號:
目 錄
摘要??????????????????????????Ⅱ 1 方案選擇及總體設(shè)計???????????????????1 1.1方案確定?????????????????????1 1.1.1功能要求????????????????????1 1.1.2方案確定????????????????????1 1.2器件選擇?????????????????????1 2 控制系統(tǒng)設(shè)計??????????????????????2 2.1 控制系統(tǒng)硬件設(shè)計?????????????????2 2.1.1整體模塊設(shè)計??????????????????2 2.1.2單片機AT89C51?????????????????2 2.1.3單片機最小系統(tǒng)設(shè)計???????????????5 2.1.3.1晶振電路設(shè)計?????????????????5 2.1.3.2復(fù)位電路設(shè)計?????????????????5 2.1.4驅(qū)動電路設(shè)計??????????????????6 2.1.5LED點陣顯示設(shè)計????????????????9 2.2控制系統(tǒng)軟件設(shè)計?????????????????11 2.2.1軟件設(shè)計思想??????????????????11 2.2.2主程序流程圖??????????????????11 2.2.3子程序流程圖??????????????????13 3 系統(tǒng)仿真及調(diào)試????????????????????14 3.1系統(tǒng)調(diào)試?????????????????????14 3.2系統(tǒng)仿真?????????????????????14 3.2.1protrus軟件仿真????????????????14 3.2.2程序??????????????????????14 總結(jié)?????????????????????????^?17 參考文獻????????????????????????18
I
摘 要
現(xiàn)在市場上各類基于LED的顯示屏較多,但大部分產(chǎn)品為單一模式的LED顯示屏,其在顯示內(nèi)容的更換及顯示屏的重組等方面都存在不便之處。但隨著信息化社會的迅速發(fā)展,LED顯示屏正在向顯示內(nèi)容豐富、信息更改方便等方面發(fā)展。因此制作一款多功能的LED廣告顯示屏是非常有意義地。
LED驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行的同名列共用一套列驅(qū)動器。以8×8點陣為例,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對應(yīng)第1行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定的時間,然后熄滅;再送出第2行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;第8行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動較多的LED,控制方式較靈活,而且節(jié)省單片機的資源。
本次課程設(shè)計的題目為8×8點陣數(shù)字顯示,設(shè)計的任務(wù)為使用單片機控制8×8的點陣顯示0到9的數(shù)字,不僅顯示清晰,并且每經(jīng)過一定時間,顯示的數(shù)字加一,從0 到 9 循環(huán)。以AT89C51單片機為核心,采用串行傳輸、動態(tài)掃描技術(shù),制作一款模塊化LED多功能顯示屏。
在資料收集方面,主要是參考了《51單片機原理及應(yīng)用—基于Keil C與Proteus》一書,結(jié)合了一些網(wǎng)絡(luò)資料,以及一些集成塊的使用說明書。
在整個工作過程中,根據(jù)收集來的資料繪制出大概的原理圖,然后通過Proteus仿真,與此同時運用Keil 編程,用Keil 與Proteus進行聯(lián)調(diào),調(diào)試成功后確定了原理圖和控制程序。
II
第一章 方案選擇及總體設(shè)計
1.1 方案確定
1.1.1 功能要求
1、采用STC-51單片機作為微處理器。
2、設(shè)計一個8×8點陣LED數(shù)碼字符顯示器。
3、在目測條件下LED顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串?dāng)_。
4、動態(tài)顯示“0——9”幾個字符。
1.1.2 方案確定
采用ST89C51單片機作為微處理器,將共陽極二極管用共陰型接法連接成8×8點陣LED數(shù)碼字符陣列,通過程序控制,采用動態(tài)顯示,建立字符庫“0——9”。
1.2 器件選擇
微處理器采用ST89C51系列單片機,ST89C51單片機是這幾年在我國非常流行的單片機,是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能單片機,可擦除只讀存儲器可以反復(fù)擦除100次,具有低功耗、高性能的特點。
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。
第二章 控制系統(tǒng)設(shè)計
2.1控制系統(tǒng)硬件設(shè)計
2.1.1整體模塊設(shè)計
本設(shè)計行、列驅(qū)動電路,顯示器電路,運用單片機的智能化,系統(tǒng)的將每個功能電路模塊連接在一起,總體結(jié)構(gòu)設(shè)計如圖2-1所示。
點陣顯示器行驅(qū)動電路PC上位機單片機8×8點陣LED顯示器電路點陣顯示器列驅(qū)動電路
圖2-1 硬件系統(tǒng)框圖
此次需要實現(xiàn)的功能是利用一個ST89C51,一個8×8LED點陣,動態(tài)顯示“0——9”10個字,采用PC上位機驅(qū)動顯示電路。
2.1.2 單片機AT89C51 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C51單片機能提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。
AT89C51單片機引腳圖如圖2-2所示。
圖2-2 AT89C51引腳圖
AT89C51管腳說明: VCC:供電電壓。GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行
存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下所示: P3口管腳
備選功能: P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:
來自反向振蕩器的輸出。
2.1.3 單片機最小系統(tǒng)設(shè)計
單片機的最小系統(tǒng)是能夠讓單片機工作的最小硬件電路。除了單片機外,最小系統(tǒng)還包括復(fù)位電路和時鐘電路。
復(fù)位電路:單片機的復(fù)位電路接在復(fù)位信號RST上,復(fù)位電路用于將單片機內(nèi)部電路的狀態(tài)恢復(fù)到初始值。需要復(fù)位時按下按鈕即可。
時鐘電路:時鐘電路為單片機工作提供基本時鐘。時鐘電路中包含一個晶體振蕩器,簡稱晶振,頻率范圍是1.2~12MHz。晶體振蕩頻率越高,系統(tǒng)的時鐘頻率也越高,單片機的運行速度也就越快
ST89C51單片機最小系統(tǒng)電路由復(fù)位電路、晶振電路兩部分組成。2.1.3.1 晶振電路設(shè)計
ST89C52單片機芯片內(nèi)部設(shè)有一個由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端,時鐘可有內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。系統(tǒng)采用的定時元件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率采用12MHZ,C1、C2的電容值取30pF,電容的大小起頻率微調(diào)的作用。晶振電路圖如圖2-3所示。
C1XTAL130pFC2XTAL230pF圖2-3 晶振電路圖
X112MHZ
2.1.3.2 復(fù)位電路設(shè)計
ST89C51單片機在啟動運行時或者出現(xiàn)死機時需要復(fù)位,使CPU以及其他功能部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機有多種復(fù)位方式,常用的復(fù)位操作有上電復(fù)位和手動復(fù)位方式。本設(shè)計采用最簡單的上電復(fù)位方式,電路如圖2-4所示。上電復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,復(fù)位電路產(chǎn)生的復(fù)位信號(高電平有效)由RST引腳送入到內(nèi)部的復(fù)位電路,對ST89C51單片機進行復(fù)位,復(fù)位信號要持續(xù)兩個機器周期(24個時鐘周期)以上,才能使ST89C51單片機可靠復(fù)位。當(dāng)上電時,C1相當(dāng)于短路,有時碰到干擾時會造成錯誤復(fù)位,可在復(fù)位端加個去耦電容,可以取得很好的效果。
ST89C51單片機復(fù)位電路如下圖所示:
VCCAT89C51VCCC510MF/25VRSTR94.7KVSSR24.7KVSSRSTR1C10MF/25VS5 RSTVCCAT89C51VCC
圖2-4 上電復(fù)位電路圖
圖2-5 按鍵電平復(fù)位電路圖
復(fù)位電路工作原理:
上電瞬間RST引腳的電位與VCC等電位,RST引腳為高電平,隨著電容C5充電電流的減少,RST引腳的電位不斷下降,可以保持RST引腳在為高電平的時間內(nèi)完成復(fù)位操作。
當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵S5后再松開,也能使RST引腳為一段時間的高電平,從而實現(xiàn)ST89C51單片機復(fù)位。
2.1.4 驅(qū)動電路設(shè)計
驅(qū)動電路圖如圖2-6所示。
圖2-6 驅(qū)動電路圖
74LS245引腳圖如圖2-7所示。
圖2-7 74LS245引腳圖
引出端符號: A A總線端
B B總線端
/G 三態(tài)允許端(低電平有效)DIR 方向控制端
74LS245是用來驅(qū)動LED或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。
如果用89C51的P0口輸出到數(shù)碼管,那就要考慮到數(shù)碼管的亮度以及P0口帶負載的能力,當(dāng)89C51單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅(qū)動器。選用74LS245提高驅(qū)動能力。P0口的輸出經(jīng)過74LS245提高驅(qū)動后,輸出到數(shù)碼管顯示電路。
工作原理:
當(dāng)片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)DIR=“1”,信號由A向B傳輸;(發(fā)送)當(dāng)CE為高電平時,A、B均為高阻態(tài)。
正向點亮一顆LED,至少也要10~20mA,若電流不夠大,則LED不夠大。而不管是ST89C51的I/O口,還是TTL、CMOS的輸出端,其高態(tài)輸出電流都不是很高,不過1~2mA而已。因此很難直接高態(tài)驅(qū)動LED,這時候就需要額外的驅(qū)動電路,通常有共陽型與共陰型LED陣列驅(qū)動電路,本設(shè)計才用共陰型高態(tài)掃描信號驅(qū)動電路。
共陰型LED陣列驅(qū)動電路采用高態(tài)掃描,也就是任何時間只有一個高態(tài)信號,其它則為低態(tài)。一行掃描完成后,再把高態(tài)信號轉(zhuǎn)化到近鄰的其他行,掃描信號接用一個反向驅(qū)動器,ST89C51本身內(nèi)置一個反向驅(qū)動器,本設(shè)計將ST89C51作為點矩陣顯示控制系統(tǒng)的控制核心,通過點矩陣實時顯示并移動字符。
單片機的串口與行驅(qū)動器相連,用來發(fā)送顯示數(shù)據(jù)信息。P3口與LED陣列的行引腳相連,送出數(shù)據(jù)、地址以及系統(tǒng)控制信號。輸出低態(tài)時,最大可吸取0.5A,即500mA,若每個LED取30mA,7個LED同時點亮,需要210mA,完全滿足LED點亮的基本條件。
所要顯示的信號送入74LS245芯片,然后連接到LED陣列的列陣腳。對于高態(tài)的顯示信號,將可提供其所連接LED的驅(qū)動電流,而這個驅(qū)動電流經(jīng)過LED到輸出端,形成正向回路,即可點亮該LED。其中每個晶體管任何時間只需負
責(zé)驅(qū)動一個LED,所以選擇30mA射極電流的晶體管。驅(qū)動電路如圖2-6所示。
2.1.5 LED點陣顯示設(shè)計
本設(shè)計采用ATMEL公司的AT89C51作矩陣顯示控制系統(tǒng)控制核心,12MHZ晶振,8?8點陣共陽LED顯示器。其中,P0口作為字符數(shù)據(jù)輸出口,P3口為字符顯示掃描輸出口,第31腳(EA)接電源,改變電阻(270×8)的大小可改變顯示字符的亮度,驅(qū)動用74LS245芯片。
本設(shè)計LED矩陣顯示器電路選用8×8點陣模塊,系統(tǒng)由單片機控制。LED顯示屏是將發(fā)光二極管按行按列布置的,在掃描驅(qū)動方式下可以按行掃描按列控制,也可以按列掃描按行控制。本文就是使用1塊8×8點陣,采用按列掃描按行控制控制方式,掃描順序自左向右,以滿足數(shù)字顯示的要求。8×8點陣LED結(jié)構(gòu)如圖2-8所示。
8×8點陣LEDabcdefgh12345678
圖2-8 LED數(shù)碼顯示管
8×8 點陣LED的工作原理:LED點陣的顯示方式是按顯示編碼的順序,一行一行地顯示。對于共陽型的點陣來說,當(dāng)某一點所在的行對應(yīng)高電平“1”并且其所在的列對應(yīng)低電平“0”的時候,這一點就會被點亮。將每一行的顯示時間進行一定的延時,由于人的視覺暫留現(xiàn)象,就會感覺到8行LED是在同時顯示的。若顯示的時間太短,則亮度不夠,若顯示的時間太長,將會感覺到閃爍。圖2-9為8×8點陣LED外觀及引腳圖,其等效電路如圖2-10所示,只要其對應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點亮,則Y0=1,X0=0即可。應(yīng)用時限流電阻可以放在X軸或Y軸。一個8×8點陣是由64個發(fā)光二極管按規(guī)律組成的,如圖2-10所示。圖中,行接高電平,列接低電平,發(fā)光二極管導(dǎo)通發(fā)光。
圖2-9 8×8點陣LED外觀及引腳圖
圖2-10 8×8點陣LED等效電路
8×8點陣數(shù)字顯示的編碼原理: 8×8點陣數(shù)字顯示主要應(yīng)用行掃描動態(tài)顯示的方法實現(xiàn),如圖2-11所示,將行線依次置零,一次對列線編碼,有紅色填充部分為1,無填充部分為0。
圖2-11 8×8點陣數(shù)字顯示的編碼原理
如此可得到“0”的編碼為{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00},同理可得到:
{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}
//1 {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}
//2 {0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}
//3 {0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}
//4 {0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}
//5 {0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}
//6 {0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}
//7 {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}
//8 {0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}
//9 2.2控制系統(tǒng)軟件設(shè)計
2.2.1 軟件設(shè)計思想
主程序先進行設(shè)置中斷,并啟動,再進行鍵盤掃描載入“0——9”字型,然后判斷一組字型是否掃描完,按不同情況進行循環(huán)調(diào)用子程序。進入子程序后,首先設(shè)置相應(yīng)的程序,反復(fù)調(diào)用顯示子程序,并在顯示過程中反復(fù)調(diào)用鍵盤掃描子程序進行延時,判斷是否退出相應(yīng)的方式顯示子程序。設(shè)計過程中,能很好得提高按鍵響應(yīng)速度。
2.2.2 主程序流程圖
主程序首先設(shè)置并啟動T0中斷,然后調(diào)用初始化程序,為后面程序要用到的數(shù)據(jù)調(diào)入,并清零一些用到的數(shù)據(jù)單元,然后載入“0——9”字型,進行掃描。圖2-12為主程序流程圖。
圖2-12 主程序流程圖
2.2.3 子程序流程圖(定時中斷服務(wù)程序)
圖11 子程序流程圖(定時中斷服務(wù)程序)
第三章 系統(tǒng)仿真及調(diào)試
3.1系統(tǒng)調(diào)試
根據(jù)硬件電路圖核對了元器件的型號、極性,安裝是否正確,檢查硬件電路連線是否與電路原理圖一致,檢查電路元器件是否都已經(jīng)連接好。
通電后,用示波器檢測單片機的復(fù)位和晶振電路是否有復(fù)位信號和振蕩信號。
3.2 系統(tǒng)仿真
3.2.1 proteus軟件仿真
使用proteus原理及仿真如圖3-1所示。
如圖3-1 proteus原理及仿真圖
3.2.2 程序
#include
{ 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//0 //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00
};uchar i=0,t=0,Num_Index;//主程序 void main(){ P3=0x80;
Num_Index=0;
//從0開始顯示
TMOD=0x00;
//T0方式0 TH0=(8192-2000)/32;//2ms定時
TL0=(8192-2000)%32;IE=0x82;
//允許T0中斷
TR0=1;
//啟動T0 while(1);}
//T0中斷函數(shù)
void LED_Screen_Display()interrupt 1 { TH0=(8192-2000)/32;
//恢復(fù)初值
TL0=(8192-2000)%32;P0=0xff;
//輸出位碼和段碼
P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);
//P3循環(huán)向左一位 //5 //6 //7
//8 //9
}
if(++i==8)i=0;if(++t==250){
} t=0;
//每屏一個數(shù)字由8個字節(jié)構(gòu)成 //每個數(shù)字刷新顯示一段時間
if(++Num_Index==10)Num_Index=0;//顯示下一個數(shù)字
總結(jié)
經(jīng)過單片機的課程設(shè)計,我有了很大的收獲。
首先,就是讓我加深了對單片機的掌握和理解與應(yīng)用,知道單片機到底是怎樣控制點陣,怎樣應(yīng)用在生活中的。并且讓我懂得了要善于思考,追求嚴(yán)謹(jǐn),認真解決問題,才會有更多的收獲。
然后,提高了通過查閱資料解決問題的能力。通過查閱大量的相關(guān)資料,詳細了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點,明確了研究目標(biāo)。并且通過對單片機資料的查閱和應(yīng)用,更進一步增加了對單片機知識的理解和運用能力。并證實了自己的思路:“查資料→思考總結(jié)→運用→找出差錯,再查資料和向別人詢問→再次運用”的正確性。
最后,本系統(tǒng)能夠完成設(shè)計任務(wù),能夠顯示數(shù)字0-9,并且顯示也較為穩(wěn)定清晰。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點。在本次課程設(shè)計中,主要使用了Proteus和Keil等軟件進行硬件電路和控制程序的設(shè)計,加深了對這些軟件的了解。感到Proteus對電子專業(yè)的同學(xué)來說是一個很有用的軟件。總體來說這次的課程設(shè)計很成功,達到了預(yù)想的目的:學(xué)到了知識,提高了能力,完成了任務(wù)。
參考文獻
[1] 張靖武,周靈彬 《單片機系統(tǒng)的PROTEUS設(shè)計與仿真》北京 電子工業(yè)出版社 [2] 吳金戌,沈慶陽,郭庭吉 《8051單片機實踐與應(yīng)用》北京 清華大學(xué)出版社 [3] 李群芳,肖看 《單片機原理、接口及應(yīng)用》北京 清華大學(xué)出版社
[4] 張毅剛,彭喜元等 《新編MCS-51單片機應(yīng)用設(shè)計 》黑龍江 哈爾濱工業(yè)大學(xué)出版社 [5] 李朝青,劉艷玲編著 《單片機原理及接口技術(shù)》北京 航空航天大學(xué)出版社
第五篇:單片機課程設(shè)計
基于單片機的火災(zāi)智能報警控制系統(tǒng)的設(shè)計
前言
在各種災(zāi)害中,火災(zāi)是最經(jīng)常、最普通地威脅公眾安全和社會發(fā)展的災(zāi)害之一。人類能夠?qū)疬M行利用和控制,是文明進步的一個重要標(biāo)志。火,給人類帶文明進步、光明和溫暖。但是,失去控制的火,就給人類造成災(zāi)害。據(jù)統(tǒng)計,我國 70 年代火災(zāi)年平均損失不到 2.5 億元,80 年代火災(zāi)年平均損失不到
3.2 億元。進入 90 年代,特別是 1993 年以來,火災(zāi)造成的直接財產(chǎn)損失上升到年均十幾億元,年均死亡 2000 多人。2010年上海靜安區(qū)高層住宅著火,導(dǎo)致58人死亡,70余人受傷。2014年1月云南香格里拉大火,燒毀房屋100多棟,直接經(jīng)濟損失1億多元人民幣。火災(zāi)事件經(jīng)常發(fā)生,防止火災(zāi)事故關(guān)系到人民群眾的生命財產(chǎn)安全和社會和諧穩(wěn)定。現(xiàn)在各種電子產(chǎn)品的普及,再加上人們防火意識的不強,這些都給火災(zāi)的發(fā)生帶來了巨大的安全隱患。
對于火災(zāi)最關(guān)鍵的問題在于預(yù)防,目前防火報警系統(tǒng)趨于智能化、自動化,靈敏程度也越來越高。在這種背景下,基于單片機的火災(zāi)智能報警控制系統(tǒng)能突顯出其巨大的優(yōu)越性。目前,國內(nèi)大多數(shù)偏重于商場、賓館、高級寫字樓、大型倉庫等大型火災(zāi)報警系統(tǒng)的研發(fā)和設(shè)計。本系統(tǒng)側(cè)重于小型火災(zāi)智能報警系統(tǒng)的設(shè)計,可在火災(zāi)發(fā)生初期檢測到并且報警,還能夠?qū)崟r顯示溫度和煙霧濃度。