任务一LED报警灯制作课程.ppt

* * 通过以上LED报警灯的工作过程分析可以得出,要实现一个LED灯的循环移位,只需依次轮流点亮一个灯后即可。 通过上次课程序的改写,能够很容易的完成本项任务, 但是由于本任务有控制8个灯,我们需要把P1口的8个引脚都定义,这样程序会稍显繁琐。 那么,能否有简化的方法呢?其实P1是个特殊功能寄存器,这个寄存器是在“reg52.h”头文件中已经定义好了的,我们可以直接拿来用。前一任务中P1.0仅是P1这个特殊寄存器中的一位,C51语言中是允许对特殊寄存器直接进行字节操作的,我们这里使用字节操作的方法。按照报警灯的点亮要求,每次送至P1口的字节数据如表2-2所示。我们可以根据该表从P1端口输出数据来点亮LED实现报警灯的输出效果。 * * * (1)for循环语句 for循环语句的格式如下: for(表达式1;表达式2;表达式3) { 程序语句组; } 式中“表达式1”是用来给循环变量赋初始值的,所以这一句为初始化语句。“表达式2”是循环的条件,一般书写逻辑关系或一般关系表达式。“表达式3”可以用来修改循环变量的值,对循环变量进行增或减的操作。 for语句的具体执行过程如下:首先计算出表达式1的值作为循环控制变量的初值,再检测循环条件表达式2的结果,当满足循环条件时就进入循环体内执行语句。执行循环体一遍之后,接着去执行表达式3,然后根据表达式3修改后的计

文档评论(0)

1亿VIP精品文档

相关文档