📄 ceshiad4.bak
字号:
org 0000h
ajmp main
org 0030h
main:
mov sp,#60h
mov r6,#0ffh ;三角波的阶梯数
mov r3,#08h ; 阶梯波的个数
mov r4,#10h ; 三角播的时间延迟个数
mov r5,#00h ; 三角波形的发生值
mov r0,#04h
mov r1,#00h
mov r2,#00h
l:
mov dptr ,#0efffh
mov a,r5
movx @dptr,a
; sjmp l
djnz r4,l
mov r4,#10h
inc r5
djnz r6 ,l
mov r6,#0ffh
acall send
mov a,r1
add a,#0cch
mov r1,a
mov a,r0
addc a,#00h
mov r0,a
djnz r3, l
mov r3,#08h
mov r0,#04h
mov r1,#00h
sjmp l
;TLC5615采用非级联方式,将要输入的12位数据存在R0、R1寄存器中,其D/A转换程序如下
send:
CLR P2.5;片选有效
MOV R2,#4;将要送入的前四位数据位数
MOV A,R0;前四位数据送累加器低四位
SWAP A;A中高四位与低四位互换
LCALL WRdata;DIN输入前四位数据
MOV R2,#8;将要送入的后八位数据位数
MOV A,R1;八位数据送入累加器A
LCALL WRdata;DIN输入后八位数据
CLR P2.6;时钟低电平
SETB P2.5;片选高电平,输入的12位数据有效
ret
;送数子程序如下:
WRdata:
nop ;空操作
LOOP:CLR P2.6;时钟低电平
RLC A;数据送入位标志位CY
MOV P2.7,c ; C数据输入有效
SETB P2.6;时钟高电平
DJNZ R2,LOOP;循环送数
RET ;返回
delay: mov r7, #18h
d1: mov r6, #01h
djnz r6, $
djnz r7, d1
ret
sjmp loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -