#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--); }通过按钮改变引脚的电平的状态并输出虚拟终端
张小明
前端开发工程师
联机分析处理(OLAP)通过数据立方体模型支持多维数据分析
联机分析处理(OLAP)通过数据立方体模型支持多维数据分析,其五种基本操作——上卷、下钻、切片、切块和转轴,帮助用户灵活地聚合、细化和查看数据。例如,上卷可用于从城市级汇总到国家销售总额,而下钻可深入…
uniapp定义一个简单的全局弹窗组件
兼容H5、微信小程序、安卓APP(1)封装成组件dialog.jsexport default {/* 链接处理 */getLink(params){let url "/components/dialog/dialog";if(params){let paramStr "";for(let name in params){paramStr&${name}${params[n…
Git Restore 命令教程
Git Restore 命令教程 简介 git restore 是 Git 2.23 版本引入的一个相对新的命令,用于恢复工作目录或暂存区中的文件。它提供了一个直观的方式来撤销更改,取代了之前使用 git checkout 的一些用法。 这个命令的推出使得 Git 的命令更加清晰和易用&am…
JavaScript WebAPI 核心操作指南
JavaScript(WebAPI) WebAPI 背景知识 什么是 WebAPI 前面学习的 JS 分成三个大的部分: ECMAScript:基础语法部分DOM API:操作页面结构BOM API:操作浏览器 WebAPI 就包含了 DOM BOM。 这个是 W3C 组织规定的(和制…
FastGPT完全部署指南:从零搭建大语言模型知识平台
本文详细介绍FastGPT项目的部署与使用。作为基于大语言模型的知识型平台,它支持数据处理、RAG检索等功能。文章从安装Git到配置Docker环境,解决了config.json路径问题,演示了LLM和embedding模型配置,展示了其在PDF处理、图片标注和…
AI大模型学习宝典:从技术入门到商业应用,全方位掌握_大模型产品经理课程(非常详细)大模型入门到精通
AI大模型行业处于萌芽期但增速迅猛,AIGC人才需求激增,尤其是AI产品经理。文章介绍AI产品经理的定义、职责、职业优势及四阶段学习路径:初阶应用、高阶应用、模型训练和商业闭环。作者提供完整学习资源,包括思维导图、书籍、视频教…