/*利用数码管在最高为显示数字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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取磁力计iis2mdc被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取LPS22HH气压、温度被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取STTS751温度被打赏¥17元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |

我要赚赏金
