新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機C語言程序設計(4)

        PIC單片機C語言程序設計(4)

        作者: 時間:2013-02-05 來源:網絡 收藏

          2.if語句

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

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

          else 語句2

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

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

          功能:先計算if 中的條件表達式,其值為真(滿足條件時),執行語句1 ;其值為假(不滿足條件時),若有else,就執行語句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 語句實現;

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

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

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

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

          3.LED數碼管顯示的硬件電路

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

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

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

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

        c語言相關文章:c語言教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂州市| 前郭尔| 尉氏县| 安义县| 苗栗县| 岳西县| 天柱县| 贡觉县| 陵川县| 万全县| 永新县| 清水县| 景宁| 苏州市| 文安县| 浏阳市| 鄄城县| 云梦县| 天门市| 宿州市| 木兰县| 寿宁县| 侯马市| 什邡市| 濮阳县| 大兴区| 盐亭县| 望奎县| 天峨县| 鸡西市| 湛江市| 游戏| 大丰市| 东兰县| 林周县| 四子王旗| 含山县| 天门市| 合川市| 饶平县| 宁夏|