ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:848.09KB ,
资源ID:9826923      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9826923.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(硬件课程设计修改2.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

硬件课程设计修改2.docx

1、硬件课程设计修改2 中国矿业大学计算机学院2012级本科生课程报告课程名称 硬件课程设计 课程题目 压力控制系统 报告时间 2014年12月 学生姓名 白文芳 学 号 08123241 专 业 计算机科学与技术 任课教师 王凯 目 录1. 概述 11.1设计任务 11.2设计要求 12. 需求分析 13. 各个芯片工作原理及功能 23.1 8255A 23.2 ADC0809原理及接线图 43.3 LED图形显示屏工作原理 63.4步进电机工作原理 104. 电路原理图与说明 115. 软件主要模块与说明 145.1主程序流程图 145.2软件功能模块图 155.3 系统详细设计 155.3.

2、1模块设计 155.3.2流程图 166. 源程代码与注释 177. 结论与体会 278. 参考文献 281. 概述1.1设计任务我们经常要控制压力在某一范围内变化,是压力不超过某以上限值也不低于某一下限值。而压力控制系统在实际中也有较广泛的应用。为此,我们目前很需要开发一种简单的压力控制系统来替代人的工作。这样既可以节省人力资源,又可以使这项繁琐而又难实现的工作变得简单又轻松。真正实现我们所谓的监测和控制。1.2设计要求(1)利用压力传感器输入一个压力值,当该压力值超过一定的限度值时,系统会发出警报,红灯闪烁,然后使用压力控制系统进行减压,直至变为合理范围之内。(2)当该压力值低于下限值时,

3、黄灯闪烁,再通过电机系统进行加压。(3)当压力值在限定范围之内时,LED显示屏显示内容为P=XXX,即此时压力值。2. 需求分析压力测试系统的设计,必然要牵涉到压力的感应与转化,所以必须要有压力传感器与A/D转换器。将自然中的模拟量转化为电压信号,再转化位数字信号进行处理。一个小型的微机系统,必须要有8086CPU来进行整体的控制,将其通过8255与A/D传感器进行连接。这就是这个系统的主要框架。而具体的应用框架则是在主要的框架上添加。要当压力低于下限值时,黄灯闪烁。当压力高于上限值时,红灯闪烁。则应添加8255模块。通过编程来控制黄灯与红灯的亮灭情况,考虑到要进行比较,所以我用了两个比较器进

4、行数据的比较。而利用LED图形显示器进行显示输出,显示内容为四行,包括时间,当前压力及状态。3. 各个芯片工作原理及功能3.1 8255A(1)8255原理及接线图 8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。如下图所示(2)芯片8255 A在本设计中的功能作用8255是并行的I/0接口芯片,内部有三个相互独立的8位数据端口。8255实现了外设与8086之间的数据传输。8255的A口工作于方式0,作为输出口,其PA0PA7分别与LCD液晶显示屏

5、端口相连,PC5PC7接相应端口,工作在并行模式。(3)芯片8255的功能分析8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、B口和C口。三个端口都可以作为输入端口或输出端口。A口有三种工作方式:方式0、方式1和方式2;B口可以工作在方式0或方式1下;C口通常作为联络信号使用。8255的工作只有当片选CS有效时才能进行工作,而控制逻辑端口实现对其他端口的控制。当8255工作在方式0时,即基本输入输出方式时,可将三个数据端口划分为四个独立的部分:A口和B口作为两个8位端口,C口的高4位和低4位可以用作两个4位的输入输出口,各个端口都可独立地用作输入或输出。数据总线缓冲器是一

6、个8位双向三态缓冲器,三态是由读/写控制逻辑控制的,它可与系统的DB直接相连,实现CPU和8255A之间的信息传送;读写控制器用于管理数据、控制字或状态字的传送,接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。8255引脚:RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD

7、=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。PC0PC7:端口C输入输出线,一个8位的数据输出

8、锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A0=0,A1=0时,PA口被选择;当A0=0,A1=1时,PB口被选择;当A0=1,A1=0时,PC口被选择;当A0=1.A1=1时,控制寄存器被选择.(4)8255A具有3种基本的工作方式 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。它只完成简单的并行输入 / 输出操作, CPU 可从指定端口

9、输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合 工作方式 1 :被称作选通输入 / 输出方式。在这种工作方式下,数据输入 / 输出操作要在选通信号控制下完成。 工作方式 2 :被称作带选通的双向传送方式。 8255A 中只允许端口 A 处于工作方式 2 ,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口 C 提供,并可向 CPU 发出中断请求信号。3.2 ADC0809原理及接线图 ADC0809是采用分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号

10、,只选通8路模拟输入信号中的一个进行A/D转换。(1)ADC0809的主要特性8路输入通道,8位A/D转换器,即分辨率为8位。具有转换起停控制端。转换时间为100s单个+5V电源供电。模拟输入电压范围0+5V ,不需要零点和满刻度校准。工作温度范围为-40+85摄氏度。低功耗,约15mW.(2)内部结构ADC0809的内部逻辑结构由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三台输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三台输出锁存器取走转换完的数据。 ADC0809的内部逻辑结构(3)外部特性(引

11、脚功能)ADC0809引脚图ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。START: AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平

12、,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一5V。GND:地。3.3 LED图形显示屏工作原理(1)液晶屏简介和主要特性液晶显示屏是一种内置12864-12汉字图形点阵的液晶显示控制模块,用于显示汉字及图形12864A-1汉字图形点阵液晶显示模块集成ST7920驱动器,可显示汉字及图形,内置8192个中文汉字(1616点阵)、128个字符(816点阵)及64256点阵显示RAM(GDRAM)。主要技术参数和显示特性:电源:VDD 3.3V+5V(内置升压电路,无需负压);显示内容:128列 6

13、4行;显示颜色:黄绿;显示角度:6:00钟直视;LCD类型:STN;与MCU接口:8位或4位并行/3位串行;2MHZ时钟频率;配置LED背光;多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等(2)试验原理图(3)液晶显示屏引脚说明逻辑工作电压(VDD):4.55.5V电源地(GND):0V工作温度(Ta):060(常温) / -2075(宽温)(4)汉字编码查询表(5)液晶显示流程图:(6)具体指令介绍3.4 步进电机工作原理(1)基本原理介绍按原理图连接线路,利用8255输出脉冲序列,开关K0K6控制步进电机转速,K7控制步进电机转向。8255 CS接288H28FH。PC0PC3接

14、BABD;PA口接逻辑电平开关。步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。本实验使用的步进电机用直流5V电压,每相电流为0.16A,电机线圈由四相组成:即:_1(BA);_2(BB);_3(BC);_4(BD)实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。(2)试验原理图(3)试验流程图4. 电路原理图与说明(1)电路连接图与说明:0809的通道0的地址为298H,通道0与0+5V相连接,片选地址为280H287H8255的片选地址为288H29DH,A口地址

15、为288H,B口地址为289H,C 口地址为28AH,PA0PA7接LCD数据总线D0D7,PB0PB2接LCD的D/I、RW、E。PC0PC7接键盘的DOD7。(2)系统运行过程的详细分析压力控制系统由以下几个部分组成,包括输入部分,转换部分,显示部分,报警部分和相应加压减压措施。输入部分:首先由压力传感器输入一个压力值(利用滑动变阻器模拟)转换部分: 通过ADC0809芯片,将模拟信号转换为数字信号,再通过8255芯片送入8086CPU显示部分:通过8255连接LED灯和液晶电子显示屏,用液晶电子显示屏显示该压力值报警部分:当高于上限值时,LED红灯闪烁报警;当低于下限值时,LED黄灯闪烁

16、报警相应措施:当高于上限值时,利用电机减压控制,直至黄灯熄灭,当低于下限值时,利用电机加压控制,直至红灯熄灭。系统软件实现 (3)硬件接线实物图(4)运行成果压力为3MPa时为正常,显示压力正常压力大于等于4MPa时为过高,显示压力过高请降压,同时红灯报警,步进电机转 压力小于3MPa时为过低,显示压力过低请升压,同时黄灯报警,步进电机转 5. 软件主要模块与说明5.1主程序流程图5.2软件功能模块图5.3 系统详细设计5.3.1模块设计(1)压力检测模块压力检测模块需要用到8255I/O芯片、0809模数转换器。由0809对压力值进行采集并且转换成数字化的压力值,获得的数字化的压力值后通过编

17、码使得数字化的压力值标准化,经8086CPU传送给8255I/O芯片。获得的压力值在编码部分完成比较,即压力检测。(2)压力转换模块压力转换模块由0809模数转换芯片单独完成,0809芯片将输入的电压信号转换成数字化的压力值。(3)LCD显示模块LCD液晶显示器由8255I/O芯片控制,其8路数据线和8255的PA0-PA7相连,8255的PC0,PC1,PC2分别与LCD液晶显示器的D/I,W/R,E相连。通过编码完成压力值的判断,LCD将显示出对应的压力值的动作。如压力值正常时,LCD液晶屏将显示:系统时间、当前压力X兆帕、水塔内压力正常等的字样。(4)压力控制模块压力控制模块同样是由82

18、55来进行控制的。8255获得数字化压力值后,编码完成对采集到的压力值的判断。压力控制系统将对压力值采取相应的措施。如压力小于2兆帕时,系统中直流电机转动来增加压力,LCD液晶显示器将显示:压力过低,请增压。此外,红灯亮表示警示。5.3.2流程图(1) 压力检测流程图(2) 压力转换流程图(3) LCD显示流程图(4) 压力控制流程图6. 源程代码与注释IO_ADDRESS equ 288h DATA SEGMENTNUM DW 0A3B0H,0A3B1H,0A3B2H,0A3B3H,0A3B4H,0A3B5H,0A3B6H,0A3B7H,0A3B8H,0A3B9HHZ_TAB DW 0B5B

19、1H,0C7B0H,0A1C3H,0C1A6H,0A1C3H,0A1C3H,0A1A0H,0A1A0H;0-14 DW 0B5B1H,0C7B0H,0D1B9H,0C1A6H,0A1A0H,0A3CDH,0A3D0H,0A3E1H;16-30 DW 0A3B0H,0A3B0H,0A3B0H,0A3D0H,0A1A0H,0A1A0H,0A1A0H,0A1A0H;32-46 HZ_ADR DB ? ;存放显示行起始端口地址DATA ENDSCODE SEGMENTASSUME cs:code,ds:dataSTART: MOV AX,DATA MOV DS,AX MOV DX,IO_ADDRESS

20、 ADD DX,3 MOV AL,80H OUT DX,AL ;8255初始化 MOV AL,0FFh MOV DX,300H OUT DX, AL CALL KEEP CALL DELAYTIME CALL DELAYTIME call TIMEDISPLAY CALL CLEAR ;LCD 清除 ; CALL FUNCUP ;LCD 功能设置 LEA BX, HZ_TAB MOV CH,1 ;显示第1行信息 CALL LCD_DISP LEA BX, HZ_TAB MOV CH,2 ;显示第2行信息 CALL LCD_DISP LEA BX, HZ_TAB MOV CH,3 ;显示第3行信

21、息 CALL LCD_DISP l1: JMP START ;l1CLEAR PROC MOV AL,0CH MOV DX, IO_ADDRESS OUT DX,AL ;设置CLEAR命令 CALL CMD_SETUP ;启动LCD执行命令 RETCLEAR ENDPKEEP PROC MOV DX,298H OUT DX,AL MOV CX,0FFHAGAIN: LOOP AGAIN IN AL,DX MOV BL,AL MOV AH,0 MOV CL,51 DIV CL MOV AH,0 ADD AX,0A3B0H MOV HZ_TAB+24,AX CMP HZ_TAB+24,0A3B4H

22、 JNL YELLOW ;大于等于4 CMP HZ_TAB+24,0A3B2H JNG RED ;小于等于2 MOV DX,289H MOV AL,00000100B OUT DX,AL MOV HZ_TAB+32,0CBAEH ;正常 MOV HZ_TAB+34,0CBFEH MOV HZ_TAB+36,0C4DAH MOV HZ_TAB+38,0D1B9H MOV HZ_TAB+40,0C1A6H MOV HZ_TAB+42,0D5FDH MOV HZ_TAB+44,0B3A3H MOV HZ_TAB+46,0A1A0H RETKEEP ENDP FUNCUP PROC ; MOV AL,

23、 0fH ;LCD功能设置命令 ; OUT DX, AL ; CALL CMD_SETUP MOV AL, 34H ;LCD显示状态命令 OUT DX, AL CALL CMD_SETUP RETFUNCUP ENDPRED PROC near ;红灯,报警,电机 MOV DX,289H MOV AL,11000001B OUT DX,AL MOV HZ_TAB+32,0D1B9H ;过低 MOV HZ_TAB+34,0C1A6H MOV HZ_TAB+36,0B9FDH MOV HZ_TAB+38,0B5CDH MOV HZ_TAB+40,0A1A0H MOV HZ_TAB+42,0C7EB

24、H MOV HZ_TAB+44,0C9FDH MOV HZ_TAB+46,0D1B9H RETRED ENDPYELLOW PROC NEAR ;黄灯,报警,电机 MOV DX,289H MOV AL,11000010B OUT DX,AL MOV HZ_TAB+32,0D1B9H ;过高 MOV HZ_TAB+34,0C1A6H MOV HZ_TAB+36,0B9FDH MOV HZ_TAB+38,0B8DFH MOV HZ_TAB+40,0A1A0H MOV HZ_TAB+42,0C7EBH MOV HZ_TAB+44,0BDB5H MOV HZ_TAB+46,0D1B9H RETYELL

25、OW ENDPLCD_DISP PROC LEA BX, HZ_TAB CMP CH, 1 JZ DISP_SEC1 CMP CH,2 JZ DISP_SEC2 CMP CH,3 JZ DISP_SEC3 MOV BYTE PTR HZ_ADR, 98H ;第三行起始端口地址 ADD BX,48 ;指向第二行信息 JMP nextDISP_SEC1: MOV BYTE PTR HZ_ADR,80H JMP NEXTDISP_SEC2: MOV BYTE PTR HZ_ADR,90H ADD BX,16 JMP NEXTDISP_SEC3: MOV BYTE PTR HZ_ADR,88H ADD

26、 BX,32 JMP NEXTNEXT: MOV CL,8CONTINUE: PUSH CX MOV AL,HZ_ADR MOV DX, IO_ADDRESS OUT DX, AL CALL CMD_SETUP ;设定DDRAM地址命令 MOV AX,BX PUSH AX MOV AL,AH ;先送汉字编码高位 MOV DX,IO_ADDRESS OUT DX,AL CALL DATA_SETUP ;输出汉字编码高字节 CALL DELAY ;延迟 POP AX MOV DX,IO_ADDRESS OUT DX, AL CALL DATA_SETUP ;输出汉字编码低字节 CALL DELAY

27、 INC BX INC BX ;修改显示内码缓冲区指针 INC BYTE PTR HZ_ADR ;修改LCD显示端口地址 POP CX DEC CL JNZ CONTINUE RETLCD_DISP ENDPCMD_SETUP PROC MOV DX,IO_ADDRESS ;指向8255端口控制端口 ADD DX,2 NOP MOV AL,00000000B ;PC1置0,pc0置0 (LCD I端=0,W端0) OUT DX, AL call delay NOP MOV AL,00000100B ;PC2置1 (LCD E端1) OUT DX, AL NOP call delay MOV A

28、L, 00000000B ;PC2置0,(LCD E端置0) OUT DX, AL call delay RETCMD_SETUP ENDPDATA_SETUP PROC MOV DX,IO_ADDRESS ;指向8255控制端口 ADD DX,2 MOV AL,00000001B ;PC1置0,PC0=1 (LCD I端=1) OUT DX, AL NOP call delay MOV AL,00000101B ;PC2置1 (LCD E端1) OUT DX, AL NOP call delay MOV AL, 00000001B ;PC2置0,(LCD E端0) OUT DX, AL NO

29、P call delay RETDATA_SETUP ENDPDELAY PROC push cx push dx MOV CX, 0fffh x1: loop x1 pop dx pop cx RETDELAY ENDPDELAYTIME PROC MOV CX,0FFFFH D1:LOOP D1RETDELAYTIME ENDPTIMEDISPLAY PROC NEAR MOV AH,2CH INT 21H MOV BX,10 MOV AL,CH ;CH存时 XOR AH,AH DIV BL MOV DL,AH MOV AH,00 ADD AX,0A3B0H MOV HZ_TAB+0,AX MOV AL,DL MOV AH,00 ADD AX,0A3B0H MOV HZ_TAB+2,AX MOV AL,CL ;CL存分 XOR AH,AH DIV BL MOV DL,AH MOV AH,00 ADD AX,0A3B0H MOV HZ_TAB+6,AX MOV AL,DL MOV AH,00 ADD AX,0A3B0H MOV HZ_TAB+8,AX MOV AL,DH

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2