/*利用数码管在最高为显示数字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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
| 基于WT9932C61-TINY的环境构建及OLED屏驱动测试被打赏¥20元 | |
| 【S32K3XX】Core-to-Core 中断使用被打赏¥21元 | |
| 「AI编程记录--含源码」用一晚上的时间写一个esp32的示波器被打赏¥19元 | |
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |
| 谨防极海G32M3101电机评估板易跌落的陷阱被打赏¥24元 | |
| 【全网首拆】M5STACK ATOM系列开发板拆解 / AtomS3R-CAM摄像头更换方法(提高10倍像素)被打赏¥26元 | |

我要赚赏金
