定时与中断实验.doc_第1页
定时与中断实验.doc_第2页
定时与中断实验.doc_第3页
定时与中断实验.doc_第4页
定时与中断实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

6.3 定时中断实验学习了定时/计数器和中断系统的概念后,现在来做定时中断的实验,进一步直观的体会所学知识在单片机中的体现。本实验是利用T0的定时中断法中的方式1,在P1.0产生500Hz(周期2ms)的对称方波脉冲。实验前一定要熟悉定时中断的基本结构和工作过程。6.3.1 初值计算经计算500Hz的对称方波脉冲所需的定时器初始值是:TL0为18H,TH0为0FCH。具体计算步骤如下:由6.1.4知定时周期计算公式为(216-计数初值)晶振周期12(对工作方式1而言)。若要产生500Hz方波,只要在P1.0端口产生以1ms为周期交替输出等宽高低电平即可,为此定时时间(溢出时间)为1ms。若使用12M晶振,设计数初值为X,则有:(时间单位统一为s)(216-X)1/(12106)12=110-3,解得X=64536。(64536)10=(1111110000011000)2=(FC18)16所以高八位地址TH0=0FCH,低八位地址TL0=18H。6.3.2 实验的步骤1Keil 软件开启动作(参照前面的软件介绍即可)2新建project(工程)文件保存在自定义或者系统默认文件夹中(编者建议每次新建工程(protect)时都保存在单独新建的文件夹中)。3通常情况下,我们选择Atmel公司生产的AT89C51芯片。4新建工程文件结束后,再新建text文件(创建文件快捷键:Ctrl+N;在未保存时,系统默认名为“text”) 5新建完成后千万别忘记保存,否则软件崩溃,你的辛苦就白费了,保存新建的文件时注意文件的扩展名!如果你是用c语言编写的程序文件,则扩展名为“.c”;如果你是用汇编语言编写的程序文件,则扩展名为“.asm”。(注:程序文件的保存也可在编写程序完成后进行,保存命名最好不要用汉字)6.3.3 参考程序 ORG 0000H ;主程序执行入口地址 LJMP MAIN ;跳至MAIN执行 ORG 000BH ;T0溢出中断服务程序入口LJMP INTT0 ;跳至T0溢出中断服务程序MAIN: MOV TMOD,#01H ;T0为16位定时模式,即方式1 MOV TL0 ,#18H ;定时器TL0装初值(溢出时间1ms) MOV TH0 ,#0FCH ;定时器TH0装初值 SETB EA ;开总中断允许 SETB ET0 ;开定时器T0中断允许 SETB TR0 ;开启定时器T0 SJMP $ ;等待INTT0:CPL P1.0 ;P1.0取反 MOV TL0,#18H ;重装初始值 MOV TH0,#0FCH ;重装初始值 RETI ;中断返回 END ;结束当我们把发送程序输入keil后,会出现如下图所示的对话框。图6-3-01 定时中断程序截图当程序编写完成后可以运行文件,检查错误,运行方法:单击“project”“Build target”运行文件的快捷键为F7。如果没错误则出现如下图: 6-3-02 程序编译过程运行单片机程序文件:选择“Debug”“start/stop Debug session”;快捷键为Ctrl+F5,当出现程序运行界面时安F11分步运行程序。注:左边为寄存器数据显示窗口,右边为程序运行窗口。下图分别为程序执行的第一步和中间步骤截图:6-3-03 程序执行第一步6-3-04 程序执行中间步骤6-3-05 中断返回步骤截图(循环过程,states数据可以不一样)接下来创建“.HEX”文件,该文件是为软件proteus软件仿真做写入程序,创建方法:单击“project”“Options for Target Target 1”;快捷键为“Alt+F7”。创建时,打开窗口Target 选项会提示我们选择晶振(晶体整荡器)的大小,本实验选用12MHz晶振。在Output选项中,勾选“Creat HEX File”选项,最后单击确定,完成创建。6-3-06 晶振改为12MHz(修改Xtal后的数字)6-3-07 创建.HEX文件6.3.4 proteus仿真接下来我们就用proteus仿真软件来实现硬件部分。1、元件清单:单片机AT89C51、发光二级管led-green、电阻res200欧、power+5v。2、添加完元件之后,得到布线完成后如图:6-3-08 布线图(进行电气检测之前需要检查完成的电路图中是否存在未定义序号的元器件,如果存在需要标注序号)然后可以进行电气检测:选择按钮便可进行电气检测, 电气检测结束后,需要单击按钮生成“.BOM”文件。 电路硬件完成,请保存!最后我们尝试运行所做的工程,在尝试之前我们需要给单片机中写入程序。双击单片机,会出现如下画面:6-3-09 仿真部分(写入程序)单击“Program File”栏选择目标地址,该目标地址为keil软件仿真时生成的“.HEX”文件地址。如下图:6-3-10 仿真部分(导入hex文件)添加完成HEX文件后单击确定。当我们把这一切都完成之后,就可以单步实现仿真了!仔细观察proteus软件的变化了。 单击菜单栏的Debug选项,单击start/restart debugging运行,或者快捷键Ctrl+F12运行。 则出来的效果图是:6-3-11 仿真效果图接下

温馨提示

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

评论

0/150

提交评论