机电课程设计—温度巡回检测仪 - 图文(8)

2019-02-16 00:04

机电课程设计-------温度巡回检测仪

MOV R1, #80H S13021: CLR T_RST CLR T_CLK SETB T_RST MOV B, R1 MOV A, @R0 MOV B, A

LCALL RTInputByte INC R0 INC R1 INC R1 SETB T_CLK CLR T_RST DJNZ R7, S13021 CLR T_RST CLR T_CLK SETB T_RST MOV B, #8EH LCALL RTInputByte MOV B, #80H LCALL RTInputByte SETB T_CLK CLR T_RST RET GET1302:

;秒写地址

;写秒 分 时

;写秒数据

LCALL RTInputByte

;控制寄存器 ;控制,WP=1,写保护

MOV R0, #SECOND; MOV R7, #7 MOV R1, #81H CLR T_RST CLR T_CLK SETB T_RST MOV B, R1

;秒 分 时

LCALL RTInputByte LCALL RTOutputByte MOV @R0, A INC R0 INC R1

温度巡回检测仪 36 ;秒地址

G13021:

;秒

机电课程设计-------温度巡回检测仪

INC R1 SETB T_CLK CLR T_RST DJNZ R7, G13021 RET

RTInputByte:

RTOutputByte:

MOV R4, #8 RRC A SETB T_CLK CLR T_CLK DJNZ R4, Outbit1 RET

LACALL DELAY ;延时去抖

MOV A,P1 ;读取P1口列值 ANL A, #0C7H ;屏蔽低六位

CJNE A,#0C7H,SKEY ;不等转移指令,判断是否有键闭合,有转SKEY AJMP FINISH ;无键闭合,返回 MOV A,#00H ;列扫描 MOV R0,A MOV R1,A

;R0作为列计数器,开始为0 ;行计数器

;R3为列扫描字暂存

Outbit1: MOV C, T_IO

MOV R4, #8 RRC A MOV B, A MOV T_IO, C SETB T_CLK CLR T_CLK DJNZ R4, Inbit1 RET

Inbit1: MOV A, B

INTR0:

SKEY:

MOV R3,#0F7H

SKEY2: MOV A, R3 ;扫描第一列

MOV P1,A NOP

;输出列扫描字

温度巡回检测仪 37 机电课程设计-------温度巡回检测仪

NOP NOP

;三个nop操作使P1口输出稳定 ;读行值 ;暂存行值

MOV A,P1 MOV R1,A

ANL A,#OC7H CPL A

;与运算,无闭合键则0C7H不变,取行值

;取反,高电平则有键闭合

JNZ SKEY3 ;非0跳转,有键按下转SKEY3,无则进行下一列扫描 INC R0 SETB C MOV A,R3 RLC A MOV R3,A MOV A,R0

;列计数器加一

;为行扫描字左移做准备

;带进位C左移 ;形成下一列扫描字

CJNE A,#03H,SKEY2 ;共需扫描3列

AJMP FINISH

SKEY3: MOV A,R1

JNB ACC.2, SKEY4 JNB ACC.1, SKEY5 JNB ACC.0, SKEY6

AJMP FINISH

MOV A,#01H MOV R2,A AJMP DKEY MOV A,#02H MOV R2,A AJMP DKEY MOV A,#03H MOV R2,A AJMP DKEY

;取行号 ;存3行号 ;存2行号 ;存1行号

SKEY4:

SKEY5:

SKEY6:

DKEY: MOV A,R2

ACALL DECODE ; MOV DPTR, #TABLE1 JMP @A+DPTR ACALL AA ACALL BB

TABLE1:

温度巡回检测仪 38 机电课程设计-------温度巡回检测仪

ACALL CC ACALL DD ACALL EE ACALL FF ACALL GG ACALL HH ACALL II RETI

;取行号送A

FINISH:

DECODE: MOV A,R2

DEC A ;(行号-1);

MOV B,#03H ;每行按键个数 MUL AB ADD A,R0 RET

;(行号-1)*按键数

;(行号-1)*按键数+列号=键号,存在A中

延时 DELAY:

TM:

MOV R7,#18H MOV R6,#0FFH

TM1: DJNZ R6,TM1

DJNZ R7,TM RET

MOV R0, #00H

;存数据高八位

AA:

MOV R1, #00H ;存数据低八位 MOV R2, #08H ;共8次采样

MOV DPTR, #0BFF8H ;定义ADC转换器首地址 MOV @DPTR, A ;开始转换 ACALL DELAY ;延时 JNB P3.3,LP1 ;等待转换完毕 MOVX A, @DPTR ;读一个数据 ADD A, R1 ;与低八位相加 JNC LP3 ;无进位转移

LP4:

LP1:

LP2:

INC R0 ;有进位则高八位加一 CLR C LP3:

MOV R1, A ;保存低八位 DJNZ R2, LP4 ;循环8次

MOV R2, #03H ;需要循环右移3次,即除以8

温度巡回检测仪 39 机电课程设计-------温度巡回检测仪

LP5; MOV A, R0 ;取高八位

RRC A ;高8位右移一位,即除以2 MOV R0, A ;保存高八位 MOV A, R1 ;取低八位 RRC A ;低八位右移一位 MOV R1, A ;保存低八位

DJNZ R2, LP5 ;循环右移三次,即除以8 MOV 30H, #01H ;30H置1

MOV 31H, R1 ;采样得到的温度值入31H保存 RET MOV A, 31H

;温度数值转化

MOV B,#20 MUL AB MOV B,#51 DIV AB

MOV R1,A MOV A,B MOV B,#10 MUL AB MOV B,#51 DIV AB MOV 32H,A MOV 31H,R1 MOV B,#100 MOV A,31H DIV AB

MOV 73H,A ;温度的百位 MOV A,B MOV B,#10 DIV AB

MOV 72H,A ;温度的十位 MOV 71H,B MOV 70H, 32H MOV 75H, 30H

;温度的个位

;温度的十分位 ;通道数

;小数后一位放于32H ;结果存放31H

MOV DPTR, #7FFFH ;选择控制存储器地址

温度巡回检测仪 40


机电课程设计—温度巡回检测仪 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:拌合站验收检查表1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: