当前位置: 首页 > 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

http://www.dtcms.com/a/210515.html

相关文章:

  • 【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模型的性能?
  • IPC进程间通信详解
  • 索引下探(Index Condition Pushdown,简称ICP)
  • MCP与AI模型的多语言支持:让人工智能更懂世界
  • 数据库6——综合实验-水果商店进阶一
  • Axure酒店管理系统原型
  • Python入门手册:Python中的数据结构类型
  • Gartner《Optimize GenAI Strategy for 4 Key ConsumerMindsets》学习心得
  • 力扣:《螺旋矩阵》系列题目
  • 豪越科技:消防应急装备智能仓储管理新变革
  • 深入理解设计模式:工厂模式、单例模式