设计要求总体方案硬件设计软件设计系统调试与运行课件

上传人:des****85 文档编号:295537860 上传时间:2022-05-20 格式:PPT 页数:203 大小:1.28MB
返回 下载 相关 举报
设计要求总体方案硬件设计软件设计系统调试与运行课件_第1页
第1页 / 共203页
设计要求总体方案硬件设计软件设计系统调试与运行课件_第2页
第2页 / 共203页
设计要求总体方案硬件设计软件设计系统调试与运行课件_第3页
第3页 / 共203页
设计要求总体方案硬件设计软件设计系统调试与运行课件_第4页
第4页 / 共203页
设计要求总体方案硬件设计软件设计系统调试与运行课件_第5页
第5页 / 共203页
点击查看更多>>
资源描述

《设计要求总体方案硬件设计软件设计系统调试与运行课件》由会员分享,可在线阅读,更多相关《设计要求总体方案硬件设计软件设计系统调试与运行课件(203页珍藏版)》请在金锄头文库上搜索。

1、第10章 单片机系统的应用与开发设计要求设计要求总体方案总体方案硬件设计硬件设计软件设计软件设计系统调试与运行系统调试与运行第第1010章章单单片片机机的的应应用用系系统统设设计计与与开开发发本章内容本章内容Single Chip Microcomputer第10章 单片机系统的应用与开发 第第10章章 单片机应用系统的设计与开发单片机应用系统的设计与开发10.1课程设计课程设计电脑钟的设计与制作电脑钟的设计与制作10.2应用系统设计实例应用系统设计实例单片温度控制系统单片温度控制系统10.3单片机应用系统开发的一般方法单片机应用系统开发的一般方法10.4单片机应用系统实用技术单片机应用系统实

2、用技术10.5抗干扰设计抗干扰设计返回主目录第10章 单片机系统的应用与开发第第10章章单片机应用系统的设计与开发单片机应用系统的设计与开发 10.1 课程设计课程设计电脑钟的设计与制作电脑钟的设计与制作 10.1.1 设计要求设计要求设计并制作出具有如下功能的电脑钟:(1)自动计时,由6位LED显示器显示时、分、秒。(2)具备校准功能,可以直接由09数字键设置当前时间。(3)具备定时起闹功能。(4)一天时差不超过1秒钟。第10章 单片机系统的应用与开发 10.1.2 总体方案总体方案 1. 计时方案计时方案方案一:采用实时时钟芯片。针对计算机系统对实时时钟功能的普遍需求,各大芯片生产厂家陆续

3、推出了一系列的实时时钟集成电路,如DS1287、DS12887等。这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。计算机间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。第10章 单片机系统的应用与开发方案二:软件控制。利用MCS-51内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使读者在定时/计数器的使用、中断及程

4、序设计方面得到锻炼与提高,因此本系统将采用软件方法实现计时。 2. 键盘键盘/显示方案显示方案对于实时时钟而言,显示显然是另一个重要的环节。如前所述,通常有两种显示方式:动态显示和静态显示。方案一:串口扩展,LED静态显示。第10章 单片机系统的应用与开发如图10.1(a)所示,该方案占用口资源少,采用串口传输实现静态显示,显示亮度有保证,但硬件开销大,电路复杂,信息刷新速度慢,比较适用于并行口资源较少的场合。方案二:8155扩展,LED动态显示。如图10.1(b)所示,该方案硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。第10章 单片

5、机系统的应用与开发图10.1显示方式框图(a)静态显示框图;(b)动态显示框图第10章 单片机系统的应用与开发 10.1.3 硬件设计硬件设计 1. 电路原理图电路原理图电脑钟电路的核心是89C51单片机,其内部带有4KB的FLASHROM,无须外扩程序存储器;电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片外RAM。系统配备6位LED显示和43键盘,采用8155作为键盘/显示接口电路。利用8155的A口作为6位LED显示的位选口,其中,PA0PA5分别对应位LED0LED5,B口则作为段选口,C口的低3位为键盘输入口,对应02行,A口同时用作键盘第10章

6、单片机系统的应用与开发的列扫描口。由于采用共阴极数码管,因此A口输出低电平选中相应的位,而B口输出高电平点亮相应的段。P1.0接蜂鸣器,低电平驱动蜂鸣器鸣叫启闹。由图10.2可见,8155的地址分配如下:控制寄存器:8000H,定义为PORTA口:8001H,定义为PORTAB口:8002H,定义为PORTBC口:8003H,定义为PORTC如果使用本书配备的实验板实现该电脑钟,需将8155地址改变为第10章 单片机系统的应用与开发图10.2电脑钟硬件原理图第10章 单片机系统的应用与开发控制寄存器:4400HA口:4401HB口:4402HC口:4403H并通过引出的P1口外接一个蜂鸣器电路

7、,或是用P1口上的发光二极管模拟闹钟功能。需要指出的是,实验板使用的是8031芯片,使用外扩程序存储器EPROM2764,因此其脚必须接地。第10章 单片机系统的应用与开发 2. 系统工作流程系统工作流程本电脑钟具备以下功能:(1)时钟显示:6位LED从左到右依次显示时、分、秒,采用24小时计时。(2)键盘功能:采用43键盘,包括:09数字键,键号为00H09HC/R键时间设定/启动计时键,键号为0AHALM键闹钟设置/启闹/停闹键,键号为0BH(1)时间显示:上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间。第10章 单片机系统的应用与开发(2)时间调整:按下C

8、/R键,系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间。按下09数字键可以顺序设置时、分、秒,并在相应LED管上显示设置值,直至6位设置完毕。系统将自动由设定后的时间开始计时显示。(3)闹钟设置/启闹/停闹:按下ALM键,系统继续计时,显示00:00:00,进入闹钟设置状态,等待键入启闹时间。按下09数字键可以顺序进行相应的时间设置,并在相应LED管上显示设置值,直至6位设置完毕。这将启动定时启闹功能,并恢复时间显示。定时时间到,蜂鸣器鸣叫,直至重新按下ALM键停闹,并取消闹钟设置。第10章 单片机系统的应用与开发 10.1.4 软件设计软件设计 1. 系统资源分配系统资源

9、分配为方便阅读程序,先对系统的资源分配加以说明。(1)定时器:定时器0用作时钟定时,按方式1工作,每隔100ms溢出中断一次。(2)片内RAM及标志位的分配与定义见表10.1。第10章 单片机系统的应用与开发地地址址功功能能名名称称初始化值初始化值30H35H显示缓冲区,小时、分、秒(高位显示缓冲区,小时、分、秒(高位在前)在前)DISP0DISP500H3CH3FH计时缓冲区,时、分、秒、计时缓冲区,时、分、秒、100msHOUR,MIN,SEC,MSEC00H40H42H闹钟值寄存区,时、分、秒闹钟值寄存区,时、分、秒AHOUR,AMIN,ASECFFH50H7FH堆栈区堆栈区PSW.5计

10、时显示允许位(计时显示允许位(1:禁止,:禁止,0:允:允许)许)F00PSW.1闹钟标志位(闹钟标志位(1:正在闹响,:正在闹响,0:未:未闹响)闹响)F10表表10.1 电子钟控制软件片内电子钟控制软件片内RAM及标志位分配表及标志位分配表第10章 单片机系统的应用与开发 2. 软件流程软件流程根据上述工作流程,软件设计可分为以下几个功能模块:(1)主程序:初始化与键盘监控。(2)计时:为定时器0中断服务子程序,完成刷新计时缓冲区的功能。(3)时间设置与闹钟设置:由键盘输入设置当前时间与定时启闹时间。(4)显示:完成6位动态显示。第10章 单片机系统的应用与开发(5)键盘扫描:判断是否有键

11、按下,并求取键号。(6)定时比较:判断启闹时间到否?如时间到,则启动蜂鸣器鸣叫。(7)其它辅助功能子程序,如键盘设置、拆字、合字、时间合法性检测等。下面分模块进行软件设计:(1)主程序模块MAIN:流程图如图10.3所示。(2)计时程序模块CLOCK:流程图如图10.4所示。第10章 单片机系统的应用与开发图10.3主程序流程图第10章 单片机系统的应用与开发图10.4计时程序流程图第10章 单片机系统的应用与开发如前所述,系统定时采用定时器与软件循环相结合的方法。定时器0每隔100ms溢出中断一次,则循环中断10次延时时间为1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次

12、则时间重新回到00:00:00。设系统使用6MHz的晶振,定时器0工作在方式1,则100ms定时对应的定时器初值可由下式计算得到:定时时间=(216-定时器0初值)(12/fosc)因此,定时器0初值=3CB0H,即TH0=3CH,TL0=0B0H第10章 单片机系统的应用与开发当系统使用其它频率的晶振时,可以由上式计算相应的定时器0初值,也可以改变定时时间。例如当系统晶振为12MHz时,同样的初值对应的定时时间为50ms,则循环中断次数为20次时,延时时间为1s。第一,定时器溢出产生中断请求,CPU并不一定立即响应中断,而可能需要延迟一个中断响应时间之后才能响应中断,中断响应时间大约为38个

13、机器周期。显然,这将在定时时间中加入额外的延时时间,导致计时误差。第10章 单片机系统的应用与开发为了保证计时精度,必须采取措施进行补偿。我们采用增大重装的定时器0初值的方法来减少定时器0定时时间。具体应调整为多大,一般需要通过调试来确定。经测试,定时器0重装初值设为3CB7H3CBFH可以满足精度要求。第二,时间是按十进制递增,而MCS-51单片机只有二进制加法指令,因此用加法指令计时必须进行二十进制转换。(3)时间设置程序和闹钟定时程序模块MODIFY:流程图如图10.5所示。第10章 单片机系统的应用与开发图10.5时间设置/闹钟定时流程图第10章 单片机系统的应用与开发将键盘输入的6位

14、时间值合并为3位压缩BCD码(时、分、秒)送入计时缓冲区和闹钟值寄存区,作为当前计时起始时间或闹钟定时时间。该模块的入口为计时缓冲区或闹钟值寄存区的首地址,置入R1中。程序调用一个键盘设置子程序KEYIN(如图10.6所示)来将键入的6位时间值送入键盘设置缓冲区,然后用合字子程序COMB将键盘设置缓冲区中的6位BCD码合并为3位压缩BCD码,送入计时缓冲区或闹钟值寄存区。该程序同时作为时间值合法性检测程序,若键盘输入的小时值大于23,分和秒值大于59,则不合法,将取消本次设置,清零重新开始计时。第10章 单片机系统的应用与开发图10.6键盘设置子程序流程图第10章 单片机系统的应用与开发图10

15、.7键盘扫描流程图(4)键盘扫描程序模块KEYSCAN:流程图如图10.7所示。第10章 单片机系统的应用与开发判断是否有键按下,无键按下则循环等待;有键按下则求取键号并将键号送A累加器返回。程序中的去抖延时和循环等待延时都用DISPLAY子程序来代替,从而保证随时刷新显示。键盘扫描程序在第7章中有详细的叙述,在此不再赘述。(5)显示程序模块DISPLAY:流程图如图10.8所示。将显示缓冲区中的6位BCD码用动态扫描方式显示。为此,必须首先将3字节计时缓冲区中的时、分、秒压缩BCD码拆分为6字节(百位、十位分别占有1字节)BCD码,这一功能由拆字子程序SEPA来实现。第10章 单片机系统的应

16、用与开发图10.8显示流程图第10章 单片机系统的应用与开发需要注意的是,当按下时间或闹钟设置键后,在6位设置完成之前,应显示键入的数据,而不显示当前时间。为此,我们设置了一个计时显示允许标志位F0,在时间/闹钟设置期间F0=1,不调用SEPA,即调用SEPA刷新显示缓冲区的前提条件是F0=0。(6)定时比较程序模块ALARM:流程图如图10.9所示。将当前时间(计时缓冲区的值)与预设的启闹时间(闹钟设置寄存区的值)比较,二者完全相同时,启动蜂鸣器鸣叫,并置位闹钟标志位。返回后,待重新按下ALM键停闹,并清零闹钟标志。第10章 单片机系统的应用与开发图10.9定时比较流程图第10章 单片机系统的应用与开发(7)拆字程序SEPA与合字程序COMB:如前所述,拆字程序的功能是将3字节计时缓冲区中的时、分、秒压缩BCD码拆分为6字节(百位、十位、个位分别占有2字节)BCD码并刷新显示缓冲区;合字程序的功能是将键盘设置缓冲区中的6位BCD码合并为3位压缩BCD码,送入计时缓冲区或闹钟值寄存区,同时检测时间值的合法性。下面给出各模块的源程序。;*主程序MAIN*第10章 单片机系统的应用与开发O

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号