课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
任务
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
2009~2010学年第1学期
一、设计题目
8086微机应用DAC0832控制小直流电机转速的设计
二、设计目的
巩固“微机原理”课程学过的知识,加强理论与实践的联系。通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。
三、设计内容与要求
1、内容
采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。
2、设计要求
(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
书中综述之。
(2)、设计系统的硬件连接原理图,对原理图加以说明。
(3)、画出程序框图,并说明。
(4)、编写应用程序,并注解程序。
(5)、提交课程设计说明书。
四、设计资料与参数
1、电机转速由8个按钮开关以补码形式给定输入,并以发光二极管形式显示出来。电机的转速变化范围为反向500 rpm~正向500rpm;
2、DAC0832双极性电压输出控制原理,控制小直流电机以不同转速运行。
3、小直流电机额定电压为5V。电源:5V由外部提供。
五、设计前准备
DAC0832双极性电压输出控制原理自学
DAC0832 是电流形式输出,当需要电压形式输出时,必须外接运算放大器。根据输出电压的极性不同,DAC0832 又可分为单极性输出和双极性输出两种输出方式。
(1) 单极性输出。DAC0832 的单极性输出电路如图一所示。VREF 可以接±5V 或±10V 参考电压,当接+5V 时,输出电压范围是0V~-5V;当接-5V 时,输出电压范围是0V~+5V;当接+10V 时,输出电压范围是0V~-10V ;当接-10V 时,输出电压范围是0V~+10V。若输入数字为0~255 ,则输出为:Uout =-VREF×D/256。式中D为输入DAC0832的十进制数,因为转换结果Ioutl 接运算放大器的反相端,所以,式中有一个负号。若VREF=+5V,输入数字为:0~255 时,V out =-(0~4.98)V。
图一DAC0832的单极性输出
(2) 双极性输出。即在单极性电压输出的基础上,在输出端再加一级运算放大器,就构成了双极性电压输出。通过运放A2将单向输出转变为双向输出。由VREF 为A2运放提供一个偏移电流,该电流方向应与A1输出电流方向相反,且选择R1=R3=2R2。使得由VREF引入的偏移电流恰为A1输出电流的1/2。因而A2的运放输出将在A1运放输出的基础上产生位移。双极性输出电压与VREF及A1运放输出V1的关系是:Uout = -(2U1+ VREF)。DAC0832 的双极性输出
电路如图二所示。根据前面单极性输出
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式U1 =-VREF×D/256,故Uout = -(2U1+ VREF) = VREF×D/128-VREF
1
4
图二 DAC0832的双极性输出
在本次设计中,VREF 取+5V ,采用DAC0832的双极性输出。
六、总体设计
本次设计总体上可分为硬件设计部分与软件的编写部分,其中硬件部分又可细分为CPU 组态的选择与连接;储存单元的地址分配,译码与线路连接;控制信号的产生;数据输入输出的接口设计;DAC0832的连接等。软件编写时又可分为数据的读取,数据处理以及数据输出三大部分。设计的整体框架如图三所示:
图三设计的整体框架图
七、详细设计—硬件部分
1.8088最小组态的连接
本次设计中,8088CPU采用最小组态的连接,由一片8088CPU芯片,一片时钟发生器芯片8284,3片地址锁存器芯片74LS373,一片双向总线驱动器芯片74LS245组成。如图四所示:
其中,8284是专门为8088CPU提供时钟的,其频率由外接的石英晶体来决定,同时8284还提供给8088CPU复位的功能,其复位开关由RC放电电路连接8088CPU的低八位地址线与数据线公用,故在工作时必先将地址信号锁存,否则地址信号必然丢失。在74LS373中,将其/OE端接地,表示输出允许;LE 端接8088CPU的ALE控制信号,配合完成地址锁存。3片74LS373的20个输出管脚组成了地址总线,与其他设备连接。
74LS245为双向总线驱动芯片,其类似于在8088CPU数据端与数据总线加了一道单向通行的门,其开通与否及方向有8088CPU的/DEN及DT//R信号控制。该芯片一端连接CPU,另一端连接数据总线。
除了数据总线及地址总线外,8088CPU最小组态还应引出控制总线,不过在本次设计中所实现的功能很简单,故只用引出/RD,/WR,IO//M三根控制线。
2.控制信号的相应处理
在实际的运用中,我们一般会较形象的运用/MEMR,/MEMW,/IOR,/IOW 这四种控制信号,故需要一定的物理电路来实现逻辑变换,将从CPU引出的/RD,/WR,IO//M三个控制信号变为/MEMR,/MEMW,/IOR,/IOW,相应电路图如图五所示:
A
图四8088最小组态连接图
温馨推荐
您可前往百度文库小程序
享受更优阅读体验
不去了
立即体验
1
2
3
图五 四个控制信号的产生图
3. 储存单元的地址分配,译码
存储单元连接图如图六所示,/MEMR ,/MEMW 信号作用于2K RAM 完成对其的读写操作,/MEMR 作用于4K ROM 完成对其的读操作。2K RAM 有11根地址线,4K ROM 有12根地址线。通过138译码器来产生片选信号,同时留出两个地址空间/PS0和/PS1用作I/O 设备的地址,/PS0用作写I/O 设备的地址,/PS1用作读/O 设备的地址。
地址分配的详情如下表所示:
其中需要注意的是,A19到A16四根地址线未参与译码,故给出的地址都只是物理地址的后16位(本应有20位物理地址),同时CPU 重启后是从FFFF0H 这个地址开始读程序的,故储存程序的4K ROM 的地址范围一定要包含这一地址即低16位地址应有FFF0H 。在该储存单元中应为一跳转指令,跳到程序首部地址
地址总线
1
2
4
图六 存储单元连接图
4. DAC0832的连接
DAC0832的连接图如图七所示,其采用单缓冲双极性输出,其I/O 端口地址为/PS0,参照前面的地址分配表,/PS0的地址空间为C800H ~CFFFH ,为了方便后面编程,可令/PS0地址为C800H
本次设计中DAC0832的单缓冲工作方式是使输入寄存器和DAS 寄存器同时处于受控的锁存器状态,分别受到地址选中信号/PS0和外设写信号/IOW 的控制。DAC0832的输入数据线直接与数据总线相连,DAC0832的双极性输出可参看前面所述
1
4
图七 DAC0832单缓冲双极性输出图
5. 数据输入接口设计
系统通过读取8个开关的状态从而读取数据,为防止直接接入数据总线给DAC0832工作带来影响,在开关与数据总线之间加入了数据输入三态缓冲器74LS244,如图八所示:
其输出端直接与数据总线相连,输入端连接在带有开关的电路中。开关闭合时,244的输入端接收到得是低电平信号,即代表二进制数0,同时发光二极管有电流流过发光。故在数据输入端,发光二极管亮代表输入数据0,暗代表输入数据为1。
其中,外设读型号/IOR 与外设地址选中信号/PS1相与产生一控制信号作用于244的数据输出允许端,用以打开或关闭数据传送通道。同/PS0一样,可令/PS1的地址为D000H ,用以后面编程。
数据总线
1
2
3
图八 通过244芯片读取用户输入的数值
八、详细设计—软件件部分
从前面可知极性输出时Uout =-VREF×D/256,式中D 表示要输出给0832的数字,假设从244中我们读到用户设定的速度为Di (用补码表示),我们可知电机速度与Uout 得对应关系为Uout= VREF 时速度为500,Uout 与转速成线形关系,故可得到Uout/VREF=Di/500,所以给0832输入的数字D 可由Di 表示,既: D=-Di×256/500
其中500为最大转速绝对值,Di 为用户输入转速,D 为输出到0832的数值,据此关系可编写程序如下:
DATA SEGMENT
OUTPORT EQU 0C800H ;0832的端口地址,输出数据INPORT EQU 0D000H ;244的端口地址,读入数据
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV DX,INPORT
IN AL,DX ;从244读入用户设定转速
MOV DL, 100H
IMUL DL ;Di乘以256(带符号的乘)
CWD
MOV DX,500
IDIV DX ;Di乘以256除以500
MOV BL,81H
IMUL BL ;得到最后的D放入AX中
MOV DX,OUTPORT ;输出给0832
OUT DX,AL
DELAY: MOV CX,5000 ;延时一段时间后再循环
LOOP $
JMP START ;循环采集给定速度并输出
CODE ENDS
END START
注:所有运算在计算机中都是通过补码进行的,最后的结果D一定为一正数,补码与原码相同,故可直接输出给0832
九、
小结
学校三防设施建设情况幼儿园教研工作小结高血压知识讲座小结防范电信网络诈骗宣传幼儿园师德小结
通过本次课程设计,使我对8086微机的在整体上有了一个重新的认识,是
我知道了一个微型的计算机系统是如何在一起协调而又高效的工作的。在课堂上,我们学习的都是零散的知识,很少有时间能将整个所学的东西串起来好好体会,故自己对微机的工作原理还是停留在一个较为表象的认识上。经过本次课程设计,我发现了许多自己以前不曾注意的问题,比如CPU重启后是从FFFF0H 这个地址开始读程序的,故储存程序的ROM的地址范围一定要包含这一地址,这是我们在划分存储器地址单元时需要注意到这一问题;又比如外设与数据总线相连时必须要加接口芯片,仅仅在CPU与数据总线加接口芯片是不够的,要注意外设之间的相互影响等。
总之,本次课程设计对我来说是一次很好的对自己所学知识的检验,同时我也学会了更加细致,严谨的去分析问题,解决问题,这对我以后的学习生活都是大有裨益的。