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

单元训练01:LED指示灯的基本控制

蓝桥杯 小蜜蜂 单元训练01:LED指示灯的基本控制

#include "stc15f2k60s2.h"
#include <intrins.h>#define LED(x)                 \{                          \P2 = P2 & 0x1f | 0x80; \P0 = x;                \P2 &= 0x1f;            \}typedef unsigned char u8; // 定义类型u8 LedInfo;			 // LED灯数值,高低电平
u8 LedCounter = 0;	 // 闪烁计数
u8 TimerCounter = 0; // 定时器计数
u8 LedNum = 0;		 // 移位计数void Timer0_Init(void) // 5毫秒@12.000MHz
{AUXR |= 0x80; // 定时器时钟1T模式TMOD &= 0xF0; // 设置定时器模式TL0 = 0xA0;	  // 设置定时初始值TH0 = 0x15;	  // 设置定时初始值TF0 = 0;	  // 清除TF0标志TR0 = 1;	  // 定时器0开始计时ET0 = 1;	  // 使能定时器0中断EA = 1;
}void main()
{Timer0_Init();LedInfo = 0xff;while (1){LED(LedInfo);}
}void Timer0_Isr(void) interrupt 1
{if (++TimerCounter == 100){TimerCounter = 0;if (LedCounter++ <= 5){LedInfo = ~LedInfo; // 闪烁3次}else if (LedCounter <= 13){LedInfo = LedInfo << 1; // 依次点亮}else{LedInfo = ~(0xff << ++LedNum); // 依次熄灭if (LedNum == 8){LedNum = 0;LedCounter = 0;}}}
}

http://www.lryc.cn/news/425337.html

相关文章:

  • Sanic 和 Go Echo 对比
  • 内部排序(插入、交换、选择)
  • Vue3的多种组件通信方式
  • 【C++语言】list的构造函数与迭代器
  • Python 安装 PyTorch详细教程
  • html页面缩放自适应
  • 024.自定义chormium-修改屏幕尺寸
  • 测试环境搭建整套大数据系统(十九:kafka3.6.0单节点做 sasl+acl)
  • 小白零基础学数学建模应用系列(五):任务分配问题优化与求解
  • 怎么防止源代码泄露?十种方法杜绝源代码泄密风险
  • uniapp left right 的左右模态框
  • Docker Compose与私有仓库部署
  • Layout 布局组件快速搭建
  • 北京城市图书馆-非遗文献馆:OLED透明拼接屏的璀璨应用
  • OpenCV图像滤波(12)图像金字塔处理函数pyrDown()的使用
  • css如何使一个盒子水平垂直居中
  • 机器人等方向学习和研究的目标
  • 封装一个细粒度的限流器
  • 【Spring Boot - 注解】@ResponseBody 注解:处理 JSON 响应
  • 无人机航拍与ArcGIS融合实战:从地表观测到空间数据可视化的全方位指南!无人机图像拼接数据处理与分析、可视化与制图
  • 日期转时间濯
  • 【计算机网络】TCP实战
  • 使用Python制作贪吃蛇小游戏
  • 线程的退出
  • 【AI 绘画】Q版人物定制生成
  • Python爬虫——爬取某网站的视频
  • Android逆向题解攻防世界-easy-apk
  • Linux系统使用Typecho搭建个人网站并一键发布公网远程管理本地站点
  • 机器学习速成第三集——无监督学习之聚类(理论部分)!
  • 【机器学习】CNN的基本架构模块