定时器-课程教学案设计_第1页
定时器-课程教学案设计_第2页
定时器-课程教学案设计_第3页
定时器-课程教学案设计_第4页
定时器-课程教学案设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

...wd......wd......wd...二○一四~二○一五学年第一学期西安理工大学高科学院课程设计报告书课程名称:微机原理课程设计班级:学号:姓名:指导教师:二○一四年十二月二十日课程设计任务书2014年秋季学期学生姓名学号专业方向计算机科学与技术班级题目名称定时器设计题目介绍用8253芯片做定时设计,当触动按钮的时候,开场计时,60S后,计时完毕,LED灯亮。课程设计总结报告要求二、设计进度指导教师签字:目录第1章方案论证1.1课程设计的目的和要求„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11.2总体设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1第2章硬件设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22.1AT89S51芯片概述„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22.2LED数码管显示器概述„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„52.3其他元器件介绍及参数选择„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„7第3章软件设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„83.1程序框图„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„83.2定时/计数器初值计算„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„83.3软件程序„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„9第4章调试与仿真4.1Keil软件介绍及使用„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„104.2Proteus软件介绍及使用„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10课程设计心得体会„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11第一章方案论证1.1课程设计的目的和要求1.目的课程设计是微机原理课程教学的最后一个环节,是对学生进展全面的系统的训练。进展课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建设系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩大。2.要求利用T0产生1秒的定时,当1秒定时时间到,秒计时器价1。秒计时到60时,自动从0开场。3.目标通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。通过做一个综合性训练题目,到达对内容的消化、理解并提高解决问题的能力的目的。1.2总体设计本设计由硬件设计和软件设计两局部组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数确实定;软件设计主要是实现60秒计数程序的编写,包括利用中断实现1秒的定时及60秒的计数。图1:60秒计数总体电路设计第二章硬件设计2.1AT89C51的芯片概述AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其工作电压在4.5-5V,一般我们选用+5V电压。外形及引脚排列如图2所示主要特性·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保存时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明(1)电源及时钟引脚〔4个〕Vcc:电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚〔采用外部振荡器时,此引脚接地〕;XTAL2:晶体振荡器的另一个引脚〔采用外部振荡器时,此引脚作为外部振荡器信号的输入端〕。〔2〕控制线引脚〔4个〕RST/Vpd:复位信号输入引脚/备用电源输入引脚;ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。〔3〕并行I/O引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;P1.0-P1.7:一般I/O口引脚;P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;P3.0-P3.7:一般I/O口引脚或第二功能引脚振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平要求的宽度。2.2LED数码管显示器概述本设计中采用的是7SEG–COM–ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图3所示:图3:7SEG–COM–ANODE型号数码管数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元〔多一个小数点显示〕;按能显示多少个“8〞可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。LED数码管有两种连接方法如下:共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。LED数码显示器的显示段码。为了显示字符,要为LED显示器段码〔或称字形代码〕,组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段码段码位D7D6D5D4D6D2D1D0显示段pdgfedeba字型共阳极段码共阴极段码字型共阳极段码0C0H3FH990H1F9H06HA88H2A4H5BMB83H3B0H4FHCC6H499H66HDA1H592H6DHE86H682H7DHF84H7F8H07H空白FFH880H7FHP8CH数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。①静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进展驱动,或者使用如BCD码二-十进制译码器译码进展驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示那么需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:〕,实际应用时必须增加译码驱动器进展驱动,增加了硬件电路的复杂性。②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。数码管参数8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。数码管应用数码管是一类显示屏通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字能够显示时间日期温度等所有可用数字表示的参数由于它的价格廉价使用简单在电器特别是家电领域应用极为广泛空调热水器冰箱等等绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。怎样测量数码管引脚,分共阴和共阳?找公共共阴和公共共阳:首先,我们找个电源〔3到5伏〕和1个1K〔几百欧的也行〕的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC〔串电阻〕逐个碰剩下的脚,如果有多个LED〔一般是8个〕,那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED〔一般是8个〕,那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。2.3其他元器件介绍及参数选择本设计中还用到其他一些元器件,例如:晶振,电容,电阻排,电解电容,开关等等。晶振采用频率为12MHZ,连接的两个电容为30pF;电阻排为470*8,能够实现8个470欧电阻的等效替换;电解电容为10u。第3章软件设计3.1程序框图3.2定时/计数器初值计算T89S51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能存放器TMOD,即可完成。定时/计数器何时工作也是通过软件来设定TCON特殊功能存放器来完成的。现在我们选择16位定时工作方式,对于T0来说,最大定时也只有65536us,即65.536ms,无法到达我们所需要的1秒的定时,因此,我们必须通过软件来处理这个问题,假设我们取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时。对于这20次我们就可以采用软件的方法来统计了。因此,我们设定TMOD=00000001B,即TMOD=01H下面我们要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算出TH0=〔216-50000〕/256TL0=〔216-50000〕MOD256当T0在工作的时候,我们如何得知50ms的定时时间已到,这回我们通过检测TCON特殊功能存放器中的TF0标志位,如果TF0=1表示定时时间已到。3.3软件程序SEC EQU 30H ;秒计数单元COUNT EQU 31H ;50ms计数单元 ORG 00HSTART:MOV SEC,#0 ;秒计数单元清零 MOV COUNT,#00H ;50ms计数单元赋初值MOV TMOD,#01H ;设T0为方式1 MOV TH0,#3CH MOV TL0,#0B0H ;50ms定时初值SETB ET0 ;允许T0中断SETBTR0;启动T0计数;显示程序DISP:MOVA,SEC MOVB,#10 DIVABMOVDPTR,#DISP_TAB;查表得到字形码MOVCA,@A+DPTRMOVP0,A MOVA,BMOVCA,@A+DPTRMOVP2,A;50ms定时中断服务程序TS:JNBTF0,TSCLRTF0MOVTH0,#3CHMOVTL0,#0B0HINCCOUNTMOVA,COUNTCJNEA,#20,NEXTMOVCOUNT,#0MOVA,SECADDA,#1 ;秒加1MOVSEC,A ;存秒CJNEA,#60,NEX ;不到60秒那么退出MOVSEC,#0 ;秒单元清零NEXT:LJMPTSNEX:LJMPDISPDISP_TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND第四章软件调试4.1系统调试工具keilc51KeilC51仿真器是一款利用KEILC51的IDE集成开发环境作为仿真环境的廉价仿真器,是利用SST公司具有IAP功能的单片机SST89C58制作而成,主要是利用了SST89C58的IAP功能,所谓IAP功能是Inapplicationprogram的英文缩写,是在应用编程的意思,通俗一点讲就是:它可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进展编程。它之所以具有这种功能,实际上它有两块程序flash区,其中一块flash中运行的程序可以更改另外的一块程序flash区中的程序,正是利用这一特性才用它作成了仿真器,我们把仿真器的监控程序事先烧入SST89C58,监控程序通过SST89C58的串口和PC通讯,当使用KEILC51的IDE环境仿真时,用户的程序通过串口被监控程序写入flash程序区中,当用户设置断点等操作仿真程序时,flash程序中的用户程序也在相应的更改,从而实现了仿真功能。调试的主要方法:1.启动Keilc512.新建一个工程。Project菜单——〉Newproject,选择好我们要保存的文件夹后,键入Frist保存。接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。3.在工程中参加文件。新建一个文件,文件菜单File——〉New,我们再选择:文件菜单File——〉SaveAs?〔另存为〕弹出对话框后,我们文件名框中键入First.c〔注意文件后缀名是.c〕保存。C文件建好啦。现在我们把文件参加到工程中去。点击Target1前面的+号,右键单击SourceGroup1——〉选择AddFilesto

温馨提示

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

评论

0/150

提交评论