简单的51单片机时钟程序Word格式.docx

上传人:b****5 文档编号:19896421 上传时间:2023-01-11 格式:DOCX 页数:9 大小:15.88KB
下载 相关 举报
简单的51单片机时钟程序Word格式.docx_第1页
第1页 / 共9页
简单的51单片机时钟程序Word格式.docx_第2页
第2页 / 共9页
简单的51单片机时钟程序Word格式.docx_第3页
第3页 / 共9页
简单的51单片机时钟程序Word格式.docx_第4页
第4页 / 共9页
简单的51单片机时钟程序Word格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

简单的51单片机时钟程序Word格式.docx

《简单的51单片机时钟程序Word格式.docx》由会员分享,可在线阅读,更多相关《简单的51单片机时钟程序Word格式.docx(9页珍藏版)》请在冰豆网上搜索。

简单的51单片机时钟程序Word格式.docx

sbits1=P3^0;

sbits2=P3^1;

sbits3=P3^2;

//按键所用的端口

sbits4=P3^3;

voiddelay(uintz)

{

uintx,y;

for(x=z;

x>

0;

x--)

for(y=110;

y>

y--);

//大约是1ms,因为单片机的时钟周期为11.0592mhz。

}

voidwrite_com(ucharcom)

rs=0;

//指令

P0=com;

//写指令函数

delay

(1);

en=1;

en=0;

voidwrite_data(uchardat)

rs=1;

//数据

P0=dat;

//写指令函数

voidinit()

//初始时使能为0

rw=0;

write_com(0x38);

//显示屏模式设置为1602方案

write_com(0x0c);

write_com(0x06);

//显示开关/光标设置

write_com(0x01);

//清屏

write_com(0x80);

//指针置零

for(num=0;

num<

16;

num++)

write_data(table[num]);

write_com(0xc3);

8;

write_data(table1[num]);

voiddingshi()

TMOD=0x01;

//确定定时器工作模式(定时模式)

TH0=(65536-tt)/256;

//赋初值为tt微秒

TL0=(65536-tt)%256;

//不赋值时默认其值是0

EA=1;

//开总中断

ET0=1;

//开定时器0中断

//IE=0x82;

//总线写法

TR0=1;

//启动定时器0总线TCON=0x10;

voidshuanxin(ucharadd,uchardate)

ucharshi,ge;

write_com(0xc3+add);

//指针指向

shi=date/10;

ge=date%10;

write_data(0x30+shi);

write_data(0x30+ge);

//指针自动后移,故不必再写指针位置

/***************借助蜂鸣器接地起作用***************/

voidkeyscan()

if(s1==0)

{

delay(5);

if(s1==0)

{

s1num++;

while(!

s1);

if(s1num==1)

{

TR0=0;

//时钟停止运行

write_com(0xca);

//指针指向ss

write_com(0x0f);

//光标闪烁

}

if(s1num==2)

write_com(0xc7);

//指针指向mm

if(s1num==3)

write_com(0xc4);

//指针指向hh

if(s1num==4)

s1num=0;

TR0=1;

//时钟运行

write_com(0x0c);

//取消闪烁

}

}

/***************调节时间****************/

if(s1num!

=0)//目的是使s1按下的前提才起作用

if(s2==0)

delay(5);

if(s2==0)

while(!

s2);

//松手检测,松手后方可向下执行

if(s1num==1)

{

ss++;

if(ss==60)

ss=0;

shuanxin(6,ss);

write_com(0xca);

}

if(s1num==2)

mm++;

if(mm==60)

mm=0;

shuanxin(3,mm);

write_com(0xc7);

if(s1num==3)

hh++;

if(hh==24)

hh=0;

shuanxin(0,hh);

write_com(0xc4);

=0)//s1按下的前提才起作用

if(s3==0)

if(s3==0)

s3);

ss--;

if(ss==-1)

ss=59;

mm--;

if(mm==-1)

mm=59;

hh--;

if(hh==-1)

hh=23;

if(s4==0)

if(s4==0)

s4);

ss=0;

mm=0;

hh=0;

voidmain()

init();

dingshi();

while

(1)

{

keyscan();

if(t==20)

P1=P1-1;

t=0;

ss++;

if(ss==60)

ss=0;

mm++;

if(mm==60)

{

}

}

shuanxin(3,mm);

shuanxin(6,ss);

voidtime0()interrupt1

t++;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1