8086微机原理课程设计_压力测量系统的设_有硬件电路图计

上传人:第*** 文档编号:34209793 上传时间:2018-02-21 格式:DOC 页数:13 大小:545.50KB
返回 下载 相关 举报
8086微机原理课程设计_压力测量系统的设_有硬件电路图计_第1页
第1页 / 共13页
8086微机原理课程设计_压力测量系统的设_有硬件电路图计_第2页
第2页 / 共13页
8086微机原理课程设计_压力测量系统的设_有硬件电路图计_第3页
第3页 / 共13页
8086微机原理课程设计_压力测量系统的设_有硬件电路图计_第4页
第4页 / 共13页
8086微机原理课程设计_压力测量系统的设_有硬件电路图计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《8086微机原理课程设计_压力测量系统的设_有硬件电路图计》由会员分享,可在线阅读,更多相关《8086微机原理课程设计_压力测量系统的设_有硬件电路图计(13页珍藏版)》请在金锄头文库上搜索。

1、序号: 课 程 设 计(微机原理及应用A)二一一 年 七 月 八 日1课程设计任务书及成绩评定课题名称 压力测控系统的设计 I、题目的目的和要求 :设计一个对压力传感器的信号进行检测并在LED数码显示器上显示压力值的系统,当压力低于30pa时,黄灯闪烁,闪烁周期为1秒。当压力高于150pa时,红灯闪烁。LED 的显示内容为 P=XXX。X 为测试值。II、设计进度及完成情况日 期 内 容7月4日 查阅资料,拟定设计方案。7月5日 选课程设计题目,编写程序。7月6日 设计总体方案,上机调试。 7月7日 整理打印设计报告。 7月8日 上交设计报告并进行答辩。2III、主要参考文献及资料微型计算机原

2、理及应用 清华大学出版社 郑学坚 周斌微型计算机技术及应用清华大学出版社 史嘉权微机原理与接口技术基础与应用海洋出版社 邓振杰微机原理与接口技术实验及课程设计西南交通大学出版社 杨斌 单片机原理及接口技术 清华大学出版社 梅丽凤 王艳秋学科部主任 (签字)、成绩评定:设计成绩: (教师填写)指导老师: (签字)二一一 年 七 月 八 日3一、设计要求设计一个对压力传感器的信号进行检测并在 LED 数码显示器上显示压力值的系统,当压力低于 30pa 时,黄灯闪烁,闪烁周期为 1 秒。当压力高于150pa 时,红灯闪烁。LED 的显示内容为 P=XXX。X 为测试值。二.设计思想压力测试系统的设计

3、,必然要牵涉到压力的感应与转化,所以必须要有压力传感与 A/D 转换器。将自然中的模拟量转化为电压信号,再转化位数字信号进行处理。一个小型的微机系统,必须要有 8086cpu 来进行整体的控制,将其通过 8255 与 A/D 传感器进行连接。这就是这个系统的主要框架。而具体的应用框架则是在主要的框架上添加。要当压力低于 30pa 时,黄灯闪烁。当压力高于 150pa 时,红灯闪烁。则应添加 8255。模块。通过编程来控制黄灯与红灯的亮灭情况,考虑到要进行比较,所以我用了两个比较器进行数据的比较。同时,由于灯要闪烁,闪烁周期要一秒,所以我们考虑到还要加一个 8253 芯片去控制。但根据个人情况,

4、这个模块我省略了。而至于LED 显示,且显示内容为三位。我只在程序之中体现,而在硬件图中没有去体现。三.系统设计框图4模数转换单元ADC0809CPU 中央处理器8086并行接口芯片8255大于 150Pa红灯闪烁小于 30Pa黄灯闪烁显示数字 三位数码显示管压力传感器四.程序流程图5开始8255 初始化采集模拟数据启动 AD 转化XXX PaX150PaX30PaX150红灯闪烁 黄灯闪烁都不亮显示五.源程序;宏定义addr_8253 equ 208ha_8253 equ addr_8253 b_8253 equ addr_8253+1hctrl_8253 equ addr_8253+3ha

5、ddr_adc0809 equ 210h addr_8255 equ 200ha_8255 equ addr_8255b_8255 equ addr_8255+1hc_8255 equ addr_8255+2hctrl_8255 equ addr_8255+3h6;*code segmentassume cs:code,ds:codestart:mov ax,csmov ds,ax;*;8253 产生方形波,周期为 1s,通道 0mov dx,ctrl_8253 ;设置 8253 控制口 mov al,3eh ;控制字 00111110 00 表示计时器 0;11 表示先读写低八位,后写读高八

6、位; X11 表示工作在模式 3; 0 表示二进制计数out dx,al ;写控制字mov dx,a_8253 ;设置计数初值(计数器 0)mov ax,1000dout dx,al ;先写低八位,后写高八位mov al,ahout dx,al;8253 产生方形波,周期为 1s,通道 1mov dx,ctrl_8253 ;设置 8253 控制口 mov al,7eh ;控制字 01111110 01 表示计时器 1;11 表示先读写低八位,后写读高八位; X11 表示工作在模式 3; 0 表示二进制计数out dx,al ;写控制字mov dx,b_8253 ;设置计数初值(计数器 1)mo

7、v ax,500dout dx,al ;先写低八位,后写高八位mov al,ahout dx,al;*;启动 A/Dmov dx,addr_adc0809 ;ADC0809 out dx,al ;*disp:;8255 初始化7;A 口做为段码输出,B 口做为位码输出,C 口低 2 位做为有色灯的输出mov dx,ctrl_8255 ;8255 初始化 mov al,80h ;控制字 10000000 1 表示方式控制字; 00 端口 A方式 0; 0 输出; 0PC7-PC4 输出; 0 定义端口 B 为 0 输出;0 PC0-PC3 输出 out dx,al ;写控制字repeat:;初始

8、化地址指针和位码lea bx,TABLE ;段码表首址送 bx Load effect address取有效地址,也就是取偏移地址lea di,BUFDA ;指向缓冲区首地址 Load effect address取有效地址,也就是取偏移地址mov cl,0dfh ;11011111b 位码,共阴极,便于从第六位开始向低位依次显示next: ;显示子程序;输出位码mov dx,b_8255 ;8255B 口,输出位码mov al,clout dx,almov al,di ;从缓冲区取段码xlatmov dx,a_8255 ;输出段码到 8255A 口out dx,al;延迟push cxmov

9、 cx,30hdelay:loop delaypop cx;关 LED 显示mov dx,a_8255mov al,0out dx,al8cmp cl,11111110b ;已经显示最低位jz convey ;显示完成inc di ;指向下一个段码ror cl,1 ;显示向低一位转移jmp nextconvey:;延时,方便 LED 显示结果及有色灯的闪烁cmp count,0 ;count 在后面定义jz adcall ;延时时间到,开始下一次的数据采样dec count ;延时时间未到jmp repeat ;*jmp convey;*;ADC0809 接收模拟信号并转化为数字信号adcal

10、l:call admov count,0ffh ;设置下一次数据采集的时间间隔jmp repeatTABLE: ;段码表db 3fh;0db 06h;1db 5bh;2db 4fh;3db 66h;4db 6dh;5db 7dh;6db 07h;7db 7fh;8db 6fh;9db 73h;Pdb 48h;=db 00h;NULLBUFDA: ;显示缓冲区db 10,11,12,12,12,0 ;初始显示 P= 0 count dw 0ffh;*9ad proc;读取 AD 转换结果并启动 ADpush axpush bxpush cxpush ush dimov dx,addr_adc08

11、09 ;通道 0;读结果in al,dx ;数字量存放在 al 中;启动 A/Dout dx,al ;启动下一次的 ad 转换push ax;*;根据数字量的值判断有色灯是否要亮cmp al,30djb yellow ;小于 30 小于则转移到目标指令执行cmp al,150dja red ;大于 150 大于则转移到目标指令执行mov dx,ctrl_8255 ;8255 控制口push axmov al,00h ;介于 30 和 150 之间,PC0 输出低电平out dx,alpop axjmp red_yellow;*red: mov dx,c_8255 ;控制口mov al,02h

12、;8255 PC1 输出高电平out dx,aljmp red_yellowyellow: mov dx,c_8255 ;控制口mov al,01h ;8255 PC0 输出高电平out dx,alred_yellow:pop ax10mov ah,0;*;将数字量转换成十进制,方便显示call binidecpop dipop op cxpop bxpop axretad endp;*binidec proc;将存放于 AL 中的数转换为十进制数存放到 BUFDA 中push axmov ah,0 ;ax=almov bl,10mov cx,4 ;lea di,BUFDA+5 ;指向显示缓冲

13、区末尾binidec_next:div bl ;al:商,ah:余数mov di,ahdec didec cxmov ah,0cmp al,0jnz binidec_nextbinidec_null:mov byte ptr di,12dec diloop binidec_nullpop axretbinidec endp;*11code endsend start 六、设计心得经过一周的微机课程设计,让我对微机这一门课程有了系统的疏导。在学习这门课程是我们只是独立的讲解一些芯片的结构及用法,而通过微机课程设计,在我们在构建一个小型的微机系统时,而真正的去关注这些芯片的连接。这不但要求我们对各个芯片要有一定的了解与认知。而且要懂得怎么融会贯通。这是我在这次微机实习中体会最深的。其二,通过微机课程设计,培养了我们想问题的思维方式。以前我们想问题时总是将一些问题孤立出来去思考,而这次实习,他引导我们以多维的方式去解析整个问题。在课程设计中,我们不但要理解好系统的结构,进而画出硬件连接图、而且要写出程序流程图及源程序就,这些虽然是不同的表现形式,但他们必须用统一的思想去认识。其三,通过对压力测试系统的设计,让我们更加了解了CPU8086、ADC0809、825

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号