C语言与中断技术

发布时间:2024-12-21 04:18

学习C#语言,提升微软技术方向的认证价值。 #生活技巧# #工作学习技巧# #技能证书培训#

四、中断与数码管动态显示

最新推荐文章于 2024-09-30 13:30:46 发布

摇滚马侬 于 2020-02-06 16:37:01 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1、数组

在这里插入图片描述
数组初始化的时候,可以不指定数组长度,但是指定数组长度后,必须保证数组的初始化长度小于等于指定长度,未初始化的元素默认值为0。

2、if语句

在这里插入图片描述

3、switch语句

在这里插入图片描述
如果不加break,则会继续执行剩下的语句。

二、中断

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
中断解决了多线程工作的问题,通过设置或默认中断优先级可以控制多个任务同时进行,在使用中断的过程中,一定先使能中断。

三、实例

//使用中断控制数码管 #include<reg52.h> sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; unsigned char code LedChar[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E}; unsigned char LedBuff[6]={0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; unsigned char i = 0;//位选 unsigned int cnt = 0;//计算机器周期,定时 unsigned char flages = 0;//位选标志位 void shuma() {unsigned long sec = 0;ENLED = 0;ADDR3 = 1;TMOD = 0x01;TH0 = 0xFC;TL0 = 0x67;TR0 = 1;//时钟使能EA = 1;//总中断使能ET0 = 1;//中断时钟使能while(1){if(flages == 1){flages = 0;sec++;//秒加一LedBuff[0] = LedChar[sec%10];LedBuff[1] = LedChar[sec/10%10];LedBuff[2] = LedChar[sec/100%10];LedBuff[3] = LedChar[sec/1000%10];LedBuff[4] = LedChar[sec/10000%10];LedBuff[5] = LedChar[sec/100000%10];}} } void main() {shuma(); } void InterruptTime0() interrupt 1//中断定义格式,定义中断1 {TH0 = 0xFC;TL0 = 0x67;cnt++;if(cnt >= 1000){cnt = 0;flages = 1;}P0 = 0xFF;//去鬼影switch(i){ case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=LedBuff[0];break; case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=LedBuff[1];break; case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=LedBuff[2];break; case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=LedBuff[3];break; case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=LedBuff[4];break; case 5: ADDR2=1; ADDR1=0; ADDR0=1; i=0; P0=LedBuff[5];break; default:break;} }

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

总结:中断是独立与main函数运行的,当检测到标志位变化时,中断就会响应,检测中断标志位的代码有时候不写,但是系统会自行检测中断,当中断标志位变化时,中断就进行响应,main函数是不调用中断的。

网址:C语言与中断技术 https://www.yuejiaxmz.com/news/view/529949

相关内容

C语言在生活中的应用 …
C语言与编程,一道未解之谜?
C 语言程序设计心得:编程之路的探索与收获
C语言小项目实践——日历程序
人工智能自然语言技术练习(习题卷31).docx
语音识别技术与自然语言处理(NLP)的关键推手
C语言学习
c语言时间超限求优化
c语言printf输出格式
语音识别与语音助手:技术与实现

随便看看