单片机C编程与应用系统设计.ppt

单片机C编程与应用系统设计.ppt

ID:52194493

大小:1.56 MB

页数:75页

时间:2020-04-02

单片机C编程与应用系统设计.ppt_第1页
单片机C编程与应用系统设计.ppt_第2页
单片机C编程与应用系统设计.ppt_第3页
单片机C编程与应用系统设计.ppt_第4页
单片机C编程与应用系统设计.ppt_第5页
资源描述:

《单片机C编程与应用系统设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.基本示例分析2.单片机应用系统设计单片机C语言编程与设计一、基本示例分析:例1、LED的控制使用805l的Port1连接8个LED,以产生跑马灯的效果。连接好电路并且完成程序之后,您将可以看到8个LED依次轮流闪烁。在这次练习中,您将学会如何使用I/OPort输出数据,以及如何使用循环实现时间延迟。电路图#includevoiddelay(void)/*delay函数*/{unsignedchari,j;/*这个函数执行时间的延迟*/for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(void){unsignedchar

2、j=0XFE;/*声明变量j*/while(1)/*无穷循环*/{/*依次让LED0,1,2,3,4,5,6,7闪烁*/j=(j<<1)

3、0x01;if(j==0XFF)j=0XFE;P1=j;/*将数值输出到Port1,控制LED亮或灭*/delay();/*调用delay函数*/}}例2、指拨开关的输入目的是使用8051的Portl连接到8个LED,Port2则连接到1个指拨开关,当用户拨动指拨开关时,相对应的LED就会亮或灭。在这次练习中,您将学会如何使用8051输入数据。例如,您要从Port2输入数据给变量temp时,可以执行temp=P2;电路图#include

4、.H>voiddelay(void)/*delay函数*/{unsignedchari,j;/*这个函数执行时间的延迟*/for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(void){unsignedchartemp;/*声明变量temp*/while(1)/*无穷循环*/{temp=P2;/*将P2输入的数据直接放入变量temp当中*/P1=temp;/*将变量temp中的数据直接输出到Port1*/delay();}}例3、七段显示器的控制目的是使用8051的Port1连接到一个共阳的七段显示器,然后让8051轮流显示0~9。当您连接好电

5、路,并且完成程序之后,您将看到七段显示器依次显示0~9。在这次练习中,您将学会如何使用805l控制共阳七段显示器的显示。一个共阳七段显示器的外观和引脚如图所示。这个共阳七段显示器的引脚分别连接到805l的Portl引脚。电路图#includecodeseven_seg[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};voiddelay(void)/*时间延迟的函数*/{unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(void

6、){unsignedchari;/*变量i用来储存0~9*/while(1)/*无穷循环*/{for(i=0;i<10;i++){P1=seven_seg[i];/*输出0~9到共阳七段显示器*/delay();/*调用时间延迟函数delay*/}}}共阳七段显示器有一共同接点连接到5V,其余的七支引脚分别如图所示因此如果要让所指定的LED发光时,就必须输出0,反之则输出1,所以我们可以用下表排列出所要显示字符和必须输出的信号。下表中,假设dot点接在最高位,而且不点亮,所以一直都是1。将以上的信息编成16进制码,然后存放在定义为seven_seg的数组中。我们将共阳七段显示器显示出0

7、~9的字型码储存在程序存储器中。当用户有固定不变的数据时,就可以储存在程序存储器中。储存在程序存储器的数据必须存声明的变景附加上code,如以下的声明方式:codeseven_seg[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};例4、计时器Timer0的溢出中断控制在前面,我们曾经捉到过使用for循环实现时间延迟并不是很精确,例如,程序会受到中断的执行而影响延迟时间。在这次实习中,您将学会如何使用8051的Timer0计时器溢出中断实现准确的时间延迟。本练习使用8051的Port1连接到一个共阳七段显示器,然后利用计时

8、计数器Timerl,让8051在指定的时间间隔内显示出0~9。当您连接好电路,并且完成程序之后,您将可以看到七段显示器依次显示0~9。#include#defineTIMER0_COUNT0xEE11constseven_seg[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};unsignedchartimer0_tick,i=0;staticvoidtimer

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

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

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