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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。圖3.1 數(shù)碼管結構共陽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" 二進制代碼十六進制代碼01100000011000000C0H11111100111111001F9H21010010010100100A4H31011000010110000B0H4100110011001100199H5100101101001011092H6100000101000001082H71111100011111000F8H8100000001000000080H9100100001001000090HA100010001000100088HB1000001

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

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

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

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

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

10、編程環(huán)境建立工程文件,保存在桌面組號命名的文件夾內,配置工程參數(shù),包括晶振頻率12MHz、HEX文件輸出配置。新建文件添加文件,準備編程。3.軟件設計與編程實現(xiàn)(1)數(shù)碼管顯示一個0-9任意數(shù)字通過編程實現(xiàn),來認識微控制器驅動數(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ù)動起來,同時進一步理解項目二延時程序設計,數(shù)碼管編碼數(shù)組的構建方法。#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ù)字速度太快太慢,即變化太快或太慢應該怎么調整?(3)顯示流水燈

12、燈序在上述兩個小任務基礎上,充分理解掌握微控制器數(shù)碼管靜態(tài)驅動。在結合項目二做一個綜合運用。同時練習微控制器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.對上述三個程序分別編譯下載利用仿

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論