PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子_第1頁(yè)
PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子_第2頁(yè)
PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子_第3頁(yè)
PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子_第4頁(yè)
PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

精品文檔-下載后可編輯PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(4)-基礎(chǔ)電子(接上期)/data/html/2022-9-9/98339.html

2.if語(yǔ)句

if語(yǔ)句也稱(chēng)為條件語(yǔ)句,是C語(yǔ)言中轉(zhuǎn)移語(yǔ)句之一。在設(shè)計(jì)C語(yǔ)言程序時(shí),常常要根據(jù)某些條件以決定程序運(yùn)行的流向,這時(shí)就需要if語(yǔ)句來(lái)實(shí)現(xiàn)。任何if語(yǔ)句(包括else部分),都可當(dāng)作一條C語(yǔ)句使用。

格式:if(表達(dá)式)語(yǔ)句1

else語(yǔ)句2

其中else為選擇項(xiàng);即可有、可無(wú)的。所以條件語(yǔ)句,可分為兩種;if語(yǔ)句和if—else語(yǔ)句。

式中的表達(dá)式為關(guān)系表達(dá)式或邏輯表達(dá)式以及由條件運(yùn)算符(有關(guān)運(yùn)算符將在后文介紹)構(gòu)成的一種表達(dá)式。

功能:先計(jì)算if中的條件表達(dá)式,其值為真(滿(mǎn)足條件時(shí)),執(zhí)行語(yǔ)句1;其值為假(不滿(mǎn)足條件時(shí)),若有else,就執(zhí)行語(yǔ)句2。

If語(yǔ)句常用有幾種形式:

⑴if(條件表達(dá)式)語(yǔ)句

該形式無(wú)選擇項(xiàng)else。

例1:if(ab)c=b;

∥滿(mǎn)足條件ab,將b賦值給c

例2:if(ttr==9999)ttr=0;

∥滿(mǎn)足運(yùn)算條件ttr==9999;將0賦值給ttr

⑵if(條件表達(dá)式)語(yǔ)句1

else語(yǔ)句2

例1:if(ab)c=b;

∥滿(mǎn)足ab,將b賦值給c

elsec=a;

∥不滿(mǎn)足ab時(shí),將a賦值給c

例2:若比較兩個(gè)整量a、b,要求其大者送x,即可用if語(yǔ)句實(shí)現(xiàn);

⑶表達(dá)式賦值(簡(jiǎn)化式)的條件語(yǔ)句。讀者在閱讀一些書(shū)籍上的單片機(jī)C語(yǔ)言程序時(shí),會(huì)遇到條件語(yǔ)句的一種簡(jiǎn)化形式,其格式如下:

表達(dá)式1?表達(dá)式2;表達(dá)式3

如以上if語(yǔ)句的形式⑵中的例2,即可簡(jiǎn)化為條件表達(dá)式的賦值語(yǔ)句;

If語(yǔ)句尚有一些其他格式,這里暫略去。

3.LED數(shù)碼管顯示的硬件電路

在電子技術(shù)中,數(shù)碼管顯示(0~9)是常見(jiàn)的顯示技術(shù)。數(shù)碼管顯示時(shí),可用LCD(液晶),也可用LED數(shù)碼管顯示0~9的數(shù)。這里首先介紹用PIC16F84A控制的數(shù)碼管LED的顯示電路,如圖3所示。圖3是四位數(shù)碼管的,也可以擴(kuò)展更多的位或減少到一位數(shù)的顯示。

PIC16F84A的引腳④是低電平復(fù)位端,外接復(fù)位按鈕K0和R1、二極管D0以及電容C0組成的復(fù)位電路。引腳、腳外接晶振(4M)和電容C1、C2組成的單片機(jī)時(shí)鐘電路。RA4位(腳③)外接微動(dòng)開(kāi)關(guān)按鍵,其用途按圖3電路具體功能而定,如該電路用于計(jì)數(shù),K1可作起動(dòng)計(jì)數(shù)作用;如該電路用作時(shí)鐘,K1可作時(shí)鐘人工預(yù)置起始時(shí)刻用。

PIC16F84A的PORTB口,其中的RBO~BB6位通過(guò)限流電阻R3~R9與LED數(shù)碼管筆段碼a、b、c、d、e、f、g分別對(duì)應(yīng)相連。PORTA口的RA3、RA2、RA1和RA0通過(guò)電阻R10~R13與三極管(PNP型)V4~V1的基極相連。三極管的集電極分別與對(duì)應(yīng)的數(shù)碼管的供電端(⑧、③腳)相連。三極管的發(fā)射極都接到電源+5V上。該三極管V4~V1用于數(shù)碼管LED動(dòng)態(tài)掃描時(shí)的電源開(kāi)通信號(hào)。數(shù)碼管上的符號(hào)DP為數(shù)顯時(shí)的小數(shù)點(diǎn)位,用戶(hù)可按需要在其某位數(shù)碼管的DP上外接一只470Ω電阻和LED(與電阻串聯(lián)),用于四位數(shù)碼管特征顯示標(biāo)記,如數(shù)碼管計(jì)數(shù)時(shí)的百位段;記時(shí)的時(shí)位段等。

圖3電路的數(shù)碼管LED,筆者選用共陽(yáng)型數(shù)碼管,其實(shí)物的引腳和內(nèi)部電路如圖4所示。為了讀者使用方便,所以圖3中的數(shù)碼管LED的電路是以實(shí)物結(jié)構(gòu)繪制的。所述的圖3電路即將在后文的數(shù)碼管LED計(jì)數(shù)和時(shí)鐘(包括可預(yù)置的時(shí)鐘)派上用場(chǎng)。

4.LED數(shù)碼管計(jì)數(shù)顯示的軟件流程

這里首先介紹利用四位LED數(shù)碼管計(jì)數(shù)(0~9999)的顯示技術(shù),因?yàn)橛?jì)數(shù)是單片機(jī)中A/D轉(zhuǎn)換,時(shí)鐘電路的基礎(chǔ)。根據(jù)圖3提供的硬件電路,用C語(yǔ)言編寫(xiě)的4位加計(jì)數(shù)器的程序流程,如圖5所示。從該流程圖看出:C語(yǔ)言程序是以函數(shù)功能要求編寫(xiě)的,所用的函數(shù)都應(yīng)給予定義或聲明,然后由主函數(shù)main調(diào)用,以完成電路計(jì)數(shù)(0~9999)的功能。

5.LED數(shù)碼管計(jì)數(shù)的C程序

根據(jù)圖3的硬件電路,用C語(yǔ)言編寫(xiě)的0-9999加計(jì)數(shù)器的源程序,命名為pic0.4.c,其程序清單如下:

說(shuō)明:在上述的C程序display(顯示)函數(shù)中,其說(shuō)明語(yǔ)句的無(wú)符號(hào)整形變量d,是一個(gè)重要的變量,由d值決定了計(jì)數(shù)器每位顯示值遞增的時(shí)間。改變d值,使d值變大,每位遞增的持續(xù)時(shí)間就長(zhǎng),這個(gè)特性,就是單片機(jī)計(jì)時(shí)(時(shí)鐘)C程序的基礎(chǔ)。字段(SEG7)給每位賦值后的延時(shí),只決定顯示值亮、滅的時(shí)間,這個(gè)時(shí)間是供人眼觀察數(shù)碼管顯示值的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論