新闻中心

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 下一页

评论


相关推荐

技术专区

关闭