📄 zhongduan.c
字号:
#include <reg52.h>
//宏定义
#define uint unsigned int
#define uchar unsigned char
//特殊位定义
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;//位选
//编码 共阳数码管
uchar code table[]=
{
0xC0,0xF9,0xA4,0xB0,
0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,
0xC6,0xA1,0x86,0x8E,0x00
};
/*uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};*/
//
uchar num1,tt;
void delay(uint m)//延时
{
uint x,y;
for(x=0;x<m;x++)
for(y=0;y<100;y++);
}
void main()
{
tt=0;
TMOD=0x01;//设置定时器0为方式1,16位定时器
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
EA=1;//开总中断
ET0=1;//开定时器0
ET1=1;
TR0=1;//启动定时器0
TR1=1;
while (1)
{
if(tt>100)
{
P24=0;
P25=1;
P26=0;
P27=1;
P0=table[2];
P1=0xaa;//奇数位亮
}
if (num1==100)
{
num1=0;
P1=0x55;//偶数位亮
P24=1;
P25=0;
P26=1;
P27=0;
P0=table[3];
}
}
}
//定时器0中断方式
void time0() interrupt 1
{
// uchar i;
TH0=(65536-10000)/256;//定时10ms
TL0=(65536-10000)%256;
tt++;
}
//定时器1
void time1() interrupt 3
{
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
num1++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -