版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二鍵盤系統(tǒng)與顯示系統(tǒng)設(shè)計(jì)任務(wù)2.1流水燈系統(tǒng)設(shè)計(jì)“十四五”職業(yè)教育國家規(guī)劃教材單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程/learn/NTVU-1206695819?tid=1474236512#/learn/content目前家用電器已不斷向智能化、多功能化方向發(fā)展,例如微波爐,通過按鍵和顯示器就可很簡單地進(jìn)行操作,實(shí)現(xiàn)各種功能。那么你了解的顯示技術(shù)有哪些?這些顯示技術(shù)分別在哪些領(lǐng)域應(yīng)用?單片機(jī)又是如何和按鍵、顯示器進(jìn)行連接并實(shí)現(xiàn)人機(jī)對(duì)話的?項(xiàng)目導(dǎo)讀[自主創(chuàng)新科技報(bào)國]在國家的支持下,我國企業(yè)通過幾十年持之以恒的努力,憑借堅(jiān)韌不拔的意志以及對(duì)自主創(chuàng)新持續(xù)不斷的追求與實(shí)踐,成功實(shí)現(xiàn)了LCD產(chǎn)業(yè)從高度依賴進(jìn)口到自主生產(chǎn)的蛻變,并最終在總產(chǎn)能上躍居全球首位連接并實(shí)現(xiàn)人機(jī)對(duì)話的?學(xué)海領(lǐng)航任務(wù)內(nèi)容組裝一個(gè)簡易流水燈系統(tǒng),由單片機(jī)外接8個(gè)發(fā)光二極管,要求系統(tǒng)上電后,8個(gè)發(fā)光二極管依次被循環(huán)點(diǎn)亮。/previewIndex/1060470學(xué)習(xí)目標(biāo)素養(yǎng)目標(biāo):通過介紹我國顯示技術(shù)方面取得的發(fā)展和進(jìn)步,了解最新的顯示技術(shù),激發(fā)核心技術(shù)自主創(chuàng)新意識(shí)和學(xué)習(xí)熱情,培養(yǎng)科技報(bào)國的家國情懷。知識(shí)目標(biāo):
1.掌握C51程序循環(huán)結(jié)構(gòu)及循環(huán)語句的使用;2.了解單片機(jī)存儲(chǔ)結(jié)構(gòu)3.學(xué)會(huì)單片機(jī)控制LED顯示器的電路設(shè)計(jì)及控制方法。技能目標(biāo):能夠在Keil軟件中查看變量,掌握程序調(diào)試的基本方法。知識(shí)點(diǎn)知識(shí)1
單片機(jī)存儲(chǔ)結(jié)構(gòu)知識(shí)2C51語言中的循環(huán)結(jié)構(gòu)與循環(huán)語句知識(shí)3
C51語言中的輔助控制語句知識(shí)4
C51語言中的函數(shù)知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)1.STC89C52單片機(jī)的存儲(chǔ)結(jié)構(gòu)
/previewIndex/1060472知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)1.STC89C52單片機(jī)的存儲(chǔ)結(jié)構(gòu)STC89C52單片機(jī)共有4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器,如圖。(a)程序存儲(chǔ)器地址分配(b)數(shù)據(jù)存儲(chǔ)器地址分配圖2.2STC89C52存儲(chǔ)器結(jié)構(gòu)圖
程序存儲(chǔ)器用于存儲(chǔ)程序或表格,片內(nèi)、片外統(tǒng)一編址,如圖2.2(a)所示。其中,當(dāng)引腳時(shí),使用8KB片內(nèi)ROM(0000H~0FFFH);當(dāng)引腳時(shí),使用64KB片外ROM(0000H~FFFFH)。知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器用于暫存數(shù)據(jù)和運(yùn)算結(jié)果,也有片內(nèi)和片外之分,如圖2.2(b)所示。
片內(nèi)RAM由內(nèi)部RAM與專用寄存器(SFR)構(gòu)成,共256B(8位地址尋址)。其中,內(nèi)部RAM低128B又分為工作寄存器組(00H~1FH)、位尋址區(qū)(20H~2FH)、通用RAM區(qū)(30H~7FH)三部分,內(nèi)部RAM的高128字節(jié)只能間接尋址。片外64KB數(shù)據(jù)存儲(chǔ)器,16位地址尋址,地址范圍是0000H~FFFFH。知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)
2.C51變量的存儲(chǔ)類型(1)存儲(chǔ)區(qū)域的概念
KEILC51編譯器把單片機(jī)數(shù)據(jù)的存儲(chǔ)區(qū)域分為6種:data、bdata、idata、xdata、pdata、code,如表2.1所示。表2.1C51語言中變量的存儲(chǔ)區(qū)域存儲(chǔ)區(qū)域說
明data片內(nèi)RAM的低128B,可直接尋址,訪問速度最快bdata片內(nèi)RAM的低128B中的位尋址區(qū)(20H~2FH),即可字節(jié)尋址,也可以位尋址idata片內(nèi)RAM(256B,其中低128B與data相同),只能間接尋址xdata片外RAM(最多64kB)pdata片外RAM中的1頁或256B,分頁尋址code程序存儲(chǔ)區(qū)(最多64kB)知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)(2)存儲(chǔ)模式
有了存儲(chǔ)區(qū)域的概念后,變量的定義格式變?yōu)椋簲?shù)據(jù)類型[存儲(chǔ)區(qū)域]變量名稱其中,存儲(chǔ)區(qū)域用于用戶指定變量的存儲(chǔ)區(qū)域,[]表示該項(xiàng)內(nèi)容可缺省。當(dāng)該項(xiàng)缺省時(shí),變量存儲(chǔ)區(qū)域由KEILC51編譯器的存儲(chǔ)模式?jīng)Q定。
存儲(chǔ)模式用于決定沒有明確指定存儲(chǔ)類型的變量、函數(shù)參數(shù)等的缺省存儲(chǔ)區(qū)域。KEILC51編譯器提供的存儲(chǔ)模式共有3種:Small,Compact,large。知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)
(1)Small模式?jīng)]有指定存儲(chǔ)區(qū)域的變量、參數(shù)都缺省放在data區(qū)域內(nèi)。優(yōu)點(diǎn)是訪問速度快,缺點(diǎn)是空間有限,只適用于小程序。(2)Compact模式?jīng)]有指定存儲(chǔ)區(qū)域的變量、參數(shù)都缺省存放在pdata區(qū)域內(nèi)。具體存放在哪一頁可由P2口指定,在STARTUP.A51文件中說明,也可用pdata指定。優(yōu)點(diǎn)是空間比Small模式寬裕,速度比Small模式慢,比large模式要快,是一種中間狀態(tài)。(3)large模式?jīng)]有指定存儲(chǔ)區(qū)域的變量、參數(shù)都缺省存放在xdata區(qū)域內(nèi)。優(yōu)點(diǎn)是空間大,可存變量多,缺點(diǎn)是速度較慢。知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)KEILC51編譯器數(shù)據(jù)存儲(chǔ)區(qū)域設(shè)置方法知識(shí)1單片機(jī)存儲(chǔ)結(jié)構(gòu)知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句
在程序設(shè)計(jì)中經(jīng)常會(huì)遇到需要重復(fù)執(zhí)行的操作,如延時(shí)、累加、累乘、數(shù)據(jù)傳遞等,利用循環(huán)結(jié)構(gòu)來處理各類重復(fù)操作既簡單又方便。
C51語言中提供了3種語句來實(shí)現(xiàn)循環(huán)結(jié)構(gòu),分別是while語句、do-while語句和for語句。/previewIndex/10604711.while語句while語句的一般形式:while(表達(dá)式)循環(huán)體其中,“表達(dá)式”可以是C51語言中任意合法的表達(dá)式,其作用是控制循環(huán)體是否執(zhí)行;“循環(huán)體”是循環(huán)語句中需要重復(fù)執(zhí)行的部分,可以是一條簡單的可執(zhí)行語句,也可以是用大括號(hào)括起來的復(fù)合語句。知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句while語句的執(zhí)行過程如圖2.4所示。while語句的特點(diǎn)是:先判斷,后執(zhí)行。圖2.4while語句的執(zhí)行過程知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句(1)要定義循環(huán)控制變量。(2)要確定循環(huán)變量的初值、終值、增量(步長)。(3)要保證每執(zhí)行一次循環(huán)體,循環(huán)控制變量的值按增量向終值靠近一些,即要避免死循環(huán)。
while語句的使用注意事項(xiàng)知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句2.do-while語句do-while語句的一般格式:do循環(huán)體while(表達(dá)式);其中,“表達(dá)式”可以是C51語言中任意合法的表達(dá)式,其作用是控制循環(huán)體是否執(zhí)行;“循環(huán)體”可以是C51語言中任意合法的可執(zhí)行語句;最后的“;”不可丟,表示do-while語句結(jié)束。知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句do-while語句的執(zhí)行過程如圖2.5所示。do-while語句的特點(diǎn)是:先執(zhí)行,后判斷。圖2.5do-while語句的執(zhí)行過程知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句3.for語句for語句的典型應(yīng)用形式:for(循環(huán)變量初值;循環(huán)條件;循環(huán)變量增值)循環(huán)體for語句的一般形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體其中,“表達(dá)式1”、“表達(dá)式2”、“表達(dá)式3”可以是C51語言中任意合法的表達(dá)式,3個(gè)表達(dá)式之間用“;”隔開,其作用是控制循環(huán)體是否執(zhí)行;循環(huán)體可以是C51語言中任意合法的可執(zhí)行語句。知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句
for語句的執(zhí)行過程如圖2.6所示。圖2.6for語句的執(zhí)行過程知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句①計(jì)算循環(huán)變量初值表達(dá)式的值。②計(jì)算循環(huán)條件表達(dá)式的值(設(shè)為X)。若X非0,轉(zhuǎn)步驟③;若X為0,轉(zhuǎn)步驟⑤。③執(zhí)行一次循環(huán)體。④計(jì)算循環(huán)變量增值表達(dá)式的值,轉(zhuǎn)步驟②。⑤結(jié)束循環(huán),執(zhí)行for語句之后的語句。(1)for語句中的表達(dá)式可以部分或全部省略,但兩個(gè)“;”不可省略。例如:for(;;)D0=!D0;3個(gè)表達(dá)式均被省略,因缺少條件判斷,循環(huán)將會(huì)無限制地執(zhí)行,形成無限循環(huán)(通常稱為死循環(huán))。在使用for語句時(shí)應(yīng)注意以下兩點(diǎn):知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句表達(dá)方式1(正常情況,建議采用):
sum=0;
for(i=1;i<=100;i++)sum+=i;表達(dá)方式2(省略表達(dá)式1):
sum=0;i=1;
for(;i<=100;i++)sum+=i;表達(dá)方式3(省略表達(dá)式3):
sum=0;
for(i=1;i<=100;){sum+=i;i++;}表達(dá)方式4(省略表達(dá)式1和表達(dá)式3):
sum=0;i=1;
for(;i<=100;){sum+=i;i++;}知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句(2)所謂省略,只是在for語句中的省略。實(shí)際上是把所需表達(dá)式放在for的循環(huán)體中或for的語句前面。下面幾種語句是等價(jià)的。4.幾種循環(huán)的比較(1)3種循環(huán)可相互替代處理同一問題。(2)do-while循環(huán)至少執(zhí)行一次循環(huán)體,而while及for循環(huán)則不然。(3)while及do-while循環(huán)多用于循環(huán)次數(shù)不可預(yù)知的情況,而for循環(huán)多用于循環(huán)次數(shù)可以預(yù)知的情況。知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句5.循環(huán)的嵌套
在一個(gè)循環(huán)體內(nèi)又完整地包含了另一個(gè)循環(huán)稱為循環(huán)嵌套。循環(huán)的嵌套可以有多層,但每一層循環(huán)在邏輯上必須是完整的。知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句5.循環(huán)的嵌套
在編寫程序時(shí),嵌套循環(huán)的書寫要采用縮進(jìn)形式,使程序?qū)哟畏置?,如下,注意{}的位置:
for(i=1;i<=10;i++){ //外層循環(huán)
… for(j=1;j<=10;j++){ //中層循環(huán)
… for(k=1;k<=10;k++){ //內(nèi)層循環(huán) 循環(huán)語句
} … } …
}知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句(1)內(nèi)外循環(huán)的循環(huán)變量不應(yīng)相同。(2)內(nèi)外循環(huán)不應(yīng)交叉。(3)只能從循環(huán)體內(nèi)轉(zhuǎn)移到循環(huán)體外,反之不行。循環(huán)嵌套的使用注意事項(xiàng)知識(shí)2C51語言中循環(huán)結(jié)構(gòu)與循環(huán)語句知識(shí)3C51語言中的輔助控制語句/previewIndex/1060473知識(shí)3C51語言中的輔助控制語句1.break語句break語句的一般形式:break;break語句的功能:
①終止它所在的switch語句;
②跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)。例:求其平方數(shù)小于100的所有整數(shù),核心代碼如下,預(yù)先設(shè)定循環(huán)次數(shù)為40次,從1開始,出現(xiàn)平方大于100時(shí),則通過break語句提前結(jié)束循環(huán)。
for(i=1;i<=40;i++) { j=i*i; if(j>=100)break; printf(“%d”,i); }2.continue語句continue語句的一般形式:continue;continue語句的功能:用于循環(huán)體內(nèi)結(jié)束本次循環(huán),接著進(jìn)行下一次循環(huán)的判定。例:求1~100之間不能被3整除的數(shù)。核心代碼如下:
for(i=1;i<=100;i++){if(i%3==0)continue; //若能被3整除,跳到下一循環(huán)i++那。
printf(“%d”,i);//否則執(zhí)行這輸出語句}知識(shí)3C51語言中的輔助控制語句知識(shí)4C51語言中的函數(shù)
C51語言程序是由一個(gè)個(gè)函數(shù)構(gòu)成的。
所謂函數(shù),是指可以被其他程序調(diào)用的具有特定功能的一段相對(duì)獨(dú)立的程序。
引入函數(shù)的主要目的有兩個(gè):一是為了解決代碼的重復(fù);二是結(jié)構(gòu)化模塊化編程的需要。從用戶使用的角度看,函數(shù)可以分成兩大類:標(biāo)準(zhǔn)庫函數(shù)和用戶自定義函數(shù)。常用的標(biāo)準(zhǔn)庫函數(shù)參考教材的附錄。[return_type]funcname([args])[{small|compact|large}][reentrant][interruptn][usingn]{
局部變量定義 可執(zhí)行語句}C51函數(shù)定義的一般格式函數(shù)頭函數(shù)體知識(shí)4C51語言中的函數(shù)函數(shù)頭中各部分的含義如下:①return_type:函數(shù)返回值的類型即函數(shù)類型(缺省為int)。②funcname:函數(shù)名。在同一程序中,函數(shù)名必須唯一。③args:函數(shù)的參數(shù)列表。參數(shù)可有可無。若有,則稱之為有參函數(shù),各參數(shù)之間要用“,”分隔;若無,則稱之為無參函數(shù)。④small、compact或large:指定函數(shù)的存儲(chǔ)模式。⑤reentrant:指定函數(shù)是遞歸的或可重入的。⑥interruptn:指定函數(shù)是一個(gè)中斷函數(shù)。n為中斷源的編號(hào)。⑦usingn:指定函數(shù)所用的工作寄存器組。n為工作寄存器組的編號(hào)(0~3)。知識(shí)4C51語言中的函數(shù)
用C51語言設(shè)計(jì)程序,就是編寫函數(shù)。在構(gòu)成C51語言設(shè)計(jì)程序的若干個(gè)函數(shù)中,有且僅有一個(gè)是主函數(shù)main(),C51程序的執(zhí)行都是從main()函數(shù)開始的。同變量一樣,函數(shù)必須先定義后使用。函數(shù)調(diào)用的一般規(guī)則是:主函數(shù)可以調(diào)用其它普通函數(shù);普通函數(shù)之間可以相互調(diào)用;普通函數(shù)不能調(diào)用主函數(shù)。知識(shí)4C51語言中的函數(shù)任務(wù)實(shí)施/previewIndex/1060474任務(wù)實(shí)施#include<reg52.h> //頭文件#defineucharunsignedcharvoidDelay1s(); //對(duì)用到的函數(shù)進(jìn)行聲明,務(wù)必注意voidmain(void) //主程序
{ uchari,signal;//定義循環(huán)變量和信號(hào)變量 while(1) { signal=0x01; //給信號(hào)變量賦初始值 for(i=0;i<8;i++) { P2=~signal;//取反輸出 signal<<=1;//移位運(yùn)算 Delay1s(); } }}任務(wù)實(shí)施/***********************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年財(cái)務(wù)基礎(chǔ)到財(cái)務(wù)經(jīng)理全科目考試題庫
- 2026年社會(huì)心理學(xué)研究方法與實(shí)踐題庫
- 2026年天津?yàn)I海職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 2026湖北宏泰集團(tuán)應(yīng)屆高校畢業(yè)生春季招聘40人參考考試題庫及答案解析
- 2026貴州省自然資源廳直屬事業(yè)單位招聘20人民參考考試題庫及答案解析
- 外貌及五官課件
- 2026年河南交通職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試參考題庫含詳細(xì)答案解析
- 2026年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試模擬試題及答案詳細(xì)解析
- 2026年常德職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年承德護(hù)理職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- GB/T 45078-2024國家公園入口社區(qū)建設(shè)指南
- 《東北解放區(qū)工業(yè)戲劇研究(1945-1949年)》
- 新版中國食物成分表
- 安全生產(chǎn)標(biāo)準(zhǔn)化基本規(guī)范評(píng)分表
- 附件3:微創(chuàng)介入中心評(píng)審實(shí)施細(xì)則2024年修訂版
- 嗜血細(xì)胞綜合征查房
- 財(cái)務(wù)共享中心招聘筆試環(huán)節(jié)第一部分附有答案
- veeam-backup-11-0-quick-start-guide-hyperv中文版完整文件
- 安徽紅陽化工有限公司年產(chǎn)1萬噸有機(jī)酯(三醋酸甘油酯)、5500噸醋酸鹽系列產(chǎn)品擴(kuò)建項(xiàng)目環(huán)境影響報(bào)告書
- 汽車各工況下輪轂軸承壽命計(jì)算公式EXCEL表
- 教務(wù)工作的培訓(xùn)內(nèi)容
評(píng)論
0/150
提交評(píng)論