微机原理课程设计 压力测量系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号:
课程设计
(微机原理及应用A)
班级
姓名
学号
指导教师
二○一一年七月八日
课程设计任务书及成绩评定
课题名称压力测控系统的设计
I、题目的目的和要求:
设计一个对压力传感器的信号进行检测并在LED数码显示器上显示压力值的系统,当压力低于30pa时,黄灯闪烁,闪烁周期为1秒。当压力高于150pa 时,红灯闪烁。LED的显示内容为P=XXX。X为测试值。
II、设计进度及完成情况
日期内容
7月4日查阅资料,拟定设计方案。
7月5日选课程设计题目,编写程序。
7月6日设计总体方案,上机调试。
7月7日整理打印设计报告。
7月8日上交设计报告并进行答辩。
III、主要参考文献及资料
《微型计算机原理及应用》清华大学出版社郑学坚周斌
《微型计算机技术及应用》清华大学出版社史嘉权
《微机原理与接口技术基础与应用》海洋出版社邓振杰
《微机原理与接口技术实验及课程设计》西南交通大学出版社杨斌
《单片机原理及接口技术》清华大学出版社梅丽凤王艳秋
学科部主任(签字)Ⅵ、成绩评定:
设计成绩:(教师填写)
指导老师:(签字)
二○一一年七月八日
一、设计要求
设计一个对压力传感器的信号进行检测并在LED数码显示器上显示压力值的系统,当压力低于30pa时,黄灯闪烁,闪烁周期为1秒。当压力高于150pa 时,红灯闪烁。LED的显示内容为P=XXX。X为测试值。
二.设计思想
压力测试系统的设计,必然要牵涉到压力的感应与转化,所以必须要有压力传感与A/D转换器。将自然中的模拟量转化为电压信号,再转化位数字信号进行处理。一个小型的微机系统,必须要有8086cpu来进行整体的控制,将其通过8255与A/D传感器进行连接。这就是这个系统的主要框架。
而具体的应用框架则是在主要的框架上添加。要当压力低于30pa时,黄灯闪烁。当压力高于150pa时,红灯闪烁。则应添加8255。模块。通过编程来控制黄灯与红灯的亮灭情况,考虑到要进行比较,所以我用了两个比较器进行数据的比较。同时,由于灯要闪烁,闪烁周期要一秒,所以我们考虑到还要加一个8253芯片去控制。但根据个人情况,这个模块我省略了。而至于LED显示,且显示内容为三位。我只在程序之中体现,而在硬件图中没有去体现。
三.系统设计框图
模数转换单元ADC0809 CPU中央处理
器
8086
并行接口芯片
8255
大于150Pa 红灯闪烁
小于30Pa 黄灯闪烁
显示数字三位数码显
示管
压力传感器
四.程序流程图
五.源程序
;宏定义
addr_8253 equ 208h
a_8253 equ addr_8253 b_8253 equ addr_8253+1h ctrl_8253 equ addr_8253+3h addr_adc0809 equ 210h addr_8255 equ 200h
a_8255 equ addr_8255 b_8255 equ addr_8255+1h c_8255 equ addr_8255+2h ctrl_8255 equ addr_8255+3h
开始
8255初始化
采集模拟数据
启动AD 转化
XXX
Pa XXX 150≥
Pa
XXX 30≤Pa XXX Pa 15030≤≤
红灯闪烁 黄灯闪烁
都不亮 显示
;******************************************
code segment
assume cs:code,ds:code
start:
mov ax,cs
mov ds,ax
;******************************************
;8253产生方形波,周期为1s,通道0
mov dx,ctrl_8253 ;设置8253控制口
mov al,3eh ;控制字00111110 00表示计时器0;11表示先读写低八位,后写读高八位; X11表示工作在模式3; 0表示二进制计数out dx,al ;写控制字
mov dx,a_8253 ;设置计数初值(计数器0)
mov ax,1000d
out dx,al ;先写低八位,后写高八位
mov al,ah
out dx,al
;8253产生方形波,周期为1s,通道1
mov dx,ctrl_8253 ;设置8253控制口
mov al,7eh ;控制字01111110 01表示计时器1;11表示先读写低八位,后写读高八位; X11表示工作在模式3; 0表示二进制计数out dx,al ;写控制字
mov dx,b_8253 ;设置计数初值(计数器1)
mov ax,500d
out dx,al ;先写低八位,后写高八位
mov al,ah
out dx,al
;******************************************
;启动A/D
mov dx,addr_adc0809 ;ADC0809
out dx,al
;******************************************
disp:
;8255初始化