硬件课程设计修改2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国矿业大学计算机学院2012级本科生课程报告
课程名称硬件课程设计
课程题目压力控制系统
报告时间2014年12月
学生姓名白文芳
学号08123241
专业计算机科学与技术
任课教师王凯
目录
1. 概述 (1)
1.1设计任务 (1)
1.2设计要求 (1)
2. 需求分析 (1)
3. 各个芯片工作原理及功能 (2)
3.1 8255A (2)
3.2 ADC0809原理及接线图 (4)
3.3 LED图形显示屏工作原理 (6)
3.4步进电机工作原理 (10)
4. 电路原理图与说明 (11)
5. 软件主要模块与说明 (14)
5.1主程序流程图 (14)
5.2软件功能模块图 (15)
5.3 系统详细设计 (15)
5.3.1模块设计 (15)
5.3.2流程图 (16)
6. 源程代码与注释 (17)
7. 结论与体会 (26)
8. 参考文献 (27)
1. 概述
1.1设计任务
我们经常要控制压力在某一范围内变化,是压力不超过某以上限值也不低于某一下限值。而压力控制系统在实际中也有较广泛的应用。为此,我们目前很需要开发一种简单的压力控制系统来替代人的工作。这样既可以节省人力资源,又可以使这项繁琐而又难实现的工作变得简单又轻松。真正实现我们所谓的监测和控制。
1.2设计要求
(1)利用压力传感器输入一个压力值,当该压力值超过一定的限度值时,系统会发出警报,红灯闪烁,然后使用压力控制系统进行减压,直至变为合理范围之内。
(2)当该压力值低于下限值时,黄灯闪烁,再通过电机系统进行加压。
(3)当压力值在限定范围之内时,LED显示屏显示内容为P=XXX,即此时压力值。
2. 需求分析
压力测试系统的设计,必然要牵涉到压力的感应与转化,所以必须要有压力传感器与A/D转换器。将自然中的模拟量转化为电压信号,再转化位数字信号进行处理。一个小型的微机系统,必须要有8086CPU来进行整体的控制,将其通过8255与A/D传感器进行连接。这就是这个系统的主要框架。
而具体的应用框架则是在主要的框架上添加。要当压力低于下限值时,黄灯闪烁。当压力高于上限值时,红灯闪烁。则应添加8255模块。通过编程来控制黄灯与红灯的亮灭情况,考虑到要进行比较,所以我用了两个比较器进行数据的比较。而利用LED图形显示器进行显示输出,显示内容为四行,包括时间,当前压力及状态。
3. 各个芯片工作原理及功能
3.1 8255A
(1)8255原理及接线图
8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。如下图所示
(2)芯片8255 A在本设计中的功能作用
8255是并行的I/0接口芯片,内部有三个相互独立的8位数据端口。8255实现了外设与8086之间的数据传输。8255的A口工作于方式0,作为输出口,其PA0~PA7分别与LCD液晶显示屏端口相连,PC5~PC7接相应端口,工作在并行模式。
(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位的输入输出口,各个端口都可独立地用作输入或输出。
②数据总线缓冲器是一个8位双向三态缓冲器,三态是由读/写控制逻辑控制的,它可与系统的DB直接相连,实现CPU和8255A之间的信息传送;读写控制器用于管理数据、控制字或状态字的传送,接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。
③8255引脚:RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这①个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个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 可从指定端口输入信息,也可向指定端口输出信息,如果三个