logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • 更多功能
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

制作一个流水灯,原理图[1]如下,8个发光二极管LED0-LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。请使用C-51语言编写程序实现发光二极管从上至下两两点亮,并实现循环。(发光二极管点亮顺序:LED0 LED1,LED2 LED3,LED4 LED5,LED6 LED7,LED4 LED5,LED2 LED3,LED0 LED1 ,LED2 LED3……)。

制作一个流水灯,原理图[1]如下,8个发光二极管LED0-LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。请使用C-51语言编写程序实现发光二极管从上至下两两点亮,并实现循环。(发光二极管点亮顺序:LED0 LED1,LED2 LED3,LED4 LED5,LED6 LED7,LED4 LED5,LED2 LED3,LED0 LED1 ,LED2 LED3……)。

题目解答

答案

根据题目要求,将8种状态映射为P1端口值: - LED0 LED1:0xFC - LED2 LED3:0xF3 - LED4 LED5:0xCF - LED6 LED7:0x3F 按顺序排列为:`{0xFC, 0xF3, 0xCF, 0x3F, 0xCF, 0xF3, 0xFC, 0xF3}`。 程序通过`for`循环遍历数组,每次更新P1端口并延时,实现循环流水灯效果。 完整代码如下: ```c #include void delay(unsigned int time) { while(time--) { _nop_(); _nop_(); _nop_(); _nop_(); } } void main() { unsigned char i; unsigned char pattern[] = { 0xFC, 0xF3, 0xCF, 0x3F, 0xCF, 0xF3, 0xFC, 0xF3 }; while(1) { for(i = 0; i < 8; i++) { P1 = pattern[i]; delay(60000); } } } ```

解析

本题考查C - 51语言在单片机流水灯控制中的应用,解题思路如下:

  1. 状态映射:
    • 由于发光二极管阳极共同接高电平,所以当P1口对应引脚输出低电平时,对应的发光二极管点亮。
    • 对于LED0和LED1点亮的情况,P1.0和P1.1为低电平,其余为高电平。在二进制中表示为1111 1100,转换为十六进制就是0xFC。
    • 对于LED2和LED3点亮的情况,P1.2和P1.3为低电平,其余为高电平。二进制表示为1111 0011,十六进制为0xF3。
    • 对于LED4和LED5点亮的情况,P1.4和P1.5为低电平,其余为高电平。二进制表示为1100 1111,十六进制为0xCF。
    • 对于LED6和LED7点亮的情况,P1.6和P1.7为低电平,其余为高电平。二进制表示为0011 1111,十六进制为0x3F。
    • 根据题目给定的点亮顺序,将这8种状态按顺序排列成数组pattern,即{0xFC, 0xF3, 0xCF, 0x3F, 0xCF, 0xF3, 0xFC, 0xF3}。
  2. 延时函数设计:
    • 定义一个延时函数delay,它接受一个无符号整数time作为参数。
    • 在函数内部,使用while循环,循环次数为time。每次循环执行4次_nop_()空操作,通过这种方式实现简单的延时。
  3. 主函数实现:
    • 在main函数中,使用一个无限循环while(1)来保证程序一直运行。
    • 在无限循环内部,使用for循环遍历数组pattern,循环变量i从0到7。
    • 每次循环将数组中的值赋给P1端口,即P1 = pattern[i],这样就可以控制对应的发光二极管点亮。
    • 然后调用delay(60000)函数进行延时,使流水灯的变化效果能够被观察到。

相关问题

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • 8、信息安全“三个不发生”不包括( )。单选题Box 确保不发生大面积信息系统故障停运事故Box 确保不发生恶性信息泄密事故Box 确保不发生信息外网网站被恶意篡改事故Box 确保不发生信息内网非法外联事故

  • 9、不在网络安全的基本属性范围内的()。A. 机密性B. 可用性C. 完整性D. 多样性

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 1、网上银行系统的一次转账操作过程中发生了转账金额被非法篡改的行为,这破坏了信息安全的()属性。A. 完整性B. 保密性C. 不可否认性D. 可用性

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 2、网络安全工作的目标包括:()。A. 信息机密性B. 信息完整性C. 服务可用性D. 以上都是

  • Windows中“复制”操作的快捷键是Ctrl+V。

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号