📄 main.c
字号:
/*红外遥控器解码仿真*/
/*作者:田开坤*/
/*时间:2009年2月*/
#include <reg52.h>
#include "irm_int.h"
extern void led_disp(unsigned int number);
/*数码管地址定义*/
#define SEG_Q XBYTE[0xffec]//千位,LEFT
#define SEG_B XBYTE[0xffed]//百位
#define SEG_S XBYTE[0xffee]//十位
#define SEG_G XBYTE[0xffef]//个位,RIGHT
void main()
{
irm_int2_init();
led_disp(2009);
while(1)
if(irm_code!=0xff) {
led_disp(irm_code);
irm_code=0xff;
}
}
//通用数码管显示函数,传入数据0~9999
void led_disp(unsigned int number)
{
unsigned char code tab1[20]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
unsigned char temp,flag=0;
if(number < 10000)
{
//千位数码管
temp = number/1000%10;
if (temp) {
SEG_Q = tab1[temp];
flag = 1;
}
else {
SEG_Q = 0xff;//数码管熄灭
flag = 0;
}
//百位数码管
temp = number/100%10;
if(flag | temp) {
SEG_B = tab1[temp];
flag = 1;
}
else {
SEG_B = 0xff;//数码管熄灭
flag = 0;
}
//十位数码管
temp = number/10%10;
if(flag | temp) SEG_S = tab1[temp];
else SEG_S = 0xff;//数码管熄灭
//个位数码管
temp = number%10;
SEG_G = tab1[temp];
}
else {
SEG_Q = 0xbf;//"-"
SEG_B = 0xbf;
SEG_S = 0xbf;
SEG_G = 0xbf;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -