没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机的万年历设计.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 69 浏览量
2023-07-05
23:01:24
上传
评论
收藏 149KB PDF 举报
温馨提示
试读
12页
基于单片机的万年历设计.pdf
资源推荐
资源详情
资源评论
基于单片机的万年历设计
基于单片机的万年历设计
一. 题目要求
1.
2.
能星期、时、分,年、月、日正常显示,且秒闪。
按下 KEY1,进入设置状态,根据按键次数可判断调整哪个(星期、时、分、年、 月、日)。
调整星期、时、分时,对应位闪烁且四灯灭。调整年、月、日时,对应位闪烁 且四灯灭。
3 在设置状态下按下 KEY2 加时间。4.在设置状态下按下 KEY3 减时间。
5. 在设置状态下按下 KEY4,返回(正常显示)。
二.题目分析
1. 硬件部分设计。首先要设计一个最小系统 包括晶振电路 按键复位电路。然后 是按键电路
和 ISP 电路 显示电路。其中显示电路就要考虑各端口的分配。包括片选 输 出端口。
2. 软件部分设计。根据硬件电路分析 要考虑怎么显示 考虑中断 定时等。 还要
考虑年月日的算法问题。
三功能描述
1. 能正常显示时间(星期、时、分 年、月、日) 两种状态以 10S 时间切换。 2. 能调整时间。
四方案论证
1. 单片机芯片的选择方案和论证 方案一 :
采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间
,
能于 3V 的超
低压工作
,
而且与 MCS-51 系列单片机完全兼容
,
但是运用于电路设计中时由于不 具备 ISP 在线
编程技术 , 当在对电路进行调试时,由于程序的错误修改或对程序的新增功 能需要烧入程序时,对
芯片的多次拔插会对芯片造成一定的损坏。
采用 AT89S52,片内 ROM 全都采用 Flash ROM ;能以 3V 的超底压工作;同时也与 MCS-51 系
列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有 89C51 的功能,
且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新 增功能需
要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用 AT89S52 作为主控制系统.2.显示模块选择方案和论证
采用 LED 发光二极管 , 读书较困难。 方案二:
采用 LCD12864 价格太贵,经济方面不予考虑。
采用 LCD1602 编程较困难。 方案四:
方案三:
方案一:
采用 LED 数码管动态扫描 ,LED 数码管价格适中 , 对于显示数字最合适 , 而且采用动 态扫描
法与单片机连接时 , 占用的单片机口线少。
所以采用了 LED 数码管作为显示。
1. AT89S52
单片机 1 个 2. 芯片底座 1 个 3. ISP
插口 1 个 4. USB 接口 1 个
瓷片电容 2 个、10 口 F 电容 1 个 6. 12M 晶振 1 个 7.
两连 LED 数码管 3 个
5. 30pF
五.元器件清单
8. 1K 电阻 11 个、330
Q
电阻 8 个、10K 电阻 1 个 9.红色发光二极管 5 个
10.C8550 三极管 6 个 11. 按键 5 个
12.
拨动开关 1 个
13. 万用板一块 14. 排线若干
六.电路图
1. 最小系统电路图
2.ISP 电路
3.
+5V
七.相关参数
1 .本设计采用共阳数码管,其驱动电路采用三极管低电平驱动。
成简单,可靠。
复位电路有两种方式。一种是上电复位,一种是按钮复位。本设计采用电平按钮复位,通过 RST
端接电阻与电源 Vcc 接通实现。
晶振电路中晶振采用 12MHZ
2 .最小系统其构
显示电路
八.程序
;///////// 开始自定义及初始化 ////////////////
cBufThO equ 42h ; 定时器 TH0 基数存储单元 cBufTIO equ 43h ; 定时器 TL0 基数存 储单元
shuchu equ P3 ; 定义 P3 口为数据输出口送数码管显示 pianxuan equ P2 ; 定义 P2
口位片选口 cxingqi equ 30h ; 星期存储单元 cshi equ 31h ; 时存储单元 cfen equ 32h ; 分存储单元
cnian1 equ 33H ; 年后两位存储单元 cyue equ 34h ; 月存储单元 cri equ 35h ; 日 存储单元 cmiao
equ 36h ; 秒存储单元 cnian2 equ 37h ; 年前两位 cribj equ 38h ; 最 大天数
key1 bit 20h.1 ; 已经按下一次的标志位 key2 bit 20h.2 ; 已经按下一次的标志位 key3 bit 0h.3 ; 已
经按下一次的标志位 key4 bit 20h.4 ; 已经按下一次的标志位 bt0 bit 20h.5 ; 时间到了标志位 shezhi
bit P1.0 ; 自动切换显示 jia bit P1.1 ; 加按键 jian bit P1.2 ; 减按键 return bit P1.3 ; 返回键 org 0000h
ajmp start org 000bh Ijmp T0Ser
org 0030h start: mov r0,#07fh I0: mov @r0,#0 djnz r0,I0
caII chushihua
;/////////////// 十秒切换 ////////////////// main: caII jianpan caII
zuidashu cjne r4,#0,Iei4 mov a,cmiao mov b,#10 div ab mov b,#2 div ab mov a,b
jz xianshi2 ; Ijmp Iei3 ;Iei4: mov a, r4 subb a,#4
jnb psw.7,xianshi2 Iei3: caII dispIay1 Ijmp main xianshi2:
caII dispIay2 Ijmp main chushihua:
mov sp,#60h
mov tmod,#01h ; mov dptr,#65536-20000 ;20ms mov th0,dph mov tI0,dpI mov
cBufTh0,dph mov cBufTI0,dpI setb tr0 setb et0 setb ea mov r0,#0 ; mov r4,#0 ;
mov cmiao,#50 ;50*20ms mov cfen,#59 ; mov cshi,#23 mov cxingqi,#7 mov cri,#28 mov cyue,#2
mov cnian1,#08
十位为偶数显示年月日否则显示星期时分 设定定时器的工作状态 产生一次中断 用 来判断是否
到了 1S 按键初始化 为一秒 设定初始时间
mov cnian2,#20
clr key1 ; 按键清零 clr key2 clr key3 clr key4 ret
display1:
setb p2.6 ; 前两灯灭 cjne r4,#0,lei clr p2.6 lei: mov a,cxingqi mov b,#10
剩余11页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 61
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功