plc定时器地使用和编程方法.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
plc定时器地使用和编程方法

一、实验目的: 1、进一步掌握定时器的使用和编程方法。 2、了解七段数码显示数字的原理。 3、掌握用一个段锁存器,一个位锁存器同时显示多位数字的技术。 二、实验设备: EL-8051-III型单片机实验箱 三、实验原理: 本试验采用动态显示。动态显示就是一位一位地轮流点亮显示器的各个位(扫描)。将8031CPU的P1口当作一个锁存器使用,74LS273作为段锁存器。 四、实验题目 利用定时器1定时中断,控制电子钟走时,利用实验箱上的六个数码管显示分、秒,做成一个电子钟。显示格式为: 分 秒 定时时间常数计算方法为: 定时器1工作于方式1,晶振频率为6MHZ,故预置值Tx为: (2e+16-Tx)x12x1/(6x10e+6)=0.1s Tx=15535D=3CAFH,故TH1=3CH,TL1=AFH 五、实验电路: 六、实验接线: 将P1口的P1.0~P1.5与数码管的输入LED6~LED1相连,74LS273的O0~O7与LEDA~LEDDp相连,片选信号CS273与CS0相连。去掉短路子连接。 七、程序框图:T9.ASM 八、参考程序:T9.ASM ;将P1口的P1.0~P1.5与LED8~LED3相连,74LS273的SO0~SO7与A~Dp相连,片选信号 ;CS273与CS0相连。去掉短路子连接。 NAME T9 ;数码显示实验 PORT EQU 0CFA0H BUF EQU 23H ;存放计数值 SBF EQU 22H ;存放秒值 MBF EQU 21H ;存放分值 CSEG AT 0000H LJMP START CSEG AT 401BH LJMP CLOCK CSEG AT 4100H START: MOV R0,#40H ;40H-45H是显示缓冲区,依次存放 MOV A,#00H ;分高位、分低位,0A,0A(横线) MOV @R0,A ;以及秒高位、秒底位 INC R0 MOV @R0,A INC R0 MOV A,#0AH MOV @R0,A INC R0 MOV @R0,A INC R0 MOV A,#00H MOV @R0,A INC R0 MOV @R0,A MOV TMOD,#10H ;定时器1初始化为方式1 MOV TH1,#38H ;置时间常数,延时0.1秒 MOV TL1,#00H MOV BUF,#00H ;置0 MOV SBF,#00H MOV MBF,#00H SETB ET1 SETB EA SETB TR1 DS1: MOV R0,#40H ;置显示缓冲区首址 MOV R2,#20H ;置扫描初值,点亮最左边的LED6 DS2: MOV DPTR,#PORT MOV A,@R0 ;得到的段显码输出到段数据口 ACALL TABLE MOVX @DPTR,A MOV A,R2 ;向位数据口P1输出位显码 CPL A MOV P1,A MOV R3,#0FFH ;延时一小段时间 DEL: NOP DJNZ R3,DEL INC R0 ;显示缓冲字节加一 CLR C MOV A,R2 RRC A ;显码右移一位 MOV R2,A ;最末一位是否显示完毕?,如无则 JNZ DS2 ;继续往下显示 MOV R0,#45H MOV A,SBF ;把秒值分别放于44H,45H中 ACALL GET DEC R0 ;跳过负责显示-的两个字节 DEC R0 MOV A,MBF ;把分值分别放入40H,41H中 ACALL GET SJMP DS1 ;转DS1从头显示起 TABLE: INC A ;取与数字对应的段码 MOVC A,@A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH, 07H, 7FH,6FH, 40H GET: MOV R1,A ;把从分或秒字节中取来的值的高 ANL A,#0FH ;位屏蔽掉,并送入缓冲区 MOV @R0,A DEC R0 MOV A,R1 ;把从分或秒字节中取来的值的低 SWAP A ;位屏蔽掉,并送入缓冲区 ANL A,#0FH MOV @R0,A DEC R0 ;R0指针下移一位 RET CLOCK: MOV TL1,#0AFH ;置时间常数 MOV TH1,#3CH PUSH PSW PUSH ACC INC BUF ;计数加一 MOV A,BUF ;计到10否?没有则转到QUIT退出中断 CJNE A,#0AH,QUIT MOV BUF,#00H ;置初值 MOV A,SBF INC A ;秒值加一,经十

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档