ImageVerifierCode 换一换
格式:DOC , 页数:32 ,大小:882.54KB ,
资源ID:4533506      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

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

注意事项

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

单片机专业课程设计模板.doc

1、单片机电子时钟摘要:在日常生活中,电子时钟和我们亲密相关,在很多地方全部会用到电子时钟。除了专用时钟、计时显示牌外,很多应用系统常常也带有实时时钟显示,如多种智能化仪器仪表、工业过程控制系统和家用电器等。实现电子时钟方法有多个,经过前面我们对单片机基础理论及相关知识学习,在这里,要求用单片机为主控制芯片设计一简单单片机电子时钟。多年来伴随计算机在社会领域渗透和大规模集成电路发展,单片机应用正在不停地走向深入,因为它含有功效强,体积小,功耗低,价格廉价,工作可靠,使用方便等特点,所以尤其适合于和控制相关系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品和家用电器等各个领域,单

2、片机往往是作为一个关键部件来使用,在依据具体硬件结构,和针对具体应用对象特点软件结合,以作完善。关键词:电子时钟;单片机;计时SCM Electronic ClockAbstract:In our daily life, the electronic clock is closely related to the electronic clock which will be used in many places. In addition to a dedicated clock, timing licenses, there are many applications which often

3、 with real-time clock display, such as a variety of intelligent instrumentation, industrial process control systems and home appliances. There are many ways to realize the Electronic clock, through the front of learning our SCM basic theory and related knowledge, here, the microcontroller-based cont

4、rol chip design a simple single-chip electronic clock. With the development of computer penetration in the social field and LSI in recent years, the using of microcontroller applications is constantly go deeper, because it has the features of a small size, low power consumption, cheap, reliable, eas

5、y to use. Therefore it is particularly suitable for the control of the system, more and more widely used in automatic control, Intelligent instruments, data acquisition, and military products and home appliances, SCM often used as a core component in the structure, according to the specific hardware

6、 and software for application-specific object characteristics combined to make perfect.Keywords: electronic clock; microcontroller; timing目录第一章 引言11.1课程设计目标11.2课程设计内容1第二章 总体方案设计22.1 总体思想-方案论证22.2方案选择2第三章 硬件系统设计43.1总电路设计43.2器件介绍43.3单元模块设计6第四章 软件系统设计94.1软件程序思想94.2主程序及步骤图94.3子程序及步骤图12第五章 系统仿真165.1 KEIL

7、 51介绍165.2 PROTEUS介绍205.3仿真过程及仿真结果28第六章 结束语29致谢30参考文件31第一章 引言1.1课程设计目标此次设计中以单片机发展过程和发展方向为背景,介绍了单片机输入输出工作原理和操作方法,中止工作原理和操作方法,74LS164译码器工作原理和和LED连接方法。经过它能够深入学习和掌握单片机原理和使用方法。现在,单片机正朝着高性能和多品种方向发展趋势将是深入向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等多个方面发展。下面是单片机关键发展趋势。单片机应用关键意义还在于,它从根本上改变了传统控制系统设计思想和设计方法。以前必需由模拟电路或

8、数字电路实现大部分功效,现在已能用单片机经过软件方法来实现了。这种软件替换硬件控制技术也称为微控制技术,是传统控制技术一次革命。单片机模块中最常见是数字钟,数字钟是一个用数字电路技术实现时、分、秒计时装置,和机械式时钟相比含有更高正确性和直观性,且无机械装置,含有更更长使用寿命,所以得到了广泛使用。时间对大家来说总是那么宝贵,工作忙碌性和繁杂性轻易使人忘记目前时间。忘记了要做事情,当事情不是很关键时候,这种遗忘无伤大雅。不过,一旦关键事情,一时耽搁可能酿成大祸。数字钟是采取数字电路实现对.时,分,秒.数字显示计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为大家日常生活中不可少必需

9、品,因为数字集成电路发展和石英晶体振荡器广泛应用,使得数字钟精度,远远超出传统钟表, 钟表数字化给大家生产生活带来了极大方便,而且大大地扩展了钟表原先报时功效。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至多种定时电气自动启用等,全部这些,全部是以钟表数字化为基础。所以,研究数字钟及扩大其应用,有着很现实意义。1.2课程设计内容此次做数字钟是以单片机(AT89C51)为关键,结合相关元器件(共阴极LED数码显示器、数码管驱动器74LS164等),再配以对应软件,是它含有星期,时,分,秒显示功效,而且时,分,秒还能够调整。此次设计电子数

10、字钟是为了了解电子数字钟原理,从而学会制作电子数字钟。而且经过电子数字钟制作深入了解多种在制作中用到中小规模集成电路作用及实用方法。第二章 总体方案设计2.1 总体思想-方案论证1计时方案单片机电子时钟计时有两种方法:第一个是经过单片机内部定时器/计数器,采取软件编程来实现时钟计时,这种实现时钟通常称为软时钟,这种方法硬件线路简单,系统功效通常和软件设计相关,通常见在对时间精度要求不高场所;第二种是采取专用硬件时钟芯片计时,这种实现时钟通常称为硬时钟。专用时钟芯片功效比较强大,除了自动实现基础计时外,通常还含有日历和闰年赔偿等功效,计时正确,软件编程简单,但硬件成本相对较高,通常见在对时钟精度

11、要求较高场所。2显示方案对于电子时钟而言,显示是另一个关键步骤。显示通常采取两种方法:LED数码管显示和LCD液晶显示。其中LED数码管显示亮度高,显示内容清晢,依据具体连接方法可分为静态显示和动态显示,在多个数码管时通常采取动态显示,动态显示时须要占用CPU大量时间来实施动态显示程序,显示效果往往和显示程序实施相关。LCD液晶显示通常能显示信息多,显示效果好,而且液晶显示器通常全部带控制器,显示过程由自带控制器控制,不须要CPU参与,但液晶显示器造价相对较高。为了便于比较和学习,这里给出两种设计方案,一个是软件计时LED数码管显示单片机电子时钟,另一个是硬件定时LCD液晶显示单片机电子时钟。

12、软件计时LED数码管显示单片机电子时钟总体设计框图图2-1所表示。硬件定时LCD液晶显示单片机电子时钟总体设计框图图2-2所表示。51单片机时钟电路复位电路LED按键 51单片机时钟电路复位电路LCD按键时钟芯片图2-1 软件计时LED显示时钟总体框图 图2-2硬件定时LCD显示时钟总体框图2.2方案选择对于电子时钟而言,显示是另一个关键步骤。显示通常采取两种方法:LED数码管显示和LCD液晶显示。其中LED数码管显示亮度高,显示内容清晢,依据具体连接方法可分为静态显示和动态显示,在多个数码管时通常采取动态显示,动态显示时须要占用CPU大量时间来实施动态显示程序,显示效果往往和显示程序实施相关

13、。LCD液晶显示通常能显示信息多,显示效果好,而且液晶显示器通常全部带控制器,显示过程由自带控制器控制,不须要CPU参与,但液晶显示器造价相对较高。掌握单片机最小系统电路原理图;硬件焊接、连接;独立编辑、编译软件;上电以后自动进入计时状态,起始于00:00:00。设计键盘调整时间,完成时间设计。定时时间为1/20秒,采取定时器实现。采取LED数码管显示,时、分,秒采取数字显示。采取二十四小时制,含有方便时间调校功效。第三章 硬件系统设计3.1总电路设计软件计时LED数码管显示时钟具体硬件电路图3-1所表示,其中单片机采取应用广泛AT89C51,系统时钟采取12MHz晶振,8个数码管显示,小时和

14、分钟、分钟和秒钟之间用短横线间隔,采取共阳极七段式数码管,因为并口上没有连接其它硬件电路,所以P0口直接作段选码输出端,P2口作位选码输出端。采取简化按键方法,只设定3个开关K0、K1和K2,经过P1口低3位相连。其中K0键为调时模式选择键,K1为加1键,K2为减1健。图3-1 软件计时LED显示时钟硬件电路图3.2器件介绍定时计数器:定时/计数技术在计算机系统中含有极其关键作用。计算机系统全部需要为CPU和外部设备提供定时控制或对外部事件进行计数。比如,分时系统程序切换,向外部设备输出周期性定时控制信号,对外部事件个数统计等。另外,在检测、控制和智能仪器等设备中也常常会包含到定时。所以,计算

15、机系统必需有定时和计数技术。定时/计数本质是计数,对周期性信号计数就实现定时。通常,实现定时方法有三种:软件定时、硬件定时、可编程定时。软件定时是利用CPU实施指令需要若干指令周期原理,利用软件编程,然后循环实施一段程序而产生延时,再配合简单输出接口能够向外送出定时控制信号。这种方法优点是不需要增加硬件或硬件很简单,只需要编制对应延时程序以备调用。缺点是实施延时程序占用了CPU时间,所以定时时间不宜太长,且在一些惰况下不宜使用。硬件定时是经过硬件电路(多偕振荡器件或单稳器件)实现定时,故定时参数调整不灵活,使用不方便,其成本较低。可编程定时结合了软件定时使用灵活和硬件定时独立特点,它以大规模集

16、成电路为基础,经过编程即可改变定时时间或工作方法,又不占用CPU实施时间。在计算机系统中通常见到是可编程定时,51单片机内部就集成了可编程定时/计数器,它是51单片机中使用很频繁关键功效模块。LED显示器:LED数码管显示器是由发光二极管按一定结构组合起来显示器件。在单片机应用系统中通常使用是7段或8段式LED数码管显示器,8段式比7段式多一个小数点。这里以8段式来介绍,单个8段式LED数码管显示器外观和引脚图3-2所表示,其中a,b,c,d,e,f,g和小数点dp为8段发光二极管,位置图中所表示,组成一个“”形状。(a) 引脚图 (b) 共阴极 (c) 共阳极图3-2 8段式LED数码管引脚

17、和结构8段发光二极管连接有两种结构:共阴极和共阳极。图3-2所表示。其中,图(b)为共阴极结构,8段发光二极管阴极端连接在一起,阳极端分开控制,使用时公共端接地,要使哪根发光二极管亮,则对应阳极端接高电平;图(b)为共阳极结构,8段发光二极管阳极端连接在一起,阴极端分开控制,使用时公共端接电源,要使哪根发光二极管亮,则对应阴极端接地。LED数码管显示器显示时,公共端首先要确保有效,即共阴极结构公共端接低电平,共阳极结构公共端接高电平,这个过程我们称为选通数码管。再在另外一端送要显示数字编码,这个编码称为字段码,8位数码管字段码为8位,从高位到低位次序依次为dp、g、f、e、d、c、b、a。如:

18、共阴极数码管数字“0”字段码为00111111B(3FH),共阳极数码管数字“1”字段码为11111001B(F9H),不一样数字或字符其字段码不一样,对于同一个数字或字符,共阴极结构和共阳极结构字段码也不一样,共阴极和共阳极字段码互为反码。MCS-51:MCS-51系列单片机是美国Intel企业在1980年推出高性能8位单片机,它包含51和52 两个子系列。对于51子系列,关键有8031、8051、8751 三种机型,它们指令系统和芯片引脚完全兼容,仅片内程序存放器有所不一样,8031芯片不带ROM,8051芯片带4KBROM,8751芯片带4KBEPROM。51子系列单片机关键特点以下。l

19、 8位CPU。l 片内带振荡器,频率范围1.2 MHz12MHz。l 片内带128B数据存放器。l 片内带4KB程序存放器。l 程序存放器寻址空间为64KB。l 片外数据存放器寻址空间为64KB。l 128个用户位寻址空间。l 21个字节特殊功效寄存器。l 4个8位并行I/O接口:P0、P1、P2、P3。l 两个16位定时/计数器。l 两个优先等级5个中止源。l 1个全双工串行I/O接口,可多机通信。l 111条指令,含乘法指令和除法指令。l 片内采取单总线结构。l 有较强位处理能力。l 采取单一+5V电源。对于52子系列,有8032、8052、8752 三种机型。52子系列和51子系列相比大

20、部分相同,不一样之处于于:片内数据存放器增至256B;8032芯片不带ROM,8052芯片带8KBROM,8752芯片带8KBEPROM;有3个16位定时器/计数器;6个中止源。本书以51子系列8051为例来介绍MCS-51单片机基础原理。即使MCS-51系列单片机芯片有多个类型,但它们基础组成相同。MCS-51单片机基础结构图3-3所表示。图3-3 MCS-51基础结构3.3单元模块设计51系列单片机是美国Intel企业在1980年推出高性能8位单片机,它包含51和52 两个子系列。51单片机集成了中央处理器(CPU)、存放器系统(RAM和ROM)、定时计数器、并行接口、串行接口、中止系统及

21、部分特殊功效寄存器(SFR),它们经过内部总线紧密联络在一起。51单片机有40个引脚,在此次设计当中有很多口全部没有使用,我们下面介绍就是对此次设计最为关键4个8位并行I/O接口。表3-1 P3口第二功效P3口第二功效P3.0RXD 串行口输入端P3.1TXD 串行口输出端P3.2INT0 外部中止0请求输入端,低电平有效P3.3INT1 外部中止1请求输入端,低电平有效P3.4T0 定时/计数器0外部计数脉冲输入端P3.5T1 定时/计数器0外部计数脉冲输入端P3.6WR 外部数据存放器写信号,低电平有效P3.7RD 外部数据存放器读信号,低电平有效51系列单片机有4个8位并行I/O接口:P

22、0、P1、P2和P3口。它们是特殊功效寄存器中4个。这4个口,既能够作输入,也能够作输出,既可按8位处理,也可按位方法使用。输出时含有锁存能力,输入时含有缓冲功效。每个口具体功效有所不一样。P0口是一个三态双向口,可作为地址数据分时复用口,也可作为通用I/O接口。它包含一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成。P1口只作通用I/O接口使用。P1口含有驱动4个LSTTL负载能力。P2口有两种用途:通用I/O接口和高8位地址线。P3口除了作为通用I/O口使用外,它每一根线还含有第二种功效,见表3-1。当P3口作为通用I/O接口时,第二功效输出线为高电平。当P3口作为第二功效时

23、,锁存器输出端必需为高电平,P3口状态取决于第二功效输出线状态。单片机复位时,锁存器输出端为高电平。复位和复位电路复位是单片机初始化操作,方便使CPU和系统中其它部件全部处于一个确定状态,并从这个状态开始工作。当单片机系统在运行犯错或操作错误使系统处于死锁存时,也可按复位键重新开启。单片机复位后,PC内容初始化为0000H,那么单片机就从0000H单元开始实施程序。片内RAM为随机值,运行中复位操作不改变片内RAM内容。RST引脚是复位信号输入端,复位信号是高电平有效,其有效时间应连续2个机器周期以上。按下复位按钮时,电源对外接电容器充电,使RST为高电平,复位按钮松开后,电容经过内部下拉电阻

24、放电,逐步使RST端恢复低电平。时钟信号有外部引入方法和内部振荡器方法两种方法。下面就来对两种方法进行简单地介绍:内部振荡方法51单片机内部有一个高增益反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2,用于外接石英晶体振荡器或陶瓷谐振器和微调电容,组成稳定自激振荡器,其发出脉冲直接送入内部时钟电路。 外部引入方法常见于多片单片机组成系统中,方便各单元之间时钟信号同时运行。LED数码管是由发光二极管组成,亦称半导体数码管。将条状发光二极管根据共阴极(负极)或共阳极(正极)方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就组成了LED数码管。若按要求使一些笔段上发光二极管发光

25、,就能显示从09系列数字。同荧光数码管(VFD)、辉光数码管(NRT)相比,它含有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应时间短,能和TTL、CMOS电路兼容等数显器件。+、-分别表示公共阳极和公共阴极。 ag是7个笔段电极,DP为小数点。另有一个字高为76mm超小型LED数码管,管脚从左右两排引出,小数点则是独立。 本系统利用6位LED数码管显示时间,共阴极结构。LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应引脚送入低电平。本设计中关键有三个控制按键,按键功效为:(1)P3.2为调时间模式,长按P3.2进入调分状态:分单元闪烁,按P3.2加1,按P3

26、.3减1.再长按P3.2进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。 (2)按下P3.4进入秒表状态:再按P3.4秒表又开启,按P3.4暂停,再按P3.4秒表清零,按P3.4退出秒表回到时钟状态。第四章 软件系统设计4.1软件程序思想软件系统程序由主程序和子程序组成,主程序包含初始化参数设置、按键处理、数码管显示模块等,在设计时各个模块全部采取子程序结构设计,在主程序中调用。时钟由定时/计数器0产生,采取中止方法工作,所以还要编写定时/计数器0中止服务子程序,在定时/计数器0中止服务程序中形成时钟关系。1主程序主程序先对显示单元和定时器/计数器初始化,然后反复调用数码管显示

27、模块和按键处理模块,当有键按下时,则转入对应功效程序。2数码管显示模块本系统共用8个数码管,从左到右依次显示时十位、时个位、横线、分十位、分个位、横线、秒十位和秒个位。数码管显示信息用8个内存单元存放,这8个内存单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据和小时数据分拆得到。在本系统中数码管显示采取软件译码动态显示。在存放器中首先建立一张显示信息字段码表,显示时,先在P2口送出位选码,选中显示数码管,然后从显示缓冲区中取出目前显示信息,查表在字段码表中查出所显示信息字段码,从P0口输出,就能在对应数码管上显示显示缓冲区内容。3定时器/计数器T0中止

28、服务程序计时选择定时器/计数器T0。具体处理以下:定时器/计数器T0选择方法1,反复定时,定时时间设为50ms,定时时间到则中止,在中止服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满,这么就形成了时钟关系。在对各单元计数同时,把它们值放到存放单元指定位置。4按键处理模块按键处理设置为:如没有按键,则时钟正常走时。当按K0键一次,时钟暂停走动进入调小时状态,再按K0键一次,进入调分状态,再按K0键一次,回到正常走时;对于K1和K2按键,假如是正

29、常走时,按K1和K2不起作用,假如进入调时或调分状态,按K1可对时或分进行加1操作,小时加到24则回到0,分加到60则回到0;按K2可对时或分进行减1操作,小时减到负则回到23,分减到负则回到59。4.2主程序及步骤图 使用AT89C51单片机,12MHz晶振,P0输出字段码,P2口输出位选码用共阳LED数码管,P1.0为调时模式按键,P1.1为加1键,P1.2为减1键片内RAM70H到77H单元为LED数码管显示缓冲区78H,79H,7AH分别为秒、分、小时计数单元7BH为50ms计数器,7CH为调时模式计数器 图4-1 主程序步骤图 ORG 0000HLJMP STARTORG 000BH

30、 ;定时器/计数器T0中止程序入口LJMP INTT0主程序START: MOV R0,#70H MOV R7,#0CHINIT: MOV R0,#00H INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#03CH SETB EA SETB ET0 SETB TR0START1: LCALL SCAN LCALL KEYSCAN SJMP START1 ;延时1MS子程序DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R

31、6,DL1 RET ;延时20MS子程序DL20MS: ACALL SCAN ACALL SCAN ACALL SCAN RET ;数码管显示程序SCAN: MOV A,78H ;将小时、分钟和秒拆分成十位和个位 MOV B,#0AH;存入显示缓冲区对应位置 DIV AB MOV 71H,A MOV 70H,B MOV A,79H MOV B,#0AH DIV AB MOV 74H,A MOV 73H,B MOV A,7AH MOV B,#0AH DIV AB MOV 77H,A MOV 76H,B MOV R1,#70H ;循环扫描显示 MOV R5,#0FEH MOV R3,#08HSCA

32、N1: MOV A,R5 MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A MOV A,R5 LCALL DL1MS INC R1 MOV A,R5 RL A MOV R5,A DJNZ R3,SCAN1 MOV P2,#0FFH MOV P0,#0FFH RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH4.3子程序及步骤图 图4-2 定时器/计数器T0中止服务程序步骤图定时器/计数器T0中止服务程序INTT0: PUSH ACC PUSH PSW CLR ET0

33、 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 INC 7BH MOV A,7BH CJNE A,#14H,OUTT0 MOV 7BH,#00 INC 78H MOV A,78H CJNE A,#3CH,OUTT0 MOV 78H,#00 INC 79H MOV A,79H CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH CJNE A,#18H,OUTT0 MOV 7AH,#00OUTT0: SETB ET0 POP PSW POP ACC RETI图4-3 按键处理模块步骤图按键处理程序KEYSCAN

34、: CLR EA JNB P1.0,KEYSCAN0 JNB P1.1,KEYSCAN1 JNB P1.2,KEYSCAN2KEYOUT: SETB EA RETKEYSCAN0: LCALL DL20MS JB P1.0,KEYOUTWAIT0: JNB P1.0,WAIT0 INC 7CH MOV A,7CH CLR ET0 CLR TR0 CJNE A,#03H,KEYOUT MOV 7CH,#00 SETB ET0 SETB TR0 SJMP KEYOUTKEYSCAN1:LCALL DL20MS JB P1.1,KEYOUTWAIT1: JNB P1.1,WAIT1 MOV A,7C

35、H CJNE A,#02H,KSCAN11 INC 79H MOV A,79H CJNE A,#3CH,KEYOUT MOV 79H,#00 SJMP KEYOUTKSCAN11: INC 7AH MOV A,7AH CJNE A,#18H,KEYOUT MOV 7AH,#00 SJMP KEYOUTKEYSCAN2:LCALL DL20MS JB P1.2,KEYOUTWAIT2: JNB P1.2,WAIT2 MOV A,7CH CJNE A,#02H,KSCAN21 DEC 79H MOV A,79H CJNE A,#0FFH,KEYOUT MOV 79H,#3BH SJMP KEYOU

36、TKSCAN21: DEC 7AH MOV A,7AH CJNE A,#0FFH,KEYOUT MOV 7AH,#17H SJMP KEYOUT END第五章 系统仿真5.1 KEIL 51介绍1、Keil使用经过用Project菜单下New Project命令建立项目文件,过程以下。(1)选择Project菜单下New Project命令,弹出图5-1所表示Create new Project对话框。图5-1 Create New Project对话框(2)在Create New Project对话框中选择新建项目文件位置,输入新建项目文件名称,比如,项目文件名为IO,单击【保留】按钮将弹出

37、图5-2所表示Select Device for Target Target 1对话框,用户能够依据使用情况选择单片机型号。Keil Vision IDE几乎支持全部51关键单片机,并以列表形式给出。选中芯片后,在右边描述框中将同时显示选中芯片相关信息以供用户参考。图5-2 Select Device for Target Target 1对话框(3)选择Atmel企业AT89C52。单击【确定】按钮,这时弹出图5-3所表示Copy Standard 8051 Startup Code to Project Folder and Add File to Project确定框,C语言开发选择【是

38、】,汇编语言开发选择【否】。单击后,项目文件就创建好了。项目文件创建后,这时只有一个框架,紧接着需向项目文件中添加程序文件内容。图5-3 确定框当项目文件建立好后,就能够给项目文件加入程序文件了,Keil Vision 支持C语言程序,也支持汇编语言程序。这些程序文件能够是已经建立好了程序文件,也能够是新建程序文件,假如是建立好了程序文件,则直接用后面方法添加;假如是新建立程序文件,最好是先将程序文件用.asm或.C存盘后再添加,这么程序文件中关键字才能够被认识。程序文件添加过程以下。(1)在项目管理器窗口中,展开Target1项,能够看到Source Group1子项。(2)右击Source

39、 Group1,在出现图5-4所表示菜单中选择Add Files to Group Source Group1命令。图5-4 选择Add Files to Group Source Group1命令(3)弹出图5-5所表示Add Files to Group SourceGroup1对话框。在对话框中选择需要添加程序文件,单击Add按钮,把所选文件添加到项目文件中,注意文件类型默认为C,假如是汇编程序则应选择文件类型为*.a*。一次可连续添加多个文件,添加文件在项目管理器Source Group1下面能够看见。当不再添加时,单击Close按钮,结束添加程序文件。假如文件添加得不对,则先选中对应

40、文件,用右键菜单中Remove File命令把它移出去。(4)假如是已经有程序文件,则添加结束后,就能够做下一步编译、连接工作;假如是新文件,则应先用File菜单下New命令建立程序文件,输入文件内容,存盘(注意汇编程序扩展名为.ASM,C语言程序扩展名为.C),然后再添加到项目中。图5-5 Add Files to Group SourceGroup1对话框当把程序文件添加到项目文件中,而且程序文件已经建立好存盘后,就能够进行编译、连接,形成目标文件。编译、连接用Project菜单下Built Target命令(或快捷键F7),图5-6所表示。编译、连接时,假如程序有错,则编译不成功,并在下

41、面信息窗口给出对应犯错提醒信息,方便用户进行修改,修改后再编译、连接,这个过程可能会反复数次。假如没有错误,则编译、连接成功,而且在信息窗口给出提醒信息。图5-6 编译、连接后显示图2、调试当项目编译、连接成功后,就能够运行它来观察结果,运行调试过程以下。(1)先用Debug菜单下Start/Stop Debug Session命令(快捷键Ctrl+F5)开启调试过程,结果图5-7所表示。图5-7 开启调试过程结果图(2)用Debug菜单下Go连续运行。(3)用Debug菜单下Step单步运行。子函数中也要一步一步地运行。(4)用Debug菜单下Step Over单步运行。子函数体一步直接完成

42、。(5)用Debug菜单下Stop running命令停止运行。(6)用View菜单调出多种输出窗口观察结果,用Peripherals菜单观察51单片机内部资源。图5-8为调出Peripherals菜单下P2口调试结果。(7)运行调试完成,先用Stop running命令停止运行,再用Debug菜单下Start/Stop Debug Session命令结束运行调试过程。图5-8 Serial Windows #1窗口5.2 PROTEUS介绍在80C51单片机系统P2口连接8个发光二极管指示灯,编程实现流水灯控制,从低位到高位轮番点亮指示灯,一直反复。在KEIL 51中编程序,形成HEX文件,

43、在PROTEUS中设计硬件,下载程序,运行看结果。Proteus ISIS处理过程通常以下: (1) PROTEUS ISIS软件打开后,系统默认新建一个名为UNTITLED(没有存盘文件)原理图文件,图5-9所表示。用户要存盘,则可用File菜单下Save或Save as命令,这里设文件保留到D:IO文件夹下面(最好和KEIL 51编写程序放在同一文件夹,这么使用方便),文件基础名为io,扩展名默认。图5-9 PROTEUS ISIS窗口图(2) 在关键模型下选择component mode选择元件工具,然后再选择图5-9按钮P,打开元件选择对话框,图5-10所表示。图5-10 元件选择窗口

44、(3) 在元件选择对话框keywords窗口中输入元件关键字搜索元件,找到元件后,双击元件则可选中元件,添加元件device元件列表栏。本实例中,需要元件依次为:单片机80c51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED。添加后图5-11所表示,选择了元件列于device元件列表栏。图5-11 添加元件到device元件列表栏放置元件过程以下:(1) 选择component mode工具,这时devices元件列表将出现元件列表单,图5-11所表示。(2) 用鼠标左键单击devices元件列表中元件名称选中元件,这时在预览窗口将出现该元件形状,移动鼠标到编辑窗口,单击左键,在鼠标指针处会出现元件形状,再移动鼠标,把元件移动到适宜位置,单击左键,元件就被放在对应位置上。经过相同方法把全部元件放置到编辑窗口对应位置,电源和地是

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服