本科毕业设计说明书(论文)
MOV R6, #0 SJMP$ LOOP2: CLR A
MOV R2, A MOV R3, A MOV Rl, #16 ADIN: CLR C
MOV A, R6 RLC A MOV R6, A MOV A, R7 RLC A MOV R7, A MOV A, R2 RLC A MOV R2, A MOV A, R3 RLC A LOOP3:DJNZ R1,ADIN MOV A,R3
JB ACC.7, LOOP4 MOV A, R2
RLC A MOV R2,A MOV A, R3 RLC A SUBB A,R5 JC DONE1 JNZ LOOP4 MOV A,R2 SUBB A,R4 JC DONE1
第 31 页 共 37 页
31
本科毕业设计说明书(论文)
LOOP4:MOV A,R6 ADD A,#1 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,A DONE1: MOV HUMID,R6 CLR 0D3H RET
4.3.3 BCD转换
第 32 页 共 37 页
计算机所能识别和处理的是二进制数,在进行标度变换后的结果都是用二进制数进行计算和存储的,而在输入/输出系统中,按照人们的习惯均采用十进制数比较直观一些。在计算机中十进制数常采用BCD码(即用四位二进制数代表单片机控制的节水灌溉系统的研究一位十进制数)表示,这样采样得到的数据才可以以十进制的形式输出显示。本系统将二进制数转换成BCD数的方法是将其除以10”次幂,即得相应位数,最后的余数为个位数。程序如下:
BCDTURN: MOV SHOWADR+3, #00H‘因湿度值只能小于100,故千位数为0 MOV B, #100 MOV A, HUMID DIV AB
MOV SHOWADR+2,A‘将百位数送SHOWADR+2显示地址 MOV A, #10 XCH A, B DIV AB
MOV SHOWADR+1,A‘将十位数送SHOWADR+1显示地址 MOV SHOWADR, B‘将个位数送SHOWADR显示地址 RET
4.4 LED动态显示程序
根据LED动态显示系统电路, 8155控制口的地址为7FF8H, POA口地址为7FF9H , PC口地址为7FFBH,片内显示缓冲区为SHOWADR-SHOWADR+3 (40H-43H),共4个单元对应4个数码管。程序中先取SHOWADR-I-3中的数,对应选中最左边的数码管,其余类推。
32
本科毕业设计说明书(论文)
表4.1 LED显示段码
字型 0 1 2 3 4 5 6 7 8 共阳极段 C0H F9H A4H B0H 99H 92H 82H F8H 80H 共阴极段 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 字型 9 A B C D E F 空白 P 共阳极段 90H 88H 83H C6H A1H 86H 84H FFH 8CH 第 33 页 共 37 页
由于LED为共阴极接法,并有反相驱动,字型表TAB中有效的字型码为:
共阴极段 6FH 77H 7CH 39H 5EH 79H 71H 00H 73H 程序清单如下:
MOV DPTR, #7FF8H;指向8155控制口 MOV A, #4DH;设置8155工作方式字 MOVX @DPTR, A;设A口、C口均为输出
SHOW: CLR OD3H
SETB OD4H ;选中寄存器2组 MOV R4, #OFFH
SHOWSTART: MOV R0, SHOWADR+3 ;指向缓冲区末单元
MOV R1, #4;显示4位LED
SHOWLED:
MOV R6, #20H MOV R7, #00H DIR 1:MOV A, #00H MOV DPTR, #7FFBH MOVX @DPTR, A
MOV A,@R0 MOV DPTR, #TAB MOV A, @A+DPTR MOV DPTR, #7FF9H MOVX @DPTR,A MOV A,R6
MOV DPTR,# 7FFBH
33
本科毕业设计说明书(论文)
MOVX @DPTR,A HERE:DJNZ R7,HERE DEC RO CLR C MOV A,R6 RRC A MOV R6,A JNZ DIR1 DJNZ R1,SHOWLED DJNZ R4,SHOWSTART CLR 0D4H
TAB:DB OCOH, OF9H, OA4H, OBOH DB 99H, 92H, 82H, OF8H DB 80H, 90H, 88H, 83H DB OC6H, OA1H, 86H, 8EH RET
第 34 页 共 37 页
4.5 本章小结
软件设计是本系统的重点,它直接影响到系统的整体性能。本章详细讲述了控制软件的功能和设计。首先介绍软件的功能,然后从总体上叙述软件的结构构成,接着较为详细的描述了系统中几个关键模块如键盘及显示模块以及采样模块等的实现方案,并总结出相应的子程序流程图与程序清单。
显示程序开始89C51初始化 显示缓冲区末地址-R0数码管个数-R1,位选字-R6字形码送89C51A口,位选字送89C51C口 图4.3 LED数码管动态显示流程图
显示延时34 指向下一个显示单元(R0)-1Y本科毕业设计说明书(论文)
结 论
第 35 页 共 37 页
本系统主要根据目前节水灌溉技术的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对土壤湿度的自动检测和控制。
系统以单片机AT89C51为核心部件,单片机系统完成对土壤湿度信号的采集、处理、显示等功能;用Proteus软件绘制电路原理图;利用MCS51汇编语言编制,运行程序该系统的主要特点是:
(1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同作物对土壤湿度的要求,实现对土壤湿度的实时监控,下位机也可脱离上位机单独工作。 (2)可对作物进行适时、适量灌水,不仅有利于作物的生长发育,而且避免了水资源的浪费,起到了高产节水的作用。
(3)将模糊智能控制技术引入对土壤湿度的分析和处理中,模糊控制决策无需建立被控对象的数学模型,系统的鲁棒性强,适合对非线性、时变、滞后系统的控制,对灌溉系统采用模糊控制非常适合。具体 采用双输入单输出的模糊控制方法,使控制系统更具科学性。
(4)系统成本低廉,操作非常简单,可扩展性强,只要稍加改变,即可增加其他使用功能。
本系统对现代化农业的发展具有十分重要的意义:
(1)本系统只对灌溉中水的因素实行监控,而未涉及肥的问题,应将水 肥结合起来进行灌溉,对作物生长效果会更好。
(2)应同时考虑土壤湿度和作物需水量两个因素,判断是否要对作物进 行灌溉以及所需灌水量的多少。
(3)被测土壤湿度只是进行了两点测试,如果能进行多点检测就会使检测到的湿度值精度更高。
(4)本系统在模拟检测中运行好,但采样据不稳定等,还有待于进一步完善提高。
35