版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目2霓虹燈控制系統(tǒng)任務(wù)2.2流水燈控制系統(tǒng)明確任務(wù)
在任務(wù)一中設(shè)計(jì)制作了一個(gè)LED燈的閃爍控制,本次任務(wù)做8個(gè)LED流水閃爍控制。要求每次只亮一個(gè)燈,從第1個(gè)開(kāi)始亮,其它全滅;然后第2個(gè)燈亮,其它全滅;依次類(lèi)推,第8個(gè)燈亮過(guò)之后,在轉(zhuǎn)到第1個(gè)燈,循環(huán)不停。每個(gè)燈亮的間隔要求約0.5s。任務(wù):設(shè)計(jì)制作8個(gè)流水燈控制系統(tǒng)。voidmain(void){unsignedchari,j;//定義局部變量
while(1) {LED=0; //小燈亮
for(i=0;i<200;i++) for(j=0;j<200;j++);LED=1; //小燈滅
for(i=0;i<200;i++) for(j=0;j<200;j++);}}回顧任務(wù)2.1程序:知識(shí)鏈接一、C51程序設(shè)計(jì)--函數(shù)
所謂函數(shù),是指可以被其他程序調(diào)用的具有特定功能的一段相對(duì)獨(dú)立地程序。C程序是由函數(shù)構(gòu)成的。從用戶使用角度,可分為庫(kù)函數(shù)和用戶自定義函數(shù)。庫(kù)函數(shù):由C系統(tǒng)提供,只需在程序前使用#include命令包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。用戶定義函數(shù):由用戶按需要寫(xiě)的函數(shù)。返回值:分為有返回值函數(shù)和無(wú)返回值函數(shù)。從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度:分為無(wú)參函數(shù)和有參函數(shù)兩種。所有的函數(shù)都是平行的,不能嵌套定義。但允許相互調(diào)用,也允許嵌套調(diào)用。main函數(shù)是主函數(shù),它可以調(diào)用其它函數(shù),而不允許被其它函數(shù)調(diào)用。一個(gè)C源程序有且只有一個(gè)主函數(shù)。函數(shù)定義的一般格式如下:函數(shù)類(lèi)型函數(shù)名(形式參數(shù)列表)[interruptm][usingn]
{
聲明部分可執(zhí)行語(yǔ)句部分
return語(yǔ)句
}函數(shù)類(lèi)型:說(shuō)明了函數(shù)返回值的數(shù)據(jù)類(lèi)型。函數(shù)名:用戶為自定義函數(shù)取的名字,以便調(diào)用函數(shù)時(shí)使用,必須采用合法的標(biāo)識(shí)符。形式參數(shù)表:表用于列出在主函數(shù)與被調(diào)用函數(shù)之間進(jìn)行數(shù)據(jù)傳遞的形式參數(shù)的數(shù)據(jù)類(lèi)型和名稱(chēng)。每個(gè)參數(shù)有一個(gè)類(lèi)型符和參數(shù)名組成,參數(shù)名也必須是合法的標(biāo)識(shí)符。函數(shù)可以沒(méi)有參數(shù),參數(shù)列表寫(xiě)一個(gè)void,也可空著。聲明部分:主要完成變量的定義、對(duì)被調(diào)用函數(shù)時(shí)使用。執(zhí)行部分:由一系列語(yǔ)句組成,完成函數(shù)的具體功能設(shè)計(jì)。return語(yǔ)句:使流程返回到調(diào)用處。函數(shù)的值通過(guò)return返回主調(diào)函數(shù),函數(shù)的類(lèi)型就是返回語(yǔ)句中表達(dá)式值的類(lèi)型。一般格式為:return表達(dá)式;在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此只能返回一個(gè)函數(shù)值。如果被調(diào)函數(shù)中return語(yǔ)句沒(méi)有表達(dá)式,return語(yǔ)句可省略,函數(shù)無(wú)返回值,可以用void定義。voiddelay(void){unsignedchari,j;//定義局部變量
for(i=0;i<200;i++) for(j=0;j<200;j++);}任務(wù)2.1中的延時(shí)程序部分可以定義成單獨(dú)的一個(gè)函數(shù)。函數(shù)調(diào)用的一般形式如下:函數(shù)名(實(shí)際參數(shù)表列);注:①無(wú)參數(shù)函數(shù)沒(méi)有實(shí)參表列;②有參數(shù)的函數(shù)調(diào)用,實(shí)際參數(shù)可以是常數(shù)、變量或其他構(gòu)造類(lèi)型數(shù)據(jù)及表達(dá)式。多個(gè)實(shí)參,用逗號(hào)隔開(kāi)。函數(shù)調(diào)用中的實(shí)參與函數(shù)定義中的形參必須在個(gè)數(shù)、類(lèi)型及順序上嚴(yán)格保持一致。函數(shù)調(diào)用的前提是被調(diào)用函數(shù)必須已定義過(guò)。庫(kù)函數(shù):使用預(yù)處理命令“#include<**.h>將有關(guān)函數(shù)的信息包含到本文件中。用戶自定義函數(shù):如果在函數(shù)定義之前調(diào)用,需要在主調(diào)函數(shù)中對(duì)被調(diào)函數(shù)進(jìn)行聲明。函數(shù)聲明一般形式如下:
[extern]函數(shù)類(lèi)型函數(shù)名(形式參數(shù)表);
注:聲明的函數(shù)不在文件內(nèi)部,而在另一個(gè)文件中,聲明時(shí)須帶extern,指明使用函數(shù)在另一個(gè)文件中。在同一文件中則不需要。voidmain(void){
unsignedchari,j;//定義局部變量
while(1) {LED=0; //小燈亮
for(i=0;i<200;i++) for(j=0;j<200;j++);LED=1; //小燈滅
for(i=0;i<200;i++) for(j=0;j<200;j++);}}
delay();
delay();單片機(jī)執(zhí)行指令以機(jī)器周期為最基本執(zhí)行時(shí)間單位。所以延時(shí)時(shí)間計(jì)算最小單位為機(jī)器周期,用T來(lái)指代。voiddelay()//子程序調(diào)用2T{unsignedchari,j;//自變量定義T+Tfor(i=0;i<20;i++)//賦值T,判斷2T,自加T,且下面語(yǔ)句、判斷、自加執(zhí)行20次 for(j=0;j<200;j++);//賦值T,判斷2T,自加T,且判斷、自加執(zhí)行200次}//子程序返回2T延時(shí)程序耗時(shí)機(jī)器周期計(jì)?算:2T+2T+T+[2T+T+200*(2T+T)+T]*20+2T=12087T如果單片機(jī)晶振為12MHz,機(jī)器周期為1μs,這個(gè)函數(shù)延時(shí)12087μs,約12ms。二、硬件電路
三、軟件設(shè)計(jì)與編程
1.8個(gè)燈都采用位控制方式,方法同任務(wù)2.1一樣,亮的燈輸出0,滅的輸出1.
位號(hào)76543210編碼第1個(gè)燈亮111111100xFE第2個(gè)燈亮111111010xFD第3個(gè)燈亮111110110xFB第4個(gè)燈亮111101110xF7第5個(gè)燈亮111011110xEF第6個(gè)燈亮110111110xDF第7個(gè)燈亮101111110xBF第8個(gè)燈亮01111111Ox7F2.字節(jié)輸出控制。需要對(duì)輸出進(jìn)行編碼,根據(jù)顯示方式編碼,如果改變顯示方式只需改變編碼即可。while(1) { P1=0XFE; //第1個(gè)燈亮,其余燈滅
delay(); //延時(shí)
P1=0XFD; //第2個(gè)燈亮,其余燈滅
delay(); ----------P1=0X7F; //第8個(gè)燈亮,其余燈滅
delay(); }3.字節(jié)編碼利用數(shù)組來(lái)表示出來(lái),利用C語(yǔ)言中的循環(huán)指令,修改為精簡(jiǎn)程序,提高程序閱讀效果,提升代碼效率。數(shù)組是一種有序數(shù)據(jù)的集合。數(shù)組中每一個(gè)元素的類(lèi)型相同。數(shù)組必須先定義后使用。一維數(shù)組的定義形式為:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式];類(lèi)型說(shuō)明符:數(shù)組中各元素的數(shù)據(jù)類(lèi)型;數(shù)組名:用戶定義的數(shù)組標(biāo)示符;常量表達(dá)式:表示數(shù)據(jù)元素的個(gè)數(shù),也稱(chēng)為數(shù)組的長(zhǎng)度。數(shù)組中的元素用數(shù)組名和下標(biāo)來(lái)唯一確定。例如: chara[10]; /*定義一個(gè)數(shù)組名a,有10個(gè)元素,每個(gè)元素的類(lèi)型均為char*/下標(biāo)從0開(kāi)始順序編號(hào)。因此數(shù)組a的10個(gè)元素分別是:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],它們按順序占用連續(xù)的存儲(chǔ)空間。對(duì)數(shù)組的初始賦值,指按照數(shù)字大小依次為各個(gè)元素提供初始值,通過(guò){}中的數(shù)據(jù)序列提供,元素之間用逗號(hào)隔開(kāi)。可以只給出全部或是部分元素賦值,如果是部分?jǐn)?shù)據(jù)則只給前面部分元素賦值,后面元素自動(dòng)賦0值。unsignedchara[5]={0,1,2,3,4};如果不給可初始化的數(shù)組賦值則全部元素均為0值。在定義數(shù)組時(shí)如果未指定數(shù)組大小,則根據(jù)給出的元素的個(gè)數(shù)來(lái)自行確定數(shù)組大小。unsignedchara[]={0,1,2,3,4};unsignedcharcodelsd[]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};//燈控制字節(jié)編碼voidmain(void){unsignedcharu;while(1) {for(u=0;u<8;u++) //for循環(huán),依次循環(huán)數(shù)組內(nèi)字節(jié)編碼
{
P1=lsd[u
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園防鼠知識(shí)培訓(xùn)課件
- 《FAO豆油培訓(xùn)》課件
- 賬戶相關(guān)知識(shí)培訓(xùn)課件
- LED廣告屏幕供應(yīng)及安裝協(xié)議(2024年)版
- 2024年裝飾材料批發(fā)與分銷(xiāo)合同3篇
- 專(zhuān)業(yè)化砌磚施工合作合同2024版下載版B版
- 2024年融資租賃合同標(biāo)準(zhǔn)范本:環(huán)保設(shè)備租賃3篇
- 裝修住宅知識(shí)培訓(xùn)課件
- 鄭州信息科技職業(yè)學(xué)院《PKPM結(jié)構(gòu)軟件應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江商業(yè)職業(yè)技術(shù)學(xué)院《西方經(jīng)濟(jì)學(xué)(宏觀)》2023-2024學(xué)年第一學(xué)期期末試卷
- 外科護(hù)理學(xué)試題+答案
- 齊魯醫(yī)學(xué)屈光和屈光不正匯編
- 貨架的技術(shù)說(shuō)明(一)
- 【高等數(shù)學(xué)練習(xí)題】皖西學(xué)院專(zhuān)升本自考真題匯總(附答案解析)
- 高處作業(yè)安全技術(shù)交底-
- 工抵房協(xié)議模板
- 水利工程施工技術(shù)學(xué)習(xí)心得
- DB32-T 2665-2014機(jī)動(dòng)車(chē)維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
- 【部編版】2022年語(yǔ)文七年級(jí)上:作文能力提升—謀篇布局(含答案)
- 稀土高鐵鋁合金電力電纜應(yīng)用參數(shù).
- 陳振明《公共管理學(xué)》(課堂PPT)
評(píng)論
0/150
提交評(píng)論