流水燈序號顯示活頁教材_第1頁
流水燈序號顯示活頁教材_第2頁
流水燈序號顯示活頁教材_第3頁
流水燈序號顯示活頁教材_第4頁
流水燈序號顯示活頁教材_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微控制器控制技術(shù)理實(shí)一體化教材項(xiàng)目三 交通燈控制系統(tǒng)徐廣振濰坊職業(yè)學(xué)院Micro Controller Unit (MCU) Control TechnologyIntegration of Theory & Practice of Teaching MaterialsThe third project Traffic lights control systemGuangzhen XuWeifang vocational college項(xiàng)目三 交通燈控制系統(tǒng)作為輸出模塊,數(shù)碼管顯示在很多小型微控制器系統(tǒng)中應(yīng)用非常廣泛,另外,精確方便的時(shí)間控制也是微控制器主要功能部分。本項(xiàng)目通過制作交通

2、燈控制系統(tǒng)來掌握數(shù)碼管驅(qū)動(dòng)應(yīng)用方法,以及微控制器定時(shí)計(jì)數(shù)器模塊的應(yīng)用。任務(wù)一 流水燈序號指示明確任務(wù):將項(xiàng)目二中的流水燈工作時(shí)對應(yīng)的燈序號分別用1-8顯示出來。知識鏈接:一、數(shù)碼管結(jié)構(gòu)基本的半導(dǎo)體數(shù)碼管是由7個(gè)條狀的發(fā)光二極管(LED)所示排列而成的,可實(shí)現(xiàn)數(shù)字"09"及少量字符的顯示。另外為了顯示小數(shù)點(diǎn),增加了1個(gè)點(diǎn)狀的發(fā)光二極管,因此數(shù)碼管就由8個(gè)LED組成,分別命名為 "a,b,c,d,e,f,g,dp"。數(shù)碼管按各發(fā)光二極管電極的連接方式分為共陽數(shù)碼管和共陰數(shù)碼管兩種。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共

3、陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。圖3.1 數(shù)碼管結(jié)構(gòu)共陽LED數(shù)碼管字形(段碼)表顯示數(shù)字(字符)P0.7"dp" P0.6"g" P0.5"f" P0.4"e"P0.3"d

4、" P0.2"c" P0.1"b" P0.0"a" 二進(jìn)制代碼十六進(jìn)制代碼01100000011000000C0H11111100111111001F9H21010010010100100A4H31011000010110000B0H4100110011001100199H5100101101001011092H6100000101000001082H71111100011111000F8H8100000001000000080H9100100001001000090HA100010001000100088HB1000001

5、11000001183HC1100011011000110C6HD1010000110100001A1HE100001101000011086HF10001110100011108EHH100010011000100189HO1100000011000000A3HP10000100100001008CHN1100100011001000C8H二、數(shù)碼管靜態(tài)驅(qū)動(dòng)所謂靜態(tài)顯示驅(qū)動(dòng)法,是指每一個(gè)LED燈分別對應(yīng)一個(gè)獨(dú)立的I/O驅(qū)動(dòng)口,其點(diǎn)亮和關(guān)閉由該I/O來進(jìn)行控制,互不干擾。數(shù)碼管的公共端按共陰極或共陽極分別接地或接VCC。圖3.2 靜態(tài)驅(qū)動(dòng)原理優(yōu)點(diǎn)是顯示的數(shù)據(jù)穩(wěn)定,無閃爍,占用CPU時(shí)間少。其缺

6、點(diǎn)由于每一個(gè)LED燈需要一個(gè)I/O口,顯然就是當(dāng)顯示位數(shù)多時(shí),占用I/O口過多。三、C51程序設(shè)計(jì)(四)分支語句1 if語句if語句是C51中的一個(gè)基本條件分支語句,通常有3種格式。(1)if語句if語句的一般形式為:if(表達(dá)式)語句;其中,if為關(guān)鍵字,表達(dá)式兩側(cè)括號不可少;語句為C51語言任意合法語句。執(zhí)行過程:先計(jì)算表達(dá)式的值,若表達(dá)式的值為真(非0),執(zhí)行后面的語句;若表達(dá)式的值為假(等于0),不執(zhí)行語句,直接跳過執(zhí)行后面的程序。(2)if-else語句一般形式為: if(表達(dá)式)語句1;else 語句2;其中,if、else為關(guān)鍵字,但是else不能獨(dú)立使用,只能和if一起配對使用

7、;語句1、語句2為C51語言任意合法語句.執(zhí)行過程:如果表達(dá)式值為真,執(zhí)行語句1,表達(dá)式的值為假,執(zhí)行語句2。(3)if-else-if語句一般形式:if(表達(dá)式1)語句1;else if(表達(dá)式2)語句2;else語句3;if-else-if語句又稱為嵌套的if-else語句。2switch語句if語句一般處理不超過3分支結(jié)構(gòu),對于多分支結(jié)構(gòu)一般采用switch分支語句。 switch語句一般形式:switch(表達(dá)式)case 常量表達(dá)式1:語句1;case 常量表達(dá)式2:語句2;case 常量表達(dá)式3:語句3;case 常量表達(dá)式n:語句n;default: 語句n+1;其中,switc

8、h、case為關(guān)鍵字;表達(dá)式可以是整型或字符型表達(dá)式;case常量表達(dá)式的值必須不同。執(zhí)行過程:進(jìn)入switch語句后,用表達(dá)式的值依次與各常量表達(dá)式比較,當(dāng)該表達(dá)式的值與某一個(gè)“case”后面的常量表達(dá)式的值相等時(shí),就從該“case”開始執(zhí)行后面的所以語句。若表達(dá)式的值與所以case后面的常量表達(dá)式的值都不相同,則執(zhí)行default后面的語句,然后退出。如果要求每個(gè)匹配條件只執(zhí)行對應(yīng)的語句,可以在case分支后加一個(gè)break語句,使程序跳出switch語句的執(zhí)行。一般形式為:switch(表達(dá)式)case 常量表達(dá)式1:語句1;break;case 常量表達(dá)式2:語句2;break;cas

9、e 常量表達(dá)式3:語句3;break;case 常量表達(dá)式n:語句n;break;default: 語句n+1;3.循環(huán)退出語句break和continue中途退出循環(huán)結(jié)構(gòu)break語句,一般形式為:break;作用:跳出所在循環(huán)結(jié)構(gòu),結(jié)束循環(huán)。提前結(jié)束一個(gè)重復(fù)周期continue語句,一般形式:continue;作用:用于結(jié)束本次循環(huán),跳過continue之后的語句,直接進(jìn)行下一次是否執(zhí)行的條件判斷。任務(wù)實(shí)施:1.設(shè)計(jì)搭建硬件電路按照任務(wù)要求設(shè)計(jì)并搭建硬件電路及仿真環(huán)境。輸出口可以任意選擇。注意:考慮微控制器驅(qū)動(dòng)能力的限制,采用共陽型數(shù)碼管進(jìn)行顯示。圖3.3 數(shù)碼管靜態(tài)驅(qū)動(dòng)原理圖2.搭建軟件

10、編程環(huán)境建立工程文件,保存在桌面組號命名的文件夾內(nèi),配置工程參數(shù),包括晶振頻率12MHz、HEX文件輸出配置。新建文件添加文件,準(zhǔn)備編程。3.軟件設(shè)計(jì)與編程實(shí)現(xiàn)(1)數(shù)碼管顯示一個(gè)0-9任意數(shù)字通過編程實(shí)現(xiàn),來認(rèn)識微控制器驅(qū)動(dòng)數(shù)碼管工作效果。#include<at89x51.h> / 包含頭文件void main(void) P1=0xF9; /數(shù)碼管顯示數(shù)字1,可以改變此編碼顯示其他數(shù)字while(1);思考:如果是共陰管,不修改數(shù)據(jù)前提下怎么處理才能正常顯示?(2)循環(huán)顯示0-9數(shù)字讓數(shù)碼管顯示的數(shù)據(jù)動(dòng)起來,同時(shí)進(jìn)一步理解項(xiàng)目二延時(shí)程序設(shè)計(jì),數(shù)碼管編碼數(shù)組的構(gòu)建方法。#incl

11、ude<at89x51.h>unsigned char SMG=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共陽數(shù)碼管09編碼void delay(void)unsigned char i,j;for(i=250;i>0;i-)for(j=250;j>0;j-);void main(void)unsigned char u;while(1)for(u=0;u<10;u+)P1=SMGu; /數(shù)碼管依次顯示09delay(); 思考:如果顯示的數(shù)字速度太快太慢,即變化太快或太慢應(yīng)該怎么調(diào)整?(3)顯示流水燈

12、燈序在上述兩個(gè)小任務(wù)基礎(chǔ)上,充分理解掌握微控制器數(shù)碼管靜態(tài)驅(qū)動(dòng)。在結(jié)合項(xiàng)目二做一個(gè)綜合運(yùn)用。同時(shí)練習(xí)微控制器C語言編程技巧和方法。#include<at89x51.h>unsigned char SMG=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共陽數(shù)碼管編碼1-8unsigned char LSD=0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,;/ 流水燈編碼void delay(void)unsigned char i,j;for(i=250;i>0;i-)for(j=250;j>0;j-);void main(void)unsigned char u;while(1)for(u=0;u<8;u+)P2=SMGu; /數(shù)碼管顯示輸出 P1=LSDu; /流水燈輸出delay(); 4.對上述三個(gè)程序分別編譯下載利用仿

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論