这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 高校专区» 坤创E-Geek/天科大新电社» 关于蓝桥杯训练小程序 中断控制数码管显示数字加减

共2条 1/1 1 跳转至

关于蓝桥杯训练小程序 中断控制数码管显示数字加减

工程师
2019-01-25 14:02:32 打赏
/*利用数码管在最高为显示数字0,利用按键执行中断控制数字加减*/ /*和上次写的中断控制左右移动几乎相同,只是把控制位选改为段选*/ /*以下为我利用手头上的开发板(QX-MCS51)写下的小程序*/ #include  #define u8 unsigned char #define u16 unsigned int sbit DU = P2^6; sbit WE = P2^7; sbit S2 = P3^0; sbit S3 = P3^1; sbit jia = P3^6; sbit jian = P3^7; u8 SMGdu[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; u8 j; void Delay_ms(u16 n) { u8 j; while(n--) for(j=0;j<113;j++); } void SMGHS() { P0 = 0xff; WE = 1; P0 = 0x7f; WE = 0; DU = 1; P0 = SMGdu[j]; DU = 0; Delay_ms(10); } void Init() { EA = 1; EX0 = 1; EX1 = 1; IT0 = 1; IT1 = 1; } void main() { while(1) { Init(); SMGHS(); if(S2 == 0) { Delay_ms(10); if(S2 == 0) { jia = 1; jia = 0; while(S2 == 0); } } if(S3 == 0) { Delay_ms(10); if(S3 == 0) { jian = 1; jian = 0; while(S3 == 0); } } } } void int0() interrupt 0 { j++; if(j == 10) j = 0; } void int1() interrupt 2 { j--; if(j == -1) j = 9; }



关键词: 蓝桥训练 程序 外部中断 数码管数加减

高工
2019-01-25 17:56:11 打赏
2楼

建议使用代码格式来贴代码哦~如图:

QQ截图20190124001933.png


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]