基于AT89S52单片机的数字倒计时器设计_第1页
基于AT89S52单片机的数字倒计时器设计_第2页
基于AT89S52单片机的数字倒计时器设计_第3页
基于AT89S52单片机的数字倒计时器设计_第4页
基于AT89S52单片机的数字倒计时器设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机/微机接口课程设计说明书 1 单片机原理与应用课程设计说明书单片机原理与应用课程设计说明书 题题 目目 基于 at89s52 单片机的 led 数字倒计时器设 计 系系 部部 信息与控制工程学院 专专 业业 电气自动化 班班 级级 2008 级 4 班 学生姓名学生姓名 庞兴瑞 学学 号号 08032130432 指导教师指导教师 邹华 2010 年 12 月 9 日 单片机/微机接口课程设计说明书 2 目 录 1 设计任务与要求 .2 2 设计方案 .2 3 硬件电路设计与主要元器件分析 .3 3.1 6 位 led 数码管显示.3 3.2 led 倒计时器元件清单.3 3.3 主要元

2、器件分析 .4 3.3.1 单片机 at89s52.4 3.3.2 集成块 74ls245.4 3.4 基本硬件电路分析 .5 3.4.1 复位电路.5 3.4.2 按键电路 .5 3.5 led 倒计时器原理图.6 4 软件设计 .8 4.1 程序流程图 .8 4.2 程序清单 .9 5 调试过程 .20 6 结论 .20 7 附录 .21 参考资料: .22 单片机/微机接口课程设计说明书 3 1 1 设计任务与要求设计任务与要求 近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活, 同时带动传统控制检测日新月异。在实时检测和自动控制的单片机应用系统中,单 片机往往作为一

3、个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体 硬件结构,针对具体应用特点与软件结合。本项目讨论了 led 数字倒计时器的设计 与制作,此方案线路简单,成本低,应用前景广阔。 本次设计的任务与要求是,使基于 at89s52 单片机的 led 数字倒计时器主要具 有如下功能: (1)led 数码管显示倒计时时间。 (2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约 2s 的报 警声音。 (3)通过按键可以对倒计时设定初值。倒计时初始值范围在 24:00:0000:00:60 之 间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。 2 2 设计方案设计方

4、案 led 数字倒计时器以 at89s52 单片机为核心,系统包括六位数码管显示电路, 按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,led 数字倒计 时器设计框图如下: at89s52 单片机 电源电路 复位电路 晶振电路 6 位数码 管显示电 路 蜂鸣器电 路 按键电路 图 1 led 数字倒计时器设计框图 单片机/微机接口课程设计说明书 4 3 3 硬件电路设计硬件电路设计与主要元器件分析与主要元器件分析 3.13.1 6 6 位位 ledled 数码管显示数码管显示 本项目设计采用了 6 位数码管显示电路,在设计 6 位 led 显示时,为了简化电 路,降低成本,采用动态

5、显示方式,6 个 led 显示器共用一个 8 位的 i/o,6 位 led 数码管的位选线分别由相应的 p2.0p2.5 控制,而将相应的段选线并联在一起,由 一个 8 位的 i/o 口控制,即 p0 口。译码显示电路将“时” 、 “分” 、 “秒”显示数字进 行校对调整。 3.23.2ledled 倒计时器元件清单倒计时器元件清单 表 1 led 数字倒计时器元件清单 元件名称型号数量/个用途 单片机 at89s521 控制核心 晶振 12mhz1 晶振电路 电容 30pf2 晶振电路 电解电容 22f/10v1 复位电路 电阻 10k1 复位电路 按键 5 按键电路 数码管共阳 6 显示器

6、 集成块 74ls2453 驱动 三极管 2n50881 蜂鸣器 喇叭 8/0.5w1 蜂鸣器 电阻 1k2 蜂鸣器 单片机/微机接口课程设计说明书 5 电阻 1001 蜂鸣器 电阻 2.7k4 上拉电阻 电阻 3308 上拉电阻 电源 +5v/0.5a1 提供+5v 集成块 74ls071 驱动 3.33.3 主要元器件分析主要元器件分析 3.3.1 单片机 at89s52 at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编 程 flash 存储器。使用 atmel 公司高密度非 易失性存储器技术制造,与工业 80c51 产品指令和引脚完 全兼容。片上 fl

7、ash 允许程序存储器在系统可编程, 亦适于 常规编程器。在单芯片上,拥有灵巧的8 位 cpu 和在系统 可编程 flash,使得 at89s52 为众多嵌入式控制应用系统 提供高灵活 、超有效的解决方 案。at89s52 具有以下标准功能: 8k 字节 flash,256 字节 ram,32 位 i/o 口 线,看门狗定时器, 2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, cpu 停止工 作,允许 ram、定时器/计数器、串口、

8、中断继续工 作。掉电保护方式下, ram 内容被保存 振荡器被冻结 ,单片机一切工作停止,直到下一个中断或硬件复位为 止。 3.3.2 集成块 74ls245 74ls245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三 态双向总线收发器,可双向传输数据。74ls245 还具有双向三态功能,既可以输出, 也可以输入数据。当片选端/ce 低电平有效时,dir=“0” ,信号由 b 向 a 传输; (接收) *dir=“1” ,信号由 a 向 b 传输;(发送)当/ce 为高电平时, a、b 均为高阻态。由于 p2 口始终输出地址的高 8 位,接口时 74ls245 的三

9、态控制 端/1g 和/2g 接地,p2 口与驱动器输入线对应相连。p0 口与 74ls245 输入端相连,/e 单片机/微机接口课程设计说明书 6 端接地,保证数据现畅通。 3.43.4 基本硬件电路分析基本硬件电路分析 3.4.1 复位电路 复位是单片机的初始化操作,只需给 at89s52 的复位引脚 rst 加上大于 2 个机 器周期(即 24 个时钟振荡周期)的高电平就可得单片机复位,复位时,pc 初始化 为 0000h,使单片机从 out 单元开始执行程序。除了进入系统的正常初始化之外由 于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位 键使得 rst 脚为高电

10、平,使单片机重新启动。 图 2 复位电路原理图 3.4.2 按键电路 按键电路的按键功能说明:(1)k1 用于设置时间和闹钟的小时。 (2)k2 用于设置小时以及设置闹钟的开关。 (3)k3 用于设置分钟和闹钟的分钟。 (4)k4 用于设置完成退出。 单片机/微机接口课程设计说明书 7 3.53.5ledled 倒计时器原理图倒计时器原理图 图 3 led 数字倒计时器原理图 l ea 31 xtal1 19 xtal2 18 rst 9 p3.7rd 17 p3.6wr 16 p32/int0 12 p33/int1 13 p34/t0 14 p35/t1 15 p1.0 1 p1.1 2

11、p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p0.0/ads0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 p2.7/a15 28 psen 29 ale 30 p31/txd 11 p30/rxd 10 at89c51 q 2n3904 30pf c1 50pf

12、c2 20pf c3 12mhz k1 k2 k3 k4 10k r8 27k r1 27k r2 27k r3 27k r4 1k r8 1k r5 100 r7 l61 speaker 3306 a0 a7 b0 b7 ce 1 a0 a7 b0 b7 ce 1 a0 a7 b0 b7 ce 1 a a b b c c f f d d e e g g dp dp 1 1 2 2 a a b b c c f f d d e e g g dp dp 1 1 2 2 a a b b c c f f d d e e g g dp dp 1 1 2 2 3308 +5v +5v +5v +5v+5v

13、 +5v +5v r9r16 单片机/微机接口课程设计说明书 8 4 4 软件设计软件设计 4.14.1 程序流程图程序流程图 开始 cpu 系统初始化 定时器 0 初始化 中断初始化 设置时间? 设置闹铃时间 显示刷新 启动走时 有关变量初始化 时分变化? 刷新显示 1 秒 到 秒指示 闹铃时间? 蜂鸣器 结束 y n y n y n y n 图 4 led 数字倒计时器程序流程图 单片机/微机接口课程设计说明书 9 4.24.2 程序清单程序清单 程序清单如下: k1 equ p1.0 k2 equ p1.1 k3 equ p1.2 k4 equ p1.3 org 0000h ljmp m

14、ain org 000bh ljmp time org 0100h main: mov sp, #50h mov 20h, #3ch ;时间 bin second mov 21h, #3ch ; bin minute mov 22h, #18h ; bin hour mov 23h, #01h ;闹铃 bin minute mov 24h, #01h ; bin hour mov 25h, #00h ;定义一个标志位 mov 30h, #00h ;时间 bcd second mov 31h, #00h mov 32h, #00h ; bcd minute mov 33h, #00h mov 3

15、4h, #00h ; bcd hour mov 35h, #00h mov 36h, #01h ;闹铃 bcd minute 单片机/微机接口课程设计说明书 10 mov 37h, #00h mov 38h, #01h ; bcd hour mov 39h, #00h mov tmod, #01h ;16 位计数器 t0,方式 1 mov tho, #03ch ;赋初值 mov tlo, #0b0h mov ie, #10000111b;开中断 to,ea=1 setb tro ;t0 启动计数 mov r2, #14h ;计数器 mov p2, #0ffh loop:lcall timepr

16、o ;调用现在时间与闹铃时间比较程序 lcall display1 ;调用现在时间显示子程序 jb k1,m1 ;判断按键是否按下 lcall xiaozhen1 ;调用消抖程序 mov c, 25h.0 jc a1 a1: clr 25h.0 lcall settime ;调用设置现在时间子程序 ljmp loop m1: jb k2, m2 lcall xiaozhen2 mov c, 25h.0 jc a2 a2: clr 25h.0 lcall settime ;调用设置闹钟的程序 单片机/微机接口课程设计说明书 11 ljmp loop m2: jb k4, m3 a3: lcall

17、 xiaozhen3 mov c, 25h.0 jc a4 a4: clr 25h.0 m3: ljmp loop settime: lo: lcall display1 jb k2, l1 lcall xiaozhen4 mov c, 25h.0 jc a5 a5: clr 25h.0 dec 22h mov a,22h cjne a,#18h,g012 mov 22h, #00h mov 34h, #00h mov 35h, #00h ljmp l0 l1: jb k3, l2 lcall xiaozhen5 mov c, 25h.0 jc a6 单片机/微机接口课程设计说明书 12 a6

18、: clr 25h.0 dec 21h mov a,21h cjne a,#3ch,g011 mov 21h, #00h mov 32h, #00h mov 33h, #00h ljmp l0 go11: mov b,#0ah div ab mov 32h, b mov 33h, a ljmp l0 go12: mov b,#0ah div ab mov 34h, b mov 35h, a ljmp l0 l2: jb k4, l0 lcall xiaozhen3 mov c, 25h.0 jc ax ax: clr 25h.0 ret setatime: lcall display2 单片机

19、/微机接口课程设计说明书 13 no: lcall display2 jb k3, n1 lcall xiaozhen6 mov c, 25h.0 jc a7 a7: clr 25h.0 dec 24h mov a, 24h cjne a,#24,g022 mov 24h, #00h mov 38h, #00h mov 39h, #00h ljmp n0 n1: jb k1 n2 lcall xiaozhen7 mov c, 25h.0 jc a8 a8: clr 25h.0 dec 23h mov a, 23h cjne a,#60,g021 mov 23h, #00h mov 36h, #

20、00h mov 37h, #00h ljmp n0 单片机/微机接口课程设计说明书 14 g021: mov b, #0ah div ab mov 36h, b mov 37h, a ljmp n0 g022: mov b, #0ah div ab mov 38h, b mov 39h, a ljmp n0 n2: jb k4 n0 lcall xiaozhen3 mov c, 25h.0 jc a9 a9: clr 25h.0 ret timepro: mov a, 21h mov b, 23h cjne a, b, bk mov a, 22h mov b, 24h cjne a, b, b

21、k setb 25h.0 mov c, 25h.0 jc xx 单片机/微机接口课程设计说明书 15 xx: lcall timeout bk: ret timeout: x1: lcall bz lcall display2 clr 25h.0 jb k4,x1 ret bz: clr p3.7 mov r7, #250 t2: mov r6, #124 t3: djnz r6,t3 djnz r7,t2 jb k4,xy lcall xiaozhen3 mov c, 25h.0 jc xy1 xy: ret xy1: ljmp loop xiaozhen1: lcall display1

22、jb k1,xiaozhen1 mov c, k1 lcall jc xiaozhen1 lcall delay mov c, k1 单片机/微机接口课程设计说明书 16 jc xiaozhen1 stop1: mov c, k1 jnc stop1 lcall delay mov c, k1 jnc stop1 setb 25h.0 ret xiaozhen2: lcall display2 jb k2,xiaozhen2 mov c, k2 jc xiaozhen2 stop2: mov c, k2 jnc stop2 lcall delay mov c, k2 jnc stop2 set

23、b 25h.0 ret xiaozhen3: lcall display1 jb k4,xiaozhen3 mov c, k4 jc xiaozhen3 lcall delay mov c, k4 单片机/微机接口课程设计说明书 17 jc xiaozhen3 stop3: mov c, k4 jnc stop3 lcall delay mov c, k4 jnc stop3 setb 25h.0 ret xiaozhen4: lcall display1 jb k2,xiaozhen4 mov c, k2 jc xiaozhen4 lcall delay mov c, k2 jc xiaoz

24、hen4 stop4: mov c, k2 jnc stop4 lcall delay mov c, k2 jnc stop4 setb 25h.0 ret xiaozhen5: lcall display1 jb k3,xiaozhen5 mov c, k3 单片机/微机接口课程设计说明书 18 jc xiaozhen5 lcall delay mov c, k3 jc xiaozhen5 stop5: mov c, k3 jnc stop5 lcall delay mov c, k3 jnc stop5 setb 25h.0 ret xiaozhen6: lcall display2 jb

25、 k3, xiaozhen6 mov c, k3 jc xiaozhen6 lcall delay mov c, k3 jc xiaozhen6 stop6: mov c, k3 jnc stop6 lcall delay mov c, k3 jnc stop6 setb 25h.0 ret 单片机/微机接口课程设计说明书 19 xiaozhen7: lcall display2 jb k1, xiaozhen7 mov c, k1 jc xiaozhen7 lcall delay mov c, k1 jc xiaozhen7 stop7: mov c, k1 jnc stop7 lcall

26、delay mov c, k1 jnc stop7 setb 25h.0 ret delay: mov r4, #14h dl00: mov r5, #offh dl11: djnz r5, dl11 djnz r4, dl00 ret time: push acc push psw movth0, #03ch mov tl0, #0b0h djnz r2, ret0 mov r2, #14h 单片机/微机接口课程设计说明书 20 mov a, 20h clr c dec a cjne a, #0, g01 mov 20h, #3ch mov 30h, #0 mov 31h, #0 mov a

27、, 21h dec a cjne a, #3ch, g02 mov 21h, #0h mov 32h, # 0 mov 33h, # 0 mov a, 22h dec a cjne a, #18h,go3 mov 22h, # 00h mov 34h, # 0 mov 35h, # 0 ajmp reto go1: mov 20h, a mov b, # 0ah div ab mov 31h, a mov 30h, b 单片机/微机接口课程设计说明书 21 ajmp reto go2: mov 21h, a mov b, # 0ah div ab mov 33h, aeeh mov 32h,

28、b ajmp reto go3: mov 22h, a mov b, # oah div ab mov 35h, a mov 34h, b ajmp reto reto: pop psw pop acc reti display1: mov r0, # 30h mov r3, # 0eeh mov a, r3 play1: mov p2, a mov a,ro mov dptr, # dseg1 movc a,a + dptr mov p0, a lcall dl1 单片机/微机接口课程设计说明书 22 mov p2, # 0eeh mov a, r3 rl a jnb acc.6, ld1

29、inc r0 mov r3, a ljmp play1 ld1: ret display2: push acc push psw mov ro, # 36h mov a, r3 play2: mov p2, a mov a,r0 mov dptr, # dseg1 movc a,a+dptr mov p0, a lcall dll mov p2, # 0ffh mov a, r3 rl a jnb acc.6, ld2 inc r0 mov r3, a ljmp play2 单片机/微机接口课程设计说明书 23 ld2: pop psw pop acc ret dl1: mov r7, # 0

30、5h dl: mov r6, # 0ffh dl6: djnz r6, $ djnz r7, dl ret dseg1: db 3f, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 07h, 7fh, 6fh end 5 5 调试过程调试过程 应用系统设计完成之后,要进行硬件调试和软件调试。软件调试可以利用开发及 仿真系统进行。 1硬件调试 硬件的调试主要是把电路各种参数调整到符合设计要求。具体如下: (1)先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态后动 态。 (2)利用万用表或逻辑测试仪器,检查电路中的各个器件以及引脚是否连接正确, 是否有短路故障。

31、(3)先要将单片机 at89s52 芯片取下,对电路板进行通电检查,通过观察看是否有 异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机 调试观察各接口线路是否正常。 2软件调试 软件调试是利用仿真工具进行在仿真调试,除发现和解决程序错误以外,也可以发 现硬件故障。 单片机/微机接口课程设计说明书 24 6 6 结论结论 单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。 at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编程 flash 存储器。 通过本次设计,使我们认识并了解了基本的设计开发过程,在这过程中,我的身 边的同学们给了我很大的启示和帮助,而且我觉得对以前不了解的单片机只是有了 一个更感更深的了解。我相信我所学的东西在以后的工作学习中会起很大的作用。 在本次设计中得到了指导老师邹老师的大力支持,在此表示感谢! 7 7 附录附录 利用单片机内部的定时器溢出中断来实现定时,设定某定时器每 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论