




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
40螺杆挤压机六路温度监控系统的软件设计摘 要本课题针对工业上常用的温度控制系统进行设计,以螺杆挤压机温度控制系统为应用实例。本系统采用先进的单片机为主控制器,进行数据计算和功率输出控制,实现对螺杆挤压机六路温度的控制。本课题还包括按钮电路设计,LCD电路和打印机驱动电路设计,数据存储电路和报警电路设计。本课题设计出的温度控制系统,具有友好的人机界面,控制精确,易于扩展,稍加二次开发就可以产品化,产生经济效益。关键词:AT89S52单片机,温度控制,LCD显示,数据存储,打印 ABSTRACT he issue for the industrial temperature control systems commonly used in design to screw extruder temperature control system application examples. The system uses advanced microcomputer-based controller for data calculation and power output control, to realize the six-way screw extruder temperature control. This issue also includes button circuit design, LCD circuits, and printer driver circuit design, data storage circuit and alarm circuit. The issue of temperature control system is designed, has friendly interface, precise control and easy to expand, little can be products of secondary development, generate economic benefits.Key words: AT89S52 microcontroller, temperature control, LCD display, data storage, printing目 录第一章 前 言-1第二章 系统设计2.1系统组成-4 2.2 各模块介绍-5 2.3 单片机端口分配-11第三章 软件设计3.1单片机软件设计简介-13 3.2软件系统设计-14 致谢-40参考文献-41第一章 前 言1.1文献综述1.1.1螺杆挤压机简介挤压机的工作原理与打针用的注射器相似,它是借助螺杆(或柱塞)的推力,将熔融状态(即粘流态)的原料挤出,经冷却定型后取得制品的工艺过程。常见的挤压机结构如图1所示。螺杆式挤压机借助螺杆的推力,将料斗1中的固态或熔融态送至外侧安装电机加热圈的料筒中塑化。螺杆2每次前进注射结束后,螺杆在料筒前端原地转动,被加热预塑的塑料在转动着的螺杆作用下通过其螺旋槽输送至料筒前端的喷嘴附近,螺杆的转动时塑料进一步塑化,料温在剪切摩擦热的作用下进一步提高并得以均匀化。当料筒前端的熔料堆积造成对螺杆产生一定的压力时,螺杆就在转动中后退,直至与调整好的行程开关接触,具有模具一次注射量的塑料预塑和储料结束。接着注射液压缸开始工作,与液压缸活塞相连接的螺杆以一定的速度和压力将熔料通过料筒前端的喷嘴注入温度较低的闭合模具型腔中,保压一定时间,熔融塑料冷却固化即可保持模具型腔所赋予的形状和尺寸。1.1.2螺杆分区及功能固态化纤原料自进料漏斗进入螺杆螺槽内,由于螺杆高速旋转而与熔胶筒(barrel)产生剪切效应作用,使化纤原料混链并沿着螺杆螺槽输送,使固态化纤原料受到熔胶筒外侧之电热片加热与螺杆产生的剪切热作用下,使熔胶筒内部升温而熔成熔体态。 塑化螺杆依照几何外型区分三个区段: 图2 螺杆的三个分区进料区:此区段为固定螺杆螺沟之沟深,其功能为负责预热与塑料固体输送及推挤。必须保证塑料在进料段结束时开始熔融(也就是说要预热到熔点)。压缩区:此区段为渐缩螺杆螺沟牙深,其功能为化纤原料熔融、混链、剪切压缩与加压排气。塑料在此段会完全溶解,体积会缩小。计量区:此区段为螺杆螺沟固定沟深,其主要功能混链、熔胶输送、计量之外,还必须提供足够的压力,保持熔胶均匀温度及稳定熔融塑料之流量。1.1.3化学纤维简介化学纤维是用天然的或人工合成的高分子物质为原料制成的纤维。根据原料来源的不同,可分为以天然高分子物质为原料的人造纤维和以合成高分子物质为原料的合成纤维。化学纤维的制备,通常是先把天然的或合成的高分子物质或无机物制成纺丝熔体或溶液,然后经过过滤、计量,由喷丝头(板)挤出成为液态细流,接着凝固而成纤维。此时的纤维称为初生纤维。螺杆挤压机在化纤生产中的工艺就是以纺丝熔体或溶液为原料,通过螺杆挤压并加热,最后挤出纤维。1.1.4单片机简介单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机应用在检测、控制领域中,具有如下特点:(1)小巧灵活、成本低、易于产品化。它能方便地组装成各种智能测控设备及各种智能仪器仪表。(2)可靠性好,适应温度范围宽。单片机芯片本身是按工业测控环境要求设计的。(3)易扩展,很容易构成各种规模的应用系统,控制能力强。单片机的逻辑控制功能很强,指令系统有各种控制功能的指令。(4)可以很方便地实现多机和分布式控制系统。 第二章 系统设计2.1系统组成本温度监控系统是以89S52单片机为控制核心,由6路PT100温度传感器测量温度,系统框图如图2-1。数据采集模块人机界面模块数据存储模块 单片机AT89S52功率输出模块报警模块打印模块 图2-1 系统框图单片机外围接口电路包括人机接口按键,数码显示电路,温度读取与控制驱动电路以及下位机并行通信电路。用户通过按键设定温度后,系统启动。当前螺杆挤压机的温度通过温度传感器,输入至单片机。单片机输出信号,通过固态继电器驱动螺杆挤压机。选用89S52芯片作为控制器;74LS74、74LS737、74LS02和ADC0809组成AD转换模块;CC4051和TL062组成放大电路;选用OCMJ48作为液晶显示模块;选用炜煌打印机作为温度打印输出;利用蜂鸣器和LED指示灯组成报警电路;再利用74LS148和若干电阻、开关组成开关电路;74LS07和MOC3041组成了功率输出模块。2.2 各模块介绍2.2.1人机界面设计1.人机界面的功能:1)通过显示器显示实时温度和设定温度,2)按钮和画面相联系,通过按钮实现各种操作。显示器不仅用于显示实时温度,还可以为操作提供人机界面。由于触摸屏成本较高,对于这样的小系统,显示不适合使用。选用128*64的LCD显示器,型号定为OCMJ48液晶显示模块。该LCD模块为中文显示模块,可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。内置2M-位中文字型ROM (CGROM) 总共提供8192 个中文字型(16x16 点阵),16K-位半宽字型ROM (HCGROM) 总共提供126 个符号字型(16x8 点阵),64 x 16-位字型产生RAM (CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(Cursor shift)、显示移位(Display shift)、垂直画面卷动(Vertical line scroll)、反白显示(By_line reverse display)、待命模式(Standby mode)。表2-1 OCMJ48引脚功能OCMJ48共有20个引脚,各引脚的功能见表2-1,其电路接口设计如图2-3。 图2-3 LCD显示模块电路接口 人机界面的实现,不仅需要输出显示,还需要有输入功能,因此需要设计按钮电路。本设计使用7个按钮,其电路原理图如图2-4。图2-4 按钮电路原理图SBSBSB1123128*64LCDLINE1LINE2LINE3LINE4SBSBSBSB4567图2-5 人机界面示意图 应用按钮和显示器设计出的人机界面示意图如图2-5,其中LINE1用于显示标题,SB1、SB2、SB3分别对应于LINE2、LINE3、LINE4的操作,SB4对应于屏幕右下角的操作,另外SB4还做为“确定”按钮。SB5、SB6为数值增减按钮,用于参数设置,SB7为光标右移按钮。 根据系统功能需要设计人机界面的显示画面,主要包括开机画面,功能选择画面,系统设置画面,温度显示画面,以及报警画面和打印画面。画面效果如下图。 图2-6 画面效果图按钮功能分配如下表。表2-2 按钮功能分配输入按钮功能IN7SB1LINE2提示IN6SB2LINE3提示IN5SB3LINE4提示IN4SB4提示操作/OKIN3SB5增值IN2SB6减值IN1SB7光标右移按钮功能主要是参数设置,功能选择。按动按钮实现画面之间的切换。下图为按钮操作的流程图。SB2SB1SB3 功能选择画面2打印功能画面参数设置画面温度显示画面图2-7 功能选择操作流程图SB4SB2SB34/4功能选择 画面2各路温度循环 显示画面报警画面SB4SB3SB2功能选择 画面2各路打印选择画面打印中画面SB2/3SB4 SB4SB1开机画面功能选择 画面1监控路数 选择画面各路参数设定画面报警功能选择画面功能选择 画面2上 电开机图2-8开机及功能选择操作流程图2.2.2数据采集模块功能:1)对温度传感器的模拟信号进行放大, 2)对模拟信号A/D转换,实时采集温度数据。数据采集电路分为两部分,一是传感器信号放大电路,一是单片机A/D转换。本设计温度传感器选用工业上应用广泛的pt100, pt100是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200至650的范围.本电路选择其工作在0至200范围。A/D转换选用八位逐次比较器ADC0809。2.2.3数据存储模块功能:对各路温度历史数据及设定参数进行存储。设计采用I2C总线协议的存储器。I2C总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。基于I2c的以上优点,本设计采用I2C协议的存储器。每一路温度监控,配一个数据存储器,里面参数设置值和历史温度数据。系统开机时系统读取温度设置值,并可以再次设定温度,设定后会数据存储到存储器。历史温度数据是在监控时写入存储器,打印时从存储器读出。2.2.4打印模块功能。通过按钮操作,可以打印所选择通道的历史温度数据。打印机打印出直角坐标和温度曲线,并指明通道号。 为了能够查看各通道历史温度数据,本设计设置打印功能。执行打印功能时,单片机先从存储器读取数据至片内RAM缓存,然后输出控制打印机打印。本设计打印机选型为炜煌A9热敏打印机,选择串行通讯方式。2.2.5其他模块(1)功率输出模块功能:根据单片机的控制信号,启动加热或停止加热。功率输出模块分为六路,每路与单片机的一个口相连。(2)报警功能模块功能:当温度超过允许范围时,启动报警。本设计报警装置选用有源蜂鸣器,无须单片机提供振东频率。单片机两个端口的控制信号相与后输出控制蜂鸣器。一个端口为报警功能开启端,高电平有效,另一端口为报警启动信号,高电平有效。2.3 单片机端口分配AT89S52共有32个I/O口,分别为P0、P1、P2、P3。P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。P1口:8位准双向I/O口,可驱动4个LS型TTL负载。P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。该系统各模块与单片机端口的连接如下图:图2-9 各模块与单片机端口的连接图表2-3 P0端口分配表I/O口74LS373ADC0809LCD模块P0.0D12-1DB0P0.1D22-2DB1P0.2D32-3DB2P0.32-4DB3P0.42-5DB4P0.52-6DB5P0.62-7DB6P0.72-8DB7表2-4 P1、P2端口分配表I/O口外围器件I/O口外围器件型号引脚型号引脚P1.074LS07L0P2.0AT24C01SDAP1.174LS07L1P2.1AT24C01SCLP1.274LS07L2P2.2LCDRSP1.374LS07L3P2.3LCDRP1.474LS07L4P2.4LCDPSBP1.574LS07L5P2.5LCDRSTP1.674LS081AP2.6LCDEP1.774LS081BP2.774HC021B/2A表2-5 P3端口分配表I/O口外围器件型号引脚P3.0打印机TXDP3.1打印机RXDP3.2打印机BUSYP3.374LS148Y0P3.474LS148Y1P3.574LS148Y2P3.674HC021AP3.774HC022B第三章 软件设计3.1单片机软件设计简介 目前,用于程序设计的语言基本上分为三种:机器语言、汇编语言和高级语言。下面对这三种语言以以简单介绍。3.1.1机器语言在单片机种,用二进制代码表示的指令、数字和符号简称为机器语言,直接用机器语言编写的程序成为机器语言程序。用机器语言编写的程序,不易看懂,不便于记忆,且容易出错。3.1.2汇编语言为了克服机器语言的确定,用英文字符来代替机器语言,这些英文字符被称为助记符,用助记符表示的指令称为符号语言或者汇编语言,用汇编语言编写的程序称为汇编语言程序。单片机不能直接执行汇编语言,需将汇编语言程序转换成为二进制代码表示的机器语言程序,单片机才能识别和执行,通常把这一转换(翻译)工作称为汇编。汇编可由专门的程序来完成,这种程序称为汇编程序,经汇编程序“汇编(翻译)”得到的机器语言程序称为目标程序,原来的汇编语言程序称为源程序。汇编语言具有如下特点:(1)汇编语言是面向机器的语言,程序设计人员必须对单片机的硬件有相当深入的了解。(2)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用的存储空间小,运行速度快,因此用汇编语言能编写出最优化的程序。(3)汇编语言程序能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。但是,汇编语言和机器语言一样,都脱不开具体机器的硬件,因此,这两种语言均是面向机器的语言,缺乏通用性。3.1.3高级语言高级语言不受就具体机器的限制,都是参照一些数学语言而设计的,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。常用的高级语言,诸如BASIC,FORTRAN以及C语言等。高级语言通用性强,直观、易懂、易学,可读性好。计算机不能直接识别和执行高级语言,需要将其“翻译”成机器语言才能识别和执行,进行“翻译”的专用程序称为编译程序。本设计使用的硬件模块较多,需要面向硬件设计,提高系统程序执行效率,因此采用汇编语言进行设计。3.2软件系统设计3.2.1主程序流程示意图打印功能选择程序读数据程序数据打印程序数据存储程序温度显示程序数据采集程序报警控制程序功率输出控制程序数字滤波参数设置程序功能选择程序2读数据程序上电开机开机画面程序功能选择程序1 图3-1 主程序流程示意图首先系统上电开机,开机后程序执行开机画面,画面延时大约3S后,进入功能选择画面1,此时只能选择第一项功能即参数设置。首先程序读取存储器数据,提取之前设置的参数(第一次使用时参数均为0),下面便是设置所需监控的路数,确认路数后设置各路的温度,最后是选择是否开启报警功能。参数设置完成后,进入到功能选择画面2,此时三项功能都可以选择。在功能画面2,可以进入温度显示功能,进入该功能后程序启动A/D转换器,并进行数据处滤波等处理,处理好的数据存储到片外的存储器。然后程序进入到画面显示程序,功率控制程序,报警控制程序,程序可实现各路温度动态循环显示,每个画面显示一路温度,在温度显示程序中,通过按钮可以回到功能选择画面2程序,此时系统停止监控。也就是说只有选择温度显示功能后,系统才开始监控。在功能画面2,通过按钮操作,还可以进入到打印功能程序,选择所需打印的通道号,确认后,程序先从片外存储器中读取数据,将数据放到单片机片内RAM缓存,最后启动并发送数据给打印机。3.2.2 显示程序设计设计中选用的液晶显示模块模块各引脚功能见表2-1,当PSB脚接高电位时,模块将进入并列模式,在并列模式下可由指令DL FLAG 来选择8-位或4-位接口,主控制系统将配合( RS , RW , E , DB0.DB7 )来达成传输动作。从一个完整的流程来看,当下设定地址指令后(CGRAM,DDRAM)若要读取数据时需先DUMMY READ一次,才会读取到正确数据第二次读取时则不需DUMMY READ 除非又下设定地址指令才需再次DUMMYREAD。其时序如下图。图3-2 LCD模块时序图具体指令介绍:(1)清除显示(指令代码为01H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLLLH 功能:将DDRAM 填满”20H”(空格),把DDRAM 地址计数器调整为“00H”,重新进入点设定将I/D 设为”1”,光标右移AC 加1。(2)地址归位(02H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLLHX功能:把DDRAM 地址计数器调整为“00H”,光标回原点,该功能不影响显示DDRAM。(3)点设定(04H/05H/06H/07H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLHI/DS功能:设定光标移动方向并指定整体显示是否移动。 I/D=1 光标右移,AC 自动加1;I/D=0 光标左移,AC 自动减1。 SH=1 且DDRAM 为写状态:整体显示移动,方向由I/D 决定(I/D=1 左移,I/D=0 右移)SH=0 或DDRAM 为读状态:整体显示不移动。(4)显示状态 开/关(08H/0CH/ODH/0EH/0FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLHDCB功能:D=1: 整体显示ON ; D=0: 整体显示OFF. C=1: 光标显示ON ; C=0: 光标显示OFF.B=1: 光标位置反白且闪烁 ; B=0: 光标位置不反白闪烁。(5)光标或显示移位控制(10H/14H/18H/1CH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLHS/CR/LXX功能:10H/14H:光标左/右移动,AC 减/加1;18H/1CH:整体显示左/右移动,光标跟随移动,AC 值不变。(6)功能设定(20H/24H/26H/30H/34H/36H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLHDLXREXX功能:DL=1: 8-BIT 控制接口 DL=0: 4-BIT 控制接口。RE=1: 扩充指令集动作 RE=0: 基本指令集动作。(7)设定CGRAM 地址(40H-7FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLHAC5AC4AC3AC2AC1AC0功能:设定CGRAM 地址到地址计数器(AC),需确定扩充指令中SR=0(卷动地址或RAM 地址选择)。(8)设定DDRAM 地址(80H-9FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLHAC6AC5AC4AC3AC2AC1AC0功能:设定DDRAM 地址到地址计数器(AC)(9)读取忙碌状态(BF)和地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELHBFAC6AC5AC4AC3AC2AC1AC0功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值,当BF=1,表示内部忙碌中此时不可下指令需等BF=0 才可下新指令。(10)写资料到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0CODEHLD7D6D5D4D3D2D1D0功能:写入资料到内部的RAM(DDRAM/CGRAM/GDRAM),每个RAM 地址都要连续写入两个字节的资料。(11)读出RAM 的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODEHHD7D6D5D4D3D2D1D0功能:从内部RAM 读取数据(DDRAM/CGRAM/GDRAM),当设定地址指令后,若需读取数据时需先执行一次空的读数据,才会读取到正确数据,第二次读取时则不需要,除非又下设定地址指令。(12)待命模式(01H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLLLH功能:进入待命模式,执行其它命令都可终止待命模式。(13)卷动地址或RAM 地址选择(02H/03H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLLHSR功能:SR=1:允许输入卷动地址 SR=0:允许设定CGRAM 地址(基本指令)。(14)反白选择(04H-07H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLLHR1R0功能:选择4 行中的任一行作反白显示,并可决定反白与否。本型号LCD模块一、三行为反白选择的第一行,二、四行为反白选择的第二行。(15)睡眠模式(08H/0CH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLLLHSLXX功能:SL=1:脱离睡眠模式 SL=0:进入睡眠模式。(16)扩充功能设定(20H/24H/26H/30H/34H/36H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLLHDLXREGL功能:DL=1:8-BIT 控制接口 DL=0:4-BIT 控制接口 RE=1:扩充指令集动作 RE=0:基本指令集动作 G=1:绘图显示ON G=0:绘图显示OFF。(17)设定卷动地址(40H-7FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLLHAC5AC4AC3AC2AC1AC0功能:SR=1:AC5AC0 为垂直卷动地址。(18)设定绘图RAM 地址(80H-FFH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0CODELLHAC6AC5AC4AC3AC2AC1AC0功能:设定GDRAM 地址到地址计数器(AC)。根据上面的指令功能编写出显示画面所需子程序。1.测忙子程序设计 CHK_BUSY:MOVP0,#0FFH;测忙碌子程序 CLRRS SETBRW SETBE JBP0.7,$ CLRE RET2.写指令子程序设计 SEND_I:LCALLCHK_BUSY;写指令子程序 CLRRS CLRRW MOVP0,A SETBE NOP NOP CLRE RET3.写数据子程序设计 SEND_D: LCALLCHK_BUSY ;写数据子程序 SETBRS CLRRW MOVP0,A SETBE NOP NOP CLRE RET4.清屏子程序设计 CLEAR_D:MOVA,#01H ;清除显示 LCALLSEND_I RET5.反白显示子程序设计 FB:MOVA,#30H ;30H-基本指令操作 LCALLSEND_I MOVA,#06H ;指定在资料写入或读取时,光标的移动方向 LCALLSEND_I MOV A,#0EH LCALL SEND_I ;开启光标显示,开启光标处反白显示 RET 6.去反白功能子程序设计 BF:MOVA,#30H ;30H-基本指令操作 LCALLSEND_I MOVA,#06H ;指定在资料写入或读取时,光标的移动方向 LCALLSEND_I MOV A,#0CH LCALL SEND_I ;关闭光标显示,关闭光标处反白显示 RET7. 画面程序设计 画面设计的流程如下图:YN将数据表地址给DPTR 设置显示字节数N发送地址指令 查表发数据发完N字节数据 结束 图3-3 画面设计流程图下面以开机画面为例介绍画面显示的实现 六路温度监控 BG062陈智 曹松 PH1_2:MOVDPTR,#TAB1 ;数据地址给DPTR MOVCOUNT,#0CH ;显示数据为12字节 MOV A,#81H ;数据在显示屏的上位置 LCALLSEND_I ;发送指令数据 PH1_20:CLR A MOVCA,A+DPTR ;查数据表 LCALLSEND_D ;发送显示数据 INC DPTR DJNZCOUNT,PH1_20 PH1_3:MOVDPTR,#TAB2 ; 数据表BG062地址给DPTR MOVCOUNT,#05H ;显示数据为5个字节 MOVA,#8BH ;数据在显示屏上的位置为8BH LCALLSEND_I ;发送指令数据 PH1_30:CLRA MOVCA,A+DPTR ;查数据表LCALLSEND_D ;发送显示数据INCDPTRDJNZCOUNT,PH1_30 PH1_4:MOVDPTR,#TAB3; 数据表曹松 陈智地址给DPTRMOVCOUNT,#12 ;显示数据为12字节,包括4个字节的空格MOVA,#99H ;数据在显示屏上的显示位置为99HLCALLSEND_I ;发送指令数据PH1_40:CLRA MOVCA,A+DPTR ;查数据表 LCALLSEND_D ;发送显示数据 INC DPTR DJNZCOUNT,PH1_40 RETTAB1: DB 六路温度监控TAB2: DB BG062TAB3: DB 陈智 曹松3.2.3数据采集与处理程序设计设计中选用AD转换器ADC0809,ADC0809是一种逐次比较式8路模拟输入、数字输出AD转换器。其引脚如图3-4。 图3-4 ADC0809 DIP封装图ADC0809共有28脚,采用DIP封装。其主要引脚功能如下:(1)IN0-IN7是8路模拟信号输入端。(2)D0-D7是8路数字量输出端。(3)A、B、C与ALE控制8路模拟通道的切换,A、B、C分别与3根地址线或数据线相连,3位编码对应8个通道地址端口。C、B、A=000111分别对应INOIN7通道的地址。(4)OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。本设计采用查询方式读取转换数据。由于ADC0809片内无时钟,可利用89S52提供的地址锁存允许信号ALE经D触发器4分频后获得,ALE引脚的频率是89S52单片机时钟频率的1/6。如单片机时钟频率采用11.0592MHZ,则ALE引脚的输出频率为1.8432MHZ,再4分频后为460.8KHZ,符合ADC0809对时钟频率的要求。由于ADC0809具有输出三态锁存器,其8位数据输出引脚可直接与数据总线相连。地址译码引脚C、B、A分别与地址总线的低3位A2、A1、A0相连,以选通IN0IN7的1个通路。将P2.7作为片选信号端,在启动AD转换时,由单片机的写信号WR和P2.7引脚信号控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。在读取转换结果时,用低电平的RD和P2.7引脚经1级或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。 (1)数据采集程序设计 程序设计流程图YN启动AD转换延时程序读取AD数据采样10次置通道数数字滤波计算温度值返回图3-5 数据采集流程图(2)数字滤波程序设计 对10次采样数据从小到大排序其流程如图3-6.NYN两数交换交换标志置1比较一遍?交换标志位?返回交换标志清零顺序取下一个数指针加1顺序去下一个数,并比较后一数小?开始YYN图3-6 数据排序流程图(3)去掉最小值和最大值,然后求平均数。AD10放累加和的高八位 AD1放低八位; 平均数放在AD1 AVE:CLR AD1 CLR AD10 MOV R0,#73AVE0: MOV A,AD1 CLR C ADD A,R0 MOV AD1,A MOV A,AD10 ADDC A,#00H MOV AD10,A INC R0 CJNE R0,#4AH,AVE0 MOV A,AD1 MOV B,#8 DIV A,B MOV AD1,A MOV A,AD10 MOV B,#32 MUL AB ADD A,AD1 MOV P_P,A RET3.2.4存储器读写程序设计设计采用AT24C01,采用I2C程序。I2C总线上的所有器件连接在一个公共的总线上,因此,主器件在进行数据传输前选择需要通信的从器件,即进行总线寻址。I2C总线上所有外围器件都需要有唯一的地址,有器件地址和引脚地址两部分组成,工7位。器件地址是I2C器件固有的地址编码,器件出厂时就已经给定,不可更改。引脚是由I2C总线外围器件的地址引脚(A2,A1,A0)决定,根据其在电路中接电源正极、接地或悬空的不同,形成不同的地址代码。引脚地址数决定了同一种器件可接入总线的最大数目。地址位与一个方向位共同构成I2C总线器件寻址字节。寻址字节的格式如表3-1所示。方向位(R/W)规定了总线上的组器件与外围器件(从器件)的数据传送方向。当方向位R/W=1,表示主器件读取从器件中的数据;R/W=0,表示主器件向从器件发送数据。表3-1 寻址字节的格式位序D7D6D5D4D3D2D1D0定义器件地址引脚地址方向位DA3DA2DA1DA0A2A1A0R/W(1)起始信号子程序起始信号用于开始I2C总线通信,其时序如图3-7。汇编程序如下:图3-7 起始信号时序SCLSDASTART: SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP CLR SCL RET (2)终止信号子程序 终止信号用于终止I2C总线通信,其时序如图3-8。汇编程序如下:SCLSDA图3-8 终止信号时序STOP:CLR SDA SETB SCL NOP NOP SETB SDA NOP NOP CLR SCL RET (3)应答信号子程序应答信号用于表明数据传输的结束,其时序如图3-9SCL 图3-9 应答信号时序ACK: CLR SDA SETB SCL NOP NOPSDA CLR SCL NOP NOP SETB SDA RET(4)非应答信号子程序非应答信号用于数据传输出现异常而无法完成时,其时序见图3-10NACK:SETB SDASCLSDA图3-10 非应答信号时序图 SETB SCL NOP NOP CLR SCL NOP NOP CLR SDA RET(5)应答位检查 应答位检查用于检测接受的是否为正常的应答信号,以便于判断数据接受是否正常,方便后期处理,其汇编程序如下:CACK: SETB SDA NOP SETB SCL NOP CLR F0 MOV A,P2 JNB ACC.0,CND SETB F0CND: CLR SCL NOP RET (6)写一个字节子程序设计 程序流程见图3-11(7)写N个字节子程序设计 程序流程图件3-128. 读一个字节子程序设计程序流程见图3-13。YNYNNYYN 发送启动信号发送片内地址发送器件地址发送启动信号是否应答发送读信号是否应答读数据是否应答发送非应答信号读完N字节发送停止信号返回图3-14 读N个字节子程序9. 读N个字节子程序程序流程见图3-143.2.5打印机程序设计1.打印命令祥解 1.选择字符集1 格式: ASCII: ESC 6 ;16进制: 1B 36 在该命令之后的字符将使用字符集1的字符进行打印。字符集1中有字符224个,代码范围20H-FFH(32-255)。包括ASCII字符,及各种图形符号等。 2.选择字符集2格式: ASCII: ESC 7 ;16进制: 1B 37 在该命令之后输入的代码将选择字符集2的字符打印。字符集2中有字符224个,代码范围20H-FFH(32-225)。包括德、法、俄文、日语片假名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇产科医生工作总结汇编15篇
- 大产权合同5篇
- 电动车禁止入户协议书9篇
- 联合他投标试点协议书6篇
- 2025年农业科技行业数字化农业与智能农业发展研究报告
- 2025会计现场面试题目及答案
- 2025会计类面试题目及答案
- 2025中国远洋海运集团内部招聘中远海运(香港)有限公司所属单位招聘2人笔试题库历年考点版附带答案详解
- 2025年消费电子行业智能家电市场前景研究报告
- 2025年三农产业行业农村电商发展与乡村振兴研究报告
- 设备维保中的环境保护与能源管理
- 混合型脑性瘫痪的护理课件
- 眼科专业视野培训教材
- 乳房疾病的诊断与治疗
- 青蓝工程教师成长档案
- 中建室内中庭墙面铝板、玻璃安装施工方案(改)
- 中秋佳节给客户的一封信(10篇)
- 二维码见证取样操作手册广西
- 学生心理健康档案表格
- 雨污水管道专项工程施工组织设计方案
- 毕业论文-线路二次电弧熄灭时刻扑捉方法研究及仿真分析
评论
0/150
提交评论