微處理器程序設(shè)計(jì)-以51單片機(jī)為例 課件 項(xiàng)目1 智慧校園門禁智能控制 任務(wù)1.1-1.2_第1頁
微處理器程序設(shè)計(jì)-以51單片機(jī)為例 課件 項(xiàng)目1 智慧校園門禁智能控制 任務(wù)1.1-1.2_第2頁
微處理器程序設(shè)計(jì)-以51單片機(jī)為例 課件 項(xiàng)目1 智慧校園門禁智能控制 任務(wù)1.1-1.2_第3頁
微處理器程序設(shè)計(jì)-以51單片機(jī)為例 課件 項(xiàng)目1 智慧校園門禁智能控制 任務(wù)1.1-1.2_第4頁
微處理器程序設(shè)計(jì)-以51單片機(jī)為例 課件 項(xiàng)目1 智慧校園門禁智能控制 任務(wù)1.1-1.2_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目一智慧校園門禁智能控制

馮蓉珍

《微處理器程序設(shè)計(jì)》教學(xué)目標(biāo)和技能要求知識目標(biāo)1、了解微處理器芯片的應(yīng)用場景;2、熟悉實(shí)驗(yàn)平臺,讓微處理器“動(dòng)起來”;3、掌握微處理器最小系統(tǒng)設(shè)計(jì)以及GPIO控制方法;4、了解矩陣鍵盤工作原理、數(shù)碼管顯示原理;5、掌握C語言中數(shù)組、循環(huán)以及位變量的使用。能力目標(biāo)1、能利用開發(fā)工具進(jìn)行微處理器最小系統(tǒng)電路設(shè)計(jì);2、能利用單片機(jī)的C語言編寫程序控制單個(gè)或多個(gè)LED燈做各類顯示;3、能控制單個(gè)或多個(gè)數(shù)碼管靜態(tài)和動(dòng)態(tài)顯示;4、能利用微處理器的I/O口功能通過按鍵控制簡單輸出;5、能利用獨(dú)立鍵盤和矩陣鍵盤控制微處理器輸出;6、能綜合應(yīng)用微處理器的鍵盤接口和顯示接口技術(shù)完成智能門禁系統(tǒng)功能實(shí)現(xiàn);7、能利用微處理拓展技術(shù)設(shè)計(jì)課題。知識導(dǎo)圖任務(wù)1.1讓LED燈亮起來任務(wù)目標(biāo)

本任務(wù)培養(yǎng)學(xué)生具備使用Proteus仿真軟件設(shè)計(jì)硬件電路并利用KeiluVision4編程軟件編寫簡單程序的能力。通過本任務(wù),學(xué)生能夠設(shè)計(jì)微處理器最小系統(tǒng)以及簡單的硬件電路,通過編寫程序控制一個(gè)LED燈亮和滅以及一排LED燈做霓虹燈的顯示效果,并通過開發(fā)板的驅(qū)動(dòng),下載相關(guān)可執(zhí)行文件,使得開發(fā)板上的LED燈亮起來。任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備1、微處理器最小系統(tǒng)

若要使系統(tǒng)正常運(yùn)行,必須確保單片機(jī)的最小系統(tǒng)穩(wěn)定工作。51單片機(jī)的最小系統(tǒng)由以下幾部分組成:晶振電路、復(fù)位電路、電源電路。時(shí)鐘振蕩電路復(fù)位電路任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施1、微處理器最小系統(tǒng)最小系統(tǒng)電路圖如下:任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備一、C51基礎(chǔ)知識二、KeilC程序的變量使用三、C語言的函數(shù)構(gòu)成1、主函數(shù)的定義voidmain(){//定義變量while(1){//死循環(huán)//循環(huán)體}}

任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備2、循環(huán)語句①while循環(huán)while(表達(dá)式){

循環(huán)體}當(dāng)表達(dá)式條件成立,則執(zhí)行循環(huán)體,然后繼續(xù)判斷表達(dá)式條件是否成立,如此循環(huán);若條件不成立,結(jié)束循環(huán),執(zhí)行下面的語句。②for循環(huán)for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

循環(huán)體}for(循環(huán)變量賦初值;循環(huán)結(jié)束條件;循環(huán)變量改值){

循環(huán)體}任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備3、數(shù)組

一維數(shù)組的定義格式為:類型說明符

數(shù)組名[常量表達(dá)式];比如:inta[10];它表示定義了一個(gè)整形數(shù)組,數(shù)組名為a,此數(shù)組有10個(gè)元素,10個(gè)元素的數(shù)據(jù)類型都是整型。第1個(gè)元素為a[0],第2個(gè)元素的值為a[1];最后。一個(gè)元素的值為a[9]。在定義數(shù)組時(shí)[]中的下標(biāo)表示元素個(gè)數(shù),在使用數(shù)組中的某一個(gè)元素時(shí)下標(biāo)表示第幾個(gè)元素。四、微處理器程序框架單片機(jī)C程序的大體框架結(jié)構(gòu)如下:initial(…){…}Function1(…){…}任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備…Function_n(…){…}InterruptFunction1()interrupt1{…}…InterruptFunction()interruptn{…}任務(wù)1.1讓LED燈亮起來知識準(zhǔn)備voidmain(){initial();…;//其他在initial()函數(shù)和while循環(huán)以外的代碼while(1){…}}

如果代碼較長,可按功能把不同的函數(shù)分組放在不同的C文件中。例如通??梢园裪nitial()函數(shù)單獨(dú)放在initial.c中。一個(gè)C文件的代碼盡量不要太長,否則會造成查找和維護(hù)上的麻煩。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施一、Proteus硬件電路設(shè)計(jì)軟件的安裝二、KeiluVision軟件編程軟件安裝三、普中科技A7開發(fā)板驅(qū)動(dòng)安裝四、普中科技A7開發(fā)板程序下載

任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施子任務(wù)一讓LED燈亮起來1、硬件電路設(shè)計(jì)

利用Proteus仿真軟件在最小系統(tǒng)電路基礎(chǔ)上增加一個(gè)LED發(fā)光二極管和300歐姆限流電阻,硬件電路設(shè)計(jì)如圖1-24。電源和地的圖標(biāo)按照圖1-24中箭頭1-3順序放置。箭頭2所指的是電源,箭頭3所指是地。保存文件為“1LED_1.DSN”,保存到“1單燈閃爍”文件夾下。圖1-24最小電路圖任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施2、軟件編程

LED發(fā)光二極管陰極連接單片機(jī)P1.0,陽極通過限流電阻連接電源,當(dāng)P1.0端輸出低電平時(shí),LED燈點(diǎn)亮,輸出高電平時(shí),LED中沒有電流流過,則LED燈不亮。P1.0輸出低電平延時(shí)一段時(shí)間后輸出高電平延時(shí)相同時(shí)間,如此循環(huán),就能控制LED以一定的頻率閃爍。從而實(shí)現(xiàn)本模塊任務(wù)。2.1keiluv4的使用。雙擊桌面圖標(biāo),打開keil開發(fā)軟件,按箭頭1點(diǎn)開Project菜單,選擇箭頭2所指“NewuVisionProject”菜單,創(chuàng)建新項(xiàng)目,如圖1-25。項(xiàng)目名為“1led_1”,保存類型為“*.uvproj”,點(diǎn)擊“保存”,將新建的項(xiàng)目保存到和硬件電路同一個(gè)文件夾下。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-25新建項(xiàng)目任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-27選擇芯片的生成廠商任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-28選擇芯片型號任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-29將標(biāo)準(zhǔn)的51庫添加到項(xiàng)目中圖1-30添加標(biāo)準(zhǔn)庫后的界面任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-31新建一個(gè)c文件圖1-32將新建文件添加到項(xiàng)目菜單中任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-33將新建的c文件添加到項(xiàng)目中圖1-34添加文件后的主界面任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-35設(shè)置項(xiàng)目參數(shù)圖1-36“OptionsforTarget'Target1'”對話框任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-37“Output”選項(xiàng)卡圖1-38編寫代碼界面任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施圖1-39代碼編譯界面任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施3、仿真調(diào)試4、開發(fā)板運(yùn)行把hex文件下載到開發(fā)板上,按電路圖上的連線方式連接好開發(fā)板,點(diǎn)亮開發(fā)板上的一個(gè)LED燈。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施子任務(wù)二“行云流水”的LED燈1、硬件電路設(shè)計(jì)

利用Proteus仿真軟件在最小系統(tǒng)電路基礎(chǔ)上增加8個(gè)LED發(fā)光二極管和八個(gè)300歐姆限流電阻,硬件電路設(shè)計(jì)如圖。放置元件方法和模塊一中方法一樣。保存文件為“2流水燈.DSN”,保存到“1-3流水燈”文件夾下。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施2、軟件編程

八個(gè)LED發(fā)光二極管陰極分別連接到單片機(jī)P1.0到P.7,陽極通過限流電阻連接電源,當(dāng)P1.0端輸出低電平時(shí),LED1燈點(diǎn)亮,輸出高電平時(shí),LED1中沒有電流流過,則LED1燈不亮。P1.0輸出低電平,P1.1到P1.7端口輸出高電平,延時(shí)一段時(shí)間后P1.1輸出低電平同時(shí)P1.0,P1.2到P1.7端口輸出高電平,延時(shí)相同時(shí)間.連接到P1端口的8位上的8個(gè)LED燈輪流被點(diǎn)亮一段時(shí)間,如同行云流水一樣,本項(xiàng)目因此得名流水燈。如此循環(huán)往復(fù)。從而實(shí)現(xiàn)本模塊任務(wù)。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施2、軟件編程下面我們對P1的8位做詳細(xì)分析。如表流水燈分析。P17P16P15P14P13P12P11P10變量s的值11111110s=0xfeP1=s;11111101s=s<<1;s=s+1;P1=s;11111011同上11110111同上11101111同上11011111同上10111111同上01111111同上LED8LED7LED6LED5LED4LED3LED2LED1

任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施我們有注意到,0的位置在左移,一直左移到最高位后又回到最低位。(1)設(shè)置變量s的初始值為0xfe,即s=11111110;P1=s;此時(shí)第一個(gè)LED1點(diǎn)亮,其余7個(gè)熄滅;(2)(a)s=s<<1;即s=11111100;(b)s=s+1;即s=11111101;(c)P1=s;即P1=11111101;此時(shí)第二個(gè)LED2點(diǎn)亮,其余熄滅。(3)重復(fù)步驟(2)的(a)(b)(c)8次。用for循環(huán)實(shí)現(xiàn)(2)的功能。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施代碼如下:s=0xfe;//s的初始值為11111110//循環(huán)8次for(k=0;k<8;k++){//k=0時(shí);k=1時(shí);...k=7時(shí)k=8,循環(huán)結(jié)束

P1=s;//P1=11111110;P1=11111101...P1=01111111

delay(100);//延時(shí)

s=s<<1;//s=11111100; s=11111010... s=11111110

s=s+1;//s=11111101; s=11111011... s=11111111

}按子任務(wù)一的方法創(chuàng)建項(xiàng)目2flow.uvproj,新建2flow.c文件并將此文件添加到項(xiàng)目中,設(shè)置項(xiàng)目參數(shù)。在2flow.c中編寫代碼,編譯調(diào)試到?jīng)]有錯(cuò)誤,生成2flow.hex文件。任務(wù)1.1讓LED燈亮起來任務(wù)實(shí)施3、仿真調(diào)試

4、開發(fā)板運(yùn)行任務(wù)1.2讓數(shù)碼管“動(dòng)起來”知識準(zhǔn)備1、七段數(shù)碼管工作原理

七段數(shù)碼管一般由八個(gè)發(fā)光二極管組成,其中由七個(gè)細(xì)長的發(fā)光二極管組成數(shù)字顯示段,它的顯示段可以獨(dú)立地控制發(fā)光或熄滅,這樣不同段的組合就形成了不同的數(shù)字或英文字母,另外一個(gè)圓形的發(fā)光二極管顯示小數(shù)點(diǎn),如圖1-62。圖1-62七段數(shù)碼管外部引腳和內(nèi)部結(jié)構(gòu)任務(wù)1.2讓數(shù)碼管“動(dòng)起來”知識準(zhǔn)備2、LED數(shù)碼管靜態(tài)顯示靜態(tài)顯示是指使用數(shù)碼管顯示字符時(shí),數(shù)碼管的公共端恒定接地(共陰極)或+5V電源(共陽極)。將每個(gè)數(shù)碼管的八個(gè)段控制引腳分別與單片機(jī)的一個(gè)八位I/O端口相連接。只要I/O端口有顯示字型碼輸出,數(shù)碼管就顯示給定字符,并保持不變,直到I/O端口輸出新的段碼。采用靜態(tài)顯示方式,較小的電流就可獲得較高的亮度,且占用CPU時(shí)間少,編程簡單,便于監(jiān)測和控制,但占用單片機(jī)的I/O端口線多,n位數(shù)碼管的靜態(tài)顯示需占用8n個(gè)I/O端口,其限制了單片機(jī)連接數(shù)碼管的個(gè)數(shù)。同時(shí),硬件電路復(fù)雜,成本高,因此,數(shù)碼管靜態(tài)顯示方式適合顯示位數(shù)較少的場合。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”知識準(zhǔn)備3、LED數(shù)碼管動(dòng)態(tài)顯示

在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,往往需要采用各種顯示器件來顯示控制信息和處理結(jié)果。當(dāng)采用數(shù)碼管顯示且位數(shù)較多時(shí),一般采用數(shù)碼管動(dòng)態(tài)顯示控制方式。

動(dòng)態(tài)顯示是一種按位輪流點(diǎn)亮各位數(shù)碼管,高速交替地進(jìn)行顯示,利用人的視覺暫留作用,使人感覺看到多個(gè)數(shù)碼管同時(shí)顯示的控制方式。采用動(dòng)態(tài)顯示時(shí),某一時(shí)段,只讓其中一位數(shù)碼管的“位選端”有效,并送出相應(yīng)的字型顯示編碼。此時(shí),其他位的數(shù)碼管因“位選端”無效而處于熄滅狀態(tài),下一時(shí)段按順序選通另外一位數(shù)碼管,并送出相應(yīng)的字型顯示編碼,按此規(guī)律循環(huán)下去,即可使各位數(shù)碼管分別間斷地顯示出相應(yīng)的字符。數(shù)碼管動(dòng)態(tài)顯示電路通常是將所有數(shù)碼管的八個(gè)顯示段分別并聯(lián)起來,僅用一個(gè)并行I/O端口控制,稱為“段選端”。各位數(shù)碼管的公共端稱為“位選端”,由另一個(gè)I/O端口控制。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”知識準(zhǔn)備3、LED數(shù)碼管動(dòng)態(tài)顯示

與靜態(tài)顯示方式相比,當(dāng)顯示位較多時(shí),動(dòng)態(tài)顯示方式可節(jié)省I/O端口資源,硬件電路簡單,但其顯示的亮度低于靜態(tài)顯示方式。由于CPU要不斷地依次運(yùn)行掃描顯示程序,將占用CPU更多的時(shí)間。動(dòng)態(tài)顯示方式在實(shí)際應(yīng)用中,由于需要不斷地掃描數(shù)碼管才能得到穩(wěn)定顯示效果,因此在程序中不能有比較長時(shí)間的停止數(shù)碼管掃描的語句,否則會影響顯示效果,甚至無法顯示。若顯示位數(shù)較少,采用靜態(tài)顯示方式更加簡便。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施子任務(wù)一單個(gè)數(shù)碼管的“告白”1、硬件電路設(shè)計(jì)利用Proteus仿真軟件在最小系統(tǒng)電路基礎(chǔ)上增加一個(gè)共陽極數(shù)碼管,數(shù)碼管的abcdefg段分別連接300歐姆限流電阻后連接到對應(yīng)的P2^0,P2^1到P2^7和,共陽極端連接vcc電源。硬件電路設(shè)計(jì)如圖1-63。保存文件為“單個(gè)數(shù)碼管顯示.DSN”,保存到“1-4單個(gè)數(shù)碼管顯示”文件夾下。圖1-63硬件電路設(shè)計(jì)圖任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施2、軟件編程

七段數(shù)碼管的a到g段以及dp段分別連接八個(gè)限流電阻后連接到P2.0,P2.1…..P2.7,8個(gè)led的共陽極連接電源,當(dāng)P2口的某一位為低電平,則對應(yīng)的led段就被點(diǎn)亮。共陽極數(shù)碼管顯示相應(yīng)的數(shù)字的字型碼值可查講義或自己寫。將0-F的字型碼值存放到一個(gè)數(shù)組中。在文件夾“3單個(gè)數(shù)碼管顯示”下新建項(xiàng)目smg.uvproj。項(xiàng)目中添加一個(gè)smg.c文件,在此文件中編寫代碼。定義數(shù)組,里面存放0-f的字型碼值,數(shù)據(jù)類型為無符號字符型。unsignedchartable[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//數(shù)碼管編碼,輸出低電平,適合共陽數(shù)碼管。Table[0]是“0”的碼值,table[1]是“1”的碼值……table[15]是F的碼值。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施2、軟件編程利用for循環(huán),循環(huán)16次,一次顯示0-f,代碼如下:for(k=0;k<16;k++){

P2=table[k];

delay(100);}3、仿真調(diào)試4、開發(fā)板運(yùn)行圖1-65開發(fā)板連線圖

圖1-64仿真運(yùn)行效果

任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施子任務(wù)二動(dòng)態(tài)顯示紀(jì)念日1、LED數(shù)碼管動(dòng)態(tài)顯示原理在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,往往需要采用各種顯示器件來顯示控制信息和處理結(jié)果。當(dāng)采用數(shù)碼管顯示且位數(shù)較多時(shí),一般采用數(shù)碼管動(dòng)態(tài)顯示控制方式。動(dòng)態(tài)顯示是一種按位輪流點(diǎn)亮各位數(shù)碼管,高速交替地進(jìn)行顯示,利用人的視覺暫留作用,使人感覺看到多個(gè)數(shù)碼管同時(shí)顯示的控制方式。采用動(dòng)態(tài)顯示時(shí),某一時(shí)段,只讓其中一位數(shù)碼管的“位選端”有效,并送出相應(yīng)的字型顯示編碼。此時(shí),其他位的數(shù)碼管因“位選端”無效而處于熄滅狀態(tài),下一時(shí)段按順序選通另外一位數(shù)碼管,并送出相應(yīng)的字型顯示編碼,按此規(guī)律循環(huán)下去,即可使各位數(shù)碼管分別間斷地顯示出相應(yīng)的字符。數(shù)碼管動(dòng)態(tài)顯示電路通常是將所有數(shù)碼管的8個(gè)顯示段分別并聯(lián)起來,僅用一個(gè)并行I/O任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施端口控制,稱為“段選端”。各位數(shù)碼管的公共端稱為“位選端”,由另一個(gè)I/O端口控制。

與靜態(tài)顯示方式相比,當(dāng)顯示位較多時(shí),動(dòng)態(tài)顯示方式可節(jié)省I/O端口資源,硬件電路簡單,但其顯示的亮度低于靜態(tài)顯示方式。由于CPU要不斷地依次運(yùn)行掃描顯示程序,將占用CPU更多的時(shí)間。動(dòng)態(tài)顯示方式在實(shí)際應(yīng)用中,由于需要不斷地掃描數(shù)碼管才能得到穩(wěn)定顯示效果,因此在程序中不能有比較長時(shí)間的停止數(shù)碼管掃描的語句,否則會影響顯示效果,甚至無法顯示。若顯示位數(shù)較少,采用靜態(tài)顯示方式更加簡便。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施2、硬件電路設(shè)計(jì)

首先新建文件夾“1-5數(shù)碼管動(dòng)態(tài)顯示”。

利用Proteus仿真軟件在最小系統(tǒng)電路基礎(chǔ)上在P0口增加8個(gè)300歐姆限流電阻,此處用一個(gè)300歐姆的排阻(排阻功能和8個(gè)300歐姆電阻一樣)和8個(gè)共陽極數(shù)碼管,8個(gè)數(shù)碼管的a段led連接在一起,g段也連接在一起,用總線和網(wǎng)標(biāo)表示具體連接。利用P3口的P30、P31、P32分別連接74HC138三八譯碼器的ABC引腳,三八譯碼器的八個(gè)輸出引腳分別連接八個(gè)三極管的基極,8個(gè)三極管的發(fā)射極連接在一起后連接電源,八個(gè)集電極分別連接八個(gè)數(shù)碼管的共陽極,以給數(shù)碼管供電,在某一個(gè)時(shí)刻,只有一個(gè)數(shù)碼管的共陽極上有電源,其他7個(gè)沒有電源,因此P0端口輸出的數(shù)碼管的碼值代碼的數(shù)字就顯示在有電源的那個(gè)數(shù)碼管上。任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施2、硬件電路設(shè)計(jì)

為了使得三八譯碼器正常工作,需要將74HC138的E1接電源,E2和E3連接電源地。ABC的電平?jīng)Q定了Y0到Y(jié)7的輸出電平。74HC138的引腳圖如圖1-66,管腳說明如表1-10,真值表如表1-11圖1-6674HC138的引腳

表1-1074HC138引腳說明

表1-1174HC138真值表

任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施2、硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)如圖1-69。保存文件為“4數(shù)碼管動(dòng)態(tài)顯示.DSN”,保存到“1-5數(shù)碼管動(dòng)態(tài)顯示”文件夾下。圖1-69電路圖任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施3、軟件編程

根據(jù)真值表可知:cba的值為000時(shí),Y0=0,Y1…Y7為1,三極管Q1導(dǎo)通,Vcc電源連通網(wǎng)標(biāo)P30,第一個(gè)數(shù)碼管接上電源,P0的碼值代表的數(shù)字放在數(shù)組的第一個(gè)元素table[bir[0]]中,并在第一個(gè)數(shù)碼管上顯示;同樣的,當(dāng)cba的值為001時(shí),Y0=1,Y1=0,Y2…Y7為1,三極管Q2導(dǎo)通,第二個(gè)數(shù)碼管接上電源,P0的碼值代表的數(shù)字存放在數(shù)組的第二個(gè)元素table[bir[1]]中,并在第二個(gè)數(shù)碼管上顯示;當(dāng)cba的二進(jìn)制值每次加1,則數(shù)碼管依次接通電源,這樣就能使得數(shù)碼管從第一個(gè)到第八個(gè)輪流被點(diǎn)亮顯示數(shù)組中對應(yīng)的數(shù)字。數(shù)組table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//數(shù)碼管編碼,輸出低電平,適合共陽數(shù)碼管,任務(wù)1.2

讓數(shù)碼管“動(dòng)起來”任務(wù)實(shí)施數(shù)組bir[8]={2,0,2,1,0,2,1,4};//存放需要顯示的生日利用table[bir[k]],隨著k的值從0增加到7,bir[k]就是數(shù)組bir第k

溫馨提示

  • 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

提交評論