塘沽一职课程设计(贮水水管液位与水泵控制装置).doc

塘沽一职课程设计(贮水水管液位与水泵控制装置)

收藏

压缩包内文档预览:(预览前20页/共23页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:512897    类型:共享资源    大小:342.87KB    格式:ZIP    上传时间:2015-11-11 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
塘沽一职课程设计(贮水水管液位与水泵控制装置),毕业设计
内容简介:
2002 级电 子技术专业课程设计 设计题目:贮水水管液位与水泵控制装置 nts摘 要 本单片机系统设计的目的是应用单片机控制技术,以 89S52 单片机为核心控制水箱的水位,通过水位信号的采集模块采集信号 ,单片机对信号进行处理 ,控制水泵的启停 ,并实现了报警和手动、自动切换功能。用数码管显示液位高度与体积 ,并可以实现液面高度自动调整(液面高度可以人为的调整 ).该系统操作方便、性能良好,比较符合家禽用水系统控制的需要。本文还详细的给出了相关的硬件框图和软件流程图,并编制了该汇编语言程 序 . 关键词 : 单片机 水泵驱动模块 显示屏 信号采集模块 ABSTRACT This task is to control the water level of tank by micro-controller, the micro-controller always inspect the water level. And then control the water pump to add the water to tank. The digital led gives the water level and vol. the system should easy to operate, easy to use. adapt to family animal drink automatically. This article illustrate how to design hardware and software. At the same time, it also gives their drawing and script. KEYWORDS: Micro-controller pump drive digital tube signal aquire. nts目 录 第一章 方案论证 . 1 1、 控制单元的选择 . 1 2、信号产生方案的选择 . 1 3、水泵的选择 . 2 4、显示方案 . 2 5、声光报警电路设计 . 2 6、水泵工作但无水供出方案的选择 . 3 第二章 硬件设计 . 4 1、系统总体设计 . 4 2、系统各模块电路设计 . 7 第三章 系统软件设计 . 9 第四章 测试方法与实验数据 . 13 第五章 收获和总结 . 15 附件一 AT89C2051 控制程序 . 16 附件二 AT89S52 单片机数据采集、转换及显示程序 . 19 附件三 电路 PCB 图 . 24 nts 第一章 方案论证 根据题目的设计要求,本设计主要实现水泵在液位下限时给水管补水,液位到达上限的时候停止供水,并在高于上限或低于下限的时候发出声光报警。同时显示水位的高度。其系统方案框图如图 1 所示。为实现各模块功能,提出了几种设计方案并进行论证。 图 1 系统方案图 Fig-1 the system plan diagram 1、 控制单元的选择 方案一:采用 16 位单片机 SPCE061A 作为的控制中。 SPCE061A 具有丰富的资源: RAM, ROM,空间大、指令周期短 运算速度快等特点,尤其是可以进行复杂的数学运算,精度很高,但 16 位的汇编语言较为复杂。 方案二:采用 ATMEL89S52 型 8 位单片机作为显示控制系统,同时考虑到芯片的扩展对系统稳定性能会造成一定影响,因此另外采用 AT89C2051 对水泵进水进行控制。这两种芯片价格便宜,功能强大,在本设计中其运算速度足以达到要求,同时其片内的 ROM 及 RAM 容量足以满足要求。 综合各方面考虑,最终选择了第二套方案 2、信号产生方案的选择 方案 一:采用触点式开关产生信号,具体为:在水箱外用一根小的透明管与控制器模块 AT89S52 AT89C2051 水泵驱动模块 声光报警模块 扩展模块 旋钮输入 信号产生模块 显示模块 信号采集调理模块 nts水箱连通,透明管内置浮子,浮子通过一根线使滑轮与滑动触点相连接,通过水箱液面高度的变化使浮子带动移动触点开关运动。移动触点开关与固定触点接触时输出高电平,通过触点的移动,将产生一系列的脉冲信号,反馈给单片机后,单片机对信号进行计数判断,然后控制水泵。但由于触点在相互接触时,产生的信号出现抖动,影响单片机对信号的计数,从而导致控制精度不高。 方案二 :采用滑动变阻器产生信号。在滑动变阻器上装一个滑轮,在一个比较重的小铁球和有浮性的胶球用一根线连接 ,将其装在滑轮上。通过液面高度的变化,在浮力的作用下,带动小球浮动,从而引起滑动变阻器阻值变化。滑动变阻器阻值的变化将引起其电压变化,将此信号输入到单片机 AT89C2051 后,进而由单片机控制水泵的运转和启停。 综合各方面,最终选择了第二套方案。 3、水泵的选择 方案一:用直流 12V 电压驱动的雨刮水泵。其工作的电压底,出水量少,而水管的体积很大,要使水贮满水管需要很长的时间。而且泵水的高度也有点难以达到水管的高度要求。 方案二:用交流 220V 电压驱动的 JP 022 型 8W 的小型水泵。其出水量合适,泵水的高度 也能达到设计的要求。 综上分析,选择方案二。 4、显示方案 方案一:采用 LCD 液晶显示器。 LCD 液晶显示器即能显示数字又能显示文字,功能很大的,但其价格要比较贵,且控制较为困难。 方案二: 采用 四位一体 DG-E40561IP 共阳数码管 。这种数码管外形小、结构简单、使用方便,本设计只要用一个四位一体的数码管就可以实现显示要求。 综合各项因素,选择方案二。 5、声光报警电路设计 方案一:报警电路由电压比较器 LM339、固态继电器、蜂鸣器、发光二极管和旋扭式可调电阻等组成。 nts电压比较器 LM339 从传感器采集到的 电压值与设置的上限报警值比较再通过从输出管输出。 ( 1)当传感器采集到的信号电压比设置的上限电压值高时,输出管饱和,输出管截止,相当于输出端接低电平。 ( 2)当设置的上限报警值比传感器采集到的信号电压高时,输出管截止,相当于输出端开路。 通过电源驱动,蜂鸣器发出声音报警信号,同时使发光二极管发出光报警信号。 方案二:采用语音芯片,在超过水位上下限时能够通过语音进行报警,其人机交互友好,但控制复杂,成本较高。 综合各项因素,选择方案一。 6、水泵工作但无水供出方案的选择 方案一:在出水口处加入一触点,若有水 流出则触点导通,此时信号将输入给单片机使其识别。此种方案安装简单,但其是否导通受水的导电性影响。 方案二:在出水口位置安装一水流开关,在有水流出时,开关断开;无水流出时,开关闭合以提供给单片机一开关信号。 综合各项因素考虑,选择方案二。 nts第二章 硬件设计 1、系统总体设计 系统电路连接及硬件资源分配,本系统硬件电路连接图见图 2。 Fig-2 the diagram of the system circuit theory 本系统信号产生模块时刻检测水位的高低,并把这个信号通过 ADC0809转换为数字信号后输送给单片机,系统中的旋钮可以修改极限的上下限,极限值决定是否应该启动水泵给储液罐加水或停止供水,水泵功率为 10W,通过单片机控制继电器的断闭得以实现。数码管显示模块时刻显示水位、容积和极限值的大小。本系统的电路图如图 3 所示。 AT89S52 旋钮 传感器模块 数码管显示模块 水泵控制模块 图 2 系统电路原理图 声光报警装置 AT89C2051 水流开关 旋 钮 nts 图 3 系统电路连接图 Fig-3 the diagram of the system circuit 1 2 3 4ABCD4321DCBAT i t l eN um be r Re vi s i onS i z eA4D a t e : 1-J a n-2 00 2 S he e t of F i l e : D : 数字显示计电路图 数字显示 . dd b D ra w n By :C430pFC530pFA L EA L EV C CD721D017D114D215D38D418D519D620OE9S T A RT6A L E22C23B24A25IN 026IN 127IN 228IN 31IN 42IN 53IN 64IN 75CL O CK10V C C11V+12G N D13V-16E O C7C3A D C0 80 9W E N D U 1W E N D U 2W E N D U 3HTLTE O CE O CCL O CKV C CV C CG N DG N DCL O CKG N DS E G 0S E G 1S E G 2S E G 3S E G 4S E G 5S E G 6S E G 0S E G 1S E G 2S E G 3S E G 4S E G 5S E G 6Q1C9 01 2R54. 7KQWS2H L I M ITD3LEDV C CU2BE L LD2LEDC11uFR110KGWSWBWQWK1RE L A Y - S P S TS1JS1234J2CO N 422 0V 122 0V 222 0V 322 0V 422 0V 3 22 0V 4K2RE L A Y - S P S TKGKG22 0V 222 0V 1p1 . 0/ T 21p1 . 1/ T 2E X2p1 . 23p1 . 34p1 . 45p1 . 56p1 . 67p1 . 78RS T9p3 . 0/ RX D10p3 . 1/ T X D11p3 . 2/ IN T 012p3 . 3/ IN T 113p3 . 4/ T 014p3 . 5/ T 115p3 . 6/ W R16p3 . 7/ RD17X T A L 218X T A L 119G N D20p2 . 021p2 . 122p2 . 223p2 . 324p2 . 425p2 . 526p2 . 627p2 . 728P S E N29A L E / P RO G30E A / V P P31p0 . 032p0 . 133p0 . 234p0 . 335p0 . 436p0 . 537p0 . 638p0 . 739V C C40J1A T 89 S 52V C CA7B6C4D2E1F9G10dp5VCC8VCC3D S 2S H U M A GS E G 0S E G 1S E G 2S E G 3S E G 4S E G 5S E G 6Q2C9 01 2R64. 7KBWA7B6C4D2E1F9G10dp5VCC8VCC3D S 3S H U M A GS E G 0S E G 1S E G 2S E G 3S E G 4S E G 5S E G 6Q3C9 01 2R74. 7KSWA7B6C4D2E1F9G10dp5VCC8VCC3D S 4S H U M A GS E G 0S E G 1S E G 2S E G 3S E G 4S E G 5S E G 6Q4C9 01 2R84. 7KGWA7B6C4D2E1F9G10dp5VCC8VCC3D S 5S H U M A GV C C V C C V C C V C CO U 21O U 12V+3IN 1-4IN 1+5IN 2-6IN 2+7IN 3-8IN 3+9IN 4-10IN 4+11G N D12O U 413O U 314D S 1L M 33 9S H U IY112MR3RP O TV C CL L IM TR2RP O TV C CS H U IV C C G N DS112J4CO N 2123J3CO N 3V C CR410KV C CS H U IS2S1S W V C CV C CD4LEDU3BE L LV C C12U 1A74 F 0434U 1B74 F 04SBXBS1S21 32V VG N DINO U TU478 L 0512VV C CC82. 2u FC70. 1u FC1 01. 0u FC90. 1u FV C CS2S W V C CV C CC20. 1u FC60. 1u FV C CIN1Q112V S S7Q64V C CQ39Q55NC8Q211NC10RS E T2NC13Q73Q46J5H E F 40 24 BP11223344556677889910101111121213131414151516161717181819192020U189 C2 05 1Y1CRY SC130 P FC330 P FR11KC222uFV C CS2V C CXBSBCSC1 00. 1u FJSV C CS1CSXBSB12345678J7CO N 8G N DJSS2S112J6CO N 2V C CXHXHR84. 7KD4LEDU3BE L LV C C34U 1B74 F 04XBnts2、系统各模块电路设计 ( 1) 电源电路 本系统中采用外部开关电源直接供电方式,所提供电压为 5V,电流为 0.5A。 ( 2) 晶振电路 所选择 AT89S52 单片机的晶振频率应低于 33MHZ,考虑到在程序设计中指令时间计算的便利,我们采用 12MHz 晶振,一个机器周期为 1s。 ( 3)显示电路设计 本系统中,利用 DG-E40561IP 共阳数码管来显示水位的高度和体积及上下限的水位高度。 LED 显示电路由自制液位传感器采集信号,后输入 ADC0809 经过 A/D 转换后,从单片机 AT89S52 的 P0 口输入,由单片机进行 BCD 码转换后,显示水位值。由单片机的 P1 口控制四位 LED 数码管显示当前水位及设定的上下限。 ( 4) 报警模块设计 本系 统采用旋钮式可调电阻进行水位上下限的控制,并通过 LM339 对输入的水位进行判断,若过高或过低,则通过发光二极管和蜂鸣器进行声光报警。 ( 5)水泵控制模块电路 本设计采用的是 220V 的 JP 022 小型水泵,由于其工作的电压高,故在电路中用欧姆龙 G3MB-202P 固态继电器对其 220V 电路进行控制。当水位处于高低水位之间时,水泵工作。继电器在单片机控制下,处于常闭状态。若水位过 高或过低,则继电器控制 220V 电路断开,如下图 4 所示。 1 2 3 4ABCD4321DCBAT it leN um be r Re vi s ionS i z eA4D a te : 2-J a n-2 00 2 S he e t of F i le : D : 数字显示计电路图 数字显示 . dd b D ra w n By :K?RE L A Y - S P S TP 37 P 381234J?CO N 422 0V 122 0V 222 0V 322 0V 422 0V 222 0V 1K?RE L A Y - S P S TK G 1 K G 222 0V 222 0V 1图 4 继电器控制原理 Fig-4 the controlled theory of the relay nts(6) 模数转换电路设计 本系统模数转换电路原理为:从 ADC0809 端模拟输入信号地址线( 23-25)可决定对哪一路模拟输入作为 A/D 转换 22 脚锁址控制,当输入为高电平时,对地址信号进行锁存: 6 脚为测试控制,当输入一个宽电平脉冲时,就开始 A/D 转换: 7 脚 为 A/D 转换结束的标志,当 A/D 转换结束时, 7 脚输出高电平: 9 脚 为 A/D 数据输出允许控制,当 OE 脚为高电平时 A/D 转换数据从端口输出: 10脚为 0809 的时钟输入端,利用单片机 30 脚的六分频晶振信号再通过 4024 二分频得到。 ( 7)供水水位不足报警电路设计 为防止出现供水水位不足但水泵仍工作的现象,在系统设计当中加入了报 警装置,该装置的设计为:在水管的出水口处,加入一水流开关,当水泵工作且有水流出时,开关断开,警告灯灭;水泵工作而无水流出时时,警告灯亮,系统处于报警状态。 第三章 系统软件设计 软件设计是本系统的重要组成部分,因显示功能与控制功能由不同的单片机控制,为此程序设计分为两部分,考虑到汇编语言对显示控制编译的便利性以及Keil C 语言对运算编译的便利性,系统使用汇编语言对 AT89S52 进行编程,使用 Keil C 语言对 AT89C2051 进行编程(程序详见附件一与附件二)。本系统的软件设计共分为六个部分,分别为 初始化程序设计部分、主程序设计部分、显示主程序设计部分、摸数转换测量子程序部分、水泵启停控制部分、供水水位不足报警部分等组成。 ( 1) 初始化程序 系统上电时,将 70H72H 内存单元清零, P2 口置零。 ( 2) 主程序 在刚上电时,因 70H72H 内存单元的数据为 0,则每一通道的数码管显示值都为 000。当进行一次测量的 A/D 转换值。每个通道的数码管显示时间在 1s左右。主程序在调用显示程序和测试程之间循环。 (3) 控制程序 nts当设置好水位的上限和下限值后,单片机将不断检测水位状态,若发现水位到达最低水位,则使继电器闭合,启动 水泵电机,同时声光报警。若发现水位到达最高水位,则使继电器断开,停止水泵工作,同时声光报警,如图 5 所示。 ( 4) 数转换测量子程序 模数转换测量子程序是用来控制对 ADC0809 八路模拟输入电压的 A/D 转换,并将对应的数值移入 70H72H 内存单元,其程序流程如图 6 所示。 ( 5)显示子程序 采用动态扫描法实现四位数码管的数值显示。测量所得的 A/D 转换数据放在 70H72H 内存单元中。测量数据在显示时需经过转换成为十进制 BCD 码放在 76H79H 中,其中 7BH 存放通道 标志数。寄存器 R3 用来作 3 路循环控制,R0 用作显示数据地址指针,其流程图如 7 所示 到最低水位否 Y 开 始 初 始 化 超过最高水位否 声光报警 N Y N 水泵停止工作 水泵工作 有水泵出否 声光报警 N Y nts 图 5 水 泵 控制流程图 Fig-5 the flow chart of the pump controlling 开 始 启 动 测 试 数模转换结束? P3.7=1? 取数据( P2.5=1) 0809 地址加 1 取 上 限 值 取 下 限 值 地址数小于 3? Y N nts Fig-6 the flow chart of the A/D transverse measurement ( 6)系统软件抗干扰程序 为防止因电磁干扰而造成程序的“跑飞”,在程序设计当中加入了软件陷阱,既每段程序后加入两个空操作 NOP, 若程序“跑飞”则程序被软件陷阱捕获,被抗干扰程序处理,返回复位状态,重新启动系统。 第四章 测试方法与实验数据 1、测试仪器 开 始 初始化 调用显示子程序 调用 A/D 转换子程序 图 7 显示流程图 Fig-7 the flow chart of the monitoring nts万用表、 51 系列仿真器、 8051 仿真头、 89C2051 仿真头以及 SUPERPRO/Z编程器。 2、 硬件调试注意事项 ( 1)硬件调试时,可先检查印制板及焊接的质量是否符合要求,有无虚焊点及线路间有无短路、断路。然后用万用表测试或通电检测,检查无误后,可通电检查数码显示器亮度情况。 ( 2) LM339 与单片机相连的只有 4 根线,很容易检查,主要检查其与管脚是否连接好。 3、软件调试 软件调试是在 WAVE G6000 软件模拟器下进行,源程序编译及仿真调试应分段或以子程序为单位逐个进行,最后结合硬件实时调试。 子程序调试包括: ( 1) ADC0809 信号采集程序; ( 2)显示液位高度子程序; ( 3)声光报警程序; 本系统使用伟福 V5/S 仿真器进行程序仿真,在仿真过程中,因仿真头对输入电压有非常严格的要求,因此必须严格检查仿真头 40 脚输入电压是否超过 5V,程序仿真成功后方可烧入单片机。 4、测试结果分析 ( 1)启停水位及报警水位的测试分析 经过实验,本设计小组选取了 10cm、 25cm、 35cm 等水位进行测试,实验结果表明:在 10-25cm 间,显示误差小于 0.5cm。在 35cm 时误差为 1 cm。测试通过 ( 2)液位小于 10cm 时自动启停水泵测试 本小组首先将水箱中的水全部排除,系统通电后,水泵自动进水,同时蜂鸣器报警,指示灯闪亮,表明水位低于 10cm。测试通过 ( 3)液位在高于上限值报警测试 本小组选择 40cm 水位报警,测试结果表明,当水位到达 40cm 时,声光报 警装置启动,误差值在 1cm 以内。 ( 4)液位在高于上限时停水测试 nts本小组选择了 35cm 和 40cm 两个位置作为上限高度,实验结果表明 在两个位置,系统能实现自动停水功能,误差在 1cm 以内。 ( 5)显示测试 本小组选择了 10cm、 25cm、 35cm 以及 40cm 四个位置进行显示,测试结果表明:此四个位置所显示值误差小于 0.5cm。测试通过 ( 6)电机工作但液位不变化报警测试 本小组首先使水泵工作,在系统正常工作后,将水管拔除,系统报警。将水管接好后,报警解除。 由于所采用的 ADC0809 为 8 位,其计时精度相对设计要求而言已经足够,测量水位高度较为准确,误差在 1cm 以内。 第五章 收获和总结 经过紧张的四三联单天的奋力拼搏,与小组其他成员 通力协作,团结互助,终于完成了实验项目。首先,我们小组全体成员感谢主持本次竞赛的主委会和全体评审老师以及我们的辅导老师,谢谢你们给了我们一个提高自己和展现自己的舞台,让我们在以后的人生中更加自信和坚定。回想这四天三夜,短暂而充实,就我们而言,我们在许多方面都有了明显进步和收获,无论是拼搏精神还是团队精神都是对我一生都是一笔丰富的财富。所以这次竞赛无论能否取得成功,我们都不会有遗憾,我们会继续发扬这四天三夜的精神,在以后的日子里更加努力地提高自己、充实自己。同时,我们希望在这四天三夜的努力有所肯定,希望我们能 站在领奖台上。 参考文献 1胡汉才 .单片机原理及其接口技术 M.北京:清华大学出版社, 1996 2徐爱钧,彭秀华 .单片机高级 C51 应用程序设计 M.北京:电子工业出版社, 2000 3李建忠 .单片机原理及应用 M.西安:西安电子科技大学出版社, 1999 4李群芳 .单片微型计算机与接口技术 M北京:电子工业出版社, 2001 5楼然苗,李光飞 .51 系列单片机设计实例 M.北京:北京航空航天大学出版社, 2003 nts 附件一 AT89C2051 控制程序 #include #include #include #include #include /*/ #define uchar unsigned char #define uint unsigned int #define ulong unsigned long /*/ /*定义全局变量 */ sbit JS=P17; /点火线通断继电器控制口 sbit CS=P16; /过限蜂鸣器报警控制口 sbit SB=P15; /发动机启动信号输入口 sbit XB=P14; /发动机冷却水水位传感器输入口输出 sbit SX=P30; /发动机水温传感器输入口 sbit XX=P31; /发动机机 油压力传感器输入口 sbit YBJ=P32; uchar BB=0; /*/ /*延时程序 */ / void delay() /延时 25 秒 uchar i,j; for(i=0;i100;i+) for(j=0;j100;j+); /*IO 口初始化 */ void ioini() JS=1; CS=1; SB=1; XB=1; /MD=0; /SW=0; /*/ /*主函数 */ void main() nts ioini(); /端口初始化 do #pragma ASM MOV P3,#0FFH #pragma ENDASM if(XX=1) while(!SX) #pragma ASM MOV P3,#0FFH #pragma ENDASM JS=0; BB=1; if(XX=1) XB=0; delay(); delay(); XB=1; delay(); delay(); else /JS=1; if(SX=1) SB=0; delay(); SB=1; delay(); #pragma ASM MOV P3,#0FFH #pragma ENDASM if(BB=1&YBJ=1) CS=0; else CS=1; else JS=1; BB=0; if(XX=1) XB=0; delay(); delay(); XB=1; delay(); delay(); nts if(SX=1) SB=0; delay(); SB=1; delay(); while(1); /*结束 */ 附件二 AT89S52 单片机数据采集、转换及显示程序 70H-72H 存放采样值, 76H-79H 存放显示数据,依次为个位、十位、百位、通道标志 ; ;* ;* * ;* 主程序和中断程序入口 * ;* * ;* ORG 0000H ;程序执行开始地址 LJMP START ;跳至 START 执行 ORG 0003H ;外中断 0 中断入口地址 RETI ;中断返回(不开中断) ORG 000BH ;定时器 T0 中断入口地址 RETI ;中断返回(不开中断) ORG 0013H ;外中断 1 中断入口地址 RETI ;中断返回(不开中断) ORG 001BH ;定时器 T1 中断入口地址 RETI ;中断返回(不 开中断) ORG 0023H ;串行口中断入口地址 RETI ;中断返回(不开中断) ORG 002BH ;定时器 T2 中断入口地址 RETI ;中断返回(不开中断) ; ;* ;* * ;* 初始化程序中的各变量 * ;* * ;* CLEARMEMIO: CLR A ; MOV P2,A ;P2 口置 0 MOV R0,#70H ;内存循环清 0( 70H-79H) MOV R2,#06H ; LOOPMEM: MOV R0,A ; INC R0 ; DJNZ R2,LOOPMEM ; MOV A,#0FFH ; MOV P0,A ;P0、 P1、 P3 端口置 1 MOV P1,A ; MOV P3,A ; NOP nts NOP LJMP ERR RET ;子程序返回 ; ;* ;* * ;* 主 程 序 * ;* * ;* START: LCALL CLEARMEMIO ;初始化 MAIN: SETB P3.4; LCALL DISPLAY ;显示数据一次 LCALL TEST ;测量一次 LCALL CON ;控制水泵动作 AJMP MAIN ;返回 MAIN 循环 NOP ;PC 值出错处理 NOP ;空操作 NOP ;空操作 LJMP START ;重新复位起动 ; DISPLAY: MOV R3,#03H ;3 路信号循环显示控制 MOV R0,#70H ;显示数据初址( 70H-72H) MOV 76H,#00H ;显示通道路数( 0-3) DISLOOP1: MOV A,R0 ;显示数据转为三位十进制 BCD 码存入 SUBB A,#16H RRC A MOV B,#100 ;76H、 77H、 78H 显示单元内 DIV AB ;显示数据除 100 MOV 75H,A ;商入 7AH MOV A,#10 ;A 放入数 10 XCH A,B ;余数与数 10 交换 DIV AB ;余数除 10 MOV 74H,A ;商入 79H MOV 73H,B ;余数入 78H MOV R2,#0FFH ;每路显示时间控制 4MS*255 DISLOOP2: LCALL DISP ;调四位 LED 显示程序 DJNZ R2,DISLOOP2 ;每路显示时间控制 INC R0 ;显示下一路 INC 76H ;通道显示数值加 1 DJNZ R3,DISLOOP1 ;3 路显示未完转 DISLOOP1 再循环 NOP NOP LJMP ERR RET ;3 路显示完子程序结束 ; ; LED 共阳显示子程序,显示内容在 78H-7BH,数据在 P1 输出, 列扫描在 P3.0-P3.3 口 DISP: MOV R1,#73H ;赋显示数据单元首址 MOV R5,#0FEH ;扫描字 PLAY: MOV P1,#0FFH ;关显示 MOV A,R5 ;取扫描字 ANL P3,A ;开显示 MOV A,R1 ;取显示数据 nts MOV DPTR,#TAB ;取段码表首址 MOVC A,A+DPTR ;查显示数据对应段码 MOV P1,A ;段码放入 P1 口 LCALL DL1MS ;显示 1MS INC R1 ;指向下一地址 MOV A,P3 ;取 P3 口扫描字 JNB ACC.3,ENDOUT ;四位显示完转 ENDOUT 结束 RL A ;扫描字循环左移 MOV R5,A ;扫描字放入 R5 暂存 MOV P3,#0FFH ;显示暂停 AJMP PLAY ;转 PLAY 循环 ENDOUT: MOV P3,#0FFH ;显示结束,端口置 1 MOV P1,#0FFH ; NOP NOP LJMP ERR RET ;子程序返回 ; ;LED 数码显示管用共阳段码表,分别对应 0-9,最后一个是 熄灭符 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ; ; 1MS 延时子程序, LED 显示用 DL1MS: MOV
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:塘沽一职课程设计(贮水水管液位与水泵控制装置)
链接地址:https://www.renrendoc.com/p-512897.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!