工学微机原理之风扇报告.docx
- 文档编号:12888944
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:36
- 大小:72.74KB
工学微机原理之风扇报告.docx
《工学微机原理之风扇报告.docx》由会员分享,可在线阅读,更多相关《工学微机原理之风扇报告.docx(36页珍藏版)》请在冰豆网上搜索。
工学微机原理之风扇报告
第一章 微机应用系统课程设计的目的意义
1.1课程在教学计划中的地位和作用
《微机应用系统设计与综合实验》课程是测控技术专业本科生必修的一门技术基础课程。
本课程设计任务是继《微型计算机原理与接口技术》这门课程后的一个实践环节。
是在学生基本学完该课程时的一次集中式的综合设计,它对于学生深刻理解微机原理和接口技术起着重要的作用。
在《微型计算机原理与接口技术》这门课程联系较多的是数字逻辑与计数、译码、信号缓冲、锁存、总线驱动扩展等内容,且着重应用微机系统的组成、时序、中断、接口技术与汇编语言程序设计。
而通过该课程设计的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
1.2设计任务的目的与意义
充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
通过课程设计进一步锻炼同学们在微型计算机应用方面的实际工作能力。
计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:
掌握这方面的知识更要强调解决实际问题的能力。
同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。
本设计的目的在于全面消化已学的相关课程内容。
深刻理解微机原理与接口技术课程的内涵。
为此,主要应完成的任务是:
从硬件的角度掌握微机的组成,接口部件的结构和彼此之间的联系,从软件的角度理解和应用微机系统的运行机制。
第二章 家用风扇控制器的设计任务
2.1家用风扇控制器设计要求
1.设计内容
设计一个家用风扇控制器。
控制器面板为:
按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。
电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。
电扇处于工作状态时,有:
(1)初始状态为:
风速-“弱”,类型-“正常”;
(2)按“风速”键,其状态由“弱”“中”“强”“弱”……往复循环改变,每按一下按键改变一次;
(3)按“类型”键,其状态由“正常”“睡眠”“自然”“正常”……往复循环改变;
风扇风速的弱、中、强对应于电扇的转动由慢到快。
风扇类型的不同选择,分别为:
(1)正常电扇连续运转;
(2)自然电扇模拟自然风,即转4s,停8s;
(3)睡眠电扇慢转,产生轻柔的微风,运转8s,停转8s;
按照风速与类型的设置输出相应的控制信号。
2.设计要求
设计出电路原理图,说明工作原理,编写程序及程序流程图。
并能在实验平台上进行运行模拟,能实现任务的功能要求的。
2.2课题任务的认识
本次课程设计任务主要模拟家用风扇的各种功能,设计一种控制器能实现对各种功能的控制,在风扇任意时刻运行时都对其实现各种功能的切换,充分体现其的可控制性。
在基本的弱电环境下的各种芯片实现对强电的控制的一种典型实例。
利用汇编语言与硬件结合,在各种基本的接口芯片实时通信,接收对应的按键信号,再基于硬件的基础用汇编语言实现各种逻辑关系转换而输出相应的控制信号从而实现各种功能的控制与转换。
2.3总体设计思想
本次课程设计任务主要基于8086以及各种接口芯片结合汇编语言实现对家用风扇的控制器的模拟。
我主要运用8086CPU结合汇编语言编写的软件来实现各种信号的处理与变换,以得到想要的控制信号,并用接口芯片8255A实现信号的输出与接收。
在模拟中通过开关来实现各种控制信号的输入,再通过8255的端口进行读取,再由8086通过软件的对采入的信号进行辨别进而转入到相应的功能子程序中以实现各种功能。
在各种功能的背后,通过8086驱动相应功能的硬件设备实现各种功能的切换。
具体设计设计,我想采用8255A来接收开关信号,驱动风扇的转动信号输出,并接收8253产生的控制信号。
8253主要来实现各种风种的控制信号,以得到自然、睡眠的类型风。
硬件设计框图如图2-1所示。
2.4功能扩展
此任务控制器已基本实现所有风扇控制功能,而现在几乎所有的风扇都能实现定时功能,故可以扩展定时功能在控制器的设计中以达到全面的控制。
在风扇控制的停止后,后续状态任务上未作要求,我在对其在设计上,能在停止后处在等待状态,当且仅当有风速键按下后,控制器可恢复继续控制风扇的运行,实现控制器的循环控制。
按
键
开
关
图2-1硬件设计框图
第三章预备知识
3.1风扇速度控制方法——脉宽调制法(PWM)
脉冲宽度调制法(PWM)是将风扇电源的开关频率设为固定值,通过改变其占空比来调节风扇速度的方法。
占空比越大,风扇速度越快。
这种控制方式的关键在于选择合适的开关频率,如果频率太低,风扇速度将会随PWM周期而振荡。
相反,如果频率过高,风扇内部的换向整流电路会断开风扇加速/减速电路的电源而导致风扇停转。
一般的频率范围是20Hz~160Hz。
另外,PWM的上升和下降时间要足够慢,以保证风扇的长期稳定。
PWM控制方式的优点是驱动电路简单,有很好的启动特性,晶体管热量耗散小等。
缺点是增加了风扇的应力,不便使用速度报警传感器,而速度报警传感器与电机使用同一电源供电,如电机电源以20Hz~160Hz频率接通或断开,则传感器也会随之关断或开启,从而失去应有的检测功能。
在PWM控制方法中,风扇的电压为额定值(例如12V风扇中的12V电源)或零电压,但由于风扇没有满负荷运转,因而它的反向电动势就会减少,这将导致PWM导通期间的电流可能会大于正常值。
虽然风扇的设计使共能够处理较大的电池,但在风扇启动阶段,电流将每秒增加30倍,这将对风扇的可靠性产生很大影响。
尽管如此,PWM仍然是低成本应用的理想选择。
3.2步进电机的控制原理
1.步进电机的速度控制及运动规划
步进电机区别于其他控制用途电机的最大特点是,它可接受数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。
而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。
这样的增量位置控制系统与传统的直流伺服系统相比,其成本明显降低,几乎不必进行系统调整。
因此,步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得更为广泛的应用。
2.步进电机的工作原理
该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图3-1是该四相反应式步进电机工作原理示意图。
图3-1步进电机
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图3-2中a、b、c所示。
a.单四拍 b.双四拍 c八拍
图3-2步进电机工作时序波形图
3.步进电机的速度特性
步进电机的转速取决于脉冲频率、转子齿数和拍数。
其角速度与脉冲频率成正比,而且在时间上与脉冲同步。
因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。
由于步进电机是借助它的同步转矩而启动的,为了不发生失步,启动频率是不高的。
特别是随着功率的增加,转子直径增大,惯量增大,启动频率和最高运行频率可能相差10倍之多。
为了充分发挥电机的快速性能,通常使电机在低于启动频率下启动,然后逐步增加脉冲频率直到所希望的速度,所选择的变化速率要保证电机不发生失步,并尽量缩短启动加速时间。
为了保证电机的定位精度,在停止以前必须使电机从最高速度逐步减小脉冲率降到能够停止的速度(等于或稍大于启动速度)。
因此,步进电机拖动负载高速移动一定距离并精确定位时,一般来说都应包括“启动-加速-高速运行(匀速)-减速-停止”五个阶段,速度特性通常为梯形,如果移动的距离很短则为三角形速度特性,如图3-3所示。
图3-3步进电机的速度曲线
3.3所用到的芯片及其各自功能说明
这个任务主要是实现开关信号的处理以及对相应功能信号的输出控制,软件编程稍微占主要的设计部分,故而芯片用的较少。
芯片合部分硬件设备如下表3-1所示。
表3-1芯片和部分硬件设备列表
型号或名称
数量
Intel8086
1片
8255A
1片
8253
1片
步进电机
1个
开关
4个
步进电机驱动电路
1套
3.3.18086功能简介
1.概述
Intel8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。
8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。
为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。
Intel8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。
资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。
它提供64K8位元的输出输入(或32K16位单元),以及固定的向量中断。
大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。
运算结果会储存在操作数中的一个。
Intel8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。
区段寄存器可以让CPU利用特殊的方式存取1MB内存。
8086把段地址左移4位然后把它加上偏移地址。
大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。
尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针(如C编程语言)变得困难。
它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。
更坏的是,这种方式产生要让内存扩充到大于1MB的困难。
而8086的寻址方式改变让内存扩充较有效率。
8086处理器的时钟频率介于4.77MHz(在原先的IBMPC)和10MHz之间。
8086没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。
8086CPU有一组强有力的指令系统,内部有硬件乘除指令及串处理指令,可对多种数据类型进行处理。
8086CPU与8位CPU8080向上兼容。
处理能力比8080高十倍以上,而相同任务程序代码长度可缩短20%。
8086CPU可与8087协处理器及8089输入/输出处理器构成多机系统,以提高数据处理及输入/输出能力。
2.CPU工作于最小模式中部分引脚信号定义
(1)AD15~AD0(AddressDataBus):
地址/数据总线,双向,三态。
这是一组采用分时的方法传送地址或数据的复用引脚。
根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。
(2)(Read)读选通信号,三态,输出,低电平有效
信号低电平有效时,表示CPU正在进行读存储器或读I/O端口的操作
(3)(Write)写选通信号,三态,输出,低电平有效
信号有效时,表明CPU正在执行写总线周期,同时由信号决定是对存储器还是对I/O端口执行写操作
(4)(Memory/InputandOutput)存储器或I/O端口控制信号,三态,输出
信号为高电平时,表示CPU正在访问存储器,为低电平时,表示CPU正在访问I/O端口。
(5)INTR(InterruptRequest)可屏蔽中断请求信号,输入,电平触发或边沿触发,高电平有效
CPU在每条指令周期的最后一个时钟周期检测此信号,一旦检测到此信号有效,并且中断允许标志位IF=1时,CPU在当前指令执行完后,转入中断处理程序。
用STI指令,可使中断允许信号标志位IF置“1”,用CLI指令可使IF置“0”,从而可实现中断屏蔽。
3.8086指令系统
按功能分类,8086的指令共有六大类,它们是:
数据传送指令、算术运算指令、逻辑运算和移位指令、字符串处理指令、控制转移指令以及处理器控制指令。
常用指令简介:
(1)MOV传送指令(Move)
指令格式:
MOV 目的,源
指令功能:
将源操作数(一个字或一个字节)传送到目的操作数
(2)IN 输入指令(Input)
指令格式:
①INAL,端口地址
或INAX,端口地址
②INAL,DX;端口地址存放在DX寄存器中
或INAL,DX
指令功能:
输入指令用来从指定的外设寄存器取信息送入累加器。
(3)OUT 输出指令(Output)
指令格式:
①OUTAL,端口地址
或OUTAX,端口地址
②OUTAL,DX;端口地址存放在DX寄存器中
或OUTAL,DX
指令功能:
输出指令用来把累加器的内容送往指定的外设存储器
当端口地址大于FFH时,必须使用第二种寻址方式,即先将端口号送入DX寄存器,再执行操作。
(4)CMP 比较指令(Compare)
指令格式:
CMP 目的,源
指令功能:
两个操作数相减,不产生运算结果,仅影响标志,接着可用条件跳转指令决定程序去向
(5)JMP 无条件转移指令
指令格式:
JMP 目的
指令功能:
使程序无条件的转移到指定的地址去执行
3.3.28255A功能简介
1.8255特性
一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。
具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口。
它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。
A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。
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时,控制寄存器被选择。
2.8255A的控制字
8255A有两类控制字:
一类控制字用于定义个端口的工作方式,称为方式选择控制字;另一类控制子用于C端口的任意一位进行置位或复位操作,称为置位复位控制字。
(1)方式选择控制字
8255A具有三种基本工作方式,在对8255A进行初始化编程时,应向控制字寄存器写入方式悬着控制字,用来规定8255A各端口的工作方式。
方式0——基本输入输出方式
方式1——选通输入输出方式
方式2——双向总线I/O方式
A口:
可工作于方式0,1,2任何一种
B口:
只能工作于方式0,1(不能为方式2)
C口:
分成双4位,可基本I/O,还可输出A,B口控制信号,输入A,B的状态。
方式选择控制字的格式如图3-4所示。
D7=1
标志位
图3-48255A方式选择控制字的格式
(2)置位复位控制字
C口的数位常用来产生控制信号(如应答式数据传送中断请求信号)或其他应答信号,可通过置位复位控制字来使端口C的任一位引脚的输出单独置“1”或置“0”。
置位复位控制字的格式如图3-5所示。
1置位
0复位
图3-58255A置位复位控制字的格式
3.3.38253功能简介
1.基本原理概述
8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。
8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。
采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。
最大计数值是9999。
与此计数器相对应,每个通道内设有一个16位计数值锁存器。
必要时可用来锁存计数值。
2.8253的控制字
8253有六种工作方式简介如表3-2所示。
表3-28253方式简介
方式0
计数结束中断方式
方式1
可编程单稳态输出方式
方式2
比率发生器(分频器)
方式3
方波发生器(输出对称方波)
方式4
软件触发选通
方式5
硬件触发选通
每个通道都可独立进行这六种工作方式互不影响,用8253时需对所用8253的通道进行初始化编程以确定气的工作方式。
初始化编程通过控制字来确定其的工作方式。
控制字格式如图3-6所示。
1BCD计数
02进制计数
图3-68253控制字格式
第四章 硬件设计
4.1硬件设计基本概要
根据设计要求和内容,用可编程并行接口芯片8255APC口低四位接收4个按键(分别表示风速、风种、定时、停止)的状态以启动电扇或设置相应的工作状态。
这样就需要4个按键,因此可以用实验箱上的某一列的4个按键,可以将此列的列选择线直接接为低电平,4个行输入线接到8255的口。
这样可以直接从8255的口读取按键的状态,从而执行相应的操作。
要通过一个按键来控制2个以上的状态,可以通过按键的次数来控制第几种状态,比如风速有三种状态(弱、中、强),可以用按键1次控制弱,按键2次控制中,按键3次控制强,这样就可以实现一键控制多钟状态了。
控制器的指示灯,利用3个七段字符显示器进行显示,分别显示风速、类型、定时三个指示信号。
显示模块代码状态表示如下表4-1所示。
表 4-1显示模块代码状态表示
按键
状态
相应七段字符显示器显示的代码
风速
弱
1
中
2
强
3
类型
正常
1
自然
2
睡眠
3
定时
定时8秒
1
定时16秒
2
定时32秒
3
用实验箱上的四相步进电动机作为电风扇,其转速可用PWM控制方法,通过改变其驱动电平的频率来改变步进电机的速度。
利用8255A的PB口对步进电机进行四相四拍驱动。
风种及定时的时间控制可由可编程计数器/定时器8253来实现。
可选用由8253工作方式3,在这种方式下,当CPU输入控制字后,输出将为高,在写入计数值后计数器将立即自动对输入时钟CLK计数,计数器减为1时,输出将变低,方式2时8253不可用重新设置计数值就能连续工作,保证了定时的精确。
4.28255A设计
8255A的PC口的低四位工作在方式0的基本输出方式,作为8253的门控信号来控制8253是否需要计数,PC0控制8253通道0的门控信号,PC1控制8253通道1的门控信号,PC2控制8253通道2的门控信号。
高四位工作在方式0的基本输入方式用来接收四个开关的开关信号,PB口作为四相步进电机的四相线路输出电路用来驱动步进电机的转动,工作在方式0的基本输出方式。
8255A的PA口工作在方式0的基本输入方式作为控制信号的输入,接收8253的信号来控制步进电机的转动与停止。
4.38253设计
首先利用通道0对时钟进行分频,已获得可较好利用的时钟,得到周期为八秒的方波为后面能自然和睡眠的状态产生四秒高电平八秒低电平以及周期为十六秒的方波做准备。
通道1用来产生类型风的状态信号,在自然风类型时,让其工作在方式2产生四秒高电平八秒低电平,让8255A的PA口PA0接收,当高电平时驱动步进电机转动,低电平则停止以实现自然风的模拟;在睡眠的类型时,通道1工作在方式3产生周期为十六秒的方波,让8255A的PA口PA0接收,当高电平时驱动步进电机转动,低电平则停止以实现睡眠风的模拟。
通道2用来实现定时的功能,在定时的功能时初始化其工作在方式4,在计数的时候为高电平,当计数完后,输出一负脉冲结束定时停止风扇转动,让8255A的PA口PA1接收,当高电平时驱动步进电机转动,低电平则停止,可通过改变其的计数初值来实现不同时间长度的定时。
4.4风扇控制器系统硬件原理图
如图4-1所示。
图4-1风扇控制器系统硬件原理图
第五章软件设计
硬件的设计完成后,运用汇编语言编写软件部分通过8086CPU实现各种信号的输入/输出以及相关信号的处理,从而控制步进电机的各种转态的转换控制。
软件设计主体流程图如图5-1所示。
Y
图 5-1风扇控制器软件总流程图
5.1风扇运行控制模块
此模块主要控制步进电机的转动以及住转速,亦是整个控制器的主控部分。
实现风扇各种功能的“CPU”。
其中主要部分是驱动电机转动的子程序,每次依次对四相电路驱动一次,由于8086处理速度非常快在肉眼看不来电机有微停抖动的情况,步进电机就是在连续的转动。
对步进电机转动需要判断两个控制信号,一个是类型信号PA0另一个是定时信号PA1,当两者都是高电平时才去驱动步进电机转动。
风扇运行控制模块流程图如图5-2所示:
子程序返回
图 5-2风扇运行控制模块流程图
5.2按键判断控制模块
常用风扇开关是弹簧式,但平台上是单刀单掷的开关,若用常用方法判断其是高电平(或低电平)每次拨完开关后需对开关拨回原来的状态下次才能正常拨动开关,相当不方便。
我采用另一种判断方法,每次有按键按下后后保存他们的开关状态当下次有开关状态变化时就可以知道有按键按下进行按键判断。
首先判断上一次的开关状态与此次检测的状态是否相同,不同则分别判断四个开关状态是否变化,若有就转入相应的子模块中。
按键判断控制模块流程图如图5-3所示。
子程序返回
图5-3按键控制模流程图
5.3风速控制模块
此次任务中家用风扇我用了步进电机进行模拟,步进电机的速度控制运用PWM方法,通过改变频率来实现速度控制。
在软件编程中,通过8255A的PB口输出驱动步进电机,通过改变单拍输出的延时时间来改变速度,延时越短速度越快。
在设计中,置一数据BUF1单元保存延时时间,不同的速度选择时,置不同数据来改变延时的长短从而实现速度的控制。
另置一数据单元B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 微机 原理 风扇 报告