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

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

文件目录

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.xdnf.cn/news/8715.html

相关文章:

  • python下通过wmic设置程序的优先级~~~
  • Java程序员高效视频学习指南
  • 战略-2.1 -战略分析(PEST/五力模型/成功关键因素)
  • C++ 类型转换
  • uni-app学习笔记十--vu3 computed的运用(一)
  • VMware Flings又又又搬家了
  • 嵌入式软件-如何做好一份技术文档?
  • esp32 lvgl9.2版本,透明底色图片的,透明部分被渲染成黑色,不随背景颜色变化解决办法
  • 从零开始:Python语言进阶之多态
  • Filament引擎(二) ——引擎的调用及接口层核心对象
  • 在Linux上安装Miniconda
  • leetcode438.找到字符串中所有字母异位词
  • Python之两个爬虫案例实战(澎湃新闻+网易每日简报):附源码+解释
  • 力扣 54 .螺旋矩阵
  • 148. 排序链表
  • 40-智慧医疗服务平台(在线接/问诊/机器学习)
  • 电工杯数学建模竞赛a题完整参考文章
  • C++魔法药水的配方 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析
  • 深度学习模型在PDE求解中的实战:详细综述
  • 电磁场与电场、磁场的关系
  • React从基础入门到高级实战:React 基础入门 - React Hooks 入门
  • 状态码··
  • 【go】程序启动时发生了什么?为什么选择go语言开发,优势劣势
  • 5.1/Q1,GBD数据库最新文章解读
  • 创新项目实训开发日志7
  • 【动态规划】简单多状态(一)
  • 77. Combinations
  • Qt实战:自定义QTreeWidget搜索隐藏显示项功能 | 附完整源码
  • 基于音频Transformer与动作单元的多模态情绪识别算法设计与实现(在RAVDESS数据集上的应用)
  • 算法、算力、数据哪个更重要