单片机定时器实验报告

上传人:m**** 文档编号:201179645 上传时间:2023-04-18 格式:DOCX 页数:9 大小:468.88KB
返回 下载 相关 举报
单片机定时器实验报告_第1页
第1页 / 共9页
单片机定时器实验报告_第2页
第2页 / 共9页
单片机定时器实验报告_第3页
第3页 / 共9页
点击查看更多>>
资源描述
XXXX大学信息工程与自动化学院学生实验报告(20092010 学年第 二学期)课程名称:单片机开课实验室: 2010年 5月14日年班学号实称指导教 师教师评语日 i1 JsO 一 _ 一 _ 一 _ 解到范 谧月 了塗规 师 不 未不 教 c c c rL 11 11 11 无 年 rL 差 rL rL Q 解C到范I 了 I世规 本本本般 基等基基一 B B B B 0D 一 _ 一 _ 一 _ 一 _ 解到范细 了强达规详 A.A.A.A.A. 鹉力否范術 解能是规详 了验验否否 否实实是是 是的的告程 学学学报过 同同同验验 该该该实实实验目的:掌握定时器TO、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时 程序的调试技巧。 二实验原理:MCS 51单片机内设置了两个可编程的16位定时器TO和T1,通过编程,可以设定为定 时器和外部计数方式。T1还可以作为其串行口的波特率发生器。定时器TO由特殊功能寄存器TLO和THO构成,定时器T1由TH1和TL1构成,特殊功 能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器 IE,中断优先权寄存器IP中的相应位进行控制。定时器TO的中断入口地址为OOOBH,T1 的中断入口地址为001BH。定时器的编程包括:1) 置工作方式。2) 置计数初值。3) 中断设置。4) 启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动 将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护 累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断 矢量地址单元中以执行中断服务程序。定时器TO和T1对应的中断矢量地址分别为000BH 和 001BH。中断服务程序从矢量地址开始执行,一直到返回指令“ RETI”为止。“RETI”指令的 操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断 点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继 续执行。因此,我们在编写中断服务程序时注意。1. 在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K 字节程序存储器的任何空间。2. 在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、 累加器的信息。3若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或 禁止某中断源中断,在返回前再开放中断。三.实验内容:编写并调试一个程序,用AT89C51的TO工作方式1产生1s的定时时间,作为秒计数时 间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。计算初值公式定时模式1 th0=(216-定时时间)/256tl0=(2i6-定时时间)mod 256I DeXTftL1xtndROT133陀:mALEROOIAD口 PQ1IAD1HJZIADNFOJIADmROjSLAMR1SAD 石FCLTIADTRZffiiSFE.1l*O PZZAC P23A11 FSLVA1Z P2SAG PZTiH PT7.WA1GP3UKmD rairryp pairin paairri ra+nn P3STHFjj&P3?rF图 1 定时器实验电路原理图四实验步骤:1.打开Proteus ISIS编辑环境,按下表所列的元件清单添加元件。实验所用元件清单元件名称所属类所属子类AT89C51Microprocessor ICs8051 FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneous-RESResistorsGeneric7SEG-COM-CAT-GRNOptoelectronics7-Segment DisplaysPULLUPModelling PrimitivesDigitalMiscellaneousAT889C51 元件,界面如图所示:癸别LCI:GCC.LA10Picons MicrDDhcpDIL4D拠3|RDM. E4B RAh1 HOM. B4S HAM 口匚帕.&怕口宫川 ROM. G4S RAHRDM. E4B RAMcada. 430 H 2. Walct-iZkjg cods. oods.code. 4tWHz. Walckcto da. 4Ch4 H 2. Walct-iifcjg code. 4CW H e. y i匚hdcm I朋有类别 Analog i 匚:pData ConvitoiT Debugging 1 口口1 仝 Diodo-ECL 1D0KI5i!iieT EI 口 亡 tr m g*i hi 亡=I IriduogpFtrniiivcTIM亡mciQ I亡寻子卖别El:y Fl Fmiv5A5IC 5 Iiseei M odut. 口勺HI匚羽牺吐間血AI99C1051Aia9C2051AIB9E4n51 iT05C51 AI89C51 .EUSA1S3IZ51 RB2AJB3C51 HB2.0U5 AT99C61 RC2 AI09C51 Fl 匚 2.DUS A1S3E51 RDZ iTSSCSi RD2.0USMC50D51 MCS6051 Mcsaosi MESaOBI MKOOSI MC&QQ61 MESB051 MC50O51 MCS9051 MO=:QQ61 Mesa ljeh MCS0O51 MC&9051 MCS0O51 MESaOBI MC50O51 ML&Q061 聞匚saosi MC50O51 MCS6051 MCSafl51 mi 匚 saosi MCS0O51 Mcsaaei MCS0O51 h匚 EBDE1 MC50051 MCSQOBI MEE3 口!51 MC50O51 Mi:!=0O61 MCSaO51 MESaOBI MC 56051 MIZ&Q0610051 005-1 QD51 aosi 0051 9061 B051 0051 0051 9061 日口 0051 0051 A051 aosi 0051 QQ61 3051 0051 605-1 aflBl aosi 0051Micioconb-dlbsTZ55Brricicconholhr vyjih 32t.B R ON. micnccaHtiallef with 32kB RDM. MloiocoriboliCf RDM口并全.不左 Micioconb-olfe-r1336MiDiaoontroller ROMHecs. 1230 Mloiocoi-ibrallef wlih 1 SH ROM Micoconb-cIfeT 何ih 33J0 HOM. =5S0 Fl卧 MiGiDconUoliw v-ilh SkB R! S5B FIM. Miiz-iac-ontroller with 1 GkJS ROM. 25G8 Fl卧 Miciacaribfolicf wlih Micioconb-cilfe-r iih 30 ruioiocontroller vjjih 1 J9 Miciocoi-ibf口Iler with 凸 Ulc:ioc:oKibrallcf tzilih HEWicioccnfrflfef v-iih 16*=JB RdM. 2538 1=1凸2 MiDiaoontroller with 4WS RUM. 1299 RiM. Mlwci亡口鬥bcilE wiih 4kB ROMRAM.MiciDCOnlrolb=f viih 1 歸 EFF;OM_512B F=| Miciocontrolief viih 33=J9 EFF:0m_ 512B H MicjMMhrcillef with 9kfl EPROM. 25Q Ri Mlciocohb-口IUt llh 3.Miciocontolleii (4hE: code. 33MHe. 2x1 6七it Tirt MiDiccantDll4i Mk cod*. ?3MHz. 2h1 Tinrit Mlcidcantdlai |1EkB Miciocontdloi IIEE; MioiocontoJlr l.:ZCIF 5IKP冲 -I tePZ37V0 FZAfiPZ4/A-E PZSA13 PZjffAH. PZ7W15P3HR:0 PZHflEF pzazirn pmDER3.ER3JSTI PZJW P3.7iT75.h.TS.Si5g当计数器到59 后,自动从 00开始,如下图所示;足IMTXL1M.srALEPElEV.a PCLIf.HJI PCLBT.Z FoanftK PH 材AEU FQSfAW? pnaMS FCLTCASTrzrnsP3.1MB VIZTA-D PSJTlI .神AC P3ATJK3 rZjVAI* PZ.7aajg 出二3 pDJ -J JUJ& as .ji_+_17JTzz ?2.1T23rzr-直 12-SHpb口dUTp 口工igh(J”+pncpDd bprpD 1dU2paby厂pDfdD6P1 J r i.iP1 2F 2P1 .LHI 3FM止P1.1rznnxp PSSTWffl wTUTT 0.70 口 1=P1S/BKra.rfflF品忑蛊imdflijBts-sn ,”,.-retr-._ =.由此可见,电路连接正确,源代码正确,实现了实验的相应要求。 五参考程序:second equ 30hcount equ 31horg 00hljmp startorg 0bhljmp int_t0start: mov second,#00hmov count,#00hmov dptr,#table;段码表首址mov p0,#3fhmov p2,#3fhmov tmod,#01hmov th0,#(65536-50000)/256mov tl0,#(65536-50000) mod 256 ;定时 50mssetb tr0mov ie,#82hsjmp $int_t0: mov th0,#(65536-50000)/256mov tl0,#(65536-50000) mod 256inc countmov a,countcjne a,#20,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六思考题:若用定时器1 方式 2,程序如何修改?答:程序修改如下:SECOND EQU 30HCOUNT EQU 31HORG 00HLJMP STARTORG 1BH ;T1 中断入口地址LJMP INT_T1START: MOV SECOND,#00HMOV COUNT,#00HMOV DPTR,#TABLE ;段码表首址MOV P0,#3FHMOV P2,#3FHMOV TMOD,#20H ;T1 模式 2,定时MOV TH1,#06h ;定时500微秒MOV TL1,#06hSETB 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 Professional 软件的使用方法有了初步的了解,还认识 了 89C51 单片机的结构及各个端口的功能,同时,还掌握了怎样在 Proteus 环境中来导入 Keilc 环境下的程序来建立两个环境的联系,完成程序和电路图的联系。虽然在本次试验中遇到了的问题,都在同学的帮助下解决了,同时还进一步了解了单片 机方面的有关知识。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!