单片机开发系统(3)

2019-01-18 22:26

华东交通大学 08机制4班 邱婷 班号:09 单片机开发系统结课论文

附录2

源程序

;************************************************************ ;name :ADC0809的应用 ;功能 :温度检测

; p0口接0809的数字量输出口 ; p1口接数码管段输出口 ; p2按键接口

;************************************************************ HIGN DATA 20H ;存放温度上限 LOW DATA 21H ;存放温度下限

vstr DATA 22H ;存放标准位,0时设置上限 A_BIT DATA 30H B_BIT DATA 31H C_BIT DATA 32H D_BIT DATA 33H START BIT p2.7 ;p3.0接0809的开始选通端口,输出允许控制端 EOC BIT p3.2 ;外部中断0,当0809数据转换完成触发 ;---------------------程序开始----------------------------- org 0000h ORG 0003H LJMP INT0 ajmp main main:

nop lcall proinit loop: setb start ;启动A/D转换 nop clr start MOV A,30H CJNZ A,20H,BAOJING ;超过上限 CJNZ A,21H,BAOJING ;低于下限 lcall display ;处理后显示 LCALL KEY ;调用键盘函数 ajmp main

;---------------------初始化子程序------------------- proinit: mov 20h,#20 mov 21h,#00 mov 22h,#00 mov 30h,#00 mov 31h,#00 mov 32h,#00 mov 33h,#00 ret

;-----------------送显前的数值转换程序--------------- dat_cov: setb start ;打开输出允许控制端 mov a,p0 nop nop clr start

mov b,#51 div ab ;除以51即是乘以5除以255 mov 30h,a ;30H中是整数部分 mov a,b mov b,#5 div ab

11

华东交通大学 08机制4班 邱婷 班号:09 单片机开发系统结课论文

mov 31h,a mov a,b mov b,#2 mul ab mov 32h,a ret

;================================= ; 键盘程序; SB1为功能键; SB2设置数据+; SB3设置数据- ;================================= KEY: JNB P2.0,KEY1 JB P2.0,$ ;按键松开取键值 MOV A,22H ;有功能键按下 INC A CJNZ A,#2,EXIT MOV 22H,A

KEY1: JNB P2.1,KEY2 JB P2.1,$ ;等待按键弹起 CJNE 23H,#0,XIAXIAN MOV A,20H ;设置上限加 INC A MOV 20H,A XIAXIAN: MOV A,21H ;设置下限加 INC A MOV 21H,A KEY2: JNB P2.1,EXIT JB P2.1,$ ;等待按键弹起 CJNE 23H,#0,XIAXIAN0 MOV A,20H ;设置上限加 DEC A MOV 20H,A XIAXIAN: MOV A,21H ;设置下限加 DEC A MOV 21H,A EXIT: MOV 22H,#00 RET

;================================= ;中断程序

;================================= INT0: lcall dat_cov ;数据处理 CLR F0 RET

;================================= ;报警函数

;================================= BAOJING: SETB P2.4 ;光报警 SETB P2.5 ;声报警 LCALL DELAY CLR P2.4 CLR P2.5 RET

;================================= ;数码管显示部分

12

华东交通大学 08机制4班 邱婷 班号:09 单片机开发系统结课论文

;入口参数:A,B,C

;使用资源:DPTR,P3,P1 ,R7

;================================= DISPLAY: NOP ;第一位显示

MOV DPTR,#TAB ;指定查表启始地址 MOV A,A_BIT ;取第一位数

MOVC A,@A+DPTR ;查第一位数的7段代码 ORL A,#10H SETB P3.4

MOV P1,A ;送出第一位的7段代码 LCALL delay8ms ;显示8ms CLR P3.4;开第一位显示 ;第二位显示

MOV DPTR,#TAB ;指定查表启始地址 MOV A,B_BIT ;取第二位数

MOVC A,@A+DPTR ;查第二位数的7段代码 SETB P3.5

MOV P1,A ;送出第二位的7段代码 LCALL delay8ms ;显示8ms CLR P3.5;开第二位显示 ;第三位位显示

JB FUHAO,XSBW MOV A,#01H JMP XSBW2

XSBW: MOV A,C_BIT ;取第三位数 JNZ XSBW1 MOV A,#00H JMP XSBW2

XSBW1: MOVC A,@A+DPTR ;查第三位数的7段代码 XSBW2: MOV P1,A ;送出第三位的7段代码 SETB P3.6

LCALL delay8ms ;显示8ms CLR P3.6;开第三位显示 ;第四位位显示

MOV A,D_BIT ;取第四位数

MOVC A,@A+DPTR ;查第四位数的7段代码 SETB P3.3

MOV P1,A ;送出第四位的7段代码 LCALL delay8ms ;显示8ms CLR P3.3;开第四位显示 RET

;================================= ;显示延时,延时8ms

;================================= delay8ms: mov r6,#1

delay1: mov r7,#10 djnz r7,$ djnz r6,delay1 ret

;================================= ;数码管段码数据表;共阴数码管

;=================================

TAB: DB 3fH,4fH,06H,5bH,66H,6dH,6BH,07H,7fH,6FH end

13


单片机开发系统(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:财政学重点

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

马上注册会员

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