news 2026/4/16 15:32:28

通过按钮改变引脚的电平的状态并输出虚拟终端

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通过按钮改变引脚的电平的状态并输出虚拟终端
#include <reg51.h> #include <stdio.h> #include <string.h> //stdio.h,string.h用于printf函数原型 void delay(unsigned int z); void uart_init(void); //串行口初始化 sbit button = P2^0; // P2.0引脚定义 sbit led = P2^2; // P2.0引脚定义 bit last_button_state; // 记录上一次按钮状态,使用bit类型匹配 void main() { led = 0; uart_init(); // 初始化按钮状态 last_button_state = button; printf("Button state monitoring started\n"); printf("Initial button state: %d\n", button); while(1) { // 实时输出按钮状态用于调试 //printf("Current button state: %d\r", button); // 检测按钮状态变化 if (button != last_button_state) { // 延长消抖时间确保稳定检测 delay(20); // 再次检测按钮状态,确认变化 if (button != last_button_state) { last_button_state = button; // 输出按钮状态变化 if (button == 0) { led = 1; printf("\nP2.0 state: Pressed (0)\n"); } else { led =0; printf("\nP2.0 state: Released (1)\n"); } } } // 主循环延迟 delay(50); } } void uart_init(void) { TMOD=0x20; //即0010 0000,定时器/计数器1,工作方式2 TH1=0xfd; //设置波特率为9600 TL1=0xfd; TR1=1; //启动定时器/计数器1 SCON=0x50; //SM0=0;SM1=1;REN=1;0101 0000.串口工作方式1,允许串行控制 PCON=0x00; //设置SMOD=0 IE=0x80; //EA=1;ES=0;只开总中断,关闭串口中断避免干扰按钮检测 TI=1; //中断请求标志位,直接使用printf必须加入此句才能实现发送 } void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:23:42

联机分析处理(OLAP)通过数据立方体模型支持多维数据分析

联机分析处理&#xff08;OLAP&#xff09;通过数据立方体模型支持多维数据分析&#xff0c;其五种基本操作——上卷、下钻、切片、切块和转轴&#xff0c;帮助用户灵活地聚合、细化和查看数据。例如&#xff0c;上卷可用于从城市级汇总到国家销售总额&#xff0c;而下钻可深入…

作者头像 李华
网站建设 2026/4/14 12:09:20

uniapp定义一个简单的全局弹窗组件

兼容H5、微信小程序、安卓APP&#xff08;1&#xff09;封装成组件dialog.jsexport default {/* 链接处理 */getLink(params){let url "/components/dialog/dialog";if(params){let paramStr "";for(let name in params){paramStr&${name}${params[n…

作者头像 李华
网站建设 2026/4/15 19:36:11

Git Restore 命令教程

Git Restore 命令教程 简介 git restore 是 Git 2.23 版本引入的一个相对新的命令&#xff0c;用于恢复工作目录或暂存区中的文件。它提供了一个直观的方式来撤销更改&#xff0c;取代了之前使用 git checkout 的一些用法。 这个命令的推出使得 Git 的命令更加清晰和易用&am…

作者头像 李华
网站建设 2026/4/16 12:28:44

JavaScript WebAPI 核心操作指南

JavaScript(WebAPI) WebAPI 背景知识 什么是 WebAPI 前面学习的 JS 分成三个大的部分&#xff1a; ECMAScript&#xff1a;基础语法部分DOM API&#xff1a;操作页面结构BOM API&#xff1a;操作浏览器 WebAPI 就包含了 DOM BOM。 这个是 W3C 组织规定的&#xff08;和制…

作者头像 李华
网站建设 2026/4/16 14:04:48

FastGPT完全部署指南:从零搭建大语言模型知识平台

本文详细介绍FastGPT项目的部署与使用。作为基于大语言模型的知识型平台&#xff0c;它支持数据处理、RAG检索等功能。文章从安装Git到配置Docker环境&#xff0c;解决了config.json路径问题&#xff0c;演示了LLM和embedding模型配置&#xff0c;展示了其在PDF处理、图片标注和…

作者头像 李华
网站建设 2026/4/7 3:21:39

AI大模型学习宝典:从技术入门到商业应用,全方位掌握_大模型产品经理课程(非常详细)大模型入门到精通

AI大模型行业处于萌芽期但增速迅猛&#xff0c;AIGC人才需求激增&#xff0c;尤其是AI产品经理。文章介绍AI产品经理的定义、职责、职业优势及四阶段学习路径&#xff1a;初阶应用、高阶应用、模型训练和商业闭环。作者提供完整学习资源&#xff0c;包括思维导图、书籍、视频教…

作者头像 李华