①由80C51内部定时器T1,按方式1工作,每0.05秒T1溢出中断一次;②P1口接八个发光二极管;③上电后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4、L6、L8亮,第七秒钟八个发光二极管全亮,第八秒钟全灭,以后又从头开始;这个要求的工作原理

1个回答
展开全部
摘要 工作过程:设置定时器T1按方式1工作,每0.05秒T1溢出中断一次。设置中断服务程序,每次溢出时在中断服务程序中更新计时器变量timer,并在中断服务程序中将P1口输出设为0。在程序中定义一个变量timer,用于计时。初值为0。在程序中定义一个数组ledPin,存储8个发光二极管的引脚号。在程序中定义一个数组ledState,用于存储每个发光二极管的状态。初值为0,表示灭。在程序中定义一个函数updateLED,用于根据当前时间更新发光二极管的状态。函数中根据当前时间计算出哪些发光二极管应该亮灯,然后更新ledState数组。最后,根据ledState数组的值,将P1口输出设置为相应的值,使发光二极管亮或灭。在程序的主循环中,不断检查timer的值。如果timer的值等于0,表示经过了8秒,需要重新开始计时,并将ledState数组的值全部设置为0。否则,调用updateLED函数更新发光二极管的状态。
咨询记录 · 回答于2023-05-06
①由80C51内部定时器T1,按方式1工作,每0.05秒T1溢出中断一次;②P1口接八个发光二极管;③上电后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4、L6、L8亮,第七秒钟八个发光二极管全亮,第八秒钟全灭,以后又从头开始;这个要求的工作原理
解释一下工作过程或原理
工作过程:设置定时器T1按方式1工作,每0.05秒T1溢出中断一次。设置中断服务程序,每次溢出时在中断服务程序中更新计时器变量timer,并在中断服务程序中将P1口输出设为0。在程序中定义一个变量timer,用于计时。初值为0。在程序中定义一个数组ledPin,存储8个发光二极管的引脚号。在程序中定义一个数组ledState,用于存储每个发光二极管的状态。初值为0,表示灭。在程序中定义一个函数updateLED,用于根据当前时间更新发光二极管的状态。函数中根据当前时间计算出哪些发光二极管应该亮灯,然后更新ledState数组。最后,根据ledState数组的值,将P1口输出设置为相应的值,使发光二极管亮或灭。在程序的主循环中,不断检查timer的值。如果timer的值等于0,表示经过了8秒,需要重新开始计时,并将ledState数组的值全部设置为0。否则,调用updateLED函数更新发光二极管的状态。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消