1、一、实验目得 1、掌握单片机与DAC0832得接口设计方法。 2、掌握Proteus软件与Keil软件得使用方法。 二、设计要求 1、用Proteus软件画出电路原理图,在单片机得外部扩展片外三总线,并通过片外三总线与0832接口。 2、在单片机得外部扩展一个4个按键得键盘。 3、按下K0,产生连续方波信号。 4、按下K1,产生连续锯齿波信号。 5、按下K2,产生连续三角波信号。 6、按下K3,产生连续正弦波信号。 7、通过外接示波器观察波形。 三、 电路原理图 六、 实验总结 通过本次实验电路得设计
2、掌握了基本得DA转换电路单缓冲得设计;参考电压得选择;0832得片选;集成运放芯片得选择及接线;尤其就是运放得反馈电阻,从而能够产生正常得波形。 七、思考题 1、编程实现产生连续梯形波信号。 答:程序见程序清单。 四、 实验程序流程框图与程序清单 ORG 0000H /***********起始程序***********/ START: LJMP MAIN ORG 0100H /***********监控程序***********/ MAIN: MOV SP,
3、 #60H LOOP: LCALL KEYSS LJMP LOOP KEYSS: LCALL KEY JB 20H、0 ,KEYAA JB 20H、1 ,KEYBB JB 20H、2 ,KEYCC JB 20H、3 ,KEYDD JB 20H、4 ,KEYEE RET /***********键功能程序*
4、/ KEYAA: MOV R2 ,#00H ;锯齿波 LOOP1: MOV DPTR ,#0000H MOV A ,R2 MOVX DPTR ,A DEC R2 LCALL KEYSS LJMP LOOP1 KEYBB: MOV DPTR ,#0000H ;矩形波 LOOP2: MOV R3 ,#0FFH MOV
5、 A ,R3 MOVX DPTR ,A LCALL DELAY LCALL KEYSS MOV R3 ,#00H MOV A ,R3 MOVX DPTR ,A LCALL DELAY LCALL KEYSS LJMP LOOP2 KEYCC: MOV R2 ,#00H ;三角波
6、 MOV DPTR ,#0000H LOOP3: MOV A ,R2 MOVX DPTR ,A INC R2 LCALL KEYSS CJNE R2 ,#0FFH ,LOOP3 LOOP4: MOV A ,R2 MOVX DPTR ,A DEC R2 LCALL KEYSS CJNE R2
7、 ,#00H ,LOOP4 LJMP LOOP3 KEYDD: MOV R2 ,#00H ;正弦波 LOOP5: MOV DPTR ,#SIN MOV A ,R2 MOVC A ,A+DPTR MOV DPTR ,#0000H MOVX DPTR ,A INC R2 LCALL KEYSS LJMP
8、 LOOP5 KEYEE: MOV R2 ,#00H ;梯形波 MOV DPTR ,#0000H LOOP6: MOV A ,R2 MOVX DPTR ,A INC R2 LCALL KEYSS CJNE R2 ,#0FFH ,LOOP6 LCALL DELAY20ms LOOP7: MOV A ,R2 MOVX D
9、PTR ,A DEC R2 LCALL KEYSS CJNE R2 ,#00H ,LOOP7 LCALL DELAY20ms LJMP LOOP6 /*******常数表格***********/ SIN: DB 07FH ,082H ,085H ,088H ,08BH ,08FH ,092H ,095H ,098H ,09BH ,09EH ,0A1H ,0A4H ,0A7H ,0AAH ,0ADH DB 0B0H ,0B3H
10、 ,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 ,0FEH ,0FEH ,0FEH DB 0FEH ,0FEH ,0
11、FEH ,0FEH ,0FEH ,0FEH ,0FDH ,0FDH ,0FCH ,0FBH ,0FBH ,0FAH ,0F9H ,0F8H ,0F7H ,0F6H DB 0F5H ,0F4H ,0F2H ,0F1H ,0EFH ,0EEH ,0ECH ,0EBH ,0E9H ,0E7H ,0E5H ,0E4H ,0E2H ,0E0H ,0DDH ,0DBH DB 0D9H ,0D7H ,0D5H ,0D2H ,0D0H ,0CDH ,0CBH ,0C8H ,0C6H ,0C3H ,0C1H ,0BEH ,0BBH ,0B8H ,0B6H ,0B3H DB 0B0H ,0ADH ,0AAH
12、 ,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 ,057H ,054H ,051H DB 04EH ,04BH ,048H ,046H ,043H ,040H ,03DH ,03BH ,038H ,036H ,033H ,031H ,02EH ,02CH ,029H ,027H DB 025H ,023H ,021H ,0
13、1EH ,01CH ,01AH ,019H ,017H ,015H ,013H ,012H ,010H ,00FH ,00DH ,00CH ,00AH DB 009H ,008H ,007H ,006H ,005H ,004H ,003H ,003H ,002H ,001H ,001H ,000H ,000H ,000H ,000H ,000H DB 000H ,000H ,000H ,000H ,000H ,000H ,001H ,001H ,002H ,003H ,003H ,004H ,005H ,006H ,007H ,008H DB 009H ,00AH ,00CH ,00DH
14、 ,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 /***********键扫子程序*********/
15、 KEY: LCALL KEYCHULI JZ EXIT LCALL DELAY LCALL KEYCHULI JZ EXIT MOV B ,20H KEYSF: LCALL KEYCHULI JZ KEY1 LJMP KEYSF KEY1: MOV 20H ,B EXIT: RET KEYCHULI:PUSH PSW CLR RS1 S
16、ETB RS0 MOV P1 ,#0FFH MOV A ,P1 CPL A MOV 20H ,A CLR RS1 CLR RS0 POP PSW RET /*******延时子程序**********/ DELAY: MOV R7 ,#01H ;延时1ms DL1: MOV R6 ,#8EH DL0: MOV R5 ,#02H DJNZ R5 ,$ DJNZ R6 ,DL0 DJNZ R7 ,DL1 RET DELAY20ms: MOV R6,#0D7H ;20ms DL2: MOV R5,#2DH DJNZ R5,$ DJNZ R6,DL2 NOP NOP RET END 五、 实验结果(波形图)






