PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc

PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc

ID:27503198

大小:373.00 KB

页数:13页

时间:2018-12-04

PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc_第1页
PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc_第2页
PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc_第3页
PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc_第4页
PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc_第5页
资源描述:

《PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、PIC单片机C语言程序设计实例之C语言if语句与LED数码管显示  格式:if(表达式)语句1  else语句2  其中else为选择项;即可有、可无的。所以条件语句,可分为两种;if语句和if—else语句。  式中的表达式为关系表达式或逻辑表达式以及由条件运算符(有关运算符将在后文介绍)构成的一种表达式。  功能:先计算if中的条件表达式,其值为真(满足条件时),执行语句1;其值为假(不满足条件时),若有else,就执行语句2。  If语句常用有几种形式:  ⑴if(条件表达式)语句  该形式无选择项else。  例1:if(a>b)c=b;  ∥满足条件

2、a>b,将b赋值给c  例2:if(ttr==9999)ttr=0;  ∥满足运算条件ttr==9999;将0赋值给ttr  ⑵if(条件表达式)语句1  else语句2  例1:if(a>b)c=b;  ∥满足a>b,将b赋值给c  elsec=a;  ∥不满足a>b时,将a赋值给c  例2:若比较两个整量a、b,要求其大者送x,即可用if语句实现;    ⑶表达式赋值(简化式)的条件语句。读者在阅读一些书籍上的单片机C语言程序时,会遇到条件语句的一种简化形式,其格式如下:  表达式1?表达式2;表达式3  如以上if语句的形式⑵中的例2,即可简化为条件表达

3、式的赋值语句;    If语句尚有一些其他格式,这里暂略去。  3.LED数码管显示的硬件电路  在电子技术中,数码管显示(0~9)是最常见的显示技术。数码管显示时,可用LCD(液晶),也可用LED数码管显示0~9的数。这里首先介绍用PIC16F84A控制的数码管LED的显示电路,如图3所示。图3是四位数码管的,也可以扩展更多的位或减少到一位数的显示。    PIC16F84A的引脚④是低电平复位端,外接复位按钮K0和R1、二极管D0以及电容C0组成的复位电路。引脚、脚外接晶振(4M)和电容C1、C2组成的单片机时钟电路。RA4位(脚③)外接微动开关按键,其用

4、途按图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为数显时的小数点位,用户可按需

5、要在其某位数码管的DP上外接一只470Ω电阻和LED(与电阻串联),用于四位数码管特征显示标记,如数码管计数时的百位段;记时的时位段等。  图3电路的数码管LED,笔者选用共阳型数码管,其实物的引脚和内部电路如图4所示。为了读者使用方便,所以图3中的数码管LED的电路是以实物结构绘制的。所述的图3电路即将在后文的数码管LED计数和时钟(包括可预置的时钟)派上用场。    4.LED数码管计数显示的软件流程  这里首先介绍利用四位LED数码管计数(0~9999)的显示技术,因为计数是单片机中A/D转换,时钟电路的基础。根据图3提供的硬件电路,用C语言编写的4位加

6、计数器的程序流程,如图5所示。从该流程图看出:C语言程序是以函数功能要求编写的,所用的函数都应给予定义或声明,然后由主函数main调用,以完成电路计数(0~9999)的功能。    5.LED数码管计数的C程序  根据图3的硬件电路,用C语言编写的0-9999加计数器的源程序,命名为pic0.4.c,其程序清单如下:                说明:在上述的C程序display(显示)函数中,其说明语句的无符号整形变量d,是一个重要的变量,由d值决定了计数器每位显示值递增的时间。改变d值,使d值变大,每位递增的持续时间就长,这个特性,就是单片机计时(时钟)

7、C程序的基础。字段(SEG7)给每位赋值后的延时,只决定显示值亮、灭的时间,这个时间是供人眼观察数码管显示值的视觉效应(连续感)。  读者在阅读上述C程序时,请参看注释的说明,以便理解编写LED数码管计数(0~9999)程序的方法。在理解了上述程序之后,尽可能背诵上述程序,以便为后文中介绍的时钟程序、A/D转换程序打下基础。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。