您所在位置: 网站首页 / 单片机数字钟.ppt / 文档详情
单片机数字钟.ppt 立即下载
2024-11-26
约5.9千字
约33页
0
505KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机数字钟.ppt

单片机数字钟.ppt

预览

免费试读已结束,剩余 28 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章数字钟系统设计一设计目的和要求2要求:
芯片:AT89C51;
功能:设计完成具有计时、调时、调闹多种功能的产品化的电子钟:上电即开始计时,用S0实现设置/工作状态的转换;S1实现闹钟设置/工作状态的转换,S2实现时、分、秒的+1调整。用LED0—LED5实现时、分、秒的显示,修改“时”时,加到23后“清0”,再加1;修改“分”时,加到59后“清0”,再加1。
二设计原则数字钟程序模块划分各模块对应的函数声明如下:
voiddisplay(unsignedchar*p);//6位LED扫描函数,指针p为显示数据区
首地址
unsignedcharkeytest();//测试键盘有无键按下
unsignedcharsearch();//查键值函数
voidalarm();		//闹钟判断启动函数
voidftion0();		//时钟修改函数
voidftion1();		//闹钟修改程序
voidcum();		//增1程序
voidclock()interrupt1;	//中断函数,该函数无需声明C51程序与汇编语言程序变量定义对应关系C51程序与汇编语言程序变量定义对应关系主程序框图C51程序源代码
#pragmaSMALL
#include"REG51.H"
#include"absacc.h"
//********************函数声明************************
voiddisplay(unsignedchar*p);	//6位LED扫描函数,指针p为显示数据				区首地址
unsignedcharkeytest();		//测试键盘有无键按下
unsignedcharsearch();		//键盘扫描程序
voidalarm();//闹钟程序
voidftion0();//时钟修改程序
voidftion1();//闹钟修改程序
voidcum();//增1程序//******************全局变量定义*******************
unsignedcharclockbuf[3]={0,0,0};//存放时、分、秒的十进制数
unsignedcharbellbuf[3]={0,0,0};//存放闹钟时、分、秒的十进制数
unsignedcharmsec1,msec2;//msec1:10ms中断次数,
msec2:1s循环次数
unsignedchartimdata,rtimdata;//时钟和闹钟修改位置标志
unsignedcharcount;	//闹钟启动后10s计时单元
unsignedchar*dis_p;	//显示缓冲区指针
unsignedcharfcount;//闪烁计数单元
bitarmbit;//闹钟标志,armbit=0,闹钟没有设
定;armbit=1,闹钟已设定
bitrtimbit;//闹钟是否启动标志,rtimbit=1,闹钟已启动
bitrhourbit;//闹钟小时修改标志,rhourbit=1,正在修改闹钟小时
bitrminbit;//闹钟分修改标志,rminbit=1,正在修改闹钟分钟
bithourbit;//时钟小时修改标志,hourbit=1,正在修改时钟小时
bitminbit;	//时钟分修改标志,minbit=1,正在修改时钟分钟
bitsecbit;	//时钟秒修改标志
bitflash;//闪烁标志位
sbitP10=P1^0;
sbitP27=P2^7;//******************主函数*******************
main()
{
unsignedchara;
armbit=0;			//清零闹钟标识位
bellbuf[0]=23;			//设置闹钟单元初值
bellbuf[1]=59;
clockbuf[0]=23;	//设置时钟单元初值
clockbuf[1]=59;
clockbuf[2]=59;
msec1=0;		//设置10ms中断次数初值
msec2=0;		//设置1s中断次数初值
timdata=0;		//时钟内容修改位置记忆单元清零
rtimdata=0;		//闹钟内容修改位置记忆单元清零
count=0;		//闹钟启动后保持10s计时单元清零
fcount=0;//闪烁计数单元清零
flash=0;//闪烁标志位清零
TMOD=0x12;//初始化定时器,定时器T0方式2,定时器T1方式1
TL0=0x06;	//定时250μs初始值
TH0=0x06;
TH1=0X3C;
TL1=0XB0;
EA=1;		//中断允许控制断
ET0=1;		//定时器0开中断
TR0=1;		//启动定时器0
dis_p=clockbuf;	//将时钟值送入显示指针
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机数字钟

文档大小:505KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用