基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计内容摘要:
电压约为 1V,转换后送到显示缓冲区的数据应为1000,考虑到各种误差,该数字量为 950~ 1050 即视为输入通道正常,检测显缓区数据的正常与否,还可检测软件运算部分是否正常。 流程图如图 52 所示, 开机自检程序: ROM 自检子程序 ORG 0160H TROM0:MOV DPTR,0FFFH ; data1 为程序的结束地址 PUSH DPH ;程序的结束地址进栈 PUSH DPL MOV DPTR,0000H ; 0000H 为程序的起始地址 MOV B , 0 TROM1:CLR A MOVC A,@A+DPTR ;读 ROM XRL B,A ;异或运算结果存 B POP ACC ;结束地址低 8 位 出 栈 MOV R2,A CJNE A,DPL,TROM3 ;当前地址低 8 位≠结束地址低 8 位,转移至 TROM3 POP ACC ;结束地址高 8 位出栈 CJNE A,DPH,TROM2 ;当前地址高 8位≠结束地址高 8位,转移至 TROM2 AJMP TROM4 ; ROM 中程序代码全部读出并求异或和,转移至 TROM4 TROM2:PUSH ACC ;结束地址高 8位进栈 MOV A,R2 TROM3:PUSH ACC ; data1 低 8位进栈 INC DPTR ;当前地址加 1 吉林建筑 大学 城建学院电气信息工程系课程设计 第 17 页 共 40 页 AJMP TROM1 ;继续异或和运算 TROM4:MOV DPTR,data2 ;指向校验和地址 CLR A MOVC A,@A+DPTR ;读代码校验和 XRL A,B ; A、 B 相等时, (A)=0 J NZ TROM5 ; (A)≠ 0, ROM 故障 CLR ;清故障标志 RET TROM5:SETB ;置故障标志 RET RAM 自检子程序 TRAM0:MOV SP,7FH MOV R0,7FH ;置初始地址指针 TRAM1:MOV @R0,55H MOV A,@R0 CJNE A,55H,TRAM2 MOV @R0,0AAH MOV A,@R0 CJNE A,0AAH,TRAM2 DJNZ R0,TRAM1 ;未检完,继续 CLR ;清故障标志 RET TRAM2:SETB ;置故障标志 MOV SP,5FH ;恢复栈指针 RET 输入通道自检子程序 TSRZJ:SETB ;置为自检状态 CLR CLR ;置自检标志 MOV IE,81H ;开 INTO 中断 MOV R3,250 TSR00:LCALL DISOO ;延时 1s DJNZ R3,TSR00 吉林建筑 大学 城建学院电气信息工程系课程设计 第 18 页 共 40 页 MOV R1,30H ;指向显缓百位 JB ,TSR04 CJNE @R1,09H,TSR03 INC R1 CJNE @R1,05H,TSR02 TSR01:CLR ;清故障标志 RET TSR02:JNB CY,TSR01 TSR03:SETB ;置故障标志 RET TSR04:CJNE @R1,00H,TSR03 INC R1 CJNE @R1,05H,TSR05 SJMP TSR03 TSR05:JB CY,TSR01 SJMP TSR03 图 52 开机自检程序流程图 显示流程 该程序是典型的软件译码动态扫描显示程序 ,可参考单片机原理与应用方面的教材,本程序添加上了符号显示和小数点定点显示。 在这里有几点需注意,第一,由于在显缓区中千位与符号存放在同一个字节,查表前需屏蔽掉符号位,否则当符号位是 1 时 (负 ),将造成查表错误;第二,由于千位使用的是普通数码管,当千位是“ 0”时,按正常软件译码时会显示“ 8”,所以当千位是“ 0”时需要单独处理,吉林建筑 大学 城建学院电气信息工程系课程设计 第 19 页 共 40 页 仅让代表负号的 g段亮;第三,测温时小数点 dp 应在的十位,查出某位的段码后还需要判断该位是否是应加 dp 的位,处理后才能将段码送段码口。 显示子程序源程序: ORG 0230H DIS00:MOV R0,2FH ;置显缓区首址 MOV R2,08H ;送起始字位码 DIS01:CLR A ;关显示器 MOV P0,A MOV A,@R0 ;取显示数字 ANL A,0FH ;屏蔽高 4位 MOV DPTR,TAB01 MOVC A,@A+DPTR ;查表取自段码 CJNE R2,08H,DIS03 ;是 千位吗。 JB ,DIS02 ;千位是 1转加符号 CLR A ;千位是 0将其消隐 DIS02:MOV C, ;取符号位 MOV ,C ;字段码加符号 DIS03:MOV 2CH,A ;字段码暂存 MOV A,R2 ;取字位码 CJNE A,02H,DIS04 ;不是十位转送段码 SETB ;是十位 ,加小数点 DIS04:MOV P0,2CH ;字段码送字段口 MOV A,P2 ;取 ~ ANL A,0F0H ORL A,R2 MOV P2,A ;字位码和送字位口 ACALL DL001 ;延时 1mS 增亮 MOV A,R2 JB ,DIS05 ;查验 4位显示器是否显示一遍 RR A ;修改字位码 MOV R2,A INC R0 ;指向显示缓冲区下一个单元 SJMP DIS01 ;继续显示下一位 吉林建筑 大学 城建学院电气信息工程系课程设计 第 20 页 共 40 页 DIS05:RET TAB01:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH( 0~ 9) DB 76H,38H,00H,40H,79H,FFH( A“ H” ,B“ L” ,C“全灭” ,D“ ” ,E,F“全亮”) DL001:MOV R7,02H ; 1mS 延时子程序 (fosc=6MHz 时 ) DL002:MOV R6,0FFH DJNZ R6,$ DJNZ R7,DL002 RET 图 53 输入通道自检程序流程图 输入通道自检置系统为自检状态 吉林建筑 大学 城建学院电气信息工程系课程设计 第 21 页 共 40 页 图 54 显示子程序流程图 键处理流程 R7 为功能键 K1的状态计数器,每按 1 次 K1(R7)+1。 上限预置范围 49~ +150℃,预置下限温度必须小于上限温度,预置错误需重新预置。 键处理子程序流程图如图55 所示。 K1~ K4 键处理子程序流程图分别如附图 56~附图 59 所示。 键处理子 程序: ORG 02B0H KEY00:LCALL DIS00 ;延时 12ms LCALL DIS00 LCALL DIS00 JNB ,KEY10 ;转 K1 键处理 JNB ,KEY20 ;转 K2 键处理 JNB ,KEY30 ;转 K3 键处理 JNB ,KEY40 ;转 K4 键处理 KEYX1:RET ;无键按下,返回 吉林建筑 大学 城建学院电气信息工程系课程设计 第 22 页 共 40 页 KEY10:MOV IE,00H ; K1 键功能程序 KEY11:JB ,KEY12 ; K1 释放转键处理 ACALL DIS00 ;未释放延时再测 SJMP KEY11 KEY12:PUSH PSW PUSH A MOV PSW,10H ; R0~ R7换为 2组 KEY13:INC R7 ; K1 状态计数 CJNE R7,01H,KEY15 CLR F0 ;准备预置百位温度 CLR A MOV R4,A MOV R5,A MOV R6,A CLR ;关报警 CLR MOV 2FH,00H ;千位显示“ 0” MOV 30H,0CH ;百位显示“灭” MOV 31H,0CH ;十位显示“ 灭 .” JB ,KEY14 MOV 32H,0AH ;个位显示“ H” AJMP KEY1D KEY14:MOV 32H,0BH ;个位显示“ L” AJMP KEY1D KEY15:CJNE R7,02H,KEY16 ;若不是预置十位温度值,转去 K1 下一状态检测 MOV 30H,00H ;百位显示“ 0”,准备预置十位温度值 AJMP KEY1D KEY16:CJNE R7,03H,KEY17 ;若不是预置个位温度值,转去变压缩 BCD码,变补码 MOV 31H,00H ;显缓区十位显“ 0”,准备预置个位温度值 AJMP KEY1D KEY17:MOV A,R5 ; 预 置 温 度 变 压 缩 BCD 码 , 存吉林建筑 大学 城建学院电气信息工程系课程设计 第 23 页 共 40 页 24H25H SWAP A ORL A,R6 MOV 25H,A MOV 24H,R4 PUSH PSW MOV PSW,08H ; 1组为当前工作寄存器 MOV R3,25H MOV R2,24H ACALL BCDH0 ;调双字节 BCD二进制转换子程序 ACALL QBM00 ;调双字节二进制求补码子程序 MOV 25H,R3 MOV 24H,R2 JB ,KEY18 ; 转 去 判 断 预 置 下 限 温 度 是 否 正确 MOV R0,25H ;指向预置上限温度低字节 MOV R1,42H ; 指 向 允 许 预 置 的 上 限 温 度 最 小值 ACALL BJDX0 JB ,KEY19 ; =1 时转预置上限错误处理 MOV R0,40H ;指向允许预置的上限温度最大值 MOV。基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计
相关推荐
TC89C52主要参数 6 时钟 /机器周期与 12 时钟 /机器周期 两种 可 供 任意选择,指令代码 能够 完全兼容传统 的 8051 范围: 0~ 40MHz,相当于普通 8051 的 0~ 80MHz,实际工作 频率可达 48MHz : ~ ( 3V 单片机) 或者 ~ ( 5V 单片机 ) 8K 字 节 的 用户应用程序空间 5. 片上集成 有 512 字节 的 RAM 6. 有 32
定; 小数点:根据发光颜色决定 10 c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 45mA 峰值电流 100mA 上面是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。 ( 2) 数码管的分类 ① 共阴极数码管 7 段荧光数码管有公共的地,即 7 个发光二极管的负极全部连接在了一起,只要给想点亮的二极管高电平就可以使其发光。 这样做的好处是可以免去布线
[15]。 系统的相关资源库 国外答疑系统的资源库的突出特点是拥有丰富、高质量的内容 [16],比如 Ask JoeveS for Kids 系统的所有答案是来自数万计通过查询和研究确定的和问题有关的其它网站链接(主要的来源是 YahooligansEducation World 和 Federal Edllcation Rescoorces 三个网站)这些网站资源是 人为建设的
端。 XTAL2: 振荡器反相放大器的输出端。 脉搏信号采集 目前脉搏波检测系统有以下几种检测方法:光电容积脉搏波法、液体耦合腔脉搏传感器、压阻式脉搏传感器以及应变式脉搏传感器。 近年来 , 光电检测技术在临床医学应用中发展很快 , 这主要是由于光能避开强烈的电磁干扰 , 具有很高的绝缘性 , 且可非侵入地检测病人各种症状信息 ,具有结构简单、无损伤、精度高、可重复好等优点。
t U t ilP in g Y u U t il G r o u p U t ilM a ilU t il 图 41 util 包类图 ( 2) dao 包类图 DAO 包包含了封装数据库进行增删改等操作的数据访问对象类,图 42 是 DAO 包的类图。 S t u d e n t D A OR o l e D A OS t u d e n t A n s w e r D A OS u b j
,并具有 2级的优先级别选择。 其外引脚功能见表 31 所示。 四川信息职业技术学院毕业设计说明书 (论文 ) 第 8 页 共 40 页 表 31 AT89C52 引脚功能 引脚名称 引脚功能 P0 口八位双向端口线 P1 口八位双向端口线 P2 口八位双向端口线 P3 口八位双向端口线 ALE 地址锁存控制信号 psen 外部程 序存储器读选通信号 ea 访问程序存储控制信号 RST 复位信号