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

单片机中断系统工作原理及定时器中断应用

文件目录

main.c

#include <REGX52.H>
#include "TIMER0.H"
#include "KEY.H"
#include "DELAY.H"//void Timer0_Init() {
//	TMOD = 0x01;
//	TL0 = 64536 % 256;
//	TH0 = 64536	/ 256;
//	ET0 = 1;
//	EA = 1;
//	TR0 = 1;
//}unsigned char keyNum = 0;                           //链接文件会拼到一起,不要起一样的名字void main() {
//	Timer0_Init();while(1) {keyNum = Key();if(keyNum) {                                 //if来缓解闪动if(keyNum == 1) P2_1 = ~P2_1;if(keyNum == 2) P2_2 = ~P2_2;if(keyNum == 3) P2_3 = ~P2_3;if(keyNum == 4) P2_4 = ~P2_4;}}
}//static unsigned int T0Count = 0;
//void Timer0_Routine() interrupt 1{
//	TL0 = 64536 % 256;
//	TH0 = 64536 / 256;
//	T0Count ++;
//	if(T0Count >= 1000) {
//		T0Count = 0;
//		P2_0 = ~P2_0;
//	}
//}

Key.c

unsigned char Key() {unsigned char keyNumber = 0;         //不要放在外面,每次没按动的时候默认if全部经过就是 keyNumber                        if(P3_1 == 0){Delay(20);while(P3_1 == 0);Delay(20);keyNumber = 1;}if(P3_0 == 0){Delay(20);while(P3_0 == 0);Delay(20);keyNumber = 2;}if(P3_2 == 0){Delay(20);while(P3_2 == 0);Delay(20);keyNumber = 3;}if(P3_3 == 0){Delay(20);while(P3_3 == 0);Delay(20);keyNumber = 4;}return keyNumber;}

Key.h

#ifndef __KEY_H__
#define	__KEY_H__unsigned char Key();             //要有返回类型,要有“;”结尾
#endif


下面是对的

Timer0.c

#include <REGX52.H>void Timer0_Init() {TMOD = 0x01;TL0 = 64536 % 256;TH0 = 64536	/ 256;ET0 = 1;EA = 1;TR0 = 1;
}

Timer0.h

#ifndef __TIMER0_H__
#define	__TIMER0_H__void Timer0_Init(void);#endif

Delay.c


void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}

Delay.h

#ifndef __DELAY_H__
#define __DELAY_H__void Delay(unsigned int xms);#endif

相关文章:

  • 【Excel 支持正则的方法】解决VBA引入正则的方法和步骤
  • Lesson 22 A glass envelope
  • 展示了一个三轴(X, Y, Z)坐标系!
  • 基于大模型的短暂性脑缺血发作预测与干预全流程系统技术方案大纲
  • 【C++】封装红黑树实现 mymap 和 myset
  • 记录将网站从http升级https
  • Linux(7)——进程(概念篇)
  • 万亿参数背后的算力密码:大模型训练的分布式架构与自动化运维全解析
  • 【RichTextEditor】 【分析2】RichTextEditor设置文字内容背景色
  • 毕业论文格式(Word)
  • python 自动生成不同行高的word
  • 攻防世界——Web题 unseping 反序列化绕过
  • 计算机视觉与深度学习 | 基于 YOLOv8 + BeautyGAN + CodeFormer + Face Parsing 实现简单的人脸美颜
  • Spring Security探索与应用
  • 如何进行CAN一致性测试
  • 从稳定到卓越:服务器部署后的四大核心运维策略
  • 传奇各种怪物一览/图像/爆率/产出/刷新地/刷新时间/刷怪时间
  • LeetCode 2942.查找包含给定字符的单词:使用库函数完成
  • vs2022 Qt Visual Studio Tools插件设置
  • 人工智能100问☞第31问:如何评估一个AI模型的性能?
  • 网站备案变更 能让首页关闭 二级域名继续/2024年重大政治时事汇总
  • 巢湖网站设计/石家庄百度搜索引擎优化
  • 打开上海发布/在线网站seo诊断
  • 做网站添加支付功能要多少钱/百度的链接
  • 免费做期中考试的网站/百度品牌广告多少钱一个月
  • 中山建设企业网站/seo技术建站