下载此文档

单片机 定时器实现24小时时钟程序.doc


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
#include <>
#include <>
#define uint unsigned int
#define uchar unsigned char
sbit LS138A = P2^2; //
sbit LS138B = P2^3; //
sbit LS138C = P2^4; //定义138译码器的输入脚C由
sbit k1=P2^0;
sbit k2=P2^1 ;
sbit k3=P2^5;
bit flag;
uchar sec=0,min=0,hour=12;
uchar count_10ms, T;
int m=1;
//此表为 LED 的字模, 共阴数码管 0-9 -
unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
void delay(uint z)
{
int x,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--) ;
}
void timer()
{
TMOD=0x01;
TH0=0xdc;TL0=0x00;
EA=1;ET0=1;TR0=1;
}
void key()
{ int t;
if(k1==0)
{
delay(30);
if(k1==0)
{ while(!k1);
t++;
m=t%2;
}
}
}
/************主函数**********************/
main()
{ unsigned int i ;
unsigned int LedOut[10];
timer();
while(1) //进入循环状态
{
if(m==0)
{
if(k2==0)
{
delay(30);
if(k2==0)
while(!k2);
hour++;
}
if(hour>=24)
hour=0;
if(k3==0)
{
delay(30);
if(k3==0)

while(!k3);
min++;
}
if(min>=60)
min=0;
}
LedOut[0]=Disp_Tab[hour/10];
LedOut[1]=Disp_Tab[hour%10];
LedOut[2]=Disp_Tab[10];
LedOut[3]=Disp_Tab[min/10];
LedOut[4]=Disp_Tab[min%10];
LedOut[5]=Disp_Tab[10];
LedOut[6]=Disp_Tab[sec/10];
LedOut[7]=Disp_Tab[sec%10];

for( i=0; i<9; i++) //实现8位动态扫描循环
{
P0 = LedOut[i]; //将字模送到P0口显示

switch(i) //使用switch 语

单片机 定时器实现24小时时钟程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花开一叶
  • 文件大小19 KB
  • 时间2018-09-14