TLC5615输出锯齿波程序疑惑之处请教

TLC5615输出锯齿波程序疑惑之处请教,第1张

不需要单独再加放大, tlc5615本身内部有一次放大的,工作电压是5v ,基准25左右,输出被放大一倍左右,输出就可以最高达到实际49,电压在0---49v变化是用程序改变,这个不难 应该知道,不知道稍微查一下就懂了

T0832-1asm

;D/A转换实验,产生方波

;根据CHECK配置信息修改下列符号值

IOY0 EQU 9C00H ;片选IOY0对应的端口始地址

;

DA0832 EQU IOY0+00H4 ;DA0832的端口地址

STACK1 SEGMENT STACK

DW 256 DUP()

STACK1 ENDS

DATA SEGMENT

STR1 DB 'DA0832: Square Wave $' ;定义显示的字符串

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET STR1 ;显示字符串

MOV AH,9

INT 21H

LOOP1: MOV DX,DA0832 ;写00H,输出低电平

MOV AL,00H

OUT DX,AL

CALL DALLY

MOV DX,DA0832 ;写0FH,输出高电平

MOV AL,7FH

OUT DX,AL

CALL DALLY

MOV AH,1 ;判断是否有按键按下

INT 16H

JZ LOOP1 ;无按键则跳回继续循环,有则退出

QUIT: MOV AX,4C00H ;返回到DOS

INT 21H

DALLY PROC NEAR ;软件延时子程序

PUSH CX

PUSH AX

MOV CX,0050H

D1: MOV AX,5000H

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALLY ENDP

CODE ENDS

END START

;T0832-2asm

;D/A转换实验,产生三角波

;根据CHECK配置信息修改下列符号值

IOY0 EQU 9C00H ;片选IOY0对应的端口始地址

;

DA0832 EQU IOY0+00H4 ;DA0832的端口地址

STACK1 SEGMENT STACK

DW 256 DUP()

STACK1 ENDS

DATA SEGMENT

STR1 DB 'DA0832: Triangle Wave $' ;定义显示的字符串

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET STR1 ;显示字符串

MOV AH,9

INT 21H

LOOP1: MOV AL,00H ;D/A转换起始值

UP: MOV DX,DA0832 ;启动D/A转换

OUT DX,AL

CALL DALLY

INC AL

CMP AL,7FH

JNE UP

DOWN: MOV DX,DA0832

OUT DX,AL

CALL DALLY

DEC AL

CMP AL,00H

JNE DOWN

MOV AH,1 ;判断是否有按键按下

INT 16H

JZ LOOP1 ;无按键则跳回继续循环,有则退出

QUIT: MOV AX,4C00H ;返回到DOS

INT 21H

DALLY PROC NEAR ;软件延时子程序

PUSH CX

PUSH AX

MOV CX,0010H

D1: MOV AX,0100H

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALLY ENDP

CODE ENDS

END START

以上就是关于TLC5615输出锯齿波程序疑惑之处请教全部的内容,包括:TLC5615输出锯齿波程序疑惑之处请教、用汇编语言编写一个程序,能用键盘选择选择产生正弦波、方波、三角形波和锯齿波形、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10165453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存