;任务布置:闪烁灯;怎样实现灯的闪烁?
亮-灭-亮-灭……
反复循环;绘制仿真电路图
输入程序
将程序载入单片机芯片
仿真运行,观察现象
;调试与观察;点击快捷按钮进入调试窗口;打开I/O口,以便观察I/O口的状态;进入调试状态后,工具栏会增加如下所示的调试工具条。;跟踪运行F7
单步运行F8
运行到光标行F4
全速运行F9
停止
复位;点击单步运行按钮,观察P1口的状态变化
;进入调试状态。
打开P1口观察窗口。
单步运行,观察P1口的状态变化,观察各状态的时间
点击跟踪运行按钮、全速运行按钮等其他按钮,观察P1口的状态变化,体会不同按钮的区别。
;怎样控制LED的闪烁速度?
亮-延时-灭-延时-亮-延时-灭-延时……反复循环;在C语言中有一个特殊的表达式语句,称为空语句。
空语句中只有一个分号“;”,程序执行空语句时需要占用一条指令的执行时间,但是什么也不做。
在C51程序中常常把空语句作为循环体,用于消耗CPU时间等待事件发生的场合。
;修改程序,用for语句实现延时,实现单个LED闪烁,闪烁效果肉眼可见。
;#includereg51.h
sbitLED0=P1^0;
voidmain()
{ unsignedinti;
while(1)
{
LED0=0;
for(i=0;i20000;i++);
LED0=1;
for(i=0;i20000;i++);
}
};编写程序,实现两个LED灯同时闪烁;#includereg51.h
sbitLED0=P1^0;
sbitLED1=P1^1;
voidmain()
{unsignedinti;
while(1)
{
LED0=0;LED1=0;
for(i=0;i20000;i++);
;编写程序,实现两个LED交替闪烁。;#includereg51.h
sbitLED0=P1^0;
sbitLED1=P1^1;
voidmain()
{unsignedinti;
while(1)
{
LED0=0;LED1=1;
for(i=0;i20000;i++);
;编写程序,实现以下任务:
第一个LED闪烁3次
然后第二个LED闪烁3次
如此反复循环;对于经常要执行的一些操作,可将其放在一个单独的函数中,当需要执行这些操作时,只要调用这个函数即可。
函数必须先定义,再调用。;参考程序;编写程序,实现以下任务:第一个LED闪烁3次,然后第二个LED闪烁3次,如此反复循环。
思考,如果要实现八个LED同时闪烁,如何编写程序。