#include <reg51.h>
#include <absacc.h>
#define a8255 XBYTE[0x1b00]
#define b8255 XBYTE[0x1b01]
#define c8255 XBYTE[0x1b02]
#define com8255 XBYTE[0x1b03]
char min,sec,dsec,a,b,c;
char n[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
char count;
bit flag;
bit flag1;
sbit p10=P1^0;
sbit p11=P1^1;
void delay(void)
{
char k;
for (k=0;k<99;k++);
}
void display(int m,int s,int ds) //显示程序
{
char m1,m2,s1,s2,i;
m1=m2=s1=s2=0;
if(m>0){m2=m%10;m/=10;}
if(m>0) m1=m%10;
if(s>0){s2=s%10;s/=10;}
if(s>0) s1=s%10;
b8255=0xff;
for(i=0;i<7;i++)
{
switch(i)
{
case 0:b8255=0xfe;a8255=n[m1];delay();
case 1:b8255=0xfd;a8255=n[m2];delay();
case 2:b8255=0xfb;a8255=n[10];delay();
case 3:b8255=0xf7;a8255=n[s1];delay();
case 4:b8255=0xef;a8255=n[s2];delay();
case 5:b8255=0xdf;a8255=n[10];delay();
case 6:b8255=0xbf;a8255=n[ds];delay();
}
}
}
void initial(void)
{
com8255=0x80;
TMOD=0x01;
IT0=1;
EA=1;
ET0=1;
EX0=1;
min=0;
sec=0;
dsec=0;
a=0;
b=0;
c=0;
flag=0;
flag1=0;
}
void main(void)
{
initial();
while(1)
{
if(!flag1)
display(min,sec,dsec);
else
display(a,b,c);
}
}
void st(void) //秒表启动停止控制
{
flag=!flag;
if (flag)
{
TH0=-50000/256;
TL0=-50000%256;
TR0=1;
}
if(!flag)
{
if(flag1==1)
{
min=0;
sec=0;
dsec=0;
count=0;
flag1=0;
TR0=0;
}
else TR0=0;
flag=0;
}
}
void lock(void) //数码管数字锁定
{
if(flag==1)
{
a=min;
b=sec;
c=dsec;
flag1=!flag1;
}
}
void T0_serv(void) interrupt 1 using 1 //定时器T0每0。1秒产生一次中断
{
TH0=-50000/256;
TL0=-50000%256;
TR0=1;
count++;
dsec=count;
if(count>9)
{
sec++;
count=0;
dsec=0;
}
if(sec>59)
{
min++;
sec=0;
}
}
void INT0_serv(void) interrupt 0 using 1 //按键中断处理
{
if(p10==0&&p11==1)
st();
if(p10==1&&p11==0)
lock();
}
秒表(经典设计)
需积分: 9 114 浏览量
2012-03-11
17:33:05
上传
评论
收藏 49KB RAR 举报
a152783
- 粉丝: 1
- 资源: 19
最新资源
- 开机动画 bootanimation 压缩包
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的LED数码管控制系统设计
- 发电系统Simulink仿真模型广西玉林市碧桂园住宅小区二期4-9#低压电房二次图纸
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的LCD1602的流动显示VHDL
- 发电系统Simulink仿真模型广西玉林市碧桂园高层高压二次图纸
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的I2C控制器设计
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的fir滤波器设计
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的DDS任意波形输出
- FPGA项目verilog实例资料带项目源码设计文档基于FPGA的64位8级流水线加法器
- 国科大-叶笑春、王展-并行处理-期末复习资料
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈