蓝桥杯
一 中断
中断,即cpu暂停执行当前程序,转而执行另外一段特殊程序,处理结束后。返回之前暂停程序继续执行。
中断向量,中断服务程序的入口地址,每个中断源都对应一个固定的入口地址。
中断服务函数,内核响应中断后,执行的相应处理。
二轮询和中断
内核与外设之间的交互方式,有轮询和中断2种,相较于轮询工作效率低的问题,中断在处理突发
事件中更有优势。
三 关于51单片机的中断系统
一般来说,51单片机有5个中断源,分2个优先级,这5个中断源安照自然优先级从高到低依次为
外部中断0 | INTO |
定时/计数器0 | TFO |
外部中断1 | INT1 |
定时/计数器1 | TF1 |
串口中断 | R1/T1 |
四 中断相关的寄存器
中断相关的寄存器有4个,每个寄存器都是可以位存址的,这为编程带来了方便。2个控制寄存器(IE,IP),另外2个中断请求标志(TCON,SCON)
五 中断服务函数的编写格式
void 函数名()interrupt 中断号
{
};
六 工程 代码
将J5处跳帽接到2~3引脚,即S5按键接到P32/INT0,S4按键接到P33/INT1,L1指示灯不断闪烁,按键S5按下就会产生外部中断触发信号,L8指示灯点亮。
#include"reg52.h" sbit L1 = P0^0; sbit L8 = P0^7; void Delay(unsignde int t) { while(t--); while(t--); while(t--); }//实现延时功能的函数 void InitHC138(unsigned char n) { switch (n) { case 4: HC138_C = 1; HC138_B = 0; HC138_A = 0;//输出Y4 break; case 5: HC138_C = 1; HC138_B = 0; HC138_A = 1;//输出Y5 break; case 4: HC138_C = 1; HC138_B = 1; HC138_A = 0;//输出Y6 break; case 5: HC138_C = 1; HC138_B = 1; HC138_A = 1;//输出Y7 break; } }//锁存器选择 void working() { InitHC138(4) L1 = 0; Delay(600000); L2 = 1; Delay(600000); }//主程序 //=========================================== void Init_INT0() { IT0 = 1; EX0 = 1; EA =1; } void ServiceINT0() interrupt 0 { L8 = 0; Delay(600000); Delay(600000); Delay(600000); Delay(600000); Delay(600000); Delay(600000); L8 = 1; } //=========================================== void main() { Init_INT0() while(1) { working(); } }
相关阅读:
1、1984asp.net宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
2、由于一个完整的App涉及多个部分(如前端、后端、数据库等),并且不同的平台(如iOS、Android、Web)使用不同的技术和工具,这里我将为你提供一个简化的示例,展示如何在几种不同的编程语言中创建A
3、生成一个完整的游戏商城代码是一个相对复杂的任务,因为它涉及到前端、后端、数据库等多个方面的开发。不过,我可以为您提供一个简单的概念性示例,用几种不同的编程语言来描述这个商城的基本结构和功能。
4、生成一个完整的App代码对于不同的平台(如iOS、Android、Web等)和不同的编程语言(如Swift、Java、Kotlin、React Native、Flutter等)会大不相同。由于篇幅限制
还没有评论,来说两句吧...