ImageVerifierCode 换一换
格式:PPT , 页数:67 ,大小:711KB ,
资源ID:13332773      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13332773.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第9章 综合设计实例.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第9章 综合设计实例.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本章学习目标,:,本章介绍了单片机的选型及应用系统的设计过程。通过一个综合实例,完整地介绍了,89C51,与外围电路的硬件接口及软件设计。通过对本章的学习,读者应达到以下目标:,能熟悉单片机系统设计的基本要求及研发过程,学会正确选择单片机的型号,能看懂设计实例,并尝试对具体课题进行总体设计,第,9,章,综合设计实例,9.1,单片机应用系统设计过程,9.1.1,单片机系统设计的基本要求,1,可靠性要高,应选用可靠性高的元器件,以防止器件的损坏影响系统的可靠运行;,选用典型电路,排除电路的不稳定因素;,采用必要

2、的冗余设计或增加系统的故障自检测和自处理功能;,采取必要的抗干扰措施,以防止环境干扰。,2,操作维修要方便,系统结构要规范化、模块化;,系统的控制开关不能太多,不能太复杂;,操作顺序简单明了,操作功能简明直观;,易于查找故障和排除故障。,3,性能价格比要高,优化系统设计,简化外围硬件电路,或采用硬件软化技术提高系统的性能价格比。,4,具有自我保护意识,应考虑软件具有加密功能,使固化到单片机内的用户程序不能被非法读出或复制。,9.1.2,单片机应用系统的组成,任何单片机应用系统都由硬件和软件两大部分组成。,1,硬件组成,硬件由单片机、存储器、若干,I/O,接口及外围设备等组成,如图,9,1,所示

3、图,9,1,单片机系统硬件组成示意图,(,1,),单片机,是整个系统的核心部件,能运行程序和处理数据。,(,2,),存储器,用于存储单片机程序(程序存储器)及数据(数据存储器)。,(,3,),I/O,接口,是单片机与外部被控对象的信息交换通道。包括以下几部分:,数字量(频率、脉冲等),I/O,接口,开关量(继电器开关、无触点开关、电磁阀等),I/O,接口,模拟量,I/O,接口(,A/D,或,D/A,转换电路),(,4,)通用外部设备,是进行人,机对话的联系纽带。包括以下几部分:,键盘,用于输入数据及修改系统参数等。,显示器,用于显示控制系统工作状态及各种被测参数。,打印机,用于打印各种待分

4、析及处理的数据或图表。,(,5,)检测与执行机构,检测单元,用于将各种被测参数转变成电量信号,供计算机处理。一般采用传感器实现。,执行机构,用于驱动外部被控对象,一般有电动、气动和液压等驱动方式。,2,软件组成,软件主要由应用软件和开发软件两大类构成。,(,1,)应用软件,是由软件设计者提供的、针对不同单片机控制系统功能所编写的软件,专门用于对整个单片机系统的管理和控制。,(,2,)开发软件,是指在开发、调试控制系统时使用的软件,如汇编程序、编译程序、调试和仿真程序、固化程序等。,9.1.3,应用系统的研制开发过程,1,确定总体设计方案,开 始,用户需求分析及方案调研,确定功能指标,选机型,划

5、分软硬件,系统扩展方案设计,外围电路、接口电路方案设计,系统硬件电路设计,硬件电路检查,按功能确定软件模块,软件结构设计,模块化软件编制,汇编,硬件系统诊断,测试软件,硬件合格?,模块化软件调试,模块化软件合 格?,软件修改,所有模块化软件均调试完?,N,Y,Y,N,N,Y,接开发装置,所有模块化软件链接,运行调试程序,合格?,软件修改,程序固化到,EPROM,脱机运行,完成设计,N,Y,(1),用户需求分析与方案调研,目的:,通过对市场及用户的了解明确应用系统的设计目标及技术指标。,内容主要:,对国内外同类系统的状态分析;,明确被控、被测参数的形式(电量,非电量,模拟量,数字量等)、被测控参

6、数的范围、性能指标、系统功能、显示、报警及打印要求;,确定课题的软、硬件技术难度及主攻方向等。,(,2,)可行性分析,目的:对系统开发研制的必要性及可行性做出明确的判断并决定开发工作是否继续。,(,3,)系统方案设计,目的:,为整个系统设计建立一个逻辑模型。,主要内容:,进行必要的理论分析和计算,确定合理的控制算法;,选择机型;,划分系统软、硬件的功能,合理搭配软、硬件比重;,确定系统的硬件配置,包括系统的扩展方案、外围电路的配置及接口电路方案的确定,并画出各部分的功能框图;,确定系统软件功能模块的划分及各功能模块的程序实现方法,并画出流程图;,估计系统的软、硬件资源并进行存储空间的分配。,2

7、系统的详细设计与制作,包括硬件设计与软件设计两大部分。,(,1,)硬件设计,任务:,根据总体设计要求,设计系统的硬件电路原理图,并初步设计印制电路板等。,主要内容:,单片机系统扩展(如存储器扩展、,I/O,接口扩展、中断系统扩展等);,系统配置(如键盘、显示器、打印机、,A/D,或,D/A,转换等),单片机,系统扩展及配置应遵循的原则:,尽量选用典型通用的电路;,系统扩展及配置应留有余地,以便于今后的系统扩充;,硬件结构应结合软件考虑,尽可能用软件代替硬件,简化硬件结构;,应选用性能匹配且功耗低的器件;,适当考虑,CPU,的总线驱动能力;,注意可靠性及抗干扰设计。,(,2,)软件设计,软件设

8、计的思想见第,3,章,软件设计的内容及步骤如,图,9,3,所示。,系统定义,定义各输入,/,输出端口地址及工作方式,分配主程序、中断程序、表格、堆栈等存储空间;,软件结构设计,常用,的程序设计方法有,模块化程序设计,(见第,3,章)、,自顶向下逐步求精程序设计,、,结构化程序设计,三种。,建立数学模型,用于描述各输入变量和输出变量之间的数学关系并确定算法。,绘制程序流程图,根据系统功能、操作过程、软件结构及算法进行绘制。,编写程序,依据流程图选择适合的语言来编写主程序及各功能模块程序。,汇编与调试,将编写好的用户程序汇编成机器码,并利用仿真器进行调试和修改。,开 始,系统定义,软件结构设计,建

9、立数学模型,绘制程序流程图,编写程序,汇 编,在线仿真调试,程序有错?,修改程序,固化到,EPROM,结 束,Y,N,图,93,软件设计步骤,硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),通过执行开发系统有关命令或测试程序,检查用户系统硬件中存在的故障。它又可分为静态调试和动态调试两步:,静态调试即用户系统未工作时的一种硬件检查。,一般采用目测、万用表测试、加电测试等方法对印制电路板及各芯片、器件进行检查。,动态调试是在用户系统工作时发现和排除硬件故障的一种硬件检查。,其一般方法是先进行各单元电路调试再进行全系统调试。,什么是硬件调试?,3,仿真调试,仿真调试分硬件调试、软件调试和

10、系统联调三个阶段。,(,1,)硬件调试,(,2,)软件调试,软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。,软件调试的一般方法是先独立后联机、先分块后组合、先单步后连续。,什么是软件调试?,(,3,)系统联调,系统联调是指让用户系统的软件在其硬件上实际运行,并进行软、硬件联合调试。,4,程序固化及独立运行,5,文件编制阶段,文件应包括:,任务描述;,设计的指导思想及设计方案论证;,性能测定及现场试用报告与说明;,使用指南;,软件资料(流程图、子程序使用说明、地址分配、程序清单);,硬件资料(电路原理图、元件布置图及接线图、接插件引脚图、印制

11、线路板图、注意事项等)。,9.2,单片机的选型,9.2.1,单片机的性能指标,1,单片机的位数,单片机的位数由其内核,CPU,的位数决定,。,位数越多,单片机处理数据的能力就越强。,目前以,8,位机应用居多。,2,运行速度,单片机的运行速度取决于外部晶振或外部时钟信号的频率。,如,89C51,的外部时钟频率可达,24MHz,。,单片机运行速度高则执行速度快,但功耗也会相应地增加,,同时要注意其外围接口芯片与工作速度的配合。,3,存储器容量,通常指片内,ROM,、,RAM,的配置情况。,4,中断及定时器,基本型单片机与增强型单片机所拥有的中断源及定时,/,计数器个数不一样。,5,输入,/,输出端

12、口,输入,/,输出端口有输入口、输出口及双向口几种类型;,有些输入,/,输出口还同时具备了总线的功能。,一些专用的单片机上还带有特殊功能的端口,如大电流驱动口、,SPI,串行口、,I2C,串行口、,A/D,输入口、,D/A,输出口、红外发射接收口、,PWM,输出口等。,6,功耗、封装及环境温度,功耗:,在一些自动监测仪表及电池供电的产品中,低功耗是主要的技术指标,通常采用,HCMOS,工艺的单片机在低电压下工作。,封装:,单片机的封装一般有,DIP,、,QFP,、,PLCC,等类型,应从印制板的尺寸、加工手段、购买途径及成本等方面综合考虑。,环境温度:,根据工作环境温度的不同可将单片机分为商业

13、级(,0,70,)、工业级(,-40,85,)、汽车级(,-40,125,)和军用级(,-55,125,)。,7,极限参数,极限参数主要指:,最高使用电压、最低使用电压,最高使用温度、最低使用温度,最大功耗,最大电流,端口最大输入电压,端口最大输出电流,最高焊接温度,最长焊接时间,9.2.2,单片机的选型原则,1,单片机的系统适应性,所谓系统适应性是指能否用这个单片机完成对应用系统的控制任务。,主要考虑以下几点:,是否有所需的,I/O,端口数,是否有所需的中断源及定时器,是否有所需的外围端口部件,是否有合适的计算处理能力,是否有足够的极限性能,2,单片机的可开发性,(,1,)开发环境,包括,汇

14、编程序、编译、连接程序。,(,2,)调试工具,包括,在线仿真器、逻辑分析工具、调试监控程序。,(,3,)在线,BBS,服务,包括实时执行、应用案例、缺陷故障报告、实用软件、样本源码。,(,4,)应用支持,包括是否存在专职的应用支持机构?是否存在应用工程师及销售人员的支持?支持人员的学识水平如何?是否有便利的通信工具,是否及时得到支持?,3,制造商历史及可购买性,产品的性价比以及是否可靠?,购买途径是否顺畅?,供货量是否充足稳定?,是否停产?,是否在改进之中?,总结,依据上述三个原则进行单片机的选型,应可以选择出最能适用于具体应用系统的单片机,同时可以保证应用系统具有高可靠性、高性价比、高使用寿

15、命及可升级换代性。,9.3,设计实例:多功能数字钟,9.3.1,设计要求,设计制作具有下列功能的数字钟:,l,自动计时,由,6,位,LED,显示器显示时、分和秒;,l,具备校准功能,可以直接由,0-9,数字键设置当前时间;,l,具备定时闹钟功能。,9.3.2,设计方案,1.,计时方案,利用单片机内部的定时,/,计数器进行中断定时,配合软件延时实现时、分和秒的计时。,2.,键盘,/,显示方案,设计方案中采用,43,键盘实现输入设置,采用动态显示方式实现,LED,显示,如图所示。,3,、控制方案,(,1,)时间显示,上电后系统自动进入时钟显示,从,00,:,00,:,00,开始计时,此时可以设定当

16、前时间。,(,2,)时间调整,按下,C/R,键(时间设定,/,启动计时键),系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间,按下,09,数字键可以顺序设置时、分和秒,并在相应的,LED,上显示设置值,,6,位设置完毕后系统将从设定后的时间开始计时显示。,(,3,)闹钟设置,按下,ALM,键(闹钟设置,/,启闹,/,停闹键),系统继续计时,显示,00,:,00,:,00,,进入闹钟设置状态,等待键入启闹时间,按下,0-9,数字键可以顺序进行相应的时间设置,并在相应的,LED,上显示设置值,,6,位设置完毕后系统启动定时启闹功能,并恢复时间显示。定时时间到,蜂鸣器鸣叫,直至重新

17、按下,ALM,键停闹,并取消闹钟设置。,9.3.3,硬件原理,数字钟电路由单片机、可编程,I/O,接口芯片,8155,、,4,3,键盘输入电路、,6,位,LED,显示输出电路及蜂鸣器启闹电路组成,如,图,9,5,所示为系统电路原理图。,1,单片机:,选用,89C51,可满足要求。,2,I/O,接口电路,:,采用,8155,作为键盘,/,显示接口电路,其中,8155,的,A,口作为,6,位,LED,显示的位选口(低电平有效),,B,口作为段选口(高电平有效),,C,口的低,3,位为键盘输入口,对应,02,行,,A,口同时用做键盘的列扫描口。由系统电路原理图可知:,8155,的地址分配如下:,控制

18、寄存器:,8000H,,,定义为,PORT,A,口:,8001H,,,定义为,PORTA,B,口:,8002H,,,定义为,PORTB,C,口:,8003H,,,定义为,PORTC,3,43,键盘输入电路,:,采用,4,3,键盘,包括,09,十个数字键(键号为,00H09H,)、,C/R,键(时间设定,/,启动计时键,键号为,0AH,)和,ALM,键(闹钟设置,/,启闹,/,停闹键,键号为,0BH,)。,4,LED,数码显示电路:,采用共阴极数码管实现时钟显示,,6,位,LED,从左到右依次显示时、分和秒,采用,24,小时计时。,5,蜂鸣器启闹电路:,由,89C51,的,P1.0,控制驱动蜂鸣

19、器(低电平有效)。,图,9,5,数字钟硬件电路图,9.3.4,程序设计,1,系统资源分配,定时器,T0,按照定时方式,1,工作,片内,RAM,及标志位的分配与定义见表,9,1,。,地,址,功,能,名,称,初始值,30H-35H,显示缓冲区,时、分、秒(高位在前),DISP0-DISP5,00H,3CH-3FH,计时缓冲区,时、分、秒、,100ms,HOUR,,,MIN,,,SEC,,,MSEC,00H,40H-42H,闹钟值寄存区,时、分、秒,AHOUR,,,AMIN,,,ASEC,FFH,50H-7FH,堆栈区,PSW.5,计时显示允许位(,1,:禁止,,0,:允许),F0,0,PSW.1,

20、闹钟标志位(,1,:正在闹响,,0,:未闹响),F1,0,表,91,片内,RAM,及标志位的分配,2,主要程序设计,(,1,)主程序,实现初始化与键盘监控,流程图如图,9,6,所示。,(,2,)定时器,T0,中断服务程序,实现计时功能,同时刷新计时缓冲区。流程图如图,9,7,所示。,定时器,T0,每隔,100 ms,溢出中断一次(设系统使用,6 MHz,晶振,定时器,T0,工作在方式,1,的定时器初值为,3CB0H,,即,TH0=3CH,,,TL0=0B0H,),,每循环中断,10,次则延时时间为,1s,,,重复,60,次为,1,分,分计时,60,次为,1,小时,小时计时,24,次则时间重新回

21、到,00,:,00,:,00,。,图,96,主程序流程图,图,9,7,计时流程图,(,3,)时间设置与闹钟设置子程序,实现当前时间及定时启闹时间的键盘输入设置。流程图如图,9,8,所示。,图,98,时间设置,/,闹钟定时流程图,其功能是用键盘设置子程序将键入的,6,位时间值送入键盘设置缓冲区,用合字子程序将键盘设置缓冲区中的,6,位,BCD,码合并为,3,位压缩,BCD,码,送入计时缓冲区或闹钟值寄存区。若键盘输入的小时值大于,23,,分和秒值大于,59,,则不合法,将取消本次设置,清零重新开始计时。,(,4,)键盘扫描子程序,图,99,键盘扫描程序流程图,作用,:,判断是否有键按下,无键按下

22、则循环等待,有键按下则求取键号后返回。流程图如图,99,所示。,图,9,10,显示程序流程图,(,5,)显示子程序,实现显示缓冲区的,6,位,BCD,码的动态扫描方式显示。,(,6,)定时比较子程序,实现当前时间(计时缓冲区的值)与预设的启闹时间(闹钟设置寄存区的值)的比较,若二者完全相同时,启动蜂鸣器鸣叫并置位闹钟标志位。当重新按下,ALM,键时,停闹并清零闹钟标志。流程图如右图所示。,(,7,)其它辅助功能子程序,键盘设置子程序,:,将键入的,6,位时间值送入键盘设置缓冲区,流程图见,图,912,所示。,拆字子程序:,将,3,字节计时缓冲区中时、分和秒压缩,BCD,码拆分为,6,字节,BC

23、D,码并刷新显示缓冲区。,合字子程序:,将键盘设置缓冲区中,6,位,BCD,码合并为,3,位压缩,BCD,码,送入计时缓冲区或闹钟值寄存区,同时检测时间值的合法性。,图,912,键盘设置子程序流程图,3,源程序清单,主程序:,ORG0000H,AJMP MAIN,ORG 000BH,AJMP CLOCK,ORG 0030H,PORT EQU 8000H,PORTA EQU8001H,PORTB EQU8002H,PORTCEQU 8003H,DISP0 EQU 30H,DISP1 EQU 31H,DISP2 EQU 32H,DISP3 EQU 33H,DISP4 EQU 34H,DISP5 E

24、QU 35H,HOUR EQU 3CH,MIN EQU 3DH,SEC EQU 3EH,MSEC EQU 3FH,AHOUR EQU 40H,AMINEQU 41H,ASEC EQU 42H,F1 BIT PSW.1,MAIN,:,MOV SP,,,#50H,;设置堆栈区,MOVX DPTR,,,#PORT,;,8155,初始化,MOVA,,,#03H,MOVX DPTR,,,A,CLR F1,;清零闹钟标志位,CLRF0,;允许计时显示,MOV AHOUR,,,#0FFH,;闹钟值寄存区置初值,MOV AMIN,,,#0FFH,MOV ASEC,,,#0FFH,MOV R7,,,#10H,;

25、显示缓冲区、计时缓冲区清零,MOV R0,,,#DISP0,CLR A,LOOP,:,MOV R0,,,A,INCR0,DJNZ R7,,,LOOP,MOV TMOD,,,#01H,;定时器,T0,初始化,MOV TL0,,,#0B0H,MOV TH0,,,#3CH,SETB TR0,;启动定时器,SETB EA,;开中断,SETB ET0,BEGIN,:,ACALLALARM,;调用定时比较,ACALLKEYSCAN,;调用键盘扫描,CJNEA,,,#0AH,,,NEXT1,;是,C/R,键否?,CLR TR0,;暂时停止计时,MOV R1,,,#HOUR,;,地址指针指向计时 缓冲区首地址

26、AJMPMOD,NEXT1,:,CJNE A,,,#0BH,,,BEGIN,;是,ALM,键否?,JBF1,,,NEXT2,;闹钟正在闹响否?,MOV R1,,,#AHOUR,;地址指针指向闹钟值寄存区 首地址,MOD,:,SETBF0,;,禁止显示计时时间,ACALL MODIFY,;调用时间设置,/,闹钟定时程序,SETBTR0,;重新开始计时,CLR F0,;恢复显示计时时间,AJMP BEGIN,NEXT2,:,SETBP1.0,;,闹钟正在闹响,停闹,CLRF1,;,清零闹钟标志,AJMPBEGIN,定时器,T0,中断服务子程序:,CLOCK,:,PUSHPSW,PUSHACC,;

27、保护现场,MOV TL0,,,#0B7H,MOVTH0,,,#3CH,;,重装初值,时间校正,INCMSEC,MOVA,,,MSEC,CJNEA,,,#0AH,,,DONE,MOVMSEC,,,#00H,MOVA,,,SEC,INCA,DAA,;,二,十进制转换,MOVSEC,,,A,CJNEA,,,#60H,,,DONE,MOVSEC,,,#00H,MOVA,,,MIN,INCA,DAA,MOVMIN,,,A,CJNEA,,,#60H,,,DONE,MOVMIN,,,#00H,MOVA,,,HOUR,INCA,DAA,MOVHOUR,,,A,CJNEA,,,#24H,,,DONE,MOVH

28、OUR,,,#00H,DONE,:,POPACC,POPPSW,RETI,时间设置,/,闹钟定时子程序:,MODIFY,:,ACALL KEYIN,;调用键盘设置子程序,ACALL COMB,;调用合字子程序,RET,键盘设置子程序:,KEYIN,:,PUSHPSW,;保护现场,PUSH ACC,SETB RS1,MOVR0,,,#DISP0,;,R0,指向显示,MOVR7,,,#06H,;,设置键盘输入次数,L1,:,CLR RS1,ACALL KEYSCAN,;调用键盘扫描程序取按下键号,SETBRS1,CJNEA,,,#0AH,,,L2,;键入数合法性检测(是否大于,9,),L2,:,J

29、NC L1,;大于,9,,重新键入,MOVR0,,,A,;键号送显示缓冲区,INCR0,DJNZ R7,,,L1,;,6,位时间输入完否?未完继续,CLR RS1,;,恢复现场,POPACC,POPPSW,RET,键盘扫描子程序:,KEYSCAN,:,ACALLTEST,;调判按键是否按下子程序,TEST,JNZ REMOV,;有键按下调消抖延时,ACALLDISPLAY,ACALLALARM,AJMPKEYSCAN,;,无键按下继续判是否按键,REMOV,:,ACALL DISPLAY,;,调用显示子程序延时消抖,ACALLTEST,;再判是否有键按下,JNZ LIST,;有键按下转逐列扫描

30、ACALLDISPLAY,ACALL ALARM,AJMPKEYSCAN,;无键按下继续判是否按键,LIST,:,MOVR2,,,#0FEH,;首列扫描字送,R2,MOVR3,,,#00H,;首列键号送,R3,LINE0,:,MOVDPTR,,,#PORTA,;,DPTR,指针指向,;,8155,的,A,口,MOV A,,,R2,;,首列扫描字送,R2,MOVX DPTR,,,A,;,首列扫描字送,8155,的,A,口,MOV DPTR,,,#PORTC,;,DPTR,指针指向,8155,的,C,口,MOVX A,,,DPTR,;,读入,C,口的行状态,JB ACC.0,,,LINE1,;第

31、0,行键无键按下,转第,1,行,MOVA,,,#00H,;,第,0,行有键按下,行首键号送,A,AJMPTRYK,;,求键号,LINE1,:,JBACC.1,,,LINE2,;第,1,行键无键按下,转第,2,行,MOV A,,,#04H,;第,1,行有键按下,行首键号送,A,AJMPTRYK,;求键号,LINE2,:,JB ACC.2,,,NEXT,;第,2,行键无键按下,转下一列,MOV A,,,#08H,;第,2,行有键按下,行首键号送,A,AJMPTRYK,;求键号,NEXT,:,INCR3,;,扫描下一列,MOV A,,,R2,;,列扫描字送,A,JNB ACC.3,,,EXIT,;

32、4,列扫描完,重新进行下一轮扫描,RL A,;,4,列未扫描完,扫描字左移扫描下一列,MOV R2,,,A,;扫描字送,A,AJMP LINE0,;转向扫描下一列,EXIT,:,AJMP KEYSCAN,;等待下一次按键,TRYK,:,ADDA,,,R3,;按公式计算键码,求得键号,PUSH ACC,;键号入栈保护,LETK,:,ACALLTEST,;等待按键释放,JNZ LETK,;按键未释放,继续等待,POP ACC,;按键释放,键号出栈,RET,TEST,:,MOVDPTR,,,#PORTA,;,DPTR,指针指向,8155,的,A,口,MOV A,,,#00H,MOVX DPTR,,

33、A,;,全扫描字,00H,送,8155,的,A,口,MOVDPTR,,,#PORTC,;,DPTR,指针指向,8155,的,C,口,MOVXA,,,DPTR,;读入,C,口行状态,CPL A,;,A,取反,以高电平表示有键按下,ANL A,,,#07H,;屏蔽高,5,位,RET,显示子程序:,DISPLAY,:,JB F0,,,DISP,;允许时间显示标志,F0=1,转,DISP,ACALL SEPA,;否则调用,SEPA,刷新显示缓冲区,DISP,:,PUSHPSW,;动态扫描显示子程序,PUSH ACC,SETB RS0,MOV DPTR,,,#PORTA,;关显示,MOV A,,,#0

34、FFH,MOVX DPTR,,,A,MOV R0,,,#DISP0,MOV R7,,,#00H,MOV R6,,,#06H,MOV R5,,,#0FEH,DIS1,:,MOVDPTR,,,#TAB,MOVA,,,R0,MOVC A,,,A+DPTR,MOVDPTR,,,#PORTB,MOVX DPTR,,,A,MOV DPTR,,,#PORTA,MOVA,,,R5,MOVXDPTR,,,A,HERE,:,DJNZ R7,,,HERE,INC R0,MOV A,,,R5,RLA,MOV R5,,,A,DJNZR6,,,DIS1,CLR RS0,POP ACC,POP PSW,RET,TAB,:,

35、DB 3FH,,,06H,,,5BH,,,4FH,,,66H,,,6DH,,,7DH,,,07H,DB 7FH,,,6FH,,,77H,,,7CH,,,39H,,,5EH,,,79H,,,71H,;,共阴极 字型码表,合字子程序:,COMB,:,MOV R0,,,#DISP1,;,R0,指向显示缓冲区小时低位,ACALL COMB1,;合字,CJNE A,,,#24H,,,CHK,CHK,:,JNCEXIT1,;,大于,24,则取消本次设置,退出,MOVR1,,,A,;小时送计时小时单元,INCR1,MOVR0,,,#DISP3,;,R0,指向显示缓冲区分低位,ACALL COMB1,CJNE

36、A,,,#60H,,,CHK,CHK1,:,JNC EXIT1,;大于,60,则取消本次设置,退出,MOV R1,,,A,INCR1,MOV R0,,,#DISP5,;,R0,指向显示缓冲区秒低位,ACALLCOMB1,CJNEA,,,#60H,,,CHK2,CHK2,:,JNC EXIT1,;大于,60,则取消本次设置,退出,MOV R1,,,A,RET,EXIT1,:,AJMPMAIN,;输入不合法退出,重新清零计时,COMB1,:,MOV A,,,R0,ANL A,,,#0FH,;取出低位,MOV 43H,,,A,;暂存于,43H,单元,DEC R0,;指向高位,MOV A,,,R0,A

37、NL A,,,#0FH,SWAPA,;,高位送高,4,位,ORLA,,,43H,;,高低位合并,RET,拆字子程序,SEPA,:,SEPA,:,PUSH PSW,PUSH ACC,SETBRS0,MOVR0,,,#DISP5,;指向显示缓冲区秒低位,MOVA,,,SEC,ACALLSEPA1,MOVA,,,MIN,ACALLSEPA1,MOVA,,,HOUR,ACALLSEPA1,CLRRS0,POPACC,POPPSW,RET,SEPA1,:,MOV 44H,,,A,;暂存,44H,ANLA,,,#0FH,;取出低位,MOV R0,,,A,;送显示缓冲区低位,DECR0,;指向显示缓冲区高位

38、MOV A,,,44H,ANLA,,,#0F0H,;取出高位,SWAPA,;高位送往低,4,位形成高位数据,MOVR0,,,A,;高位数据送显示缓冲区高位,RET,定时比较模块:,ALARM,:,MOVA,,,ASEC,CJNEA,,,SEC,,,BACK,;,秒单元相同则继续比较,否则返回,MOVA,,,AMIN,CJNEA,,,MIN,,,BACK,;分单元相同则继续比较,否则返回,MOV A,,,AHOUR,CJNE A,,,HOUR,,,BACK,;小时单元相同定时时间到,CLR P1.0,;启动闹钟鸣叫,SETBF1,;置位闹钟标志,BACK,:,RET,本章小结,单片机应用系统设

39、计的基本要求是可靠性要高、使用和维修要方便,并应该具有良好的性能价格比和必要的自我保护功能。,单片机应用系统主要由硬件和软件两大部分组成。单片机的研发过程主要分总体设计、详细设计、仿真调试、程序固化、文件编制五个阶段。,80C51,单片机是,8,位单片机的典型代表,在我国有着广阔的市场空间。除此之外,系统设计人员还要对当前流行单片机的主流机型有充分的了解,这样才能选择最为合适的机型。单片机的选型应从系统适应性及可开发性等方面综合考虑。通过实例可知,模块化方式是单片机软硬件设计的较好方式,读者应力求掌握。,习题与思考,1,单片机应用系统的设计有哪些基本要求?,2,单片机应用系统有哪些部分组成?,3,单片机应用系统的设计有哪些步骤?,4,设计一个,8,路模拟信号数值显示电路。,要求:可自动轮流显示,8,路模拟信号的数值,最小分辨率为,0.02V,,,模拟量输入最大值为,5V,,,最大显示值为,255,(输入为,5V,时)。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服