倒计时器单片机课程设计_第1页
倒计时器单片机课程设计_第2页
倒计时器单片机课程设计_第3页
倒计时器单片机课程设计_第4页
倒计时器单片机课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用课程设计任务书二级学院:电子信息与电气工程学院 专业:电子科学与技术 班级: 学生姓名指导老师职 称讲师 课题名称倒计时器 课题工作内容1、 设计内容:硬件电路的设计、软件电路的设计 2、 总体方案的选择、讨论确定。软件流程图的设计,硬件电路各部分的设计,程序的软调试、整机的调试。 3、 撰写设计报告 指标要求1、上电时4个数码管显示都为9 2、按下按键开始倒计时 3、知道4个数码管显示均为0 进程安排第一天 下达任务、讲授、查资料 第二天 方案确定 第三天、第四天 软、硬件设计 第五天第八天 软、硬件调试 第九天 撰写报告 第十天 答辩考核主要参考文献单片机原理及应用技术 范

2、力旻 电子工业出版社 例说8051 谢亮、陈敌北、 张义和 人民邮电出版社 单片机C语言应用100例 王东锋 王会良 电子工业出版社 51系列单片机设计实例 楼然苗 李光飞 北航出版社 单片微机测控系统设计大全 王福瑞编著 北航出版社 地点起止日期2011.9.1-2011.9.1610 单片机原理及应用课程设计 题 目 倒计时器 二级学院 电子信息与电气工程 班 级 姓 名 学 号 指导教师 设计时间 2011.9.15 目录第1章 、设计目的.2第二章、方案论证.22.1 开发意义.22.2 功能说明.2第三章、硬件电路.23.1 单片机概述.23.2 STC89C52芯片.53.3 LE

3、D数码管显示器概述.53.4 单片机最小系统.53.5 复位电路设计.53.6 晶振电路.6第4章 、系统调试.74.1 硬件调试.74.2 软件调试.8第5章 、参考文献.9第6章 、结束语.9致 谢.10 第1章 设计目的近年来随着计算机在社会领域的渗透, 单片机的应用正在不断 地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自 动控制的单片机应用系统中,单片机往往是作为一个核心部件来使 用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对 具体应用对象特点的软件结合,以作完善。 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中

4、、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。模拟多通道压力系统是利用压力传感器采集当前压力并反映在 显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理 可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒 计时器的设计与制作 ,对于倒计时器中的四位LED数码显示器来说, 我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用 专门的硬件译码器,而采用软件程序进行译码。第2章 方案论证2.1 开发意义本课题开发的意义在于它既节省了硬件成本,又能实现多功能。既可做倒计时秒表,又可进行定时,还可以通过扩展完成其他功能,而且功能的相互转换也十分简单。对于厂商,有很大

5、的挖掘潜在价值的空间;对于消费者,也有很大的吸引力。2.2 功能说明(1)本电路应用TIMER0 MODE 16 位计数器的计时中断法。 (2)1秒等于 1000000微秒,而每一计时脉冲是 1微秒,因此需 输入 100000个计时脉冲,方可达到 1秒的时间。由于 16位计数器初 值为0000H,需65536 个计时脉冲方可发生溢出,现在需 1000000个 脉冲,则溢出次数达 15.258次(100000065536=15.258 次)。 (3) 由上式得知实际应溢出16次,即: 1000000=65536*15+1696065536-16960=48576=BDC0H (4)由上式得知10

6、00000个脉冲,首先需设定TL0=C0H,TH0=BDH, 此时第 1次只要输入 16960个脉冲输入,就会溢出;第2 次至第 16 次,则需每65536 个计时脉冲,方才发生溢出。共计输入 16960+65536*15=1000000个计时脉冲。 (5)上电时,显示9999,当按下按键才开始倒数计时。 第3章 硬件电路3.1 单片机概述 单片机因将其主要组成部分集成在一个芯片上而得名,具体说 就是把中央处理器CPU(Central processing unit)。随机存储器RAM (Random accessmemory)。只读存储器ROM (Read only memory)。 中断系

7、统、定时器计数器以及 IO (Input/output)接口电 路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯片, 但从组成和功能上看,它已具有了计算机系统的属性。为此,称它为 单片微型计算机 SCMC (Single chip micro computer),简称单片机。 单片机主要应用与控制领域,用以实现各种测试和控制功能, 为了强调起控制属性,也可以把单片机称为微控制器 MCU (Micro controller unit)。在国际上, “微控制器”的叫法似乎更通用一 些,而在我国则比较习惯与 “单片机”这一名称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中, 即以

8、嵌入的方式进行使用,为了强调其嵌入的特点,也常常将单 片机称为嵌入式微控制器EMCU (Embedded micro controller unit)。 在单片机的电路和结构中,有许多嵌入式应用的特点。 3.2 STC89C52芯片(1) 芯片简介 89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多

9、的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。(2) 管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏

10、级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出

11、4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输

12、出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚备选功能。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(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,

13、ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-F

14、FFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.3 LED数码管显示器概述 LED数码显示器是一种有LED 发光二极管组合显示字符的显示器件。它使用了8个LED 发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为7 段发光二极管数码器。其内部结构如 下图所示。 LED 数码显示器有两种连接方法如下。 共阳极接法。把发光二极管的阳极连在

15、一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。 共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。 3.4 单片机最小系统最小系统就是单片机在发挥具体测控功能时所必须的组成部 分。如下图所示为最小系统方框图:3. 5 复位电路复位电路产生复位信号,复位信号送入 RST 后还要送至片内的施密特触发器,由片内复位电路在每个机器周器的 S5P2 时刻对触发器输出采样信号,然后由内部复位电路产生复位操作所要的信号。一般的复位电路可分为上电自动复位和按键复位,我们在此选用的是上电复位。上电自动复位原理:

16、RST 引脚是复位信号的输入端,只要高电平的复位信号持续两个机器周期以上的有效时间,就可以使单片机上电复位。上电自动复位是通过电容充电实现的,上电瞬间,RST 端 电位与Vcc 相同,随充电电流的减少,RST 的电位逐渐下降,直到复 位信号无效。按键复位在此不在作过多的介绍,其原理和上电复位是相同的。但其采用的是脉冲复位电路和电平复位电路两种。 复位电路和单片机最小系统如下图所示:3. 6 晶振电路晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波),这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。为了电路的稳定性起见,ATMEL公司只

17、是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10pf-50pf之间都可以的。但是主流是接入两个33pf的瓷片电容,此次电路用33PF。第4章 系统调试4. 1硬件调试 硬件电路在硬件调试时,先有万用表检查印制电路的焊接情况,检查是否有虚焊,是否有短路。在检查无误之后通电检查LED数码管的显示。开始时,数码管的亮度不够理想。经检查知,是段选电阻(接P0口的限流电阻)太大。最后,换成470欧的电阻后,数码管显示正常。总体电路正常,达到题目的要求。实际电路下图:完成了硬件的设计、制作和软件编程后,要使系统能够按设计意图正常运作,必

18、须进行系统调试。系统调试包括软件调试和硬件调试。不过,作为一个小计算机系统,其运行是软硬件相结合的,因此,软硬件的调试也是不可能绝对分开的,硬件的调试常常需要利用调试软件,软件的调试也可能需要对硬件的测试和控制来进行。(1)硬件调试。硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。1、脱机检查。用万用表逐步按照电路原理图检查印制电路中所有器件的各引脚,尤其是电源的连接是否正确:检查数据总线、地址总线和控制总线是否有短路等故障,顺序是否正确;检查各开关按键是否能正常开关,是否连接正常;各限流电阻是否短路等内容。为了保护芯片,应先对各IC电位进行检查,确定其无误后再插入芯片检查。2

19、、联机调试。暂时拔掉89C52芯片,将仿真器的40仿真插入89C52的芯片插座进行调试,检验键盘/显示接口电路是否满足要求设计。可以通过一些简单的测软件来查看接口工作是否正常。例如,我们可以设计一个软件,使89C52的P1、P2口输出55H或AAH,同时读P3口,运行后用万用表检查相应端口电平是否一高一低,在仿真器中检查读入的P3口8位是否为1,如果正常则说明89C52正常工作。还可以设计一个使所有LED全显示“8.”的静态显示程序来检验LED的好坏。如果运行测试结果与预期不符,很容易根据故障现象判断故障原因并采取针对性措施排除故障。(2) 软件调试。软件调试的任务是利用开发工具进行在线仿真调

20、试,发现和纠正程序错误,同时也能发现硬件故障。程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来进行联调。联调需要注意的是,各程序模块间能否正常传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下:1、用仿真器修改显示缓冲区内容,屏蔽拆字程序,调试动态扫描显示功能。例如将DISP0DISP4单元置为“01234”,应能在LED上从左到右显示“01234”。若显示不正确,可在显示子程序相应设置断点调试检查,然后用仿真器修改计时缓冲区内容,调试显示模块,例如,将HOUR、MIN、SEC单元置

21、为“01235”检查是否能正确显示“01.23.5”,若显示不正确,应在显示子程序相应位置设置断点,反复调试检验直至完全正确。2、运行主程序调试时模块,不按下任何键,检查是否从由60.00.0开始正确计时,若不能正确计时则应在定时器中断服务子程序中设置断点,检查HOUR、MIN、SEC、MSEC单元是否随断点运动而变化。然后屏蔽缓冲区初始化部分,用仿真器修改计时缓冲区内容为40:33.5,运行主程序,检验能否正确进位。3、调试键盘模块扫描,先用延时10ms子程序代替显示子程序延时消抖,在求取键号后设置断点,中断后观察A累加器中的键号是否正确,然后恢复用显示子程序延时消抖,检验与显示模块能否正常

22、连接。4、调试时间设置/闹钟定时模块TIMSEF。首先屏蔽中断子程序,单独调试键盘设置模块CKECKEY,观察显示缓冲区DISP0DISP4单元的内容是否随键入的键号改变,以及键号能否在LED上显示。然后屏蔽CKECKEY子程序,分别将R1设置为时间缓冲区和闹钟值寄存区的首地址,修改显示缓冲区内容,程序运行后查看时间设置缓冲区HOUR、MIN、SEC单元和闹钟值寄存区AHOUR、AMIN、ASEC单元内容是否正确。最后联调TIMSET模块。5、运行主程序联调,检查能否用键盘修改当前时间以及设置闹钟,能否正确计时、启闭、停闹。(3) 脱机运行。软、硬件调试成功之后,可以将程序固化到89C52的F

23、LASH ROM中,插入89C52芯片,接上电源脱机运行。既然软硬件读都可以调试成功,脱机运行似乎肯定成功,然而事实往往并非如此,仍有可能出现以下故障;1、系统不工作。其原因主要有晶振不起振,或是 EA脚没有接高电平(接地或悬空)等。2、系统工作时好时坏。这主要是由于干扰引起的。由于本系统没有传感输入通道和控制输出通道,干扰源相对较少且简单,因此,在电源、总线处对地接滤波电容一般可以解决问题。4.2 软件调试用到了Keil C软件,集成调试环境,集成了编辑器、译码器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM(汇编)、C语言多模块源程序混合调试,在直接修改、编译、调试源程序,错误指令定位。功能很强大,用于对程序的调试和编辑。本系统的程序的编写就是在Keil C软件中完成的,在程序中用到了两个定时器,为了使倒计时的时间准确,必须计算对定时器的初值,当程序完成之后,生成HEX文件。再利用Proteus软件进行仿真。经过仿真,程序符合题目的要求。五 参考文献1 余永权.AT89系列单片机应用技术.北京:北京航空航天大学出版社,20022 沈红卫.单片机应用系统设计实例与分析. 北京:北京航空航天大学出版社,

温馨提示

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

评论

0/150

提交评论