脉冲计数(定时计数器的记数功能实验).docVIP

脉冲计数(定时计数器的记数功能实验).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三脉冲计数(定时/计数器的记数功能实验 1、实验目的: (1熟悉8031定时/计数器的记数功能, (2掌握初始化编程方法 (3掌握中断程序的调试方法 2、实验内容: 定时/记数器0对外部输入的脉冲进行计数,并送显示器显示。 3.实验电路图: 方案1方案2 4、实验器材: (1超想-3000TB综合实验仪 1 台 (2超想3000仿真器 1 台 (3连线若干根 (4计算机 1 台 5、实验连线: 方案1:总线插孔的P3.4接脉冲源的DOWN,按下脉冲按钮,观察数码管上 计数脉冲的个数。 方案2:总线插孔的P3.4接脉冲源的0.25M,观察数码管上计数脉冲的个数。 6、实验原理: MCS-51有两个16位的定时/计数器:T0和T1。计数和定时实质上都是对脉 冲信号进行计数,只不过脉冲源不同而已.当工作在定时方式时,计数脉冲来自 单片机的内部,每个机器周期使计数器加1,由于计数脉冲的频率是固定的(即 每个脉冲为1个机器周期的时间,故可通过设定计数值来实现定时功能。当工 作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个由1到0 的电平变化时,计数器的值加1,从而实现计数功能。可以通过编程来指定时计 数器的功能,以及它的工作方式。读取计数器的当前值时,应读3次。这样可以 避免在第一次读完后,第二次读之前,由于低位溢出向高位进位时的错误。 7、程序框图 8、程序清单 ; “验证式”实验三脉冲计数(定时/记数实验 ;对定时器0外部输入的脉冲信号进行计数且显示 OUTBIT equ 0e101h CLK164 equ 0e102h ; 段控制口(接164时钟位 DAT164 equ 0e102h ; 段控制口(接164数据位 LEDBuf equ 40h ORG 0000h MOV SP,#60H MOV DPTR,#0e100H ;8155初始化 MOV A,#03H MOVX @DPTR,A MOV TMOD,#05H ;定时器初始化 MOV TH0,#00H MOV TL0,#00H SETB TR0 LOOP0: MOV R2,TH0 MOV R3,TL0 LCALL LOOP1 ;调用二转十子程序,结果放在R4 R5 R6中MOV R0,#40H MOV A,R6 LCALL PTDS MOV A,R5 LCALL PTDS MOV A,R4 LCALL PTDS LCALL DISPLAY SJMP LOOP0 LOOP1: CLR A ;二转十子程序 MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H LOOP2: CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOOP2 RET PTDS: MOV R1,A ;拆字子程序 ACALL PTDS1 MOV A,R1 SWAP A PTDS1: ANL A,#0FH MOV @R0,A INC R0 RET Delay: mov r7, #0 ; 延时子程序 DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop ret DISPLAY:setb 0d3h mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, ; 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #00h movx @dptr, a ; 关所有八段管 mov a, @r0 mov dptr,#LEDmap movc a,@a+dptr mov B, #8 ; 送164 DLP: rlc a mov r3, a mov acc.0, c anl a,#0fdh mov dptr, #DAT164 movx @dptr, a mov dptr, #CLK164 orl a,#02h movx @dptr, a anl a,#0fDh movx @dptr, a mov a, r3 djnz B, DLP mov dptr, #OUTBIT mov a, r2 movx @dptr, a ; 显示一位八段管 mov r6, #1 call Delay mov a, r2 ; 显示下一位 rl a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx @dptr, a ; 关所有八段管 clr 0d3h re

文档评论(0)

5522280 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档