/*利用数码管在最高为显示数字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;
} 共1条
1/1 1 跳转至页
关于蓝桥杯训练小程序 中断控制数码管显示数字加减
关键词: 蓝桥训练 程序 外部中断 数码管数加减
共1条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金
