单片机试验之DA转换试验
一、实验目的 1、掌握单片机与 DAC0832 的接口设计方法。 2、掌握 Proteus 软件与 Keil 软件的使用方法。 二、设计要求 1、用 Proteus 软件画出电路原理图,在单片机的外部扩展片外三总线,并 通过片外三总线与 0832 接口。 2、在单片机的外部扩展一个 4 个按键的键盘。 3、按下 K0,产生连续方波信号。 4、按下 K1,产生连续锯齿波信号。 5、按下 K2,产生连续三角波信号。 6、按下 K3,产生连续正弦波信号。 ) 7、通过外接示波器观察波形。 三、电路原理图 六、实验总结 通过本次实验电路的设计,掌握了基本的 DA 转换电路单缓冲的 设计;参 考电压的选择;0832 的片选;集 成运放芯片的选择及接线; 尤其是运放的反馈电阻,从而能够产生正常的波形。 七、思考题 1、编程实现产生连续梯形波信号。 答:程序见程序清单。 四、实验程序流程框图和程序清单 ORG0000H ? /***********起始程序***********/ START:LJMPMAIN ORG0100H /***********监控程序***********/ MAIN:MOVSP,#60H LOOP:LCALLKEYSS LJMPLOOP KEYSS:LCALLKEY JB,KEYAA JB,KEYBB % JB,KEYCC JB,KEYDD JB,KEYEE RET /***********键功能程序*********/ KEYAA:MOVR2,#00H;锯齿波 LOOP1:MOVDPTR,#0000H MOVA,R2 MOVX@DPTR,A DECR2 ( LCALLKEYSS LJMPLOOP1 KEYBB: MOVDPTR,#0000H;矩形波 LOOP2:MOVR3,#0FFH MOVA,R3 MOVX@DPTR,A LCALLDELAY LCALLKEYSS MOVR3,#00H : MOVA,R3 MOVX@DPTR,A LCALLDELAY LCALLKEYSS LJMPLOOP2 KEYCC: MOVR2,#00H;三角波 MOVDPTR,#0000H LOOP3:MOVA,R2 MOVX@DPTR,A … INCR2 LCALLKEYSS CJNER2,#0FFH,LOOP3 LOOP4:MOVA,R2 MOVX@DPTR,A DECR2 LCALLKEYSS \ CJNER2,#00H,LOOP4 LJMPLOOP3 KEYDD:MOVR2,#00H;正弦波 LOOP5:MOVDPTR,#SIN MOVA,R2 MOVCA,@A+DPTR MOVDPTR,#0000H MOVX@DPTR,A INCR2 LCALLKEYSS LJMPLOOP5 KEYEE: MOVR2,#00H;梯形波 MOVDPTR,#0000H LOOP6: MOVA,R2 MOVX@DPTR,A INCR2 LCALLKEYSS CJNER2,#0FFH,LOOP6 LCALLDELAY20ms LOOP7: MOVA,R2 MOVX@DPTR,A 】 } DECR2 LCALLKEYSS CJNER2,#00H,LOOP7 LCALLDELAY20ms LJMPLOOP6 /*******常数表格***********/ SIN: DB 07FH ,082H ,085H ,088H ,08BH ,08FH ,092H ,095H ,098H ,09BH ,09EH ,0A1H ,0A4H , 0A7H ,0AAH ,0ADH DB 0B0H ,0B3H ,0B6H ,0B8H ,0BBH ,0BEH ,0C1H ,0C3H ,0C6H ,0C8H ,0CBH ,0CDH ,0D0H ,0D2H ,0D5H ,0D7H DB 0D9H ,0DBH ,0DDH ,0E0H ,0E2H ,0E4H ,0E5H ,0E7H ,0E9H ,0EBH ,0ECH ,0EEH ,0EFH , 0F1H ,0F2H ,0F4H DB 0F5H ,0F6H ,0F7H ,0F8H ,0F9H ,0FAH ,0FBH ,0FBH ,0FCH ,0FDH ,0FDH ,0FEH ,0FEH ,0 FEH ,0FEH ,0FEH DB 0FEH ,0FEH ,0FEH ,0FEH ,0FEH ,0FEH ,0FDH ,0FDH ,0FCH ,0FBH ,0FBH ,0FAH ,0F9H ,0 F8H ,0F7H ,0F6H DB 0F5H ,0F4H ,0F2H ,0F1H ,0EFH ,0EEH ,0ECH ,0EBH ,0E9H ,0E7H ,0E5H ,0E4H ,0E2H ,0 E0H ,0DDH ,0DBH DB 0D9H ,0D7H ,0D5H ,0D2H ,0D0H ,0CDH ,0CBH ,0C8H ,0C6H ,0C3H ,0C1H ,0BEH ,0BBH ,0B8H ,0B6H ,0B3H DB 0B0H ,0ADH ,0AAH ,0A7H ,0A4H ,0A1H ,09EH ,09BH ,098H ,095H ,092H ,08FH ,08BH ,088H ,085H ,082H DB 07FH ,07CH ,079H ,076H ,073H ,06FH ,06CH ,069H ,066H ,063H ,060H ,05DH ,05AH ,0 57H ,054H ,051H DB 04EH ,04BH ,048H ,046H ,043H ,040H ,03DH ,03BH ,038H ,036H ,033H ,031H ,02EH , 02CH ,029H ,027H DB 025H ,023H ,021H ,01EH ,01CH ,01AH ,019H ,017H ,015H ,013H ,012H ,010H ,00FH ,0 0DH ,00CH ,00AH DB 009H ,008H ,007H ,006H ,005H ,004H ,003H ,003H ,002H ,001H ,001H ,000H ,000H ,0 00H ,000H ,000H DB 000H ,000H ,000H ,000H ,000H ,000H ,001H ,001H ,002H ,003H ,003H ,004H ,005H ,0 06H ,007H ,008H ) DB 009H ,00AH ,00CH ,00DH ,00FH ,010H ,012H ,013H ,015H ,017H ,019H ,01AH ,01CH , 01EH ,021H ,023H DB 025H ,027H ,029H ,02CH ,02EH ,031H ,033H ,036H ,038H ,03BH ,03DH ,040H ,043H , 046H ,048H ,04BH DB 04EH ,051H ,054H ,057H ,05AH ,05DH ,060H ,063H ,066H ,069H ,06CH ,06FH ,073H , 076H ,079H ,07CH /***********键扫子程序****