任務(wù) 鍵燈簡(jiǎn)易運(yùn)算器_第1頁(yè)
任務(wù) 鍵燈簡(jiǎn)易運(yùn)算器_第2頁(yè)
任務(wù) 鍵燈簡(jiǎn)易運(yùn)算器_第3頁(yè)
任務(wù) 鍵燈簡(jiǎn)易運(yùn)算器_第4頁(yè)
任務(wù) 鍵燈簡(jiǎn)易運(yùn)算器_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)鍵燈簡(jiǎn)易運(yùn)算器第一頁(yè),共二十八頁(yè),2022年,8月28日任務(wù)4-1簡(jiǎn)易運(yùn)算器任務(wù)描述(先熟悉用8鍵控制8燈):掌握算術(shù)運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符的應(yīng)用,需要進(jìn)行運(yùn)算的兩個(gè)數(shù)由P1和P2兩個(gè)I/O口的接線開(kāi)關(guān)提供,并將結(jié)果送P0,P3口發(fā)光二極管顯示。第二頁(yè),共二十八頁(yè),2022年,8月28日任務(wù)4-2比大小任務(wù)描述:兩個(gè)數(shù)由P1和P2兩個(gè)I/O口的按鍵提供,比較2個(gè)數(shù)的大小,若P1大,則P0,P3口發(fā)光二極管構(gòu)成跑馬燈左流動(dòng);反之則右流動(dòng);若相等則閃爍。第三頁(yè),共二十八頁(yè),2022年,8月28日

利用DB指令在1000H地址處建立30個(gè)成績(jī)數(shù)據(jù),不及格10個(gè),60-70分的10個(gè),70以上的10個(gè),編程將不及格的成績(jī)搬運(yùn)到RAM的50H單元開(kāi)始的10個(gè)地址,將70以上的成績(jī)搬運(yùn)到RAM的70H單元開(kāi)始的10個(gè)地址,將其余的成績(jī)搬運(yùn)到RAM的60H單元開(kāi)始的10個(gè)地址。拓展訓(xùn)練——成績(jī)分類(lèi)第四頁(yè),共二十八頁(yè),2022年,8月28日上機(jī)訓(xùn)練圖例第五頁(yè),共二十八頁(yè),2022年,8月28日1.算術(shù)運(yùn)算符2.邏輯運(yùn)算符和關(guān)系運(yùn)算符3.位運(yùn)算符和復(fù)合賦值運(yùn)算符4.分支控制語(yǔ)句5.I/O口內(nèi)部結(jié)構(gòu)任務(wù)4知識(shí)點(diǎn):第六頁(yè),共二十八頁(yè),2022年,8月28日1算術(shù)運(yùn)算符第七頁(yè),共二十八頁(yè),2022年,8月28日其中“/”和“%”這兩個(gè)符號(hào)都涉及除法運(yùn)算,“/”運(yùn)算是取商,“%”

運(yùn)算為取余數(shù)。例如“5/3”的結(jié)果為1(商),而“5%3”的結(jié)果為2(余數(shù))。自增和自減運(yùn)算符是使變量自動(dòng)加1或減1,自增和自減運(yùn)算符放在變量前和變量之后是不同的。例如:++i,--i:在使用i之前,先使i值加(減)1。i++,i--:在使用i之后,再使i值加(減)1。例如:若i=4,執(zhí)行x=++i時(shí),先使i加1,再引用結(jié)果,運(yùn)算結(jié)果i=5,x=5。再如:若i=4,執(zhí)行x=i++時(shí),先引用i值,再使i加1,運(yùn)算結(jié)果i=5,x=4。第八頁(yè),共二十八頁(yè),2022年,8月28日2邏輯運(yùn)算符和關(guān)系運(yùn)算符邏輯運(yùn)算符第九頁(yè),共二十八頁(yè),2022年,8月28日關(guān)系運(yùn)算符第十頁(yè),共二十八頁(yè),2022年,8月28日3位運(yùn)算符和復(fù)合賦值運(yùn)算符位運(yùn)算符第十一頁(yè),共二十八頁(yè),2022年,8月28日

在實(shí)際的控制應(yīng)用中,常需要改變I/O口中的某一位的值,而不想影響其它位,如果I/O口是可位尋址的,這個(gè)問(wèn)題就很簡(jiǎn)單。但有時(shí)外擴(kuò)的I/O口只能進(jìn)行字節(jié)操作,因此要想在這種場(chǎng)合下實(shí)現(xiàn)單獨(dú)的位控,就要采用位操作。[例]編寫(xiě)程序?qū)U(kuò)展的某I/O口PORTA(只能字節(jié)操作)的PORTA.5清0,PORTA.1置為1。#include<absacc.h>#definePORTAXBYTE[0xFFC0]voidmain(){ ……

PORTA=(PORTA&0xDF)│0x02;……}第十二頁(yè),共二十八頁(yè),2022年,8月28日復(fù)合賦值運(yùn)算符構(gòu)成復(fù)合賦值表達(dá)式的一般形式變量

雙目運(yùn)算符=表達(dá)式它等效于變量=變量

運(yùn)算符

表達(dá)式例如:a+=5等價(jià)于a=a+5共有10種:+=加賦值-=減賦值*=乘賦值/=除賦值%=求余賦值&=按位與賦值|=按位或賦值^=按位異或賦值<<=左移位賦值>>=右移位賦值第十三頁(yè),共二十八頁(yè),2022年,8月28日4分支控制語(yǔ)句第十四頁(yè),共二十八頁(yè),2022年,8月28日1.if語(yǔ)句if語(yǔ)句是用來(lái)判定所給定的條件是否滿足,根據(jù)判定結(jié)果決定執(zhí)行兩種操作之一。if語(yǔ)句的基本結(jié)構(gòu):if(表達(dá)式){語(yǔ)句;}括號(hào)中的表達(dá)式成立時(shí),程序執(zhí)行大括號(hào)內(nèi)的語(yǔ)句,否則程序跳過(guò)大括號(hào)中的語(yǔ)句部分,而直接執(zhí)行下面其它語(yǔ)句。C51語(yǔ)言提供3種形式的if語(yǔ)句:(1)形式1if(表達(dá)式){語(yǔ)句;}第十五頁(yè),共二十八頁(yè),2022年,8月28日例如:if(x>y){max=x;min=y;}即如果x>y,則x賦給max,y賦給min。如果x>y不成立,則不執(zhí)行大括號(hào)中的賦值運(yùn)算。(2)形式2if(表達(dá)式){語(yǔ)句1;}else{語(yǔ)句2;}

例如:

if(x>y){max=x;}else{min=y;}本形式相當(dāng)于雙分支選擇結(jié)構(gòu)。第十六頁(yè),共二十八頁(yè),2022年,8月28日(3)形式3

if(表達(dá)式1){語(yǔ)句1;}elseif(表達(dá)式2){語(yǔ)句2;}elseif(表達(dá)式3){語(yǔ)句3;}……else{語(yǔ)句n;}例如:if(x>100){y=1;}elseif(x>50){y=2;}elseif(x>30){y=3;}elseif(x>20){y=4;}else{y=5;}本形式相當(dāng)于串行多分支選擇結(jié)構(gòu)。在if語(yǔ)句中又含有一個(gè)或多個(gè)if語(yǔ)句,這稱為if語(yǔ)句的嵌套。應(yīng)當(dāng)注意if與else的對(duì)應(yīng)關(guān)系,else總是與它前面最近的一個(gè)if語(yǔ)句相對(duì)應(yīng)。

第十七頁(yè),共二十八頁(yè),2022年,8月28日2.switch語(yǔ)句

if語(yǔ)句只有兩個(gè)分支可供選擇,而switch語(yǔ)句是多分支選擇語(yǔ)句。switch語(yǔ)句的一般形式為:switch(表達(dá)式1){case常量表達(dá)式1:{語(yǔ)句1;}break;case常量表達(dá)式2:{語(yǔ)句2;}break;

……case常量表達(dá)式n:{語(yǔ)句n;}break;default:{語(yǔ)句n+1;}}switch語(yǔ)句的說(shuō)明:(1)每一個(gè)case的常量表達(dá)式必須是互不相同的,否則將出現(xiàn)混亂。第十八頁(yè),共二十八頁(yè),2022年,8月28日(2)各個(gè)case和default出現(xiàn)的次序,不影響程序執(zhí)行的結(jié)果。(3)switch括號(hào)內(nèi)的表達(dá)式的值與某case后面常量表達(dá)式的值相同時(shí),就執(zhí)行它后面的語(yǔ)句,遇到break語(yǔ)句則退出switch語(yǔ)句。若所有的case中的常量表達(dá)式的值都沒(méi)有與switch語(yǔ)句表達(dá)式的值相匹配時(shí),就執(zhí)行default后面的語(yǔ)句。(4)如果在case語(yǔ)句中遺忘了break語(yǔ)句,則程序執(zhí)行了本行之后,不會(huì)按規(guī)定退出switch語(yǔ)句,而是將執(zhí)行后續(xù)的case語(yǔ)句。在執(zhí)行一個(gè)case分支后,使流程跳出switch結(jié)構(gòu),中止switch語(yǔ)句的執(zhí)行,可以用一個(gè)break語(yǔ)句完成。switch語(yǔ)句的最后一個(gè)分支可以不加break語(yǔ)句,結(jié)束后直接退出switch結(jié)構(gòu)。第十九頁(yè),共二十八頁(yè),2022年,8月28日課程內(nèi)訓(xùn)練——8鍵控制8種流水燈任務(wù)描述:利用接在P1口的8個(gè)按鍵控制P3口的8個(gè)LED燈實(shí)現(xiàn)8種流水燈方案(提示:流水燈可以變動(dòng)亮點(diǎn)個(gè)數(shù),流動(dòng)速度、方向,還可以加入閃爍)。第二十頁(yè),共二十八頁(yè),2022年,8月28日P0口的結(jié)構(gòu)5I/O口內(nèi)部結(jié)構(gòu)第二十一頁(yè),共二十八頁(yè),2022年,8月28日P2口的結(jié)構(gòu)第二十二頁(yè),共二十八頁(yè),2022年,8月28日P1口的結(jié)構(gòu)第二十三頁(yè),共二十八頁(yè),2022年,8月28日P3口的結(jié)構(gòu)第二十四頁(yè),共二十八頁(yè),2022年,8月28日并行I/O口的負(fù)載能力P0、P1、P2、P3口的電平與CMOS和TTL電平兼容。P0口的每一位口線可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。在作為通用I/O口時(shí),由于輸出驅(qū)動(dòng)電路是開(kāi)漏方式,由集電極開(kāi)路(OC門(mén))電路或漏極開(kāi)路電路驅(qū)動(dòng)時(shí)需外接上拉電阻;當(dāng)作為地址/數(shù)據(jù)總線使用時(shí),口線輸出不是開(kāi)漏的,無(wú)須外接上拉電阻。第二十五頁(yè),共二十八頁(yè),2022年,8月28日P1、P2、P3口的每一位能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。它們的輸出驅(qū)動(dòng)電路設(shè)有內(nèi)部上拉電阻,所以可以方便地由集電極開(kāi)路(OC門(mén))電路或漏極開(kāi)路電路所驅(qū)動(dòng),而無(wú)須外接上拉電阻。由于單片機(jī)口線僅能提供幾毫安的電流,當(dāng)作為輸出驅(qū)動(dòng)一般的晶體管的基極時(shí),應(yīng)在口與晶體管的基極之間串接限流電阻。

第二十六頁(yè),共二十八頁(yè),2022年,8月28日

讀端口前先寫(xiě)1讀寄存器和讀引腳

。

雙向口和準(zhǔn)雙向口51單片機(jī)并行I/O口的幾個(gè)重要概念第二十七頁(yè),共二十八頁(yè),2022年,8月28日*PROTUES中的總線及標(biāo)號(hào)操作步驟:選擇總線BUSWIRE

;在proteus中畫(huà)一條總線

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論