《单片机C语言之流水灯(带延时子程序).ppt》由会员分享,可在线阅读,更多相关《单片机C语言之流水灯(带延时子程序).ppt(12页珍藏版)》请在人人文库网上搜索。
1、单片机C语言应用100例,授课教师:莫建平,单片机控制一个灯闪烁 单片机控制蜂鸣器工作 使用位的原理流水点亮8位LED 总线控制端口流水点亮8位LED,第三章 逐步认识单片机基本结构,思路:灯闪烁即亮灭在交替,因此只要编程让控制灯的那一位在高低电平变换即可。但因注意,这里涉及两个问题(1、亮灭的时间间隔;2、亮灭需用循环实现),3.1 单片机控制一个灯闪烁,问题的解决: 1、时间间隔:用延时函数delay() 2、循环实现:用循环语句while(),1、时间间隔:如果亮灭的间隔时间人为控制,如控制为10ms,则需知道单片机的时钟。,3.1 单片机控制一个灯闪烁,时钟频率=工作频率=(由外部晶振。
2、频率决定) 振荡周期=工作周期(1/12MHz=1/12us) 1机器周期=12倍振荡周期 12*(1/12)us=1us 12*(1/11.0592)us=1.085us 1指令周期=1机器周期 即处理一条指令需要1个机器周期 若要1ms,只要拿1us循环1000次就OK了。,例Ex4在keil里运行演示,一条指令运行时间为0.0000001s即1us,1、时间间隔:延时函数delay() 例Ex4,3.1 单片机控制一个灯闪烁,void delay(void) /延时子函数 unsigned int i; for(i=0;i2000;i+); ,例Ex4的延时子函数在keil里运行演示大概。
3、用时0.05s.,若要延时1S,应该怎么半?,2、循环的实现:while()的介绍,3.1 单片机控制一个灯闪烁,While (表达式)语句(内部也可为空)特点:先判断表达式,后执行语句。原则:若表达式不是0,即为真,那么执行语句。否则跳出while 语句。,2、循环的实现:while()的编写,3.1 单片机控制一个灯闪烁,While (1)led1=0;delay();led1=1;delay();特点:先判断表达式,后执行语句。原则:若表达式不是0,即为真,那么执行语句。否则跳出while 语句。,3.2 单片机控制蜂鸣器,3.3使用位的原理流水点亮8位LED,3.4总线控制端口流水点亮8位LED,Thank You。