| | 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | | 校园招聘 | 留言板 | |
|
![]() |
|
| 您现在的位置: 自动化学习网 >> 技术文章 >> 单片机 >> 文章正文 |
|
|||||
| DA 转换 三角波 正旋波 梯形波(dac0832) | |||||
作者:佚名 文章来源:本站原创 点击数: 更新时间:2007-3-23 ![]() |
|||||
|
八、DA 转换 8.1 三角波 程序介绍:单片机通过DAC0832转换在LM358的7脚输 出三角波。实际应用如:函数波形发生器。 程序实例(0832shan.asm): ORG 0000H MAIN: MOV DPTR,#0BFFFH ;选通地址 STR1: MOV R6,#00H ;通过上升和下降来产生三角波/////////////////// ;电压随时间上升/////////////////////////////// STR2: MOV A,R6 MOVX @DPTR,A INC R6 CJNE R6,#0FFH,STR2 ;///////////////////////////////////////////// ;电压随时间下降/////////////////////////////// STR3: DEC R6 MOV A,R6 MOVX @DPTR,A CJNE R6,#00H,STR3 ;///////////////////////////////////////////// AJMP STR1 END 78 8.2 方波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出方波。实际应用如:函数波形发生器。 程序实例(0832fan.asm): ORG 0000h MAIN: MOV DPTR,#0BFFFH ;通过高低电平地的变化来输出方波/////////////// LOOP1: MOV A,0 MOVX @DPTR,A ;向选通地址送低电平地 ACALL DELAY MOV A,#0FFH MOVX @DPTR,A ;向选通地址送高电平 ACALL DELAY AJMP LOOP1 ;///////////////////////////////////////////// DELAY: MOV 30H,#0FFH ;延时,通过改变它的大小 可以改变占空比 D2: DJNZ 30H,D2 RET END 8.3 正弦波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出正弦波。实际应用如:函数波形发生器。 程序实例(0832xuan.asm): ORG 000H MAIN: MOV R1,#00H ;取表格初值 79 LOOP1: ;在表格里取数送到指定地址///////////////////// MOV A,R1 MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#0BFFFH MOVX @DPTR,A ;///////////////////////////////////////////// INC R1 ;表格加一 AJMP LOOP1 ;循环 SETTAB: ;正弦表格///////////////////////////////////// DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H 80 DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H END 8.4 梯形波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出梯形波。实际应用如:函数波形发生器。 程序实例(0832ti.asm): ORG 0000h MAIN: MOV DPTR,#0BFFFH STEP: MOV R6,#19H MOV R4,#0AH MOV A,0 81 LOOP1: MOVX @DPTR,A ;选通地址 ACALL DELAY ;延时 ADD A,R6 ;每次以19H的梯度增加 DJNZ R4,LOOP1 ;梯度等待的时间 AJMP STEP ;循环 DELAY: D2: MOV 31H,#0FFH D1: DJNZ 31H,D1 RET END
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于普通单片机的LIN协议实现… 提高单片机系统可靠性的设计… 利用单芯片MCU提高照明系统能… 基于MCU的风光互补独立电源系… 单片机控制GSM手机的技术及应… 用51内核网络单片机构成的远… 在Bank Switch基础上 实现大… 用单片机实现DSP在线调试的一… 利用Flash实现单片机系统的在… 基于AT89C52单片机的自动存取… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 文章索引 | 网站地图 | |
| 声明:本网站资源均来源于网络,如涉及版权问题,请通知我们,我们将尽快删除! QQ:279619038 备案序号:吉ICP备06005743号 自动化学习网版权所有 站长:guxing |
|