org 0000h
mov r5,#00h
sin: mov a,r5
mov dptr,#tab
movc a,@a+dptr
mov dptr,#7fffh
movx @dptr,a
inc r5
ajmp sin
tab: db 80h, 82h,84h,86h,88h,8ah,8ch
db 8eh, 8ch,8ah,88h,86h,84h,82h
db 80h, 7eh,7ch,7ah,78h,76h,74h
db 72h, 74h,76h,78h,7ah,7ch,7eh
你的程序频率太高 D/A受不了
你应该用一个定时器每个一定 的时间输出一个数据到DA以控制频率