当前位置: 首页 > article >正文

作业4:独立按键+数码管实操

文章目录1.测试代码视频2.流水灯视频3.独立按键视频(点亮四个灯)4.独立按键视频(思考题点亮8个灯)5.数码管显示“111111”6.数码管显示“123456”7.数码管显示“11.12.13”8.数码管显示“HH8800.”1.测试代码视频测试2.流水灯视频流水灯#include reg51.h // 包含51单片机的特殊功能寄存器定义 #define uchar unsigned char // 定义 uchar 为 unsigned char 类型方便使用 uchar a; // 定义全局变量 a用来保存当前灯的状态 // ------------------------------ // 函数delay() // 作用实现简单的延时 // ------------------------------ void delay(unsigned int time) { unsigned int i, j; for (i 0; i time; i) { for (j 0; j 120; j); } } // ------------------------------ // 主函数main() // 作用以移位方式控制 P0 口实现流水灯 // ------------------------------ void main() { P1 0xfe; // 初始化P0 1111 1110二进制点亮第一个灯假设低电平点亮 while (1) { a P1; // 读取当前P0口的灯状态1111 1110保存到变量a中 a a 1; // 左移一位灯光往左移。例如1111 1110 1 1111 1100 a a | 0x01; // 将最低位强制置为1防止全0。例如1111 1100 | 0000 0001 1111 1101 delay(300); // 延时一段时间实现灯的停留视觉效果 if (a 0xff) // 如果所有灯都亮了1111 1111表示移到了尽头 { a 0xfe; // 重置为初始值1111 1110只点亮第一个灯 } P1 a; // 输出新的灯状态到P0口 } }3.独立按键视频(点亮四个灯)4个灯#include REGX51.H sbit KEY1 P3^4; // 按键连接 sbit KEY2 P3^5; sbit KEY3 P3^6; sbit KEY4 P3^7; sbit LED1 P1^0; // LED连接 sbit LED2 P1^1; sbit LED3 P1^2; sbit LED4 P1^3; sbit LED5 P1^4; sbit LED6 P1^5; sbit LED7 P1^6; sbit LED8 P1^7; // 延时函数 void delay_ms(unsigned int ms) { unsigned int i, j; for(i 0; i ms; i) for(j 0; j 123; j); } void main() { P0 0xFF; // 初始所有LED熄灭因低电平点亮 while(1) { if(KEY1 0){ delay_ms(10); if(KEY1 0) { while(!KEY1); LED1~LED1; } } if(KEY2 0){ delay_ms(10); if(KEY2 0) { while(!KEY2); LED3~LED3; } } if(KEY3 0){ delay_ms(10); if(KEY3 0) { while(!KEY3); LED5~LED5; } } if(KEY4 0){ delay_ms(10); if(KEY4 0) { while(!KEY4); LED7~LED7; } } } }4.独立按键视频(思考题点亮8个灯)8个灯5.数码管显示“111111”1111116.数码管显示“123456”1234567.数码管显示“11.12.13”11.12.138.数码管显示“HH8800.”IMG_3607#include reg52.h #define uchar unsigned char #define uint unsigned int sbit dula P2^6; // 段选锁存器 sbit wela P2^7; // 位选锁存器 // 数码管的段码表0~9 uchar code TableDula[] { 0x3F, // 0 0x06, // 1 0x5B, // 2 0x4F, // 3 0x66, // 4 0x6D, // 5 0x7D, // 6 0x07, // 7 0x7F, // 8 0x6F, // 9 0x76 }; // 数码管段码表0~9带小数点 uchar code TableDulaPoint[] { 0xbf, // 0. 10111111 // 补充代码 0x86,// 1. 10000110 0xdb,// 2. 11011011 0xcf,// 3. 11001111 0xe6,// 4. 11100110 0xed,// 5. 11101101 0xfd,// 6. 11111101 0x87,// 7. 10000111 0xff,// 8. 11111111 0xef,// 9. 11101111 0xf6 }; // 数码管显示位码对应第1到第6个数码管 uchar code TableWela[] { 0xfe, // 1111 1110 - 第1位P0.0 置低其它为高 选中第1位数码管 0xfd, // 1111 1101 - 第2位P0.1 置低 选中第2位数码管 0xfb, // 1111 1011 - 第3位P0.2 置低 选中第3位数码管 0xf7, // 1111 0111 - 第4位P0.3 置低 选中第4位数码管 0xef, // 1110 1111 - 第5位P0.4 置低 选中第5位数码管 0xdf // 1101 1111 - 第6位P0.5 置低 选中第6位数码管 }; // 延时函数 void delay(uchar x) { uchar j; while(x--) { for(j 0; j 125; j); } } void main() { uchar i; // 显示数据对应的数字内容 uchar displayData[6] {10, 10, 8, 8, 0, 0}; // 小数点标志位1表示该位需要小数点 uchar pointFlag[6] {0, 0, 0, 0, 0, 1}; // 第2位和第4位显示带小数点 while(1) { for(i 0; i 6; i) { P0 0x00; // 清除显示 dula 0; wela 0; // 位选 P0 TableWela[i]; wela 1; wela 0; // 段码判断是否需要小数点 if(pointFlag[i] 1) { P0 TableDulaPoint[displayData[i]]; } else { P0 TableDula[displayData[i]]; } dula 1; dula 0; delay(2); // 稍作延时 } } }

相关文章:

作业4:独立按键+数码管实操

文章目录 1.测试代码视频2.流水灯视频3.独立按键视频(点亮四个灯)4.独立按键视频(思考题点亮8个灯)5.数码管显示“111111”6.数码管显示“123456”7.数码管显示“11.12.13”8.数码管显示“HH8800.” 1.测试代码视频 测试2.流水灯视频 流水灯#include <reg51.h> // 包含…...

基于copaw-code构建代码语义搜索系统:从原理到实践

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫QSEEKING/copaw-code。这名字乍一看有点摸不着头脑&#xff0c;但如果你对代码搜索、智能辅助编程或者大模型应用开发感兴趣&#xff0c;那这个仓库绝对值得你花时间研究。简单来说&#xff0c;它是一套围…...

Cursor AI编程规则深度解析:从项目规范到团队协同的实战指南

1. 项目概述&#xff1a;从“Cursor Rules”看现代开发者的效率革命如果你是一名开发者&#xff0c;最近可能频繁听到一个词&#xff1a;Cursor。它不仅仅是一个编辑器&#xff0c;更是一个集成了AI能力的开发环境&#xff0c;正在悄然改变我们写代码的方式。而今天要聊的这个项…...

Dify工作流设计实战:从模式解析到生产部署的Awesome资源指南

1. 项目概述&#xff1a;一个为Dify工作流而生的“Awesome”资源集合如果你正在使用Dify.AI来构建你的AI应用&#xff0c;并且已经深入到工作流这个强大但略显复杂的模块&#xff0c;那么你很可能和我一样&#xff0c;经历过一段“摸着石头过河”的时期。Dify的官方文档固然详尽…...

开发AI应用时如何借助Taotoken进行多模型选型与测试

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 开发AI应用时如何借助Taotoken进行多模型选型与测试 在开发一个具体的AI应用功能时&#xff0c;选择合适的模型是影响最终效果与成…...

Agent才不会“赢家通吃“,证据来了……

Claude Code已经赢成这样了&#xff0c; 顺带又做了CMA&#xff0c; 定义下一代企业级Agent infra。 Claude Code『同款』infra&#xff0c; 谁不想用。 谁又不想卖可复用的工具呢。 这样下去&#xff0c; 做Agent infra须有爆款Agent证明自己吗&#xff1f; 肯定很多人反对&am…...

AI代码助手评测体系构建:从原理到实践的完整指南

1. 项目概述&#xff1a;AI代码助手评测&#xff0c;到底在测什么&#xff1f;最近在GitHub上看到一个挺有意思的项目&#xff0c;叫ameerkhan9394/ide-ai-benchmark。光看名字&#xff0c;你大概能猜到&#xff0c;这是一个给集成开发环境&#xff08;IDE&#xff09;里的AI助…...

中间件与依赖系统:构建高效 Web 后端的双重利器

文章目录一、 中间件&#xff08;Middleware&#xff09;&#xff1a;全局的“拦截器”1.1 核心概念1.2 执行原理1.3 代码实现1.4 多中间件执行顺序二、 依赖系统&#xff08;Dependency Injection&#xff09;&#xff1a;精细化的“业务注入”2.1 为什么要用依赖系统&#xf…...

2026年3月 电子学会青少年软件编程机器人技术六级等级考试试卷真题【理论综合】

答案和更多内容请查看网站&#xff1a;【试卷中心 ----->电子学会 ---->机器人技术 ----> 六级】 网站链接 青少年软件编程历年真题模拟题实时更新 2026年3月电子学会青少年机器人技术&#xff08;六级&#xff09;等级考试试卷 一、单选题 第 1 题 TCP/IP四…...

轻量级Web代理moltron:架构解析与生产级部署实战

1. 项目概述&#xff1a;一个轻量级、高性能的Web代理工具在开发和运维的日常工作中&#xff0c;我们经常需要处理不同网络环境下的服务访问问题。比如&#xff0c;本地开发需要调试一个部署在内网测试环境的API&#xff0c;或者需要安全地访问某些仅限特定网络访问的资源。传统…...

comsol导出高分辨率stl文件

笔者在做毕设时想要从comsol 6.4中导出高分辨率的stl文件&#xff0c;但是发现comsol不能调节分辨率。故此&#xff0c;做以下解决措施①从comsol导出step这种通用格式文件②用solidworks打开step文件③在sw中进行featurework这种操作&#xff0c;也就是说这一步先将step文件转…...

为 Cursor 构建 API 协议转换网关:解决多模型兼容性问题

1. 项目概述&#xff1a;为 Cursor 打造一个全能的 API 协议转换网关如果你和我一样&#xff0c;深度依赖 Cursor 作为主力开发工具&#xff0c;同时又想灵活地使用各种第三方大模型 API&#xff08;比如那些性价比更高的中转站服务&#xff09;&#xff0c;那你一定遇到过这个…...

从零构建AI编程助手:Rust实现与模型上下文协议实践

1. 项目概述&#xff1a;一个从零开始的教学型AI编程助手如果你和我一样&#xff0c;对Cursor、GitHub Copilot这类AI编程助手背后的工作原理感到好奇&#xff0c;甚至有点“黑盒恐惧症”&#xff0c;那么这个名为Groundhog的项目&#xff0c;绝对值得你花时间深入研究。它不是…...

构建更优Godot MCP:AI助手与游戏开发工作流深度集成方案

1. 项目概述&#xff1a;为什么我们需要一个更好的Godot MCP&#xff1f;如果你是一个长期使用Godot引擎的开发者&#xff0c;尤其是当你尝试将AI能力&#xff0c;比如大型语言模型&#xff08;LLM&#xff09;&#xff0c;集成到你的游戏开发工作流中时&#xff0c;你很可能听…...

开源AI导航站:从数据结构到社区协作的实战解析

1. 项目概述&#xff1a;一个AI导航站是如何炼成的作为一个长期混迹在AI工具圈的老鸟&#xff0c;我深知一个痛点&#xff1a;每天都有新的AI应用冒出来&#xff0c;但想找到一个靠谱、好用、还免费的&#xff0c;往往得在搜索引擎、社交媒体和各个论坛里“大海捞针”。直到我遇…...

同样是投手为什么分析能力相差很大

做广告投放分析能力是核心能力账户常见三个终极问题&#xff1a; 1&#xff1a;不起量 2&#xff1a;成本高 3&#xff1a;量不够简单的说&#xff0c;投手要做的&#xff0c;是从纷繁复杂的账户信息中&#xff0c;整理出有用的数据&#xff0c;并基于它们给出合理的假设&#…...

Dive开源MCP主机:统一AI工具调用,打造跨模型智能体桌面应用

1. 项目概述&#xff1a;Dive&#xff0c;一个开源的MCP主机桌面应用如果你和我一样&#xff0c;每天都在和各种大语言模型打交道&#xff0c;从ChatGPT到Claude&#xff0c;再到本地部署的Ollama&#xff0c;那你肯定也遇到过这样的烦恼&#xff1a;每个模型都有自己的界面&am…...

AI时代DevSecOps脚手架:5分钟构建安全可靠的React+TypeScript应用

1. 项目概述&#xff1a;一个为AI编码时代量身定制的DevSecOps启动器 如果你和我一样&#xff0c;经常用 Cursor、Lovable 这类 AI 编程工具来快速构建应用原型&#xff0c;那你肯定遇到过这个痛点&#xff1a;点子出来得飞快&#xff0c;代码生成也很快&#xff0c;但一到要部…...

口令猜测—PCFG

PCFG 口令猜测方法介绍 1. PCFG 是什么 PCFG 全称是 Probabilistic Context-Free Grammar&#xff0c;即概率上下文无关文法。 在口令猜测研究中&#xff0c;PCFG 的核心思想是&#xff1a;人类设置口令并不是完全随机的&#xff0c;而是具有明显的结构和习惯。例如&#xff0c…...

企业知识库RAG到底有多难:实战3:向量化与存储

文章目录&#xff08;零&#xff09;项目位置&#xff08;一&#xff09;整体功能介绍&#xff08;二&#xff09;程序入口与参数&#xff08;三&#xff09;向量数据库初始化&#xff08;四&#xff09;文档 node 构建流程&#xff08;五&#xff09;为什么 debug 模式非常重要…...

Transformer注意力机制数据流优化与MMEE方法实践

1. 注意力机制数据流优化概述在Transformer架构和大型语言模型(LLM)中&#xff0c;注意力机制的计算开销通常占整体工作负载的60%以上。随着模型处理序列长度的不断增加&#xff0c;注意力计算面临的性能瓶颈日益凸显——其计算复杂度与序列长度呈二次方关系。这种特性使得传统…...

Java版Dify SDK:构建AI应用的高效开发指南

1. 项目概述&#xff1a;为什么我们需要一个Java版的Dify SDK&#xff1f;如果你正在用Java构建AI应用&#xff0c;并且已经接触过Dify这个开源的LLM应用开发平台&#xff0c;那你大概率会遇到一个痛点&#xff1a;官方SDK主要面向Python和JavaScript生态。当你想在Spring Boot…...

2026年,想要靠谱美缝团队?看完这篇你就知道选哪家!

在高端住宅、别墅装修中&#xff0c;美缝是彰显整体质感的关键环节。选对美缝团队&#xff0c;不仅能提升家居美观度&#xff0c;还能确保美缝效果长效耐用。2026年&#xff0c;如果你正在寻找靠谱的美缝团队&#xff0c;不妨看看长沙匠心徐师傅美缝团队&#xff0c;以下将为你…...

手机端数据恢复神器,值得收藏

今天给大家推荐一款好用的安卓端数据恢复工具&#xff0c;非常好用的&#xff0c;还有一款Wifi信号检测工具&#xff0c;有需要的小伙伴及时下载收藏&#xff01; 软件介绍 第一款&#xff1a;数据恢复大师dumpster 提到数据恢复大师&#xff0c;之前好像也有推荐过&#xff0…...

IDEA(2021.3.2)模块右侧Maven中不显示Dependencies问题

前言&#xff1a;今天在B站大学上想学点东西的时候&#xff0c;发现了这个问题&#xff0c;根目录中有两个模块&#xff0c;分别是01,02我嫌麻烦就复制了一份为03&#xff0c;在刷新maven的过程中报错&#xff08;主要就是不展示Dependencies&#xff09;然后百思不得其解&…...

猫瘟爆发季,我为什么把全院空气消毒换成了净博阳?宠物医生手记

先说背景&#xff1a;我经营一家中型宠物医院&#xff0c;3个诊室、1个手术室、1个输液区、1个住院部&#xff08;15个笼位&#xff09;&#xff0c;日均接诊量30-40例。干过临床的同行都知道&#xff0c;宠物医院有一个隐形的生死线——院内交叉感染。你这边刚抢救回来一只猫瘟…...

AI编程工具实战指南:从Claude Code到Cursor的深度技巧与工作流设计

1. 项目概述&#xff1a;一份写给实干派开发者的AI编程工具实战手册 如果你和我一样&#xff0c;是个在一线写代码写了十来年的老程序员&#xff0c;那你肯定已经感受到了&#xff0c;这两年AI编程工具的出现&#xff0c;彻底改变了我们写代码的方式。从最开始GitHub Copilot那…...

Anthropic研究院议程:不止做AI大模型,更要定义AI时代的全球规则

当大模型竞赛进入白热化,多数科技公司都在比拼参数、速度、模型能力时,OpenAI竞品Anthropic走出了一条完全不同的路。 近期,Anthropic 正式公布 Anthropic Institute(Anthropic研究院)全新研究议程,不再只埋头做模型研发,而是站在行业顶层视角,深度拆解AI对经济、安全、…...

Windows下CLion配置NDK的CMake项目,为什么你的Android.toolchain.cmake总报错?一篇讲清所有参数

Windows下CLion配置NDK的CMake项目&#xff1a;破解android.toolchain.cmake报错全指南 当你第一次在CLion中尝试配置NDK的CMake项目时&#xff0c;那个看似简单的android.toolchain.cmake文件可能成了噩梦的开始。明明按照教程一步步操作&#xff0c;却在编译时遭遇各种莫名其…...

企业团队如何利用Taotoken统一管理API密钥与下载用量报告

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业团队如何利用Taotoken统一管理API密钥与下载用量报告 在团队协作开发与使用大模型API的过程中&#xff0c;如何安全、高效地管…...