




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计说明书专业班级: 自动化(四) 姓 名: 陶青 涂卫根 何磊 王林坤 学 号: 080310252 080310251 080310216 080310201 指导教师: 郭玉 设计时间: 2012/12/17 物理与电气工程学 2012 年 12 月 17 日摘要随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。目的:(1)初步掌握单片机控制功能的基本使用方法及基本硬件电路的工作原理,包括设计任务,设计题目的方案论证。通过查阅资料,器件选择,确定方案,写出总结报告。(2)培养一定的自学能力和独立分析问题、解决问题的能力。包括学会自己分析解决问题的方法,对设计中遇到的问题,能通过独立思考、查阅工具书、参考文献,寻找答案。(3)通过严格的科学训练和工程设计实践,逐步树立严肃认真、一丝不苟、实事求是的科学作风,并培养自己在实际工作中应具有的生产观点,经济观点和全局观点。方法:利用开发板和keil软件经过烧写程序在数码管上实现倒计时显示结果:将程序烧写进开发板,99秒倒计时,按下s3键实现暂停与启动结论:在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。关键词ATM89C52;共阴数码管;keil软件;晶体振荡器; 目录1 主要元器件介绍1 1.1 AT89C52芯片概述2 1.2 LED数码管显示器概述3 1.3 其他元器件介绍及参数42 单片机的最小系统与复位电路5 2.1 最小系统6 2.2 复位电路设计7 2.3 显示电路设计8 2.4 总体硬件电路设计93 keil软件104程序框图 11 5 软件程序 126教材及参考书137 感悟141 主要元器件介绍1.1 ATM89C52芯片概述ATM89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得ATM89C52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 ATM89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,ATM89C52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash ATM89C52P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为ATM89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。1.2 LED数码管显示器概述本设计中采用的是共阴两位数码管 共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。段码位 D7 D6 D5 D4 D6 D2 D1 D0 显示段 pd g f e d e b a 字型 共阳极段码 共阴极段码 字型 共阳极段码 0 C0H 3FH 9 90H 1 F9H 06H A 88H 2 A4H 5BH B 83H 3 B0H 4FH C C6H 4 99H 66H D A1H 5 92H 6DH E 86H 6 82H 7DH F 84H 7 F8H 07H 空白 FFH 8 80H 7FH P 8CH 数码管的驱动方式:静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。1.3 其他元器件介绍及参数晶振,电容,电阻排,电解电容,开关,asp接口,按键晶振采用频率为12MHZ,连接的两个电容为22pF;电解电容为10uF;2 单片机的最小系统与复位电路2.1 最小系统最小系统就是单片机在发挥具体测控功能时所必须的组成部分。为 复位电路,振荡电路,单片机,I/O口,电源组成。 时钟频率电路的设计单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如下图: 外部震荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1、C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1、C2的典型值为30pf。单片机在工作时,有内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,f表示。图中的时钟频率为12MHz,即f=12MHz,则时钟周期为1/12us。2.2 复位电路设计单片机的第九脚RES为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如下:图中由按键S17以及电解电容C10构成了高电平复位或S18以及C11构成了低电平复位电路。其中通过跳线J13选择由于单片机是高电平复位还是低电平复位。所以当按下S17时,单片机的9脚RESET管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上复位完毕,系统程序从0000H开始执行。值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到的倒计时时间的记忆功能。单片机的第九脚RES为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态。2.3 显示电路设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。数码管显示电路如下图:在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,另一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。2.4 总体硬件电路设计本设计系统由单片机I/O口扩展系统、LED数码显示系统、按键系统、复位系统等几大部分组成。软件上采用汇编语言编程,经过整机调试,实现了99秒倒计时及复位功能。3 keil软件使用Keil软件用于对程序的调试和编辑。其界面如下: Keil界面用到了Keil 软件,集成调试环境,集成了编辑器、译码器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM(汇编)、C语言多模块源程序混合调试,在直接修改、编译、调试源程序,错误指令定位。功能很强大,4 程序框图开始程序初始化是否产生外部中断是否进入工作状态进入设定状态 判断是否足够1秒 倒计时时间减1是否到0返回是是否否是否是否设定子程序流程图(按键处理)按S3 初始化按S17暂停返回5 软件程序ORG 0000HLJMP MAINORG 0003HLJMP INTR0ORG 000BHLJMP INTRR1ORG 0100HMAIN: MOV 20H,#99 MOV 21H,#9 MOV 22H,#9 MOV TH0,#8AH MOV TL0,#0D8H MOV TMOD,#01H MOV R7,#20 SETB ET0;T0中断允许 SETB EA;CPU中断允许(总允许)位 SETB IT0;开中断(边沿触发) SETB EX0;INT0中断允许 SETB TR0DISPLAY: MOV R1,#01H MOV DPTR,#TAB MOV A,21H MOVC A,A+DPTR MOV P0,A MOV P2,R1 LCALL D10ms MOV R1,#0 MOV DPTR,#TAB MOV A,22H MOVC A,A+DPTR MOV P0,A MOV P2,R1 LCALL D10ms JMP DISPLAY;递减,溢出则清0INTR1:DJNZ R7,L3 DEC 20H MOV A,20H CLR C SUBB A,#0 JZ L2;TOBCD转码 MOV A,20H MOV B,#10 DIV AB MOV 21H,B MOV 22H,A MOV R7,#20 JMP L3 L2:MOV 20H,#99 MOV 21H,#9 MOV 22H,#9 MOV R7,#20 L3:MOV TH0,#8AH MOV TL0,#0D8H RETI;延时程序D10ms:MOV R6,#10 D1ms:MOV R5,#20 DL:NOP NOP DJNZ R5,DL DJNZ R6,D1ms RET INTR0:CPL TR0 RETI ;显示码表 TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH DB 6FH,77H,7CH,39H,5EH,79H,71H,40H,00H END6 教材及参考书1 胡汉才,单片机原理及其接口技术,清华大学出版社2 邹逢兴,微型计算机接口原理与技术,国防科技大学出版社3 阎凯,微型计算机硬件设计原理分析与维修,科学出版社4 何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,北京航空航天大学出版社5 沈德金,MCS-51系列单片机接口电路与应用程序实例,北京航空航天大学出版社7 感悟回顾起此次单片机课程设计,我仍感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,提升了解决问题的逻辑思维和创新能力和团队合作精神,它才是一个设计的灵魂所在。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省驻马店市第十七中学2026届九年级化学第一学期期中调研试题含解析
- 高血压病人护理公开课
- 2026届十堰市重点中学英语九年级第一学期期末调研模拟试题含解析
- 心态培训课程员工培训
- 2026届安徽省宿州地区化学九上期中检测试题含解析
- 2026届安徽六安市叶集区三元中学九年级化学第一学期期中联考模拟试题含解析
- 陕西省西安市蓝田县2026届化学九年级第一学期期中监测模拟试题含解析
- 生产报表数据培训
- 新员工入职培训
- 2026届广东省广州市东环中学英语九上期末复习检测模拟试题含解析
- 建筑施工项目管理平台使用指南
- 全球低空经济2025年技术规范与实施白皮书
- 水泵房巡检流程培训课件
- 东海证券面试题及答案
- 基本药物制度补助资金管理办法
- 2025年建筑工地安全培训考试题库试题及答案
- 2025年陕建集团资料员考试题库
- 2025江西赣州市财政投资运营有限公司招聘笔试历年参考题库附带答案详解
- 2025年人教版新教材数学二年级上册教学计划(含进度表)
- 《雅马哈MG166 调音台使用说明书》
- 2024-2025学年深圳北师大版八年级下学期期末数学复习题《平行四边形》解答题含答案
评论
0/150
提交评论