欢迎来到天天文库
浏览记录
ID:34511784
大小:157.16 KB
页数:3页
时间:2019-03-07
《pic单片机c语言程序设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、鼹攮ll『’一⋯⋯~一⋯一’’一’⋯~一JI3EEKER霍圈PIC单片机c语言程序设计(4)(接上期)else语句2(0~9)是最常见的显示技术。数例1:if(a>b)c=b;码管显示时,可用LCD(液晶),2._f语句∥满足a>b,将b赋值给C也可用LED数码管显示0~9的jf语句也称为条件语句,是elsec-a;数。这里首先介绍用PIC16F84AC语言中转移语句之一。在设计∥不满足a>b时,将a赋控制的数码管LED的显示电路,C语言程序时,常常要根据某些值给c如图3所示。图3是四位数码管条件以决定程序运行的流向,这例2:若比较两个整量a、b,的,
2、也可以扩展更多的位或减少时就需要jf语句来实现。任何if要求其大者送X,即可用jf语句到一位数的显示。语句(包括else部分),都可当实现;PIC16F84A的引脚是低作一条C语句使用。if(a>b)x=a;电平复位端,外接复位按钮K0格式:if(表达式)语句1∥如果a>b,将a赋值给x和R1、二极管DO以及电容COelse语句2elsex=b;组成的复位电路。引脚15、脚其中else为选择项;即可有、∥如果条件不满足,将b赋外接晶振(4M)和电容C1、C2可无的。所以条件语句,可分为值给X组成的单片机ml-f-~电路。RA4位两种;if语句和if-e
3、lse语句。(3)表达式赋值(简化式)的(脚)外接微动开关按键,其式中的表达式为关系表达式或逻条件语句。读者在阅读一些书籍用途按图3电路具体功能而定,辑表达式以及由条件运算符(有上的单片机C语言程序时,会遇如该电路用于计数,K1可作起关运算符将在后文介绍)构成的到条件语句的一种简化形式,其动计数作用;如该电路用作时钟,一种表达式。格式如下:K1可作时钟人工预置起始时刻功能:先计算if中的条件表表达式17表达式2;表达用。达式,其值为真(满足条件时),式3PIC16F84A的PORTB口,执行语句1;其值为假(不满足条如以上jf语句的形式(2)中的其中的
4、RBO~BB6位通过限流电件时),若有else,就执行语句2。例2,即可简化为条件表达式的阻R3~R9与LED数码管笔段码If语句常用有几种形式:赋值语句;a、b、C、d、e、f、q分别对应(1)if(条件表达式)语句×:(a>b?a:b);相连。PORTA口的RA3、RA2、该形式无选择项else。∥如果a>b,将a赋值给xRA1和RA0通过电阻R10~R13例1:jf(a>b)c=b;∥如果条件不满足,则b赋与三极管(PNP型)V4~V1的∥满足条件a>b,将b赋值值给X基极相连。三极管的集电极分别给CIf语句尚有一些其他格式,与对应的数码管的供电
5、端(、例2:If(ttr:=9999)这里暂略去。脚)相连。三极管的发射极ttr=O;都接到电源+5V上。该三极管∥满足运算条件3.LED数码管显示的硬件V4~v1用于数码管LED动态扫ttr==9999;将0赋值给ltr电路描时的电源开通信号。数码管(2)if(条件表达式)语句1在电子技术中,数码管显示上的符号DP为数显时的小数点电子制作57L这里首先介绍利用四位#include囹LED数码管计数(0~9999)的∥包含头文件显示技术,因为计数是单片机中#definePORTAIT(add,bit)AID转换,时钟电路的基础。根((uns
6、fgned)(&add)8+(bit))据图3提供的硬件电路,用CStatiCbitPORT0@一语言编写的4位加计数器的程PORTAIT(PORTA,O):序流程,如图5所示。从该流picl6F84A图5程图看出:C语言程序是以函数StatiCbitPORT1@voiddeIay(unsignedlong功能要求编写的,所用的函数都PORTAIT(PORTA,1):ntk1应给予定义或声明,然后由主函//A13的位定义∥带形参K的延时函数数main调用,以完成电路计数StatiCbitPORT2@一{(0~9999)的功能。PORTAIT(PORTA
7、,2):unsignedlongintj;StatiCbitPORT3@∥{为无符号的整型变量5.LED数码管计数的CPORTAIT(P0RTA,3):for(i=0;i<=++)程序StatiCbitPORT4@ffor根据图3的硬件电路,用PORTAlT(PORTA,4):continue;C语言编写的0-9999加计数器unsignedintttr=0;∥继续循环的源程序,命名为picO.4.C,其∥无符号的整型变量}程序清单如下:582010VOL01蕤霎》¨⋯一⋯⋯⋯一⋯⋯一⋯⋯⋯一⋯voiddispfay(unsignedintX)∥十位门
8、开,十位LED显示∥关中断∥带形参X的显示函数delay(200);PORTA=0xl0:{∥
此文档下载收益归作者所有