单片机课程设计说明书题目:00—60秒表设计学院:机电工程学院专业:机械设计制造及其自动化学生姓名:xxx学号:xxx指导教师单位:xxx姓名:xxx2013年12月13日摘要60秒计时器以单片机为核心,由计时器,控制器等组成。
系统采用模块化设计,主要分为计时器显示模块和按键控制模块。
每个模块的程序结构简单,任务明确,易于编写、调试和修改。
编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。
本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。
该系统具有60s内准确计时和计时清零的功能。
关键字:单片机,计时,显示,60s计时,复位清零目录前言 (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法 (13)三、系统软件设计 (14)3.1、软件总体设计方案 (14)3.2、程序流程图 (16)3.3、部分重要模块汇编程序: (16)四、系统调试 (17)4.1、软件调试 (17)4.2、硬件调试 (18)五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。
现代计时器是用数字集成电路做成的现代计时器,与传统的机械钟相比,走时准确、显示直观(有荧光七段数码显示器)、无机械传动装置等优点。
而且钟表的数字化给人们生产生活带来了极大的方便。
广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字计时表的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、校时自动打铃、时间程序自动控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字计时器及扩大其应用有着非常现实的意义。
一、概述1.1、课程设计任务与目的课程设计任务:00-60秒表设计用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,一秒产生时,秒计数加1,秒计数到60时,自动从0开始。
额外拓展,实现两个按键,一个实现计时暂停,一个实现从0计时。
课程设计目的:课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练,进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握应用得的专门性实践类课程,通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。
通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法,通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。
1.2、总体方案设计1.2.1、设计方案框图1.2.2、硬件方案1、制作一个AT89S51最小系统;2、采用两个LED七段数码显示管分别显示秒表的个位和十位;3、P0口输出十位段码,P2口输出个位段码。
1.2.3、软件方案1、因为当晶振频率为12MHz时,选择定时/计时器的模式1;2、时间设定定时/计数器定时时间,累计合适中断次数后执行刷新显示子程序;3、每隔1s秒计数加1,秒计数到60自动从0开始,循环不止。
二、系统硬件设计2.1、电路总体设计方案最小系统应符合以下要求:(1)引出4个I/O端口,便于硬件拓展,同时接入排阻以满足更多的使用要求(2)在上电自动复位的基础上添加按键复位功能,以提高系统的可控性;(3)采用按钮开关、继电器与稳压二极管构成电源电路,以提高系统的稳定性;(4)具有专门的编程端口;(5)采用内部时钟电路。
2.2、电路原理图2.3、各硬件模块设计与制作2.3.1、AT89C51单片机设计AT89C51是一个低功耗高性能CMOS 8位单片机,片内含4k Bytes ISP In-system programmable 的可反复擦写1000次的Flash,只读程序存储器器件采用ATMEL公司的高密度非易失性存储技术,制造兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示:主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命1000写擦循环·数据保留时间10年·全静态工作0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程IO线·两个16位定时器计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明:(1)电源与时钟引脚Vcc:电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚采用外部振荡器时此引脚接地XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时此引脚作为外部振荡器信号的输入端)(2)控制线引脚RST/Vpd:复位信号输入引脚备用电源输入引脚ALE:地址锁存允许信号输出引脚编程脉冲输入引脚EA:内外存储器选择引脚片外EPROM编程电压输入引脚PSEN:外部程序存储器选通信号输出引脚(3)并行IO引脚(4)P00-P07:一般IO口引脚或数据低位地址总线复用引脚(5)P10-P17:一般IO口引脚(6)P20-P27:一般IO口引脚或高位地址总线引脚(7)P30-P37:一般IO口引脚或第二功能引脚内部振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用如采用,如果采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
P0口(P0.0-P0.7):P0口是一个8位漏极开路型双向I/O端口。
P0口可做通用I/O口使用,但在端口进行输入操作前,应先向端口的输出锁存器写“1”。
在CPU访问片外存储器时,P0口自动作为地址/数据复用总线。
在编程时,由P0口输入指令字节,而在验证程序时,P0口输出指令字节(验证时应外接上拉电阻)。
P0口能以吸收电流的方式驱动8个LS型TTL负载。
P1口(P1.0-P1.7):P1口是一个内部带上拉电阻的8为准双向I/O端口。
当P1输出高电平是,能向外部提供拉电流负载,因此,不需再外接上拉电阻。
当端口用作输入时,也应先向端口的输出锁存器写入“1”。
在编程和验证程序时,P1口用来输入低8位地址。
P1口能驱动4个LS型TTL负载。
P2口(P2.0-P2.7):P2口也是一个内部带上拉电阻的8位准双向I/O端口。
当CPU访问外部存储器时,P2口自动用作输出高8位地址,与P0低8位地址一起形成外部存储器的16位地址总线。
此时,P2口不再作为通用I/O口使用。
P2口可驱动4个LS型TTL负载。
在编程和验证程序时,P2口用作接收高8为地址。
P3口(P3.0-P3.7):P3口是一个内部带上拉电阻的8位多功能双向I/O端口。
P3口除了作通用I/O端口外,其主要功能是它的各位还具有第二功能。
无论P3口作通用输入框还是作第二输入功能口使用,相应位的输出锁存器和第二输出功能段都应置“1”。
P3口能驱动4个LS型TTL负载。
P3口作为第二功能使用时各引脚定义如下:P3.0 ——RXD:串行口输入端;P3.1 ——TXD:串行口输出端;P3.2 ——INT0:外部中断0请求输入端;P3.3 ——INT1:外部中断1请求输入端;P3.4 ——T0:定时/计数器0外部信号输入端;P3.5 ——T1:定时/计数器1外部信号输入端;P3.6 ——WR:外RAM写选通信号输出端;P3.7 ——RD:外RAM读选通信号输出端。
为便于硬件拓展以及满足更多的使用有求,在P0、P2口处分别接1KΩ和2.2KΩ的上拉电阻,并在每个端口出添加VCC和GND引脚。
2.3.2、晶振输入电路设计单片机必须在时钟的驱动下才能工作,在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号,送到单片机内部的各个单元,决定单片机的工作速度。
时钟电路如下图AT89C51单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
AT89C51的时钟产生方式有两种:内部时钟电方式和外部时钟方式。
由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。
即利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。
最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30μF左右。
2.3.3、复位电路设计本设计中AT89C51是采用上电自动复位和按键复位两种方式。
复位电路可将单片机的各状态都恢复到初始化状态。
单片机的RES脚为硬件复位端,只要将持续高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态。