#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code acLEDCS[]={0xfe,0xfd,0xfb,0xf7}; /* 位选地址码,“0”有效,位选接的是P2口高4位 */
uchar code acLedSegCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};/* 段码 */
uchar acLED[4]; /* 显示缓冲区 */
char cScanIndex; /* 位选指针0~3 */
uchar cTimer;
bit bOK;
/* 联合变量(大名2字节,小名2*1字节保存在同一物理空间),可用于定时器初值计算,控制中断周期 */
union UniT
{
uint T;
uchar t[2];
}uFreq;
void SendAByte(uchar LData)
{
SBUF = LData;
while(TI==0);
TI = 0;
}
/************************* 数码管显示函数 ***************************/
void display()
{ // 添加要显示的数据
acLED[0] = acLedSegCode[uFreq.T / 1000]; /* LED显示第1位 */
acLED[1] = acLedSegCode[uFreq.T / 100 % 10];/* LED显示第2位 */
acLED[2] = acLedSegCode[uFreq.T/10%10]; /* LED显示第3位 */
acLED[3] = acLedSegCode[uFreq.T%10]; /* LED显示第4位 */
}
void CommInit()
{
TMOD = 0X21;
SCON = 0X50;
TL1 = TH1 = -6;
}
void TimerInit()
{
TMOD = 0X51;
TL1 = TH1 = 0;
TH0 = -30;
cTimer = 0;
}
/************************** 主函数 *****************************/
void main(void)
{
TimerInit();
TR0 = 1;
ET0 = 1;
EA = 1;
TR1 = 1;
while(1)
{
if(bOK == 1)
{
bOK = 0;
CommInit();
SendAByte(uFreq.t[0]);
SendAByte(uFreq.t[1]);
TimerInit();
display();
}
}
}
/****************** 多任务时序控制时钟中断 *********************/
void IntT0() interrupt 1
{
TH0 = -30; /* 重装初值,保证每2.5ms中断一次*/
// 清段选再送位选(消影)
//*************************显示刷新******************
P0 = 0;
P2 = acLEDCS[cScanIndex]; /* 送位选数据 */
P0 = acLED[cScanIndex++]; /* 送显示数据,位选指针移位 */
cScanIndex &= 3; /* 位选指针回位 */
if(++cTimer == 240)
{
uFreq.t[1] = TL1;
uFreq.t[0] = TH1;
bOK = 1;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
zy5.rar (26个子文件)
zy5
recive
Objects
project.lnp 95B
project.hex 1KB
main.obj 6KB
project.build_log.htm 1008B
project 5KB
project.uvgui.peace 69KB
Listings
main.lst 4KB
project.m51 5KB
project.uvopt 5KB
project.uvproj 12KB
main.c 2KB
fz5
5.pdsprj 17KB
Last Loaded 5.fv8.14.pdsbak 17KB
Last Loaded 5.pdsbak 17KB
5.pdsprj.LAPTOP-LLLG6L9K.peace.workspace 4KB
send
Objects
project.lnp 95B
project.hex 1KB
main.obj 7KB
project.build_log.htm 1006B
project 6KB
project.uvgui.peace 69KB
Listings
main.lst 4KB
project.m51 7KB
project.uvopt 5KB
project.uvproj 12KB
main.c 2KB
共 26 条
- 1
资源评论
ldtouzi
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功