《定时与计数演示灯设计》由会员分享,可在线阅读,更多相关《定时与计数演示灯设计(16页珍藏版)》请在金锄头文库上搜索。
1、1课 程 设 计 说 明 书课程名称: 单片机原理及应用 设计题目:定时与计数演示灯设计院 系:学生姓名:学 号:专业班级:指导教师:年 月 日1课 程 设 计 任 务 书设计题目 定时与计数演示灯设计学生姓名 所在院系 专业、年级、班设计要求:一、基本要求:1、采用两个定时器,实现定时与计数功能,并显示结果。二、技术参数要求:1、具有电源开关机指示灯,有复位按键;2、单片机 P1 端口接 8 只 LED;3、T0 设置为定时方式,T1 设置为计数方式。T0 定时时间为 50ms,计满产生的输出信号由 P1.7 口LED 显示。同时,将该信号输入到 T1 作为 T1 的计数输入脉冲。4、T1
2、初始值为 100,则计满所需时间为 50ms2100,即 10s,计满输出信号由 P1.0 口 LED 显示,因此 P1.0 端口的点亮熄灭交替。学生应完成的工作:1、完成电路原理图的设计;2、根据设计要求绘制程序流程图;3、根据程序流程图编写程序;4、用 keil 和 proteus 软件进行程序仿真和调试;5、实物焊接;6、调试焊接过的电路,直到实现预期的功能;7、根据要求填写课程设计说明书。参考文献阅读:1.杜尚丰. CAN 总线测控技术及其应用.北京:电子工业出版社,2007.12.杜树春.单片机 C 语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.63.张毅刚
3、.单片机原理及应用.北京:高等教育出版社,2003.124.http:/ 仿真软件应用.武汉:华中科技大学出版社,2010.26.王毅.单片机器件应用手册.北京:人民邮电出版社,1994.4工作计划:任务下达日期: 年 月 日 任务完成日期: 年 月 日指导教师(签名): 学生(签名): 2(定时与计数演示灯设计)摘 要:采用晶振和两个 33pF电容组成时钟电路,用于产生系统工作室所必需的时钟控制信号;利用变压器、桥堆 2W10一个 1000Uf电容、7805、拨动开关、一个 LED和一个 5.1千欧的电阻组成电源电路,为系统提供+5V 的稳定电压;使用一个 22Uf电容、一个 300欧电阻、
4、按键和一个1千欧电阻组成复位电路,用于系统初始化操作;用单片机(AT89C52) 、八个 1千欧电阻、八个 LED、时钟电路、复位电路和电源电路组成一个操作简单,使用方便,能实现定时与计数功能,并显示结果的定时计数系统。关键词:单片机(AT89C52);LED;T0;T1;P1.0 口;P1.7 口;7805;3目 录1.设计背景11.1 课题依据11.2 研究背景及其意义12.设计方案2.1 硬件设计2.2 软件设计3.方案实施13.1 硬件设计13.2 硬件设计14.结果与结论14.1 结果14.2 结论15.收获与致谢16.参考文献17.附件1451. 设计背景1.1 课题依据单片机应用
5、技术中往往需要定时检查某个参数,或按一定时间间隔进行某种控制;有时还需根据某种事件的计数结果进行控制。单片机内的定时器、计数器即可满足此类需求。1.2 研究背景及其意义定时器与技术演示灯设计是采用单片机内的定时器与计数器实现对灯点亮熄灭,并显示结果的计时计数装置,其原理广泛应用于个人家庭,车站,码头,办公室,比赛场等场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,是得定时与计数给人们生活带来了极大的方便,而且扩大了原来定时器与计数器的定时计数功能。诸如自动报警洗衣机,定时广播,食品生产线中的食品保鲜和成品的计数装箱,自动启闭路灯等,所有这些,都是以定时
6、器与计数器为基础的,因此研究定时器与计数器及扩大其应用,有着非常现实的意义。2. 设计方案2.1 硬件设计(1).51 单片机 AT89C52 简介AT89C52 是由 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 8KB 的可反复擦写的只读程序存储器(PEROM)和 256B 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 FLASH 由存储单元,功能强大AT89C52 单片适用于许多较为复杂控制应用场合。AT89C52 为 4
7、0 脚 双 列 直 插 封 装 的 8位 通 用 微 处 理 器 , 主 要 管 脚 有 : XTAL1( 19 脚 ) 和 XTAL2( 18 脚 ) 为 振 荡 器 输 入输 出 端 口 , 外 接 12MHz 晶 振 。 RST/Vpd( 9 脚 ) 为 复 位 输 入 端 口 , 外 接 电 阻 电 容 组成 的 复 位 电 路 。 VCC( 40 脚 ) 和 VSS( 20 脚 ) 为 供 电 端 口 , 分 别 接 +5V 电 源 的 正 负端 。 P0-P3 口 为 可 编 程 通 用 I/O 脚 , 其 功 能 用 途 由 软 件 定 义 。6图(2.1) AT89C52 双列
8、直插 (2.2)内部时钟方式的电路封装方式的引脚图(2).时钟电路单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机系统的稳定性,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种方式是外部时钟方式。在这次课程设计中,我组采用的是内部时钟方式。AT89C52 内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为芯片引脚 XTAL2.这两个引脚跨接晶振和微调电容就构成一个稳定的自激振荡器,连接电路如图(2.2)所示,其中电容 C1 和 C2 典型值
9、通常选择为 30pF 左右.图(2.3.a) 图(3.b)图(2.3)复位电路(3).复位操作和复位电路复位操作是单片机的初始化操作,只需给单片机的复位引脚 RST 加上大于 2 个机7器周期的高电平就能使起复位。AT89C52 的复位是由外部的复位电路来实现的。复位引脚 RST 通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个周期的 S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。按键手动电平复位有电平方式和脉冲方式两种。其中电平复位是通过 RST 端经电阻与电源 Vcc接通而实现的,按键手动电平复位电路如图(2.3.a)所示。按
10、键脉冲复位则是利用 RC微分电路产生的正脉冲来实现的,按键脉冲复位电路如图(2.3.b)所示。2.2 软件设计(1)程序流程图:开始系统初始化T0 置初值8000HT1 置初值 009CHT0 是否中断P1.7 口位取反P1.0 口位取反T1 开始计数T1 是否中断T0 重装初值结束NYNY(2)程序:ORG 0000HLJMP MAINORG 000BH8LJMP ITOP0ORG 001BHLJMP ITOP1ORG 0100HMAIN:MOV SP,#60HLCALL PTOMHERE:LJMP HEREPTOM:MOV TMOD,#61H ;T1 为方式 2 计数器,T0 为方式 1
11、定时器MOV TL0,#0B0H ;T0 置初值MOV TH0,#3CHSETB TR0 ;启动 T0SETB ET0 ;允许 T0SETB TR1 ;启动 T1SETB ET1 ;允许 T1MOV TH1,#9CH ;T1 置初值MOV TL1,#9CHCLR P1.0SETB P1.7SETB EA ;CPU 开放中断RETITOP0:MOV TL0,#0B0H ;重新给 T0 置初值MOV TH0,#3CHSETB P1.7 ;产生下降沿,为 T1 提供计数输入脉冲NOPNOPCLR p1.7RETIITOP1:CPL P1.0RETIEND93. 方案实施3.1 硬件设计(1)时钟电路
12、:如图(3.1)所示。(2)复位电路:如图(3.2)所示。(3)电源电路:如图(3.3)所示。(4)完整电路:如图(3.4)所示。图(3.1)时钟电路 图(3.2)复位电路10图(3.3)电源电路图(3.4)完整电路3.2 软件设计(1)程序流程图:11开始系统初始化T0 置初值8000HT1 置初值 009CHT0 是否中断P1.7 口位取反P1.0 口位取反T1 开始计数T1 是否中断T0 重装初值结束NYNY(2)程序:ORG 0000HLJMP MAINORG 000BHLJMP ITOP0ORG 001BHLJMP ITOP1ORG 0100HMAIN:MOV SP,#60HLCAL
13、L PTOMHERE:LJMP HEREPTOM:MOV TMOD,#61H ;T1 为方式 2 计数器,T0 为方式 1 定时器MOV TL0,#0B0H ;T0 置初值MOV TH0,#3CH12SETB TR0 ;启动 T0SETB ET0 ;允许 T0SETB TR1 ;启动 T1SETB ET1 ;允许 T1MOV TH1,#9CH ;T1 置初值MOV TL1,#9CHCLR P1.0SETB P1.7SETB EA ;CPU 开放中断RETITOP0:MOV TL0,#0B0H ;重新给 T0 置初值MOV TH0,#3CHSETB P1.7 ;产生下降沿,为 T1 提供计数输入
14、脉冲NOPNOPCLR p1.7RETIITOP1:CPL P1.0RETIEND4. 结果与结论4.1 结果经过几天的忙碌,先后完成了硬件(电路原理图)的设计、软件(程序流程图和程序)的设计、电路板的焊接,最后经程序的烧写和电路板的调试,基本完成了任务书所下达的任务。波动电源开关,其指示灯会亮;单片机所接的 LED 全部点亮,按复位键,之后经过 50ms,T0 产生中断,P1.7 端口所接的 LED 熄灭一次,然后又恢复点亮;同时 T1 开始工作,当 T1 计满 100 时,其产生中断,P1.0 端口所接的 LED 熄灭,T1 又重新计数,当再计满 100 时,P1.0 端口所接的 LED 点亮;因此 P1.0 端口的 LED