没有合适的资源?快使用搜索试试~ 我知道了~
单片机课程设计-LED数码管显示电子钟设计.doc
1 下载量 64 浏览量
2023-07-02
18:06:01
上传
评论 3
收藏 126KB DOC 举报
温馨提示
试读
23页
单片机课程设计-LED数码管显示电子钟设计.doc
资源推荐
资源详情
资源评论
1
《 单 片 机 原 理 及 应 用 》
课 程 设 计 说 明 书
题 目
LED 数码管显示电子钟设计
系 ( 部 )
专 业 ( 班 级 )
姓 名
学 号
指 导 教 师
起 止 日 期
2
课程设计任务书
系(部): 专业:
课题名称
LED 数码管显示电子钟设计
设计
要求
1、课题内容:设计一种基于 AT89S52 单片机的数码管显示电子时钟,要
求如下:
(1)、能正确显示时间,时钟由八位数码管显示,显示格式为:XX 小时--XX
分--XX 秒。
(2)、时间能够由按键调整,误差小于 1S。
(3)、 闹钟功能: 时间运行到与闹钟设定时间时, 闹钟响 (持续响 3 秒)
(4)、报时功能:时间运行到正点时间时,闹钟响,几点钟就响几声(每
声持续响 2 秒,每两声之间时间间隔 1 秒)。
(5)、通过按键切换,可以显示当前日期,显示格式为:XX 年¾XX 月
¾XX 日,5 秒钟后自动返回时间显示模式。
2、要求:
完成该系统的硬件和软件的设计,在 Proteus 软件上仿真通过,并提
交一篇课程设计说明书。
设计
工作
量
1、汇编或 C51 语言程序设计;
2、程序调试;
3、在 Proteus 上进行仿真成功;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序
分析、仿真分析、调试过程,参考文献、设计总结等。
起止日期
工作内容
第一天
课题介绍,答疑,收集材料,C51 介绍
第二天
设计方案论证,练习编写 C51 程序
第三天~第六天
程序设计
第六天~第八天
程序调试、仿真
工作
计划
第九天~第十天
系统测试并编写设计说明书
教研室
意见
年 月 日
系(部)主
管领导意见
年 月 日
3
目录
目录 .............................................................................................................................................................................4
一、 摘要 ...................................................................................................................................................................5
二、 设计内容 ...........................................................................................................................................................5
2.1、任务要求 ....................................................................................................................................................5
2.2、设计程序方案 ............................................................................................................................................5
2.3 设计电路仿真图 ..........................................................................................................................................6
三、 心得体会 ...........................................................................................................................................................9
四、 参考文献 .........................................................................................................................................................10
4
一、摘要
单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来
控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化
并集成在一块芯片上的微型计算机。
单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发
展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发
较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪
表、家用电器、电力电子、机电一体化设备等各个方面,而 51 单片机是各单片机中最为典型和最有代表
性的一种。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统
中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,
晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种
实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时
间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方
法,典型的时钟芯片有:DS1302,DS12887,X1203 等都可以满足高精度的要求。
二、设计内容
2.1、任务要求
本次设计时钟电路,使用了 ATC89C51 单片机芯片控制电路,单片机控制电路简单且省去了很多复杂
的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,还有设定闹钟,
用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通
过四个模块:键盘、芯片、扬声器、LED 显示即可满足设计要求。
2.2、设计程序方案
设计程序思路:
1.实现 8 位数码管动态扫描显示
void Display_1Code(unsigned char pos,unsigned char code1);
void Display_2Num(unsigned char pos,unsigned char num,unsigned char point);
数码管动态扫描就是:
段显 位选 延时显示 消影
因为我们用的是共阳数码管,而段码表用的共阴的,所以对 code1 取反
5
共阳数码管高电平点亮,所以 P2 移位后不用取反,从高位开始是第 1 个数码管
掩饰显示 1ms,P2 给全 0 全部熄灭,消影作用。
2.时间显示
采用实时时钟芯片 DS1302,读芯片的 datasheet,根据时序等说明编写驱动程序。
1)初始化
void DS1302_Init(void)
2)底层基本读写函数
void DS1302_WriteByte(unsigned char byte)
unsigned char DS1302_ReadByte(void)
3)对芯片寄存器的读写函数
void DS1302_WriteData(unsigned char addr,unsigned char mdata)
unsigned char DS1302_ReadData(unsigned char addr)
4)修改时间函数
void DS1302_RWriteData(unsigned char addr,unsigned char mdata)
这些函数的实现就看 dagasheet 了,主要是时序
a.时钟上升沿写入数据
b.时钟下降沿读出数据
c.秒寄存器最高位为 1 关闭时钟,为 0 则开启时钟
5)显示时间和日期
void Display_Time(void)
显示时分秒,0x40 为显示横,如 12-30-00
void Display_Date(void)
显示日期,如 20131230,中间没有横杆,但是在年月日上有小数点,通过
Display_2Num 最后一个参数控制
void Display(void)根据 dis_mode 变量选择当前显示的是时间还是日期还是闹钟。
GetDateTime 读取时间并与闹钟时间做比较,检测是否到达闹钟时间。
6)扫描方式
动态扫描,定时器 0 控制扫描周期,10ms 扫描一次
void Timer0_OVF(void) interrupt 1
{
TH0 = (65536-10000)/256;
TL0 = (65536-10000)%256;
}
3.按键调时
void KeyScanf(void)
flag_alarm_mode 是闹铃模式则按键退出闹铃并返回,一键关闭闹钟
然后对 setting_item 变量自加,依次表示设置秒、分、时、天、月等等,设置项对应的小数点位点亮。
加键一样的过程,根据 setting_item 的值加不同的量:秒、分、时。
记住改变时间后要修改 DS1302 芯片的寄存器才能真正修改时间。
剩余22页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2434
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微信小程序 - 同乐居商城:购物车合算源码
- 1、根据输入的三条边值判断能组成何种三角形,并设计测试数据进行判定覆盖测试 三条边为变量a、b、c,范围为1≤边值≤10,不在范
- SQL server 练习题目8道(小白教学).zip
- Python 手写实现 iD3 决策树算法-根据信息增益公式.zip
- 411675952289057车联助手-小窗版(三星)3.5.1.apk
- 三种快速排序方法合并在一个文件中以便直接运行的Python代码示例
- 937712277954201实习5.word
- 2程序语言基础知识pdf1_1716337722703.jpeg
- 简单的Python示例,演示了如何使用TCP/IP协议进行基本的客户端和服务器通信
- 考试.sql
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功