99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PIC單片機C語言程序設(shè)計實例之C語言if語句與LED數(shù)碼管顯示

電子設(shè)計 ? 2018-09-10 04:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

格式:if(表達式) 語句1

else 語句2

其中else 為選擇項;即可有、可無的。所以條件語句,可分為兩種;if 語句和if— else 語句。

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

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

If 語句常用有幾種形式:

⑴ if(條件表達式) 語句

該形式無選擇項else。

例1 :if(a>b) c=b ;

∥滿足條件a>b,將b 賦值給c

例2 :i f ( t t r = = 9 9 9 9 )ttr=0 ;

∥ 滿足運算條件ttr==9999 ;將0 賦值給ttr

⑵ if(條件表達式) 語句1

else 語句2

例1 :if(a>b) c=b ;

∥滿足a>b,將b 賦值給c

else c=a ;

∥ 不滿足a>b 時, 將a 賦值給c

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

⑶表達式賦值(簡化式)的條件語句。讀者在閱讀一些書籍上的單片機C 語言程序時,會遇到條件語句的一種簡化形式,其格式如下:

表達式1 ?表達式2 ;表達式3

如以上if 語句的形式⑵中的例2,即可簡化為條件表達式的賦值語句;

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

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

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

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

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

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

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

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

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

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

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

讀者在閱讀上述C 程序時,請參看注釋的說明,以便理解編寫LED 數(shù)碼管計數(shù)(0~9999)程序的方法。在理解了上述程序之后,盡可能背誦上述程序,以便為后文中介紹的時鐘程序、A/D 轉(zhuǎn)換程序打下基礎(chǔ)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PIC單片機
    +關(guān)注

    關(guān)注

    65

    文章

    693

    瀏覽量

    103103
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141775
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82996
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    51單片機C語言程序設(shè)計數(shù)碼管動態(tài)掃描

    51單片機C語言程序設(shè)計數(shù)碼管動態(tài)掃描,原創(chuàng)。編程心得,寶貴經(jīng)驗。
    發(fā)表于 09-21 21:48

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言】定時器控制數(shù)碼管

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言】定時器控制數(shù)碼管
    發(fā)表于 01-06 13:44 ?27次下載

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言】595級聯(lián)控制數(shù)碼管

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言】595級聯(lián)控制數(shù)碼管
    發(fā)表于 01-06 14:18 ?13次下載

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言

    基于單片機的綜合應(yīng)用程序數(shù)碼管C語言】,數(shù)碼管程序集合。
    發(fā)表于 01-06 14:17 ?7次下載

    PIC單片機C語言程序設(shè)計實例精粹

    PIC單片機C語言程序設(shè)計實例精粹,非常有用的資料。
    發(fā)表于 01-15 17:17 ?98次下載

    使用單片機實現(xiàn)數(shù)碼管顯示動態(tài)數(shù)據(jù)的C語言實例免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)數(shù)碼管顯示動態(tài)數(shù)據(jù)的C語言實例免費下載。
    發(fā)表于 11-12 17:57 ?13次下載

    單片機C語言程序設(shè)計實例閃爍的LED

    本文檔的主要內(nèi)容詳細介紹的是單片機C語言程序設(shè)計實例閃爍的
    發(fā)表于 02-01 16:45 ?5次下載

    單片機C語言程序設(shè)計實例使用74HC595控制數(shù)碼管顯示四位數(shù)字

    本文檔的主要內(nèi)容詳細介紹的是單片機C語言程序設(shè)計實例使用串入并出芯片74HC595控制
    發(fā)表于 02-01 16:45 ?49次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>程序設(shè)計</b><b class='flag-5'>實例</b><b class='flag-5'>之</b>使用74HC595控制<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>顯示</b>四位數(shù)字

    使用單片機實現(xiàn)步進電機轉(zhuǎn)速數(shù)碼管顯示C語言實例程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)步進電機轉(zhuǎn)速數(shù)碼管顯示C語言實例程序免費下載。
    發(fā)表于 03-02 11:34 ?11次下載

    使用單片機實現(xiàn)數(shù)碼管顯示C語言程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)數(shù)碼管顯示C語言程序免費下載。
    發(fā)表于 04-01 17:21 ?11次下載

    使用單片機實現(xiàn)鎖存器數(shù)碼管顯示C語言程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)鎖存器數(shù)碼管顯示C語言程序免費下載。
    發(fā)表于 04-01 17:21 ?8次下載

    使用單片機實現(xiàn)數(shù)碼管動態(tài)顯示C語言實例免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)數(shù)碼管動態(tài)顯示C語言實例免費下載。
    發(fā)表于 04-02 10:28 ?24次下載

    使用單片機實現(xiàn)數(shù)碼管滾動顯示C語言實例免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)數(shù)碼管滾動顯示C語言實例免費下載。
    發(fā)表于 04-02 10:28 ?11次下載

    使用單片機實現(xiàn)數(shù)碼管字符顯示C語言實例免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)數(shù)碼管字符顯示C語言實例免費下載。
    發(fā)表于 04-02 10:28 ?11次下載

    PIC單片機C語言程序設(shè)計實例及源代碼

    PIC單片機C語言程序設(shè)計實例精粹源代碼,圖書的配套源代碼資料分享。
    發(fā)表于 04-20 15:16 ?31次下載