课程设计任务书2009~2010学年第1学期学院: 信息科学与工程学院专业年级: 自动化075班课程: 微机原理与应用指导教师: 柴琳学号:200704134117姓名:王强一、设计题目8086微机应用DAC0832控制小直流电机转速的设计二、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。
三、设计内容与要求1、内容采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。
2、设计要求(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在报告书中综述之。
(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 的双极性输出电路如图二所示。
根据前面单极性输出表达式U1 =-VREF×D/256,故Uout = -(2U1+ VREF) = VREF×D/128-VREF图二 DAC0832的双极性输出在本次设计中,VREF 取+5V ,采用DAC0832的双极性输出。
六、总体设计本次设计总体上可分为硬件设计部分与软件的编写部分,其中硬件部分又可细分为CPU 组态的选择与连接;储存单元的地址分配,译码与线路连接;控制信号的产生;数据输入输出的接口设计;DAC0832的连接等。
软件编写时又可分为数据的读取,数据处理以及数据输出三大部分。
设计的整体框架如图三所示:图三 设计的整体框架图总体设 计硬件设计软件设计CPU 组态的选择与连接 控制信号的产生储存单元的地址分配,译码 数据输入输出的接口设计 数据输入数据处理 数据输出DAC0832的连接七、详细设计—硬件部分1.8086最小组态的连接本次设计中,8086CPU采用最小组态的连接,由一片8086CPU芯片,一片时钟发生器芯片8284,3片地址锁存器芯片74LS373,一片双向总线驱动器芯片74LS245组成。
如图四所示:其中,8284是专门为8086CPU提供时钟的,其频率由外接的石英晶体来决定,同时8284还提供给8086CPU复位的功能,其复位开关由RC放电电路连接8086CPU的低八位地址线与数据线公用,故在工作时必先将地址信号锁存,否则地址信号必然丢失。
在74LS373中,将其/OE端接地,表示输出允许;LE 端接8086CPU的ALE控制信号,配合完成地址锁存。
3片74LS373的20个输出管脚组成了地址总线,与其他设备连接。
74LS245为双向总线驱动芯片,其类似于在8086CPU数据端与数据总线加了一道单向通行的门,其开通与否及方向有8086CPU的/DEN及DT//R信号控制。
该芯片一端连接CPU,另一端连接数据总线。
除了数据总线及地址总线外,8086CPU最小组态还应引出控制总线,不过在本次设计中所实现的功能很简单,故只用引出/RD,/WR,IO//M三根控制线。
2.控制信号的相应处理在实际的运用中,我们一般会较形象的运用/MEMR,/MEMW,/IOR,/IOW 这四种控制信号,故需要一定的物理电路来实现逻辑变换,将从CPU引出的/RD,/WR,IO//M三个控制信号变为/MEMR,/MEMW,/IOR,/IOW,相应电路图如图五所示:RD32AD016LOC/WR 29AD115QS0ALE 25AD214QS1INA 24AD313AD412S0,DEN 26AD511S1DT/R 27AD610S2M /IO 28AD79AD88RQ/GT031AD97RQ/GT130AD106AD115AD124NMI 17AD133INTR 18AD142AD1539M N/M X 33TEST 23A16/S338READY22A17/S437A18/S536A19/S635CLK 19RESET21BHE/S734U18086F/C 13READY 5EFI 14CLK 8CSYNC 1PCLK 2ASYNC15OSC 12RESET10X117X216RDY14RDY26AEN13RES11AEN27U28284A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E 19DIR1U374LS245D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE 11U474LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE11U574LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE 11U674LS373U715M Hz10K+10uF地址总线数据总线124VCC数据总线地址总线RDIO/MWRRDWR12AIO/M图四 8086最小组态连接图123U1A74LS00456U1B74LS008910U1C74LS00111213U1D74LS0012U2A34U2B56U2C89U2D1011U2E1213U2FRDIO/MWRIORM EM RIOWM EM WIORMEMRIOWMEMW1234RDIO/MWR图五 四个控制信号的产生图3. 储存单元的地址分配,译码存储单元连接图如图六所示,/MEMR ,/MEMW 信号作用于2K RAM 完成对其的读写操作,/MEMR 作用于4K ROM 完成对其的读操作。
2K RAM 有11根地址线,4K ROM 有12根地址线。
通过138译码器来产生片选信号,同时留出两个地址空间/PS0和/PS1用作I/O 设备的地址,/PS0用作写I/O 设备的地址,/PS1用作读/O 设备的地址。
地址分配的详情如下表所示:A15 A14A13 A12 A11A10~A0 一个可用地址2K RAM PS0 PS1 4K ROM1 1 1 1 1 1 1 10 0 0 0 0 1 0 1 0 1 1 ×全0~全1 全0~全1 全0~全1 全0~全1C000H ~C7FFH C800H ~CFFFH D000H ~D7FFH F000H ~FFFFH其中需要注意的是,A19到A16四根地址线未参与译码,故给出的地址都只是物理地址的后16位(本应有20位物理地址),同时CPU 重启后是从FFFF0H 这个地址开始读程序的,故储存程序的4K ROM 的地址范围一定要包含这一地址即低16位地址应有FFF0H 。
在该储存单元中应为一跳转指令,跳到程序首部地址A08A17A26A35A44A53A62A71A823A922A1019E18G 20W 21D09D110D211D313D414D515D616D717U16116A08A17A26A35A44A53A62A71A823A922A1019A1121CE18OE/VPP20D09D110D211D313D414D515D616D717U22732地址总线地址总线A10--A0A11--A0数据总线数据总线2K RAM 4K ROMM EM RM EM WMEMRMEMWA 1B 2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U374LS138A11A12A13A14A15A15--A11123PS0PS 0124PS1PS 1123图六 存储单元连接图4. DAC0832的连接DAC0832的连接图如图七所示,其采用单缓冲双极性输出,其I/O 端口地址为/PS0,参照前面的地址分配表,/PS0的地址空间为C800H ~CFFFH ,为了方便后面编程,可令/PS0地址为C800H本次设计中DAC0832的单缓冲工作方式是使输入寄存器和DAS 寄存器同时处于受控的锁存器状态,分别受到地址选中信号/PS0和外设写信号/IOW 的控制。
DAC0832的输入数据线直接与数据总线相连,DAC0832的双极性输出可参看前面所述V c c20Iou t111lsb DI07Iou t212DI16DI25Rfb 9DI34DI416Vref8DI515DI614m sbDI713ILE 19WR218CS 1WR12Xfer 17U1DAC0832PS0IOWPS 0IOW数据总线数据总线2RR2R 542A542AUout124Motor+5V图七 DAC0832单缓冲双极性输出图5. 数据输入接口设计系统通过读取8个开关的状态从而读取数据,为防止直接接入数据总线给DAC0832工作带来影响,在开关与数据总线之间加入了数据输入三态缓冲器74LS244,如图八所示:其输出端直接与数据总线相连,输入端连接在带有开关的电路中。