/*利用数码管在最高为显示数字0,利用按键执行中断控制数字加减*/
/*和上次写的中断控制左右移动几乎相同,只是把控制位选改为段选*/
/*以下为我利用手头上的开发板(QX-MCS51)写下的小程序*/
#include <reg52.h>
#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;
} 共2条
1/1 1 跳转至页
关于蓝桥杯训练小程序 中断控制数码管显示数字加减
关键词: 蓝桥训练 程序 外部中断 数码管数加减
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
| 在K230DBOX上实现音乐播放器功能被打赏¥15元 | |
| NXP MCU系列开发板MCULink固件升级方法【VSCode】被打赏¥28元 | |
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |

我要赚赏金
