0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 2018-09-10 04:34 次阅读

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 计数和时钟(包括可预置的时钟)派上用场。

4.LED数码管计数显示的软件流程

这里首先介绍利用四位LED 数码管计数(0~9999)的显示技术,因为计数是单片机中A/D 转换,时钟电路的基础。根据图3 提供的硬件电路,用C语言编写的4 位加计数器的程序流程,如图5 所示。从该流程图看出:C 语言程序是以函数功能要求编写的,所用的函数都应给予定义或声明,然后由主函数main 调用,以完成电路计数(0~9999)的功能。

5.LED数码管计数的C程序

根据图3 的硬件电路,用C 语言编写的0-9999 加计数器的源程序,命名为pic0.4.c,其程序清单如下:

说明:在上述的C 程序display(显示)函数中,其说明语句的无符号整形变量d,是一个重要的变量,由d 值决定了计数器每位显示值递增的时间。改变d 值,使d 值变大,每位递增的持续时间就长,这个特性,就是单片机计时(时钟)C 程序的基础。字段(SEG7)给每位赋值后的延时,只决定显示值亮、灭的时间,这个时间是供人眼观察数码管显示值的视觉效应(连续感)。

读者在阅读上述C 程序时,请参看注释的说明,以便理解编写LED 数码管计数(0~9999)程序的方法。在理解了上述程序之后,尽可能背诵上述程序,以便为后文中介绍的时钟程序、A/D 转换程序打下基础。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PIC单片机
    +关注

    关注

    64

    文章

    691

    浏览量

    101882
  • C语言
    +关注

    关注

    180

    文章

    7598

    浏览量

    136195
  • 程序
    +关注

    关注

    116

    文章

    3777

    浏览量

    80851
收藏 人收藏

    评论

    相关推荐

    51单片机C语言程序设计数码管动态扫描

    51单片机C语言程序设计数码管动态扫描,原创。编程心得,宝贵经验。
    发表于 09-21 21:48

    基于单片机的综合应用程序数码管C语言】定时器控制数码管

    基于单片机的综合应用程序数码管C语言】定时器控制数码管
    发表于 01-06 13:44 27次下载

    基于单片机的综合应用程序数码管C语言】595级联控制数码管

    基于单片机的综合应用程序数码管C语言】595级联控制数码管
    发表于 01-06 14:18 11次下载

    基于单片机的综合应用程序数码管C语言

    基于单片机的综合应用程序数码管C语言】,数码管程序集合。
    发表于 01-06 14:17 7次下载

    PIC单片机C语言程序设计实例精粹

    PIC单片机C语言程序设计实例精粹,非常有用的资料。
    发表于 01-15 17:17 97次下载

    使用单片机实现数码管显示动态数据的C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码管显示动态数据的C语言实例免费下载。
    发表于 11-12 17:57 13次下载

    单片机C语言程序设计实例闪烁的LED

    本文档的主要内容详细介绍的是单片机C语言程序设计实例闪烁的
    发表于 02-01 16:45 5次下载

    单片机C语言程序设计实例使用74HC595控制数码管显示四位数字

    本文档的主要内容详细介绍的是单片机C语言程序设计实例使用串入并出芯片74HC595控制
    发表于 02-01 16:45 46次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>程序设计</b><b class='flag-5'>实例</b><b class='flag-5'>之</b>使用74HC595控制<b class='flag-5'>数码管</b><b class='flag-5'>显示</b>四位数字

    使用单片机实现步进电机转速数码管显示C语言实例程序免费下载

    本文档的主要内容详细介绍的是使用单片机实现步进电机转速数码管显示C语言实例程序免费下载。
    发表于 03-02 11:34 11次下载

    使用单片机实现数码管显示C语言程序免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码管显示C语言程序免费下载。
    发表于 04-01 17:21 11次下载

    使用单片机实现锁存器数码管显示C语言程序免费下载

    本文档的主要内容详细介绍的是使用单片机实现锁存器数码管显示C语言程序免费下载。
    发表于 04-01 17:21 8次下载

    使用单片机实现数码管动态显示C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码管动态显示C语言实例免费下载。
    发表于 04-02 10:28 24次下载

    使用单片机实现数码管滚动显示C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码管滚动显示C语言实例免费下载。
    发表于 04-02 10:28 11次下载

    使用单片机实现数码管字符显示C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码管字符显示C语言实例免费下载。
    发表于 04-02 10:28 10次下载

    PIC单片机C语言程序设计实例及源代码

    PIC单片机C语言程序设计实例精粹源代码,图书的配套源代码资料分享。
    发表于 04-20 15:16 31次下载