智能定时器毕业设计基于 51 单片机的智能定时控制器系统设计_第1页
智能定时器毕业设计基于 51 单片机的智能定时控制器系统设计_第2页
智能定时器毕业设计基于 51 单片机的智能定时控制器系统设计_第3页
智能定时器毕业设计基于 51 单片机的智能定时控制器系统设计_第4页
智能定时器毕业设计基于 51 单片机的智能定时控制器系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、安徽工商职业学院毕业设计毕 业 设 计 (论 文)课题名称: 基于51单片机的智能定时控制器系统设计 指导教师: 系 别: 电子信息系 专 业: 应用电子技术 班 级: 10电子(2)班 姓 名: 毕业设计(论文)任务书课题名称 基于51单片机的智能定时控制器系统设计 课题性质 工程应用 专 业 应用电子技术 班级 10电子(2)班 学生姓名 学号 指导教师 教研室主任 系部主任 发放日期 一、 课题条件:随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。数字电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相

2、比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。二、 毕业论文(设计)主要内容:1、 时间显示:用4位数码管显示当前小时和分钟,秒功能用两led灯代替(每秒闪烁一次)。2、 可手动设定时间。3、 开机流程:系统有红色和蓝色指示灯,上电10s内,每秒红色指示灯闪烁一次,并伴有蜂鸣声,作为开机/重启提醒,此时绿色指示灯灭。10s后红色指示灯灭,若光线较强则绿色指示灯亮,若光线较弱则绿色指示灯亮度减半进入节能模式。3、 具有整点报时功能(四短一长),可自行设定报时时间段;三、 计划进度:1. 资料的收集撰写开题报告 6月20日至9月8日 2. 方案设计 9月9日至

3、9月15日 3. 电路的设计指标分析与确定;后期的电路优化元器件的选择与参数确定9月16日至11月2日4. 毕业设计论文的修改、完善 11月3日至11月10日5. 毕业设计答辩11月15 日至11月20日四、 主要参考文献:a) 康光华主编.电子技术基础.北京:高等教育出版社,1999.6b) b)何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.07c) c)杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.06d) d)先锋工作室编著.单片机程序设计实例.北京:清华大学出版社.2003.01指导教师 (系)教研室主任 年 月 日 年 月 日 摘 要本次设

4、计以at89c51芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由5v直流电源供电。在硬件方面,除了cpu外,使用四个七段led数码管来进行显示,led采用的是动态扫描显示。通过led能够比较准确显示时、分。三个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示,调时,定时闹钟,报警等功能。 本设计是以atmel公司的at89c51单片机芯片为系统核心的智能定时控制器设计,论文具体描述了设计的系统硬件和软件的具体实现过程。智能定时控制器在硬件、软件设计上均采用模块化的方法,使得在设计 和调试方面取得很大的方便。论文重点阐述了数字钟硬件中mcu模块

5、、按键模块、显示模块等相关模块的模块化设计及制作;软件同样采用模块化的设计,包括中断模块、时间调整模块等设计,并采用简单流通性强的c语言编写实现。本设计实现 了年、月、日及时、分、秒的显示和时间修改的功能。通过对比实际的智能定时控制器,查找出误差的来源,确定调整误差的方法,尽可能的减少误差,使得系统可以达到实际智能定时控制器的允许误差范围内,取得了设计的预期效果。关键词:at89c51 数码管 模块化 数字钟目 录摘 要41概 述62设计方案62.1.要求功能.62.2.单片机芯片.62.3显示模块.72.4时钟芯片的选择.72.5电路设计方案确定.83单片机内部结构概述83.1at89c51

6、单片机.83.2单片机的定时/中断系统103.3显示系统.124硬件电路设计.124.1硬件系统设计的概述.124.2报警电路.134.3按键电路.144.4电源设计.154.5单片机最小系统.164.5.1单片机的复位电路164.5.2单片机系统的晶振电路174.6主电路设计.185 主程序和中断程序设计195.1主程序.195.2中断程序.216系统调试226.1软件调试概述.226.2软件调试.22结 论24致 谢25参 考 文 献261概 述 随着产业结构的不断调整、生产工艺的飞速发展、人们生活水平的不断提高及家用电器的逐渐普及, 市场对定时控制系统的需求越来越大. 如, 定时自动报警

7、、定时自动打铃、定时开关烘箱、定时通断动力设备以及各种电气的定时启动等都属于定时控制系统 1 . 定时控制系统的实现方法很多, 本文主要介绍以80c51 系列单片机中的at89c51 为核心的智能定时控制系统的设计实现方式. 80c51 系列单片机进入市场时间早, 总线开放, 仿真开发设备多, 芯片及其开发价格低廉、速度较快、电磁兼容性较好. 本文所述智能时钟控制系统主要包括时钟显示、时间校正、闹铃设置及各种设备定时开关机( 可扩展功能) 等功能. 实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。硬件部分主要由at89s52单片机,led显示电路,以及调时按键电路等组成,系统通过le

8、d显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括时钟程序、键盘程序,显示程序等。本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。所有程序编写完成后,在keil2软件中进行调试,确定没有问题后,在proteus软件中嵌入单片机内进行仿真在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有cpu控制器或者是单品具有便携实用,操作简单的特点。2设计方案2.1.要求功能1、 时间显示:用4位数码管显示当前小时和分钟,秒

9、功能用两led灯代替(每秒闪烁一次)。2、 可手动设定时间。3、 开机流程:系统有红色和蓝色指示灯,上电10s内,每秒红色指示灯闪烁一次,并伴有蜂鸣声,作为开机/重启提醒,此时绿色指示灯灭。10s后红色指示灯灭,若光线较强则绿色指示灯亮,若光线较弱则绿色指示灯亮度减半进入节能模式。4、具有整点报时功能(四短一长),可自行设定报时时间段;2.2.单片机芯片方案一: 采用89c51芯片作为硬件核心,采用flash rom,内部具有4kb rom 存储空间,能于3v的超低压工作,而且与mcs-51系列单片机完全兼容,但是运用于电路设计中时由于不具备isp在线编程技术, 当在对电路进行调试时,由于程序

10、的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用at89c51,片内rom全都采用flash rom;能以3v的超底压工作;同时也与mcs-51系列单片机完全该芯片内部存储器为8kb rom 存储空间,同样具有89c51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用at89s52作为主控制系统.2.3显示模块方案一:采用led液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口

11、线多,所以在此设计中不采用led液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用led数码管动态扫描,led数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了led数码管作为显示。2.4时钟芯片的选择方案一:采用实时时钟芯片直接采用单片机定时计数器提供秒信号,使用程序实现、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:软件控制:利用at89s5

12、1内部定时进行中断,配合软件延时实现时、分、秒的计时,该方案节约成本,且能综合运用知识2.5电路设计方案确定综上各方案所述,对此次作品的方案选定: 以单片机at89c51为主控制器,采用单片机内部定时、行列式键盘和动态led显示3单片机内部结构概述3.1at89c51单片机at89c51是一种低功耗、性存储器技术制造, 8k字节flash,256字节ram,32 位i/o 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89c51 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工

13、作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。80c51:40个引脚双排直插dip封装,大致可分为3类:电源及时钟、控制和i/o引脚。图3.1 89c51单片机引脚图 图3.2 单片机片内结构图: 由如下功能部件组成:对图3.2中的片内各部件做简单介绍。 1.cpu(微处理器)2.数据存储器(ram) 片内为128个字节(52子系列的为256个字节)3.程序存储器(rom/eprom) 89c51/89c52/89c55:4k/8k/20k 字节闪存。4. 4个并行可编程的8位i/o口 p1

14、口、p2口、p3口、p0口5. 串行口1个全双工的异步串行口,具有四种工作方式。6. 定时器/计数器7. 中断系统8. 特殊功能寄存器(sfr)共有21个,是一个具有特殊功能的ram区。cpu对各种功能部件的控制是采用特殊功能寄存器(sfr,special function register)的集中控制方式。 图3.3 89c51单片机功能结构3.2单片机的定时/中断系统51内部集成定时/计数器的基本特征:q 51系列单片机内部提供2个16位的递增定时/计数器t0和t1。q 可以设置为定时或者计数器工作。q 有多种可选的工作模式,通过sfr-tmod选择使用。q 对应两个中断源,可用中断处理。

15、 q 主要作用: 对外部脉冲计数、产生精确定时时间、作串行口的波特率发生器。 图3.5 t0、t1的结构 tmod寄存器的m1,m0位设置四种工作方式模式0:13位定时/计数器 计数寄存器:thx和tlx低5位 最大计数值:213:模式1:16位定时/计数器 计数寄存器:thx和tlx 最大计数值:216模式2: 8位自动重载定时/计数器 计数寄存器:tlx 计数初值重载寄存器:thx 最大计数值28模式3:仅t0可用,将t0拆为两个独立8位定时器80c51的中断源外部中断0(int0)外部中断1(int1)t0溢出中断(tf0)t1溢出中断(tf1)串行口中断(ri或ti)触发方式设置及中断

16、标志76543210tcontf1tr1tf0tr0ie1it1ie0it0字节地址:88h外部中断标志ie1、ie0(用iex表示)电平方式(itx=0),intx引脚低电平时iex=1,响应中断后iex不自动清0(intx引脚状态)。 边沿方式(itx=1),intx引脚负跳变时iex=1,响应中断后iex自动清0。同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:3.3显示系统led显示器由若干个发光二极管组成,当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的管导通,就能显示出对应字符。各段

17、led显示器需要由驱动电路驱动。在七段led显示器中,通常将各段发光二极管的阴极或阳极连在一起作为公共端。将各段发光二极管连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。静态显示就是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,cpu把要显示的字形代码送到输出口上,就可以使显示器上显示所需的数字或符号,此后,即使cpu不在去访问它,因为各笔画段借口具有锁存功能,显示的内容也不会消失。动态显示是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。静态显示有并行输出和串行输出两种方式。在本系统中数码管使用共阴极接法而且是用动态显示。本设计利用

18、一个4位七段数码管显示时钟结果。4硬件电路设计4.1硬件系统设计的概述本电路是由at89c51单片机为控制核心,具有在线编程功能,低功耗,能在3v超低压工作;时钟电路由ds1302提供,它是一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个31*8的用于临时性存放数据的ram寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由15个数

19、码管,74hs138、74ls244构成。使用动态扫描显示方式对数字的显示。硬件的结构和可靠性直接影响着整个系统的可靠性,所以合理的安排电路能提高电子产品的性能。整体电路设计框图时钟电路电源电路led数码管显示电路复位电路键盘模块报警模块 at89c51主控制 模块图4.1电路设计框图框图介绍了智能定时控制器系统设计的主要组成部分,系统主要分成核心芯片at89c51单片机、电源模块、时钟模块、报警模块、复位电路模块、键盘输入模块以及led数码管显示模块等七大模块,很好的实现了智能定时控制器的一些主要功能。本电路是由at89c51单片机为控制核心,具有在线编程功能,低功耗,能在3v超低压工作。采

20、用内部时钟的驱动方式来驱动at89c51单片机工作,内部复位的方式使系统的外围电路更加简单,减少了硬件的损耗,利用俩个不同颜色的发光二极管来表示秒钟,其他的显示电路部分由一个4位7段数码管构成,使用动态扫描显示方式对数字的显示,整个系统具有使用寿命长,精度高和低功耗等特点,实现了智能定时控制器的一些主要功能:4.2报警电路蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机io引脚输出的电流较小,单片机输出的ttl电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。s51增强型单片机实验板通过一个三极管c8550来放大驱动蜂鸣器,原

21、理图见下面图4.6:图4.2 蜂鸣器驱动电路如图3.6所示,蜂鸣器的正极接到vcc(5v)电源上面,蜂鸣器的负极接到三极管的发射极e,三极管的基级b经过限流电阻r1后由单片机的p3.7引脚控制,当p3.7输出高电平时,三极管t1截止,没有电流流过线圈,蜂鸣器不发声;当p3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制p3.7脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机p3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变p3.7输出电平则可以控制蜂鸣器的声音大小,这些我们都可以通过实验来显示报警器电路模

22、块。4.3按键电路按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应 的i/o端口形一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定。 这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动的持续时间长 短与开关的机械特性有关,一般在510ms之间。为了避免cpu多次处理按键的一 次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用i/o口线构成单 个按键电路,每个按键占用一条i/o口线,每个按键的工作状态不会产生相互影响。 图4.3 按键电路 4.4电源设计在这里因设计分工和侧重点不同,电源模块用通用的5v变压器。从图上看220v交流电经过一个变压器进行

23、降压,变压器后面由四个二极管组成一个桥式全波整流电路,整流后就得到一个电压波动很大的直流电,所以在这里接一个330u/f的电解电容。变压器输出端的9v电压经过桥式整流并电容滤波,在电容c1两端大约会有11v多一点的电压,如果电容两端直接接负载,当负载变化或者交流电波动时会使c1两端的电压变化很大,为得到一个比较稳定的电压因此在此处接一个三端稳压器元件。三端稳压器是一个集成电路元件,内部有三极管和电阻构成当负载电流大时内部电阻变小,当负载电流小时内部电阻变大,这样能保持稳压器的输出电压保持基本不变,本设计要+5v电压,因此选用lm7805,lm7805最大可以输出1a的电流,内部有限流式短路保护

24、,可以很稳定的进行电流输出图4.4 电源电路4.5单片机最小系统4.5.1单片机的复位电路图4.5.1 手动复位电路二、复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。开机的时候为什么为复位在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5v,所以充电到0.7倍即为3.5v),需要的时间是

25、10k*10uf=0.1s。也就是说在电脑启动的0.1s内,电容两端的电压时在03.5v增加。这个时候10k电阻两端的电压为从51.5v减少(串联电路各处电压之和为总电压)。所以在0.1s内,rst引脚所接收到的电压是5v1.5v。在5v正常工作的51单片机中小于1.5v的电压信号为低电平信号,而大于1.5v的电压信号为高电平信号。所以在开机0.1s内,单片机系统自动复位(rst引脚接收到的高电平信号时间为0.1s左右)。按键按下的时候为什么会复位在单片机启动0.1s后,电容c两端的电压持续充电为5v,这是时候10k电阻两端的电压接近于0v,rst处于低电平所以系统正常工作。当按键按下的时候,

26、开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1s内,从5v释放到变为了1.5v,甚至更小。根据串联电路电压为各处之和,这个时候10k电阻两端的电压为3.5v,甚至更大,所以rst引脚又接收到高电平。单片机系统自动复位。在系统运行的过程中,有时可能对系统需要进行复位,为了避免对硬件系统经常加电和断电造成的损害,设计了手动的复位电路。如图4-2所示。这种电路的设计,在系统的运行过程中需要复位时,只需使开关闭合,在rst端就会出现一定时间的高电平信号,从而使单片机实现复位。4.5.2单片机系统的晶振电路单

27、片机必须在时钟的驱动下才能进行工作。mcs-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就能产生一定频率的时钟信号送到单片机的内部的各个单元,决定单片机的工作速度。图4-3就是内部时钟工作方式的电路图,这是一种常用的方式。这种方式是外界振荡源,本设计就采用这种外接晶振的方法。电路中的两个电容的作用有两个:一是帮助振荡器起振(c1 c2的值大,起振的速度慢;反之,速度快。);二是对振荡器的频率起到微调的作用(c1 c2的值大,频率略有减少,反之,频率略有提高)。c1 c2的值采用30pf。图4.5.2 单片机内部晶振电路连接图 内部时钟原理图 (就是一个自激振荡电路)在内部方式时钟电

28、路中,必须在xtal1和xtal2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常c1和c2一般取30pf,晶振的频率取值在1.2mhz12mhz之间。对于外接时钟电路,要求xtal1接地,xtal2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12mhz即可。晶体振荡器的振荡信号从xtal2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号p1和p2供单片机使用。时钟信号的周期称为状态时间s,它是振荡周期的2倍,p1信号在每个状态的前半周期有效,在每个状态的后半周期p2信号有效。cpu就是以两相时钟p1和p2为基本节拍协调单片机各部分有

29、效工作的。2.指令时序我们将单片机的基本操作周期称作机器周期,一个机器周期由6个状态组成,每个状态由两个时相p1和p2构成,故一个机器周期可依次表示为s1p1,s1p2,s6p1,s6p2,即一个机器共有12个振荡脉冲。为了大家便于分析cpu的时序,在此先对以下几个概念作一介绍。(1)振荡周期振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。(2)时钟周期时钟周期又称作状态周期或状态时间s,它是振荡周期的两倍,它分为p1节拍和p2节拍,通常在p1节拍完成算术逻辑操作,在p2节拍完成内部寄存器之间的传送操作。(3)机器周期一个机器周期由6个状态组成,如果把一条指令的执行过程分作几

30、个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。(4)指令周期指令周期即执行一条指令所占用的全部时间,通常为14个机器周期。在图2.12中给出了mcs51单片机的典型取指、执行时序。由图可知,在每个机器周期内,地址锁存信号ale两次有效,一次在s1p2与s2p1之间,另一次在s4p2和s5p1之间。从图2.12我们可以看出,对于单周期指令,当操作码被送入指令寄存器后,指令的执行从s1p2开始。若对于双字节单周期指令,则在同一机器周期的s4期间读入第二个字节。如果是单字节单周期指令,则在s4期间仍然保持读操作,但所进行的读操作为无效操作,同时程

31、序计数器pc并不加1。在图2.12(a)和(b)给出了单字节单周期和双字节单周期指令的时序,这些操作都在s6p2结束时完成指令操作。在图2.12(c)中给出了单字节双周期指令时序,在两个机器周期内进行了四次读操作,由于是单字节指令,故后面的三次读操作是无效的。在图2.12(d)中给出了访问外部数据存储器指令movx的时序,它是一条单字节双周期指令。在执行movx指令期间,外部数据存储器被访问且选通时跳过两次取指操作,其中在第一个机器周期s5开始送出片外数据存储器的地址后,进行读、写数据,在此期间并无ale信号,故第二周期不产生取指操作。4.6主电路设计系统设计如下图:单片机的p0口作为6位le

32、d数码管显示的位选口,其中p0.0p0.5分别对应相应的端口,p1作为位选口,由于采用共阴极数码管,因此p0口输出低电平选中相应的位,而p1口输出高电平选中相应的段。图4.6主电路图5 主程序和中断程序设计5.1主程序主程序主要有main()组成通过对相关子程序的调用,实现对时间的设置与修改、lcd显示等主要功能。相关的调整是靠对功能键的判断来实现的。我们用流程框图来表示,如下图图5.1 主程序框图void main() /主函数 tmod|=0x11; th0=(65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1; shi=

33、12;fen=59;miao=0;green=0;beep=0; /十分秒的初始值 handle_1(shi); handle_2(fen); display_1(); /显示时钟初始值 display_2(); /显示分钟初始值 while(1) scan_key(); /调用按键扫描函数 time_1(); /调用时钟函数 handle_1(shi); /对小时拆分 handle_2(fen); /对分钟拆分 display_1(); /显示小时 display_2(); /显示分钟 5.2中断程序/函数名:clock/函数功能:定时器t0定时中断,interrupt 1/形式参数:无/返

34、回值:无void clock() interrupt 1 ea=0; /关中断 if(msec1!=0x28) msec1+; /到10毫秒否,不到则msec1加1 else msec1=0;if(msec2!=100)msec2+; /到1秒否,不到则msec2加1 else if(rtimbit=1)count+; msec2=0;if(clockbuf2!=59) clockbuf2+; /到1分否,不到则clockbuf2加1 else clockbuf2=0; if(clockbuf1!=59) clockbuf1+; / 到1小时否,不到则clockbuf1加1else clock

35、buf1=0; if(clockbuf0!=23) clockbuf0+; / 到24时否,不到则clockbuf0加1 else clockbuf0=0; ea=1; /开中断6系统调试6.1软件调试概述单片机系统经过总体设计,完成了硬件和软件设计开发。通过软件和硬件相结合系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,经常会出现一些硬件、软件上的错误,这是软件和硬件开发者经常遇见的,这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。本设计系统的已经在pc机上用模拟开发软件进行了检测和调试,并运行成功,最后进行实物图的硬件组装与调试,这样就给开

36、发者在提供了方便。6.2软件调试本设计是在proteus软件和keil2软件相结合调试的,完全用仿真软件在pc机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,以确定程序运行有无错误。目标程序纠错:该阶段工作通常在目标程序编辑时就完成。一般来说,仿真软件能为用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。整体程序调试:即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。图6.2 定时器调试的结果 图6.2 定时器调试

温馨提示

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

评论

0/150

提交评论