📄 main.c
字号:
/*
* Copyright (C) 2006, 华中科技大学电气与电子科技创新中心
* All Rights Reserved.
*
* 文件名: main.c
* 文件描述: 8段数码管测试程序主文件
*
* 当前版本: 1.0
* 作者: SangWei(swkyer@gmail.com)
* 完成日期: 2005年12月12日
*
*/
#include <reg51.h>
#include <INTRINS.H>
#include "..\seg7\seg7.h"
/* 定时时间高低字节数据 */
#define TIMERH 0xEF
#define TIMERL 0xFF
unsigned char cs;
unsigned char dispram[4];
//void delay(unsigned char dly);
void InitTimer(void);
void main(void)
{
P0 = 0xFF;
P2 = 0xFF;
InitTimer();
/* 启动定时器1 */
TR1 = 1;
dispram[0] = 0;
dispram[1] = 1;
dispram[2] = 2;
dispram[3] = 3;
while(1);
}
/**************************************
说明: 简单延时程序
dly: 延时时间参数
**************************************/
/*void delay(unsigned char dly)
{
unsigned char i, j;
for(i=100; i>0; i--)
for(j=dly; j>0; j--);
}
*/
/**************************************
说明: 定时器初始化
定时时间10mS
**************************************/
void InitTimer(void)
{
/* 变量初始化 */
cs = 0;
dispram[0] = dispram[1] = dispram[2] = dispram[3] = 0;
/* 初始化定时器,定时时间10mS,允许定时器中断 */
TMOD = 0x90;
TH1 = TIMERH;
TL1 = TIMERL;
/* 开定时器中断 */
EA = 1;
ET1 = 1;
}
/**************************************
说明: 定时器中断处理函数
**************************************/
void Timer1ISR(void) interrupt 3 using 2
{
/* 定时器重装 */
TH1 = TIMERH;
TL1 = TIMERL;
/* 清中断标志 */
TF1 = 0;
/* 循环显示 */
if(cs >= 3)
cs = 0;
else
cs++;
WriteSegData(dispram[cs]);
WriteCsData(1<<cs);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -