




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上XXXX大学信息工程与自动化学院学生实验报告( 2009 2010 学年 第 二 学期 )课程名称:单片机 开课实验室: 2010年 5月14日年级、专业、班学号姓名成绩实验项目名称定时器实验(十进制计数器)指导教师教师评语该同学是否了解实验仪器原理 A.了解 B.基本了解 C.不了解 该同学的实验能力 A.强 B.中等 C.差 该同学的实验是否达到要求 A.达到 B.基本达到 C.未达到 实验报告是否规范 A.规范 B.基本规范 C.不规范 实验过程是否详细记录 A.详细 B.一般 C.无 教师签名: 年 月 日一实验目的: 掌握定时器T0、T1的方式选择和编程方法
2、,了解中断服务程序的设计方法,学会实时程序的调试技巧。二实验原理: MCS51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。定时器的编程包括:1) 置工作方式。2) 置计数初值。3) 中断设置。4) 启动定时器。定时器/计数器由四
3、种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0和T1对应的中断矢量地址分别为000BH和001BH。中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,
4、使程序返回到被到中断的程序断点处,以便继续执行。因此,我们在编写中断服务程序时注意。1在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K字节程序存储器的任何空间。2在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器的信息。3若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在返回前再开放中断。三实验内容:编写并调试一个程序,用AT89C51的T0工作方式1产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。计算初值公式定时模式1 th0
5、=(216-定时时间) /256tl0=(216-定时时间) mod 256图1 定时器实验电路原理图四实验步骤:1打开Proteus ISIS编辑环境,按下表所列的元件清单添加元件。实验所用元件清单元件名称所属类所属子类AT89C51Microprocessor ICs8051 FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneous-RESResistorsGeneric7SEG-COM-CAT-GRNOptoelectronics7-Segment DisplaysPULLUPModelling Pri
6、mitivesDigitalMiscellaneousAT889C51元件,界面如图所示: 元件全部添加时,点击所添加的文件,并点击右键,选择“编辑属性”;元件全部添加后,在Proteus ISIS的编辑区域中按实验原理图连接硬件电路,连接结果如下图所示;2按实验要求在KeilC中创建项目,编辑、编译程序,程序如下图所示; 由编译结果可见,程序无误,可进行导入。3将编译生成的目标码文件(后缀为.Hex)传入Proteus的实验电路中。在proteus软件已经完成实验电路图中选中元件“AT89C51”,单击元件,添加已生成的.hex文件,点击“确定”,即可导入,如下图所示;4在Proteus I
7、SIS仿真环境中运行程序,观察实验运行结果并记录。 点击左下角的运行按钮,即可看到运行结果,从00开始循环计数,秒计数到60时,自动从0开始,点击暂停按钮,记录实验结果如下图所示: 当计数器到59后,自动从00开始,如下图所示; 由此可见,电路连接正确,源代码正确,实现了实验的相应要求。五参考程序:second equ 30hcount equ 31h org 00h ljmp start org 0bh ljmp int_t0start: mov second,#00h mov count,#00h mov dptr,#table ;段码表首址 mov p0,#3fh mov p2,#3fh
8、 mov tmod,#01h mov th0,#(65536-50000)/256 mov tl0,#(65536-50000) mod 256 ;定时50ms setb tr0 mov ie,#82h sjmp $int_t0: mov th0,#(65536-50000)/256 mov tl0,#(65536-50000) mod 256 inc count mov a,count cjne a,#20,i2 ;是否到1s mov count,#00h inc second mov a,second cjne a,#60,i1 ;是否到60s mov second,#00hi1: mov
9、 a,second mov b,#10 div ab movc a,a+dptr mov p0,a mov a,b movc a,a+dptr mov p2,ai2: retitable: db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fh end六思考题:若用定时器1方式2,程序如何修改?答:程序修改如下:SECOND EQU 30HCOUNT EQU 31HORG 00HLJMP STARTORG 1BH ;T1中断入口地址LJMP INT_T1 START: MOV SECOND,#00HMOV COUNT,#00HMOV DPTR,#TABLE
10、;段码表首址MOV P0,#3FHMOV P2,#3FHMOV TMOD,#20H ;T1模式2,定时MOV TH1,#06h ;定时500微秒MOV TL1,#06h SETB TR1MOV IE,#88HSJMP $INT_T1: INC COUNTMOV A,COUNTCJNE A,#2000,I2 ;是否到1sMOV COUNT,#00HINC SECONDMOV A,SECONDCJNE A,#60,I1 ;是否到60sMOV SECOND,#00HI1: MOV A,SECONDMOV B,#10DIV ABMOVC A,A+DPTRMOV P0,AMOV A,BMOVC A,A+DPTRMOV P2,AI2: RETITABLE: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND七实验总结:通过本次实验,使我对Proteus 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房屋租赁转让与租赁用途变更协议
- 二零二五年度应收账款质押登记与文化产业合同
- 健康管理师团队协作能力试题及答案
- 2025年度深圳租赁合同模板:租赁合同终止及交接
- 2025年度老年人社区活动协助劳务协议
- 二零二五年度公共停车场地下车位转让及管理服务协议
- 2025年度生态农业空场地租赁管理书
- 2025年茶艺师常识与技巧试题及答案
- 妇幼保健员考试的健康知识试题及答案
- 二零二五年度工地施工期间消防安全责任免除合同
- 《Android手机软件开发》说课课件
- 新版病案首页
- 国家工作人员因私出国(境)审批表
- 外观GRR考核表
- 不合格品控制流程图xls
- C语言上机考试
- 饱和蒸汽-水温度、压力、比焓、比熵、比容、汽化潜热对照表(史上最全、最细)G
- 如何上好自习课主题班会PPT学习教案
- 营救落水人员的计划和程序--ML 02
- 2022年CAD快捷键命令大全3
- RCA成果报告书(2021参考模版)10docx
评论
0/150
提交评论