资源描述
微机原理与接口技术课程设计
目录
一.实验目的 1
二.实验步骤 1
三.实验接线图 1
四.实验各模块介绍 2
五.实验流程图 3
六.实验程序 4
七.设计总结 7
一.实验目的
1、掌握直流电机的驱动原理
2、了解直流电机调速的方法
二.实验步骤
1、0832的片选信号CS5连到译码输出FF80H。
2、0832输出AOUT连DJ插孔。
3、在“P.”状态下,按SCAL键,再输入1590后,按EXEC键。
4、观察直流电机的转速。
三.实验接线图
8086
DAC0832
DB
D0~D7
IOW
IOR
A2
A1
A15~A19
+20V
FF80
10WR
DI0~DI7
WR
CS XFER
ILE RFB
VCC
VREF Iout
四.实验各模块介绍
1.8086CPU:Dj88k试验箱的中央处理器,主频为14.7MHZ,并以最小工作方式构成系统。
2.D/A转换接口芯片0832:是分辨率为8位的电流型DAC,数据类型为并行二进制,数字接口电平兼容TTL/MOS,芯片内部带有两级缓冲寄存器,需要外接基准电压源,其主要作用是将数字信号转化为模拟信号。DAC0832的输出端连接运算放大器,其与转换器内部的电阻一起构成将电流转换成电压的电路。
3.键盘与显示:系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。
4.数码管:
五.实验流程图
六.实验程序
CODE SEGMENT ;DJ.ASM 0-5v
ASSUME CS:CODE
DAPORT EQU 0FF80h ;DAPORT等值0FF80H
PA EQU 0FF20H ;字位口(位置)
PB EQU 0FF21H ;字形口(亮不亮)
PC EQU 0FF22H ;键入口
ORG 1590H ;伪指令数据段首
START: JMP START0
BUF DB ?,?,?,?,?,? ;定义代码数
data1:
db 0c0h,0f9h,0a4h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,83h,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1H
START0: call buf1 ;调用buf第一个数据
DACON0: MOV AL,00H ;AL=00H
DACON1: MOV DX,DAPORT ; DX=0FF80H
OUT DX,AL ;AL数据覆盖DX传输至输出端口
push ax ;推入堆栈
call conv ;执行CONV
MOV CX,0010H
DISCON: PUSH CX ;cx推入堆栈
call disp ;显示
POP CX
LOOP DISCON
pop ax ;取出堆栈
INC AL ;自加1
CMP AL,00H ;比较,CF=1则前者小于后者;CF=0时前者大于等于后者
JNZ DACON1 ;条件转移指令,(ZF=0)************
MOV AL,0FFH
DACON2: MOV DX,DAPORT
OUT DX,AL
push ax
call conv
MOV CX,0010H
DISCON2: PUSH CX
call disp
POP CX
LOOP DISCON2
pop ax
DEC AL ;自减1
CMP AL,0FFH
JNZ DACON2
JMP DACON0
CONV: MOV AH,AL
AND AL,0FH ;相与,高四位清零,低四位不变
MOV BX,OFFSET BUF ;偏移指针[BX]
MOV [BX+5],AL
MOV AL,AH
AND AL,0F0H ;相与,高四位不变,低四位清零
MOV CL,04H
SHR AL,CL ;AL向右移动四位,如90h变为09h
MOV [BX+4],AL
RET
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH ;20H;显示子程序,5ms
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
DELAY: LOOP DELAY
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;循环右移
JMP DIS1 ;SHR CL,1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,0DH
MOV BUF+1,19H
MOV BUF+2,17H
MOV BUF+3,17H
MOV BUF+4,00H
MOV BUF+5,00H
RET
DELY: PUSH CX
DEL2: PUSH CX
DEL3: PUSH CX
LOOP $
POP CX
LOOP DEL3
POP CX
LOOP DEL2
POP CX
LOOP DELY
RET
CODE ENDS
END START
七.设计总结
答:程序中主要的两个数据就是CX与AL。其中cx寄存器中的数据控制AL每次变换的间隔,也就是控制了小电机旋转速率的变换周期。AL数据由8086CPU字运算产生,然后输入到0832中由数字信号转化为模拟信号后,再输入作为与电压成正比的电压控制信号输入到直流电机中。由AL控制的电压值在一定值以下是无法使电机工作的,转化到晶体管与电机状态上来说,在显示数值较小时电机是不转动的,而后到达某临界值时电机开始缓慢加速直到最大值。
7
展开阅读全文