《微机原理与接口技术》课程设计报告.docx

上传人:b****8 文档编号:23657575 上传时间:2023-05-19 格式:DOCX 页数:22 大小:925.38KB
下载 相关 举报
《微机原理与接口技术》课程设计报告.docx_第1页
第1页 / 共22页
《微机原理与接口技术》课程设计报告.docx_第2页
第2页 / 共22页
《微机原理与接口技术》课程设计报告.docx_第3页
第3页 / 共22页
《微机原理与接口技术》课程设计报告.docx_第4页
第4页 / 共22页
《微机原理与接口技术》课程设计报告.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

《微机原理与接口技术》课程设计报告.docx

《《微机原理与接口技术》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计报告.docx(22页珍藏版)》请在冰豆网上搜索。

《微机原理与接口技术》课程设计报告.docx

《微机原理与接口技术》课程设计报告

 

《微机原理与接口技术》课程设计报告

 

题目:

压力测控系统的设计1

学院:

物流工程学院

专业班级:

学号:

姓名:

起止时间

指导教师:

2015年1月30日

摘要

《微机原理与接口技术》课程是理工科学生一门重要的专业课程,且实践性较强。

对于测控技术与仪器专业的学生尤其重要。

此课程的课程设计是对学生的一种基本素质训练的较好形式,可以通过课程设计加强学生的实践能力、动手能力和学习能力。

将所学的理论知识和实际情况结合起来,从而制定了压力测控系统的设计1这一题目。

如今经济的飞速发展使得城市的建设逐渐走向科学化、智能化。

其中各种功能的融合整合,现在成为技术发展的主流趋势。

压力测控系统是工业生产过程自动化中的重要测量设备,可以用来测量压力、液位等工程参数。

本文介绍了一种基于8086微处理器的压力测控系统,系统操作简便、自动化程度高、扩展方便且具有良好的人机交互能力。

该系统通过实验,取得了较为满意的控制效果。

可应用在一些精度要求不太高的系统中。

为了降低成本,在满足性能的要求下,选择低成本器件,简化系统设计。

 

关键字:

8086处理器8255接口A/D转换器压力传感器LED

 

Abstract

"Microcomputerprincipleandinterfacetechnology"courseisanimportantprofessionalcourseinscienceandengineeringstudents,andstrongpracticality,isespeciallyimportantformeasurementandcontroltechnologyandinstrumentspecialtystudents.Thecourseofcurriculumdesignisakindofbasicqualitytrainingofstudentsisbetterform,canthroughthecurriculumdesigntostrengthenthestudents'practicalability,practicalabilityandlearningability.

Combinelearningtheoreticalknowledgeandactualsituation,thusmakethepressuremeasurementandcontrolsystemdesign.1thistopic.Therapideconomicdevelopmentoftodaymakesscientific,intelligentconstructionofcitygradually.Integratedwithvariousfeaturesoffusion,nowbecomethemainstreamoftechnologydevelopmenttrend.Pressuremeasurementandcontrolsystemisanimportantmeasurementinindustrialproductionprocessautomationequipment,canbeusedtomeasurepressure,liquidlevelofengineeringparameters.Thispaperintroducesakindofpressuremeasurementandcontrolsystembasedon8086microprocessor,systemoperationissimple,highdegreeofautomation,extension,convenientandhasagoodabilityofhuman-computerinteraction.Throughtheexperiment,thesystemachievedarelativelysatisfactorycontroleffect.Canbeusedinsomeaccuracyrequirementisnottoohighinthesystem.Inordertoreducecosts,tomeettherequestoftheperformance,chooselowcostdevices,simplifysystemdesign.

Keywords:

A/Dconverter8086processor

8255interfacepressuresensorLED

一、课程设计名称及方案总体介绍

1、课题名称:

压力测控系统的设计1

2、设计要求

对压力传感器的信号进行检测并在LED数码显示器上显示压力值,当压力低于30pa时,黄灯闪烁,闪烁周期为1秒。

当压力高于150pa时,红灯闪烁。

LED的显示内容为P=XXX。

XXX为测试值。

3、方案介绍

由于本实验箱提供的压力传感器的灵敏度效果不是很理想,所以采用0~5V模拟电压替代。

利用ADC0809进行A/D转换,将传感器输出(0~5V)模拟量转化成8位并行输出的数字量,并送入8086CPU进行处理(5V对应的模拟量是11111111B=255D)。

CPU通过数值计算(00H对应的是0pa,FFH对应的是200pa),转换成实际的压力值,并利用8279进行数码管显示。

AD转化采样过程一直进行,当检测到压力值低于30pa时,调用相应的黄灯闪烁程序,黄灯闪烁;当检测到压力值高于150pa时,调用相应的红灯闪烁程序,红灯闪烁;处于两者中间时,调用全灭程序,两灯都灭。

灯闪烁程序采用8255间断输出高低电平实现,间隔为1s。

二、课程设计所需设备

STAR系列实验仪一套

PC机一台

导线若干

三、系统主要原件功能与原理介绍

1、8086CPU主控芯片介绍

1.1总括

 

本系统的主控芯片是Intel公司的8086CPU,8086CPU的主时钟频率为5MHz,有16位数据总线和20位地址总线。

主要由总线接口部件BLU和指令执行部件EU构成。

 

1.2片选区域介绍

 

上图是8086的片选电路,由三片74273和一片74154组成。

主要用于控制辅助芯片的作用和停止。

8086片选地址:

 

2、压力测量和频率发生电路

2.1压力测量等效电路

我们采用D2区的0~5V模拟电压模块构成压力测量部分。

2.2频率发生电路

ADC0809时钟信号为500K,供采样计时;8279时钟信号为2M。

3、ADC0809模数转换模块

ADC0809是CMOS单片型逐次逼近式A/D转换器,有8路8位的转换器,转换时间为100us,输入电压范围0~+5V。

本实验只用到IN0来接收温度传感器输出的模拟量,所以将ADDA、ADDB、ADDC全部置低电平,时钟脉冲接500KHz。

ADC0809的并行数据输出8086的数据总线相连,传输采样数据到CPU,CPU对采样的数据进行处理。

 

4、8279显示模块

8279可编程的键盘、显示接口芯片。

它既具有按键处理功能,又具有自动显示。

8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能8*8=64BRAM。

内置键盘获取函数GetBCDKey和数码管显示函数Display可供直接调用。

该芯片能自动消抖并具有双键锁定保护功能。

显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。

本实验主要运用其显示功能,显示三位的压力值。

8279的数据口D0~D7与CPU的数据总线相连接,用于接收数据,显示。

5、8255执行模块

8255是Intel系列微处理器配套使用的可编程并行接口芯片。

具有3个并行输入输出口。

本实验用到PC0、PC1分别控制黄灯和红灯。

本实验需将PC口设置在输出的模式下。

低电平点亮,延时一段时间,再高电平熄灭,完成闪烁的要求。

8255的数据口D0~D7与CPU的数据(控制)总线相连接,用于控制字及计数初值的写入。

四、系统软件设计及系统程序

1、系统设计框图

2、软件程序设计

 

3、系统原理图及接线

接线说明

B4区:

CS,A0,A1(8255)

A3区:

CS2,A0,A1(CPU)

B4区:

PC0、PC1

G5区:

LED2(黄),LED3(红)

E5区:

CS,A0(8279)

A3区:

CS5,A0

E5区:

CLK

B2区:

2M

E5区:

B,C

G5区:

B,C

G4区:

CLK(ADC0809)

B2区:

500K

G4区:

CS

A3区:

CS1

G4区:

ADDA、ADDB、ADDC

C1区:

GND

G4区:

IN0

D2区:

0~5V

 

4、系统程序

.MODELTINY;.COM文件的内存模型是'TINY',微型模式

EXTRNDisplay8:

NEAR;外部程序(8279显示程序)头文件包含

AR_89EQU0F000H;ADC0809输出端口地址,片选CS1

C_A_55EQU0E003H;8255控制端口地址,片选CS2

PC_AREQU0E002H;8255PC口数据线地址

.STACK100;堆栈段,100个存储空间

.DATA;数据段开始

BRDB8DUP(?

);八位数码管地址

TEMPDB0;当前压力值

.CODE;代码段

START:

MOVAX,@DATA;数据段首地址赋给AX

MOVDS,AX;填满数据段寄存器

NOP;停顿一下

CALLInit_8255;调用8255初始化程序

XORAL,AL;ADC0809采样值清零

JMPSTART5;跳到START5

START1:

MOVCX,50;设定采样50次

MOVBX,0;累计五十次采样值的和

START2:

CALLAD0809;采样函数调用

XORAH,AH;清高位

ADDBX,AX;采样值加到BX中

LOOPSTART2;重复执行START250次

MOVAX,50;除数,求平均

XCHGAX,BX;把,被除数给AX,除数给BL

DIVBL;商(均值)存放在AL中

CMPAL,TEMP;采样值与当前采样值比较

JZSTART4;如果采样值无变化,跳转到START4,先比较显示再重新采样

START5:

MOVTEMP,AL;采样值有变化,把采样值赋给当前采样值(未转换)

CALLDTE_DPY;调用显示函数

START3:

CALLDLTime;调用段延时程序,等待下一次采样

JMPSTART1;跳回采样程序开头,开始第二次采样

START4:

CALLDTE_DPY;调用显示函数,先比较显示

JMPSTART3;跳回START3

;*************************数码管显示********************************

DTE_DPYPROCNEAR;分别提取数字量个、十、百放暂存区

MOVBL,40;5V对应200pa

MULBL;AL×BL,结果存放于AX

MOVBL,51;除数为51,模拟量5V对于数字11111111B=255D

DIVBL;对采样值进行乘上40除51转为压力值,商保存在AL中

CMPAL,1EH;采样值与30比较

JBEYELLOW;小于30,转YELLOW

CMPAL,96H;大于等于30,采样值与150比较

JAERED;大于150,转RED

JMPCENTER;大于等于30,小于等于150,转CENTER

START6:

AAM;AL/10商放AH(高两位),余数放AL(个位)

MOVBR,AL;个位

MOVAL,AH;商重新放入AL

AAM;AH(百位),AL(十位)

MOVBR+1,AL;十位显示

MOVBR+2,AH;百位显示

MOVBR+3,10H;高5位不显示,赋值16D,则清零,数码管最大显示F(15D)

MOVBR+4,10H;消隐

MOVBR+5,10H;消隐

MOVBR+6,10H;消隐

MOVBR+7,10H;消隐

LEASI,BR;显示缓存BUFFER偏移地址给SI

CALLDisplay8;调用相应的外部显示函数,显示各个数码管的数值

RET;返回

DTE_DPYENDP;DTE_DPY过程结束

;************************ADC0809采样程序***************************

AD0809PROCNEAR;ADC0809模数转换,转换值放入AL中,最大为FFH

PUSHCX;保护原有的CX(采样次数50)

MOVAL,0;清零当前转换值

MOVDX,AR_89;ADC0809输出端口地址赋给DX

OUTDX,AL;ADC0809输出清零

MOVCX,200;模数转换,时间,延时标志

LOOP$;延时,等待AD转换完成,待CX减为0时,结束循环

MOVDX,AR_89;ADC0809输出端口地址赋给DX

INAL,DX;将转换后的值存入AL

POPCX;弹出保护的CX

RET;返回

AD0809ENDP;AD0809进过程结束

;************************黄灯闪烁程序******************************

YELLOW:

;黄灯闪烁程序

PUSHAX;保护采样值AX

MOVDX,PC_AR;8255_C口数据地址

MOVAL,0FEH;11111110B

OUTDX,AL;写数据,PC0接黄灯,输出低电平,黄灯亮

CALLDL1s;灯亮延时1s

MOVAL,0FFH;11111111B

OUTDX,AL;写数据,PC0接黄灯,输出高电平,黄灯灭

CALLDL1s;灯灭延时1s

POPAX;弹出保护的采样值AX

JMPSTART6;跳回显示程序

;************************红灯闪烁程序*******************************

RED:

;红灯闪烁程序

PUSHAX;保护采样值AX

MOVDX,PC_AR;8255C口数据地址

MOVAL,0FDH;11111101B

OUTDX,AL;写数据,PC1接红灯,输出低电平,红灯亮

CALLDL1s;灯亮延时1s

MOVAL,0FFH;11111111B

OUTDX,AL;写数据,PC1接红灯,输出高电平,红灯灭

CALLDL1s;灯灭延时1s

POPAX;弹出保护的采样值AX

JMPSTART6;跳回显示程序

;************************红绿灭程序********************************

CENTER:

;灯全灭程序

PUSHAX;保护采样值AX

MOVDX,PC_AR;8255C口数据地址

MOVAL,0FFH;11111111B,C抠均输出高电平

OUTDX,AL;写数据,PC0、PC1输出均高电平,灯全灭

POPAX;弹出保护的采样值AX

JMPSTART6;跳回显示程序

;************************短延时程序********************************

DLTimePROCNEAR;短延时程序,近过程,供采样间隔

PUSHCX;保护原有的CX(采样次数50)

MOVCX,5000;对应8086主频,5000个周期,为250ms

LOOP$;循环,无操作

POPCX;弹出保护的CX

RET;返回

DLTimeENDP;延时程序DLTime结束过程

;************************延时500ms程序****************************

DL500msPROCNEAR;500ms延时程序,近过程

PUSHCX;保护原有的CX(采样次数50)

MOVCX,60000;循环次数

DL500ms1:

LOOPDL500ms1;循环DL500ms160000次

POPCX;弹出保护的CX

RET;返回

DL500msENDP;500ms延时程序结束过程

;************************延时1s程序*******************************

DL1sPROCNEAR;1s延时程序,近过程

PUSHCX;保护原有的CX(采样次数50)

MOVCX,2;循环次数

DL1s1:

CALLDL500ms;调用500ms延时程序DL500ms

LOOPDL1s1;循环DL1s12次

POPCX;弹出保护的CX

RET;返回

DL1sENDP;1s延时程序结束过程

;************************8255初始化程序****************************

Init_8255PROCNEAR;8255初始化程序,近过程

MOVDX,C_A_55;8255初始化

MOVAL,80H;控制字,方式0,PA、PB、PC均为输出

OUTDX,AL;写控制字

MOVDX,PC_AR;8255PC口数据地址

MOVAL,0FFH;AL8位均置1,输出高电平,灯灭

OUTDX,AL;写PC口输出状态

RET;返回

Init_8255ENDP;8255初始化程序,结束过程

ENDSTART;结束START程序

五、系统调试

1、小于30pa

 

压力值在0~30pa时,数码管后三位实时显示测量值,黄灯闪烁。

2、中间

 

压力值在30~150pa时,数码管后三位实时显示测量值,黄、红灯均熄灭。

3、大于150pa

压力值在150~200pa时,数码管后三位实时显示测量值,红灯闪烁。

 

六、课程设计体会总结

回顾起这两周的课程设计,我感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

在近两周的课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。

最终的检测调试环节,以保程序的正确。

这次课程设计终于顺利完成了,在设计中遇到了很多问题,经过我们认真的反复修改,才得到正确的程序。

我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

更重要的是,在实验课上,我们学会了很多学习的方法。

而这是日后最实用的,真的是受益匪浅。

要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。

果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次微机课程设计,也让我对微机这一门课程有了系统的疏导。

在学习这门课程是我们只是独立的讲解一些芯片的结构及用法,而通过微机课程设计,在我们在构建一个小型的微机系统时,而真正的去关注这些芯片的连接。

这不但要求我们对各个芯片要有一定的了解与认知。

而且要懂得怎么融会贯通。

这是我在这次微机实习中体会最深的。

其二,通过微机课程设计,培养了我们想问题的思维方式。

以前我们想问题时总是将一些问题孤立出来去思考,而这次实习,他引导我们以多维的方式去解析整个问题。

在课程设计中,我们不但要理解好系统的结构,进而画出硬件连接图、而且要写出程序流程图及源程序就,这些虽然是不同的表现形式,但他们必须用统一的思想去认识。

其三,通过对压力测试系统的设计,让我们更加了解了CPU8086、ADC0809、8255等芯片的用法,同时,也对汇编语言的编程有了更加深入的认识。

为以后单片机的学习奠定了一定的基础。

最后,我通过课程设计认知了团队合作的重要性。

通过与搭档的交流,让我对有些以前不是很熟悉的内容有了提高。

同时在与之合作中,让我对工程这个概念有了新的认识,因为在以后工作中我们都必须面对与团体的合作。

只有在平常,我们多去与人交流。

才能提升我们的这个能力。

总之,两周的微机的课程设计尽管很短,但让我们受益颇多。

最后感谢老师在此次设计中给予我们的精心指导,才有我们设计的成功。

 

七、参考文献

【1】冯博琴《微机原理与接口技术》2007清华大学出版社

【2】何克忠《计算机控制系统》2002清华大学出版社

【3】戴梅萼《微型计算机技术及应用》2007清华大学出版社

【4】沈美明温冬婵《IBM-PC汇编语言程序设计》2001清华大学出版社

【5】何小海严华《微机原理与接口技术》2006科学出版社

【6】楼顺天周佳社《微机原理与接口技术》2006科学出版社

【7】严永军《prote199电路设计与应用》2001国防工业出版社

【8】朱善君《汇编语言程序设计》1988清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1