教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

简易温度控制器设计(2)

来源:网络收集 时间:2026-07-10
导读: SUBB A,R3 MOV R3,A MOV A,R4 SUBB A,R2 FTC0: FTC1: FTC2: FTC3: FTC4: MOV R2,A JB ACC.7,FTC0 ;误差为负则转移 JNZ FTC2 ;偏差256则转移 SJMP FTC1 CPL A JNZ FTC5 ;偏差-256则转移 MOV A,R3 ;R4:5=KC2*本次误差

SUBB A,R3

MOV R3,A

MOV A,R4

SUBB A,R2

FTC0:

FTC1:

FTC2:

FTC3:

FTC4:

MOV R2,A JB ACC.7,FTC0 ;误差为负则转移 JNZ FTC2 ;偏差>256则转移 SJMP FTC1 CPL A JNZ FTC5 ;偏差<-256则转移 MOV A,R3 ;<R4:5>=KC2*本次误差 MOV B,KC2 MUL AB MOV R5,A MOV R4,B MOV A,R2 MOV B,KC2 MUL AB ADD A,R4 MOV R4,A MOV A,R5 ;<R4:5>=<R4:5>+<TCTRL0:1> ADD A,TCTRL1 MOV R5,A MOV A,R4 JB ACC.7,FTC4 ;被加数为正?负则转移 ADDC A,TCTRL0 MOV R4,A JNC FTC3 ;和<最大值? MOV R4,#0FFH ;<R4:5>=最大值 CJNE R4,#0FFH,FTC6 MOV R5,#00H SJMP FTC6 ADDC A,TCTRL0 MOV R4,A

CLR C ;和>最小值?

MOV A,R5

SUBB A,TCMAX1

MOV A,R4

SUBB A,TCMAX0

JNC FTC6

FTC5: MOV R4,TCMAX0 ;<R4:5>=最小值

MOV R5,TCMAX1

FTC6: MOV C,EX0 ;保存外中断INT0设置 CLR EX0 ;关闭外中断INT0

MOV TCTRL0,R4 ;<TCTRL0:1>=<R4:5>

MOV TCTRL1,R5

MOV EX0,C ;恢复外中断INT0设置 RET

;====5位数码管扫描子程序====

DISP: ORL P2,#1FH ;关闭数码显示器

MOV A,DSW ;根据扫描循环变量转移

ANL A,#07H

RL A

MOV DPTR,#DSTAB

JMP @A+DPTR

DSTAB: AJMP DIS0

AJMP DIS1

AJMP DIS2

AJMP DIS3

AJMP DIS4

AJMP DIS0

AJMP DIS0

AJMP DIS0

DIS0: MOV A,DSB0

ANL A,#0FH

MOV DPTR,#LED7

MOVC A,@A+DPTR

MOV P0,A CLR CS0 MOV DSW,#01H RET ;扫描个位数码管 ;查显缓个位值的七段码表 ;七段码送P0口 ;点亮个位数码管 ;扫描指针指向下十位

DIS1: MOV A,DSB1 ;扫描十位数码管

ANL A,#0FH

MOV DPTR,#LED7 ;查显缓个位值的七段码表 MOVC A,@A+DPTR

MOV P0,A ;七段码送P0口

CLR CS1 ;点亮个位数码管

MOV DSW,#02H ;扫描指针指向下百位

RET

DIS2: MOV A,DSB2 ;扫描百位数码管

ANL A,#0FH

MOV DPTR,#LED7 ;查显缓个位值的七段码表 MOVC A,@A+DPTR

MOV P0,A ;七段码送P0口

CLR CS2 ;点亮个位数码管

MOV DSW,#03H ;扫描指针指向下千位

RET

DIS3: MOV A,DSB3 ;扫描千位数码管

ANL A,#0FH

MOV DPTR,#LED7 ;查显缓个位值的七段码表 MOVC A,@A+DPTR

MOV P0,A CLR CS3 ;七段码送P0口 ;点亮个位数码管

MOV DSW,#04H ;扫描指针指向下指示灯 RET

DIS4: MOV A,DSB4 ;扫描指示灯

CPL A

MOV P0,A

CLR CS4

MOV DSW,#00H

RET

;====LED段码表====

LED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 码

;====变量定义段====

CS0 BIT P2.0 ;个位位选

CS1 BIT P2.1 ;十位位选

CS2 BIT P2.2 ;百位位选

CS3 BIT P2.3 ;千位位选

CS4 BIT P2.4 ;LED灯位选

ROW0 BIT P2.5

ROW1 BIT P2.6

ROW2 BIT P2.7

KKG BIT P3.3

;TF2 BIT T2CON.7

TR2 BIT T2CON.2

DSW EQU 30H ;位选计数

DSB0 EQU 31H ;显示缓冲单元个位

DSB1 EQU 32H ;显示缓冲单元十位

DSB2 EQU 33H ;显示缓冲单元百位

DSB3 EQU 34H ;显示缓冲单元千位

DSB4 EQU 20H ;显示缓冲单元指示灯状态

LD1 BIT DSB4.0 ;指示灯LD1控制位

LD2 BIT DSB4.1 ;指示灯LD2控制位

LD3 BIT DSB4.2 ;指示灯LD3控制位

LD4 BIT DSB4.3 ;指示灯LD4控制位

LD5 BIT DSB4.4 ;指示灯LD5控制位

LD6 BIT DSB4.5 ;指示灯LD6控制位

LD7 BIT DSB4.6 ;指示灯LD7控制位

LD8 BIT DSB4.7 ;指示灯LD8控制位

KEY0 EQU 21H ;键状态字

KEY1 EQU 22H

K0 BIT KEY0.0 ;K0键

K1 BIT KEY0.1 ;K1键 ;0~9,a~f共16个七段

K2 BIT KEY0.2 ;K2键

K3 BIT KEY0.3 ;K3键

K4 BIT KEY0.4 ;K4键

K5 BIT KEY0.5 ;K5键

K6 BIT KEY0.6 ;K6键

K7 BIT KEY0.7 ;K7键

K8 BIT KEY1.0 ;K8键

K9 BIT KEY1.1 ;K9键

SW1 BIT KEY1.6 ;SW1键

SW2 BIT KEY1.7 ;SW2键

EKEY0 EQU 24H ;键前沿字 EKEY1 EQU 25H

EK0 BIT EKEY0.0 ;K0键前沿

EK1 BIT EKEY0.1 ;K1键前沿

EK2 BIT EKEY0.2 ;K2键前沿

EK3 BIT EKEY0.3 ;K3键前沿

EK4 BIT EKEY0.4 ;K4键前沿

EK5 BIT EKEY0.5 ;K5键前沿

EK6 BIT EKEY0.6 ;K6键前沿

EK7 BIT EKEY0.7 ;K7键前沿

EK8 BIT EKEY1.0 ;K8键前沿

EK9 BIT EKEY1.1 ;K9键前沿

ESW1 BIT EKEY1.6 ;SW1键前沿 ESW2 BIT EKEY1.7 ;SW2键前沿 KTMR EQU 35H ;键去抖延时器 STA EQU 36H

TEMP0 EQU 37H

TEMP1 EQU 38H

T100MS EQU 39H

SECL EQU 3AH

TCTRL0 EQU 3BH

TCTRL1 EQU 3CH

TCMAX0 EQU 3DH

TCMAX1 EQU 3EH

KC2 EQU 3FH

…… 此处隐藏:1081字,全部文档内容请下载后查看。喜欢就下载吧 ……
简易温度控制器设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/98603.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)