版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于单片机的节水灌溉控制系统 学号: XXX 姓名: CCC 日期:2014-12-18基于单片机的节水灌溉控制系统摘 要节水灌溉智能控制技术的高低代表着农业现代化的发展状况,灌溉系统智能化水平较低是制约我国高效农业发展的主要原因。本文就此问题研究了单片机控制的节水灌溉系统,该系统对土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适时、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设各系统的硬件、软件编程各个部分进行了深入的研究。单片机控制部分采用选用AT89C51单片机为核心,主要由土壤湿度传感器,AD转换器,显示电路,输出控制电路,故障
2、报警电路等组成;软件选用汇编语言编程。系统主要具有以下功能:单片机可根据土壤湿度传感器检测到的土壤湿度,自动启动灌溉系统。本文就土壤湿度与灌水量之间的关系进行了实验研究,对单片机控制系统做了大量的调试实验,并检测通过,系统运行良好。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。关键词: 节水灌溉,智能控制器,湿度传感器,串行通信,单片机 目 录第1章 绪论11.1研究的背景和意义1节水灌溉系统的研究背景1第2章 系统总体设计22.1系统硬件介绍2土壤湿度传感器22.1.2 AT89C51单片机32.2 系统总体设计5第3章 系统硬件电路设计63.1单片机控制原理63.2单片机主机
3、控制电路6时钟电路6复位电路6数据存储器的扩展电路73.3数据采集处理电路73.4 LED显示电路8第4章 系统软件设计114.1系统主程序设计114.2采样子程序设计124.3数据处理13数字滤波技术13尺度变换144.3.3 BCD转换16第5章 结论19参考文献20 第1章 绪论1.1研究的背景和意义节水灌溉系统的研究背景水资源是人类赖以生存的基础性资源,我国一方面水资源十分紧缺。虽然水资源的总量居世界第6位,但人均占有量只有2500m³,约为世界人均水量的1/4,属于全球贫水国家之一。另外一方面农业用水浪费又十分严重,就全国范围而言,水资源的利用率仅为45%,而水资源利用率高
4、的国家已达70%80%,由于农业灌溉用水的利用率低下,因此,提高节水灌溉的利用率,对于解决我国农业灌溉用水,缓解水资源的紧缺非常重要。我国的节水灌溉技术,在经过近几十年的快速发展,在总结相关成果的基础上,初步形成了其技术体系,在某些方面已经达到或接近国际先进水平。但由于受我国经济发展水平及科研体制的限制,我国的节水灌溉技术与发达国家还有很大的差距。随着我国水资源供需矛盾日益尖锐,农业用水分配额减少的问题势必日益突出,同时为了缓解我国水资源短缺对我国农业发展的压力,如何快速发展我国的节水灌溉技术及其配套设备,从而缓解我国农业用水压力已经成为一个不容忽视的严峻问题。在灌溉系统中,合理地推广智能化控
5、制,不仅可以提高水资源的利用率,缓解水资源日趋紧张矛盾,还可以提高农作物的产量,降低农产品的生产成本,为我国农业的发展提供技术保障是十分必要的。节水灌溉系统的研究意义当前我国包括灌溉水和降水在内的农田利用效率也很低,单方水生产粮食的能力约为0.84kg。而以色列已达2.32kg,一些发达国家大体都在2kg以上,差距很大。为了提高灌溉水的利用率,使单方水生产粮食的能力得到提高,为保证21世纪中国16亿人口的粮食安全,靠传统的灌水方式是难以达到期望的,必须从高新技术入手,在管理上下功夫,从过去那种“浇地”转变为“浇植物”的思想观念。做到作物需要多少水,灌溉系统就能及时而准确地提供多少水。要实现这一
6、目标,只有发展先进的灌溉系统,是灌溉过程达到自动控制才有可能。因此实现灌溉系统的智能控制,对节水、提高灌溉水的利用率以及对我国的粮食安全将起到极为重要的作用,具有重要的实现意义。第2章 系统总体设计2.1系统硬件介绍土壤湿度传感器又名:土壤水分传感器、土壤墒情传感器主要用来测量土壤容积含水量,做土壤墒情监测及农业灌溉和林业防护 目前常用到的土壤湿度传感器有FDR型和TDR型 FDR(Frequency Domain Reflectometry)频域反射仪是一种用于测量土壤水分的仪器,它利用电磁脉冲原理、根据电磁波在介质中传播频率来测量土壤的表观介电常数(),从而得到土壤容积含水量(v),FDR
7、具有简便安全、快速准确、定点连续、自动化、宽量程、少标定等优点。是一种值得推荐的土壤水分测定仪器。 FDR型的技术参数、应用及特点 技术参数测量参数:土壤容积含水率 单 位:%( m3/m3) 量 程:0100% 探针长度:5.3cm 探针直径:3mm 探针材料:不锈钢 密封材料:环氧树脂 测量精度:±3% 工作温度范围:-4085 工作电压:512V 工作电流:2126mA,典型值21mA 测量主频:100Mhz 输出信号:01.875V DC 测量稳定时间:2秒 响应时间:1秒 测量区域:以中央探针为中心,围绕中央探针的直径为7cm、高为7cm的圆柱体 功能及特点:本传感器体积小
8、巧化设计,携带方便,安装、操作及维护简单。 结构设计合理,不绣钢探针保证使用寿命。 外部以环氧树脂纯胶体封装,密封性好,可直接埋入土壤中使用,且不受腐蚀。 土质影响较小,应用地区广泛。 测量精度高,性能可靠,确保正常工作。 响应速度快,数据传输效率高。 广泛应用于节水农业灌溉、温室大棚、花卉蔬菜、草地牧场、土壤速测、植物培养、科学试验等场领域。2.1.2 AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片
9、机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定
10、时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据。地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高
11、,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高
12、八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P
13、3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行
14、状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2 系统总体设计(1)该系统是一种高效
15、率、低成本的灌溉优化控制系统。系统布线简单易行,而且系统性能稳定、工作可靠、经济实用。(2)硬件电路以AT89C51单片机为核心,系统输入由采集土壤湿度传感器、及传感器信号处理电路组成,输出控制由继电器、执行器构成。(3)软件用C语言作为编程语言,采用模块式结构设计。 第3章 系统硬件电路设计3.1单片机控制原理显示部分湿度传感器89C51单片机 输入部分农作物喷雾系统系统时间输入部分驱动控制电路图3.1控制系统逻辑原理框图3.2单片机主机控制电路时钟电路单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于
16、构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图3所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图3中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选6MHz。复位电路为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始
17、状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。数据存储器的扩展电路AT89C51单片机外接数据RAM时,P2口输出存储器地址的高8位,PO口分时输出地址的低8位和传送指令字节或数据。PO口
18、先输出低8位地址信号,在ALE有效时将它锁存到外部地址锁存器中,然后PO口作为数据总线使用,此处地址锁存器选用74LS373,实际电路图连接如图3.2所示。图3.2数据存储器的扩展电路。3.3数据采集处理电路ADC0809是一种8位逐次逼近式A/D转换器,内部具有锁存控制的8路模拟开关,外接8路模拟输入端,可同时对8路0-5V的输入模拟电压信号分时进行采集转换,本系统只用到INO和INl两路输入通道。ADC0809转换器的分辨率为8位,最大不可调误差小于士1LSB,采用单一+5V供电,功耗为15mW,不必进行零点和满度调整。由于ADC0809转换器的输出数据寄存器具有可控的三态输出功能,输出具
19、有TTL三态锁存缓冲器,故其8位数据输出引脚可直接与数据总线相连。A/D转换器需外部控制启动转换信号方能进行转换,这一启动转换信号可由CPU提供,不同型号的A/D转换器,对启动转换信号的要求也不同,分脉冲启动和电平启动两种,ADC0809采用脉冲启动转换,只需给A/D转换器的启动控制转换的输入引脚(START)上,加入正脉冲信号,即启动A/D转换器进行转换,转换开始后,转换结束信号输出端(EOC)信号变低,转换结束时,EOC返回高电平,以通知主机读取转换结果的数字量,这个信号可以作为A/D转换器的状态信号供查询,也可以用作中断请求信号。图3.3数据采集处理电路本系统中ADC0809与AT89C
20、51单片机的接口如图5所示,采用等待延时方式。ADC0809的时钟频率范围要求在101280kHz,AT89C51单片机的ALE脚的频率是单片机时钟频率的1/6,因此当单片机的时钟频率采用6MHz,ADC0809输入时钟频率即为CLK=1MHz,发生启动脉冲后需要延时100us才可以读取A/D转换数据。如图5连接方式,ADC0809的8位数据输出引脚可直接与数据总线相连,地址译码引脚A, B, C分别与74LS373的A, B, C相连,以选通INO- IN7中的一个通道。AT89C51的p 2.6作为片选信号,在启动AM转换时,由单片机的写信号WR和p2.。控制ADC的地址锁存和转换启动。由
21、于ALE与START连在一起,因此ADC0809在锁存通道地址的同时也启动转换,在读取转换结果时,用单片机的读信号RD和p2.。引脚一级或非门产生的正脉冲作为OE信号,用以打开三态输出锁存器。3.4 LED显示电路微机化测控系统中常用的测量数据的显示器有发光二极管显示器(简称LED或数码管)和液晶显示器(简称LCD)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用4个LED显示。数码管有共阴共阳之分,本系统采用8段共阴型LED,其原理图如图6所示,每位数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管
22、是否点亮取决于a-dp各引脚上是否是高电平。LED数码管的外形结构如图6,外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。如图6所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个
23、小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。 图3.4 图3.4LED数码管结构图数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节省端口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需要解决多位LED数码管的“段控”和“位控”问题,本电路的通过P1口实现:而每一位的公共端,即LED数码管的“位控”,则由P3口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开
24、状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开头”状态。因AT89C51单片机I/O口资源有限,必须对其Il0口进行扩展才能满足实现系统功能,如图7所示为用8155扩展1/0口的4个8位LED动态显示器,显示扫描由程控实现,其中PA口输出字型码,PC口输出位选信号即扫描信号,图中片选线CE和AT89C51的P2.7口相连,IO/ M选通输入线与P2.4口相连,该系统中当P2.7=0且P2.4 =1时,选中8155芯片内三个I/O口。相应的端口地址分配如表3-1:表
25、3-1名称命令PA口PB口PC口端口地址7FF8H7FF9H7FFAH7FFBH第4章 系统软件设计4.1系统主程序设计系统软件系统软件程序设计主要包括:主程序设计,采样子程序设计,数据处理程序,显示子程序,串口通信程序等。各芯片地址编码为:RAM6116: OFOOOH-OF7FFH 81551/0口:7FF8H - 7FFDHADC0809: OBFF8H-OBFFFHADTURNO EQU 21H ;INO通道A/D转换数据存放首址ADTURN1 EQU 2CH ;IN1通道A/D转换数据存放首址LINEADRO EQU 37H ;1N0采集数据经滤波处理数据存放地址LINEADR1 E
26、QU 38H ;INl采集数据经滤波处理数据存放地址 LINEADR EQU 39H ;平均值存放地址 HUMID EQU 3BH ;标度变换后的湿度值存放地址 BCDADR EQU 3CH ;BCD转换后的湿度值存放地址 HUMADR EQU 3DH ;上位机传来的湿度值存放地址 TIMEADR EQU 3EH ;上位机传来的时间值存放地址 T100US EQU 256-50 ;延时参 Cl00US EQU 3FH SHOWADR EQU 40H ;显示区数据存放首址 ORG OOOOH SJMP START ORG OOOBH ;定时器0中断服务程序入口 LIMP TOINT ORG 00
27、23H ;串行I/O中断服务程序入口 LIMP SERVE ORG 0050HSTART: MOV SP, #50H ;设置堆栈 MOV HUMADR, #OFFH SETB OD3H ;选中寄存器3 SETS OD4H MOV R0, #HUMADR CLR OD3H ;选中寄存器0 CLR OD4HMOV TMOD, #22H ;主程序初始化MOV TH1, #OF3HMOV TLl, #OF3HMOV SCON, #50HMOV PCON, #80HMOV DPTR, #7FF8HMOV A, #4DHMOVX DPTR, ASETB TR1SETB EASETB ESRUN: LCAL
28、L AD ;调用A/D转换子程序LCALL MAOPAO ;调用滤波子程序LCALL TURN ;调用湿度转换子程序MOV A, HUMID ;将湿度值送往上位机MOV SBUF, ALCALL TWOSEC ;延时等待两妙钟LCALL BCDTURN ;调用BCD转换子程序LCALL SHOW ;调用显示子程序MOV A, HUMIDCJNE A, HUMADR, COMP ;检测到的湿度值大于上位机送来的湿度值时,则循环采样,否则报警灌溉DONE: CLR P1.1LCALL ALARM ;调用报警延时子程序进行灌溉动作LCALL TIMEORL P1, #02HLCALL TENMIN
29、;灌水结束等待10分钟Limp RUN ;回到主程序COMP:JC DONELJMP RUNEND4.2采样子程序设计根据电路图5,因EOC未接入单片机,故只能采用延时等待的方法来读取A/D转换结果,ADC0809的INO和INl两个地址分别是OBFF8H, OBFF9H, INO通道采集到的11个数据放入以ADTURNO(片内21H)为首址的一片数据区内,IN1通道采集到的11个数据放入以ADTURN1(片内2CH)为首址的另一片数据区内。 程序清单:AD: MOV R0, #ADTURNO MOV R6, #OBHADLOOP: MOV DPTR, #OBFF8H; 启动INO通道A/D转
30、换GOON: MOVX DPTR, A MOV R7, #OAOH; 延时等待转换结束DLAY: NOP NOP NOP NOP NOP DJNZ R7, DLAY MOVX A, DPTR MOV R0, A; 将转换后的数据送入以ADTURNO 为首址的一片RAM内INC RODJNZ R6, ADLOOPSJMP ADRET4.3数据处理数字滤波技术在单片机进行数据采集时,输入信号总难免受到这样那样的随机干扰,它们来自被测信号源、传感器、外界干扰等,从而使A/D送入单片机的数据中存在误差,这种因随机千扰而引入的误差为随机误差,其特点是在相同条件下测量同一量时,其大小和符号作无规则变化而无
31、法预测,但测量次数足够多时,其总体服从统计规律,大多数随机误差服从正态分布。为了克服随机干扰引起的误差,硬件上可采用滤波技术;软件上可按照统计规律采用数字滤波方法来抑制有效信号中的干扰成分,消除误差。本系统即采用数字滤波法。数字滤波无需硬件,它是用软件算法来实现的,只要适当改变软件滤波程序的运行参数,就能方便的改变其滤波特性,实时性很强。常用的数字滤波算法有:限幅滤波法、中位值滤波法、算术平均滤波法、去极值平均滤波法、移动平均滤波法、加权平均滤波法、低通滤波法、复合滤波法等。中位值滤波法能有效的克服偶然因素引起的波动或采样器不稳定引起的误码等脉冲干扰,对变化比较缓慢的被测参数采用此法能收到良好
32、的滤波效果。因本系统的被测参数土壤湿度为缓慢变化参数,故采用中位值滤波算法。中位值滤波算法实际上是一种排序方法,其具体思路是:对被测参数连续采样N次(一般N为奇数),然后把N次采样值按大小排列,取其中间值为本次采样值。 程序每次对土壤湿度连续采样11次,ADTURNO为片内RAM的21H地址单元,是采样值放入内存的首地址,滤波结果放入片内RAM的37H地址单元,即LINEADRO地址。程序清单:MAOPAO: MOV Rl, #ADTURNO MOV R5, #OAH CLR OOHFILTER: MOV 3CH, R1 INC Rl MOV A, R1 CLR C SUBB A, 3CH J
33、NC NEXT MOV A, Rl MOV R1, 3CH DEC R1 MOV Rl, A INC Rl SETB OOHNEXT: DJNZ R5, FILTER JB OOH, MAOPAO MOV LINEADRO, 26H RET尺度变换在微机化测控系统中,经A/D转换器接口送入微机的数据,是对被测量进行测量得到的原始数据。这些原始数据送入微机后通常要先进行一定的处理,然后才能输出作为显示器的显示数据。例如当被测温度为1000 C,经热电偶转换成热电势,再经放大和A/D转换得到的数字是10,这个A/D转换结果10虽然与1000C温度是对应的,但数字上并不是相等的。因此,不能当作温度值
34、去显示或打印,必须把A/D转换结果10变换成供显示或打印的温度值100,这个变换就是数字显示的标度变换。在该系统中,湿度传感器和A/D相连,川D转换器和单片机相连,其中不包括任何非线性的数字化测量通道,因此被测量的值N与A/D转换结果D,存在如图4-1所示线性关系。图4-1线性关系在该系统中,土壤湿度测量范围0100%对应的输出电压范围为0-5V,ADC0809为8位A./D转换器,转换输出的数码为0255。即根据上面公式,DL=0lD H =255,NL=0, NH=100.TURN: SETB OD3H CLR OD4H;选则第一组寄存器 CLR C MOV A, LINEADR MOV
35、B, #20 MUL AB CLR OD2H MOV R7, B MOV R6, A MOV R5, #00H MOV R4, #33HLOOP1: MOV A, R7 JNZ LOOP2 MOV A, R6 JNZ LOOP2 MOV R7, #0 MOV R6, #0 SJMP$LOOP2: CLR A MOV R2, A MOV R3, A MOV Rl, #16ADIN: 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 ALOOP3: DJ
36、NZ R1,ADIN MOV A,R3 JB ACC.7, LOOP4 MOV A, R2RLC AMOV R2,AMOV A, R3RLC ASUBB A,R5JC DONE1JNZ LOOP4MOV A,R2SUBB A,R4JC DONE1LOOP4: MOV A,R6 ADD A,#1 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,ADONE1: MOV HUMID,R6 CLR 0D3HRET4.3.3 BCD转换计算机所能识别和处理的是二进制数,在进行标度变换后的结果都是用二进制数进行计算和存储的,而在输入/输出系统中,按照人们的习惯均采用十进制数比较直观一
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显示
38、地址 MOV SHOWADR, B 将个位数送SHOWADR显示地址 RETLED动态显示程序根据LED动态显示系统电路图4-8, 8155控制口的地址为7FF8H, POA口地址为7FF9H,PC口地址为7FF,片内显示缓冲区为SHOWADR-SHOWADR+3 (40H-43H),共4个单元对应4个数码管。程序中先取SHOWADR-I-3中的数,对应选中最左边的数码管,其余类推。由于LED为共阴极接法,并有反相驱动,字型表TAB中有效的字型码为:表4-1 LED显示段码字型共阳极段共阴极段字型共阳极段共阴极段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7C
39、H3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H程序清单如下:MOV DPTR, #7FF8H ;指向8155控制口MOV A, #4DH ;设置8155工作方式字MOVX DPTR, A ;设A口、C口均为输出SHOW: CLR OD3HSETB OD4H ;选中寄存器2组MOV R4, #OFFHSHOWSTART: MOV R0, SHOWADR+3 ;指向缓冲区末单元MOV R1, #4 ;显示4位LEDSHOWLED:MOV R6, #20HMOV R7, #00HDIR 1:MOV A, #00H MOV DPTR, #7FFBH MOVX DPTR, AMOV A,R0MOV DPTR, #TABMOV A, A+DPTRMOV DPTR, #7FF9HMOVX DPTR,AMOV A,R6MOV DPTR,# 7FFBHMOVX DPTR,AHERE:DJNZ R7,HERE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流公司股权转让协议书范文
- 保安公司短期用工协议
- 2024年公司货车驾驶员聘用合同
- 食堂委托运营管理合同
- 2024年内部承包合同协议书范本
- 二手房装修合同模板
- 工程贷款合同案例
- 家政服务人员协议书
- 产品销售代理商协议书示例
- 2024软件用户试用条款
- GB/T 44218-2024微型扬声器测量方法
- 北师大版小学六年级数学上册期中测试试题及答案
- GB/T 44144-2024有声读物
- 2025届高考语文复习:2024年全国各地高考语文语言文字运用试题分析及备课建议+课件
- 安全技术管理专业毕业实习报告范文
- 《无人机测绘技能训练模块》课件-模块7:无人机航测影像获取
- 借款合同随借随还
- 上海市中考英语试卷及答案
- 2024福建福州市公安局协作支队警务辅助人员招聘笔试参考题库含答案解析
- 国家开放大学《心理学》形考任务1-4参考答案
- 言语理解与表达的真题全面
评论
0/150
提交评论