微机原理课程设计报告资料.docx

上传人:b****3 文档编号:4471059 上传时间:2022-12-01 格式:DOCX 页数:37 大小:711.62KB
下载 相关 举报
微机原理课程设计报告资料.docx_第1页
第1页 / 共37页
微机原理课程设计报告资料.docx_第2页
第2页 / 共37页
微机原理课程设计报告资料.docx_第3页
第3页 / 共37页
微机原理课程设计报告资料.docx_第4页
第4页 / 共37页
微机原理课程设计报告资料.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

微机原理课程设计报告资料.docx

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

微机原理课程设计报告资料.docx

微机原理课程设计报告资料

 

《微机原理》

课程设计

 

姓名:

沈俊卫

学号:

1145533129

班级:

11电气1班

专业:

电气工程及其自动化

学院:

电气与信息工程学院

 

江苏科技大学(张家港)

2014年9月

模拟室温控制系统设计

1、课程设计内容

众所周知,空调是一个闭环控制系统,空调内部有一个温度传感器用于检测室内环境的温度。

我们使用唐都微机原理实验箱,来模拟一个温度控制系统。

我们可以使用实验箱自带的温度传感器检测室内温度;用步进电机或直流电机带动风扇转动模拟降温装置,当温度高于一个人为设定值时,电机工作,并将此时的室温用数码管显示出来。

按键可以设置温度,范围是30~40度,范围越大越好。

2、课程设计要求

1、基本要求

(1)通过8255A控制LED数码管显示温度;控制按键操作,包括:

启动、关闭、调档(可分1档、2档、3档等,3档转速最高,不同的档位用指示灯模拟)。

(2)当室温与设定的温度一致时,蜂鸣器响3~5声。

(3)通过8253调控电机工作时间,设置电机的速度。

(4)通过8259A控制按键,假设电机正传表示给室内降温,反转表示给室内增温。

(5)通过ADC0809采集温度传感器的值。

2、拓展要求

(1)若LED可以显示当前时间,加分。

(2)若调节温度范围越大,加分。

(3)其他能使系统功能更完善的环节,加分。

三、实验目的

《微机原理及应用》是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。

在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验微机应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应能加强学生如下能力的培养:

(1)独立工作能力和创造力;

(2)综合运用专业及基础知识,解决实际工程技术问题的能力;

(3)查阅图书资料,产品手册和各种工具书的能力;

(4)编写技术报告和编制技术资料的能力。

四、使用芯片简介

1、80x86简介

80x86是Intel系列的16位微处理器,采用HMOS工艺,内部包含29000个晶体管。

内部总线16位,外部总线8位。

主要用于兼容当时的外围接口芯片。

8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU。

80x86内部结构图如图1所示,引脚图如图2所示。

图18086CPU内部结构框图图280x86CPU引脚图

8086的基本性能指标如下所示:

(1)16位微处理器;

(2)采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶体管;

(3)使用单一的+5V电源,40条引脚双列直插式封装(DIP);

(4)时钟频率为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms;

(5)16根数据线和20根地址线,可寻址的地址空间达1MB;

(6)8086可以和浮点运算器、输入/输出处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。

在这个系统中8086作为整个系统的主控芯片,用来控制协调整个系统的工作。

2、8255简介

8255的功能介绍如下:

(1)Intel8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(A、B),两个4位I/O口(PC7~4、PC3~0);

(2)通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求;

(3)C口可作为数据口,可作为信号线(CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位;

(4)价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。

8255的内部结构如图3所示,引脚图如图4所示。

图38255的内部结构图图48255引脚图

8255的引脚分配

(1)D0~D7:

8位,双向,三态数据线,用来与系统数据总线相连;

(2)端口A、B、C:

PA0~PA7(A组数据信号,用来连接外设);PB0~PB7(B组数据信号,用来连接外设);PC0~PC7(C组数据信号,用来连接外设或者作为控制信号)。

(3)CS、RESET、WR、RD、A1、A0(内部4个端口);

(4)VCC、GND。

8255A的工作方式:

方式0――简单输入/输出――查询方式;A,B,C三个端口均可;

方式1――选通输入/输出――中断方式;A,B,两个端口均可;

方式2――双向输入/输出――中断方式。

只有A端口才有。

工作方式的选择可通过向控制端口写入控制字来实现。

3、8254简介

8254是Intel公司生产的课可编程定时器,8254芯片主要由四部分组成:

(1)数据总线缓冲器

数据总线缓冲器是一个三态、双向8位寄存器主要作用是与CPU进行数据交换,8位数据线D7~D0与CPU的系统数据总线连接,构成CPU和8254之间信息传送的通道,CPU通过数据总线缓冲器向8254写入控制命令、计数初始值或读取计数值。

(2)读写逻辑

读写逻辑是芯片的控制部分,编程人员通过控制信号的选择来选择芯片的工作方式。

读/写控制逻辑用来接收CPU系统总线的读、写控制信号和端口选择信号,用于控制8254内部寄存器的读/写操作。

(3)控制字寄存器

控制寄存器是一个只能写不能读的8位寄存器,系统通过指令将控制字写入控制寄存器,设定8254的不同工作方式。

(4)计数器

8254内部有三个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有六种工作方式,各自可按照编程设定的方式工作。

(1)有3个独立的16位计数器;

(2)每个计数器可按十进制或二进制计数;

(3)8254每个计数器允许最高计数为10MHZ;

(4)8254有读回指令,还可以读出状态寄存器的内容;

(5)每个计数器可编程工作于6中不同的方式;

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号,计数初值公式为n=fclki/fouti(fclki是输入时钟脉冲的频率,fouti是输出波形的频率)。

工作方式的分类:

(1)方式0:

计数到0结束输出正跳跃信号方式

(2)方式1:

硬件可重触发单稳方式;

(3)方式2:

频率发生器;

(4)方式3:

方波发生器;

(5)方式4:

软件触发选通方式;

(6)方式5:

硬件触发选通方式。

8254的控制字有两个:

一个用来设置计数工作方式称为方式控制字。

另一个用来设置读回命令,称为读回控制字。

如下表1是控制方式表格。

表18254控制方式

D7

D6

D5

D4

D3

D2

D1

D0

计数器选择

读/写

工作方式选择

计数码制选择

00-计数器0

00-锁存计数值

000-方式0

0-二进制数

01-计数器1

01-读/写低8位

001-方式1

1-十进制数

10-计数器2

10-读/写高8位

010-方式2

11-读出控制字标志

11-先读/写低8位

再读/写高8位

011-方式3

100-方式4

101-方式5

8254内部结构如图5所示,引脚图如图6所示。

图58254内部结构图图68254引脚图

4、AD0809简介

(1)AD0809是8位逐次逼近型A/D转换器,它由一个八路模拟开关,一个地址译码器,一个A/D转换器和一个三态输出所存器组成,多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换,三态输出用于锁存A/D转换完的数据,当OE端为高电平时,才可以从三态输出锁存器取走转换完成的数据。

(2)AD0809的工作原理

IN0-IN7:

8条模拟量输入通道

ADC0809对输入模拟量要求:

信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入端前加采样保持电路。

地址输入和控制线:

4条

ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量通过转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择如表2所示。

表2AD0809通道选择表

C

B

A

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

数字量输出及控制线:

11条

ST为转换启动信号。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在跳转期间,ST应保持低电平,EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则表明正在进行A/D转换,OE为输出允许信号,用于控制三条输出锁存器想单片机输出转换得到的数据,OE=1,输出转换得到的数据‘OE=0输出数据线呈高阻状态。

D7-D0为数字量输出线CLK为时钟输入信号线,因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常频率为500KHZ。

VREF(+),VREF(-)为参考电压输入。

AD0809内部结构如图7所示,引脚图如图8所示。

图7AD0809内部结构图图8AD0809引脚图

5、8259简介

中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

同时,在不需增加其他电路的情况下,通过多片8259的级连,能构成多达64级的矢量中断系统。

它的管理功能包括:

1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。

8259的内部结构如图9和引脚如图10所示。

8259的命令共有7个,一类是初始化命令字,另一类是操作命令。

8259的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。

图98259芯片内部结构图图108259芯片引脚图

五、系统硬件设计

1、键盘与数码管显示

键盘采用4×4键盘,每个数码管显示值可为0~F共16个数。

设计中将键盘进行编号,记作0~F,当按下其中一个按键时,将该按键所指向的功能在对应的编号在对应的数码管上显示出来。

键盘及数码管显示单元电路图如图11所示,8255连接键盘与数码管接线图如图12所示。

图11键盘及数码管显示单元电路图

图128255连接键盘与数码管接线图

2、步进电机转动

使用开环控制方式能对步进电机的转动方向、速度和角度进行调节。

所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。

根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。

本设计系统所采用的步进电机为四相八拍电机。

图13励磁线圈

励磁线圈如图13所示,励磁顺序如表2所列。

表2励磁顺序

实验中PB端口各线的电平在各步中的情况如表3所示。

表3PB端口各线的电平在各步中的情况

驱动电路如图14所示,步进电机设计连接图如图15所示

图14驱动电路

图15步进电机连接图

3、8254和8259实现定时关机

将8254的计数器1设置为方式3,用信号源18.432KHz作为CLK1时钟,计数初值4800H,相当对CLK1进行18432分频。

在OUT1输出频率为1Hz的时钟。

将OUT1连接到计数器2的CLK2,设置计数器2工作在方式0,计数初值为内存单元中设定的值,这样就完成了定时功能,在OUT2得到对应的定时脉冲,连接到8259的IR0,通过中断子程序定时关机功能。

定时关机连接线如图16所示。

图16定时关机功能连接图

4、温度检测

设计电路中采用的是NTCMF58-103型热敏电阻,电路连接如图17所示:

图17热敏电阻电路连接图

温度值与对应AD值的计算方法如下:

25?

Rt=10KVAD=5×500/(10000+500)=0.238(V)对应AD值:

0CH

30?

Rt=5.6KVAD=5×500/(5600+500)=0.410(V)对应AD值:

15H

40?

Rt=3.8KVAD=5×500/(3800+500)=0.581(V)对应AD值:

1EH

50?

Rt=2.7KVAD=5×500/(2700+500)=0.781(V)对应AD值:

28H

60?

Rt=2.1KVAD=5×500/(2100+500)=0.962(V)对应AD值:

32H

100?

Rt=900VAD=5×500/(900+500)=1.786(V)对应AD值:

5AH

……

测出的AD值是程序中数据表的相对偏移,利用这个值就可以找到相应的温度值。

例如测出的AD值为5AH=90,在数据表中第90个数为64H,即温度值:

100?

测温单元电路连接图如图18所示:

图18测温单元电路连接图

5、电子发声单元

在上电启动和设定温度达到室温的情况下,需要通过蜂鸣器来进行提示。

这时我们可以通过将固定频率的方波输入蜂鸣器,通过控制方波的脉冲数量来控制蜂鸣器的发声次数。

将固定频率所对应的计数初值写入8254计数器,并通过延时程序来控制脉冲。

电子发声电路图如图19所示,8254电子发声电路图如图20所示。

图19电子发声电路图

图208254电子发声电路图

6、遇到的主要问题及解决方案

(1)前期对芯片的了解相对较少,在实际中的应用经验缺乏,使得在连接线路的时候,不能很好地完成预期的要求。

解决办法:

通过大量查找资料,将资料中提供的案例结合课程设计实际,改善线路连接。

(2)测试时发现无论怎么修改测试程序,总是无法达到预期的要求。

解决办法:

通过其他试验箱,对相同的电路同时进行测试,发现存在有芯片和连接线损坏的问题,立即更换芯片和连接线。

六、系统软件设计

1、数码管显示模块设计思想

数码管显示增加了人机界面的友好性,能让操作者方便直观的了解到整个系统运作的状态。

为了避免数码管存储上一个状态而不能及时有效地显示最新状态,需要对数码管里的内容进行不停地清屏和刷新。

具体流程关系如图21所示。

图21数码管程序流程图图22按键程序流程图

2、按键检测模块设计思想

按键检测模块是程序设计过程的一大难点,它控制着整个系统的运作状态,整个过程需要完成按键的检测、相应功能的执行等任务,为避免程序间的冲突关系,采用如图22所示的设计流程。

3、主程序设计思想

本程序采用汇编语言进行编写,其主要任务是将之前连接好的芯片组合起来,形成一个完整的系统,这就需要有一个完善的流程。

主要完成的任务有:

蜂鸣器发声、电机正反转的切换、电机转速的调整、温度的检测与显示、按键的检测执行和功能显示等。

其主要设计思想流程图如图21所示。

程序见附录。

 

图23主程序流程图

4、使用到的按键及其相应功能

系统按键及功能表如表4所示:

表4系统按键及功能表

0

1

定时开始

2

定时增加

3

定时减少

4

5

6

增加转速

7

降低转速

8

9

A

增加设定温度

B

降低设定温度

C

重启

D

自动/手动切换

E

正转/反转切换

F

启动/停止

5、主要实现功能

(1)8255控制LED显示,包括:

室内温度和设定温度、正反转指示、档速显示、设定时间显示;

(2)按键操作功能,具体功能见上表;

(3)设定电机转速(从低到高分为3档);

(4)上电和复位时,蜂鸣器响三声;

(5)实现自动和手动切换;

(6)通过8253控制电机工作时间;

(7)当室内温度与设定温度一致时,蜂鸣器响三声。

6、遇到的主要问题及解决方案

(1)在分程序完成以后,将各个程序组合到一起时会遇到程序执行发生冲突、进入死循环、无法进入中断等问题。

解决办法:

对应着程序流程图,逐步检查程序中的问题,通过拆分与组合的方式用两台电脑同时进行排查。

(2)给定的数码管与实际需要的数码管数量相比较少。

解决办法:

在显示温度方面,用两个数码管分时显示室内温度和设定温度,即在按下设定温度按键(A键和B键)时,显示设定温度,当松开手或者没有按下时,显示室内温度。

七、课程设计心得总结

这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图以及寄存器的变化过程简单画出来,我开始总觉得这样做没必要,很浪费时间。

但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,通常需要几个人分开处理代码,然后将几段代码汇总到一起,画程序方框图是很有必要的。

因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

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

在设计的过程中遇到问题,可以说得是困难重重,遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,通过网络、书本和与同学的讨论基本上得到解决,提高了自己解决和分析问题的能力。

8、参考资料

[1].陈卫红,微型计算机基本原理与接口技术(第二版),北京:

科学出版社,2009

[2].陈够喜,微机原理应用实验教程,北京:

人民邮电出版社,2006

[3].邹逢兴,微型计算机原理与接口技术实验指导,北京:

清华大学出版社,2009

[4].汤书森,微机原理接口技术实验与实践教程,北京:

清华大学出版社,2008

[5].李干林,微机原理及接口技术实验指导书,北京:

北京大学出版社,2010

九、附录

IOY0EQU3000H;片选IOY0对应的端口始地址,8255

IOY1EQU3040H;片选IOY1对应的端口始地址,AD0809

IOY2EQU3080H;片选IOY2对应的端口始地址,8254

IOY3EQU30C0H;片选IOY3对应的端口始地址,8259

MY8255_AEQUIOY0+00H*4;8255的A口地址

MY8255_BEQUIOY0+01H*4;8255的B口地址

MY8255_CEQUIOY0+02H*4;8255的C口地址

MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址

AD0809EQUIOY1+00H*4;AD0809端口地址

MY8254_COUNT0EQUIOY2+00H*4;8254计数器0端口地址

MY8254_COUNT1EQUIOY2+01H*4;8254计数器1端口地址

MY8254_COUNT2EQUIOY2+02H*4;8254计数器2端口地址

MY8254_MODEEQUIOY2+03H*4;8254控制寄存器端口地址

MY8259_ICW1EQUIOY3+00H;实验系统中8259的ICW1端口地址

MY8259_ICW2EQUIOY3+04H;实验系统中8259的ICW2端口地址

MY8259_ICW3EQUIOY3+04H;实验系统中8259的ICW3端口地址

MY8259_ICW4EQUIOY3+04H;实验系统中8259的ICW4端口地址

MY8259_OCW1EQUIOY3+04H;实验系统中8259的OCW1端口地址

MY8259_OCW2EQUIOY3+00H;实验系统中8259的OCW2端口地址

MY8259_OCW3EQUIOY3+00H;实验系统中8259的OCW3端口地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

DTABLE1DB6DH,79H,73H,77H,7CH,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H

;对应字符为:

5EP升(a)降(b)01~9空

DTABLE3DB10H,30H,20H,60H,40H,0C0H,80H,90H;步进电机步序

TEMTABLEDB14H,14H,14H,14H,14H,14H,14H,14H,14H,1;AD采集后温度转换表

DB15H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1EH

DB1EH,1FH,20H,21H,23H,24H,25H,26H,27H,28H

DB29H,2AH,2BH,2CH,2DH,2EH,2FH,31H,32H,32H

DB33H,34H,35H,36H,37H,38H,39H,3AH,3BH,3CH

DB3DH,3EH,3FH,40H,42H,43H,44H,45H,46H,47H

DB48H,49H,4AH,4BH,4CH,4DH,4EH,4FH,50H,4FH

DB50H,51H,52H,53H,54H,55H,56H,57H,58H,59H

DB5AH,5BH,5CH,5DH,5EH,5FH,60H,61H,62H,63H

DB64H,64H,65H,65H,66H,66H,67H,68H,69H,6AH

DB6BH,6CH,6DH,6EH,6EH,6FH,6FH,70H,71H,72H

DB73H,74H,75H,76H,77H,78H,79H,7AH,7BH,7CH

DB7DH,7EH,7FH,80H,81H,82H,83H,84H,84H,85H

DB86H,87H,88H,89H,8AH,8BH,8CH,8EH,8FH,90H

DB91H,92H,93H,94H,95H,96H,97H,98H,99H,9AH

DB9

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

当前位置:首页 > 高中教育 > 语文

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

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