正弦波发生子程序如下:
MOV DPTR,#SINTAB ;正弦表写入内部RAM6DH-7FH MOV R0,#6DH LOOP: CLR A
MOVC A,@A+DPTR MOV @R0,A INC DPTR INC R0
CJNE R0,#80H,LOOP
MOV DPTR,#7FFFH ; MOV R0,#6DH ;LOOP1: MOV A,@R0 ; MOVX @DPTR,A ;D/A ACALL DELAY ; DEC R0 ; CJNE R0 #6DH,LOOP1 ;LOOP2: MOV A,@R0 ; MOVX @DPTR,A ;D/A ALCALL DELAY ; DEC R0 ; CJNE R0 #6DH,LOOP2 ;LOOP3: MOV A,@R0 ; CPLA ; MOVX @DPTR,A ;D/A ACLALL DELAY ; INC R0 ; CJNE R0,#7FH,LOOP3 ;LOOP4:MOV A,@R0 ; CPL A ;
设置D/A转换器的端口地址 设置正弦表指针 查表 转换
延时,等待转换结束 正弦表位移量增量 第一象限输出完? 查表 转换
延时,等待转换结束 正弦表位移量减量 第二象限输出完? 查表 表值取反 转换
延时,等待转换结束 正弦表位移量增量 第三象限输出完? 查表 表值取反
16
MOVX @DPTR,A ;D/A转换
ALCALL DELAY ;延时,等待转换结束 DEC R0 ;正弦表位移量减量 CJNE R0,#6DH,LOOP4 ;第四象限输出完? SJMP LOOP1
DELAY:MOV R7,#200 ; 延时50ms DEL1:MOVR6,#123 NOP
DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 RET
SINTAB: DB 7FH,89H,94H,9FH,0AAH,0B4H,0C8H,0D1H,0D9H
DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,,OFEH,0FFH END
6 阶梯波的实现过程
阶梯波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。在本程序中初值为00H.最大值为OFFH。流程图如下图所示。
17
阶梯形波的发生子程序如下:
JTB: MOV A,#0 MOV R1,#0AH LP: MOVX @DPTR,A ACALL DELAY2 DJNZ R1,NEXT SJMP JTB NEXT: ADD A,#10 JB P1.4,START SJMP LP
DELAY2: MOV 31H,#0FFH D2: DJNZ 31H,D2 RET
五实验结果与分析
1 实验现象、数据记录
(1)、利用Keil软件进行编程调试 (2)、利用Protues软件进行原理图绘制及波形仿真
? 三角波的调试
对三角波进行调试,调试过程如下图:
? 正弦波波的调试
对正弦波进行调试,调试过程如下图:
? 阶梯波的调试
对阶梯波进行调试,调试过程如下图:
18
六 设计总结与体会
首先是proteus仿真软件的使用,从中寻找电路图中所需的各种器件,遇到了一些问题,通过和同学之间的交流还有上网查资料,对proteus有了更多的了解和掌握。
接下来遇到的问题是,运用proteus中的示波器显示波形,由于对这个示波器的不了解,导致调不出来波形。后来,通过上网查资料获得了一些帮助,使各种波形显示了出来。
对MCS-51单片机有了更深入的了解,掌握了MCS-51单片机应用系统开发的电路设计、装调及性能参数的测试方法,还有系统开发的程序设计方法与调试技术。
通过这次课程设计,我进一步了解了波形发生器的原理,在实际动手操作过程中,使我接触了许多我以前没接触过的元件,而且重新温习了刚学不久的汇编语言,使我学得了许多知识,使我获益匪浅。
这次课程设计,使我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是我们得到的理论知识得到验证,更能增加对理论知识的理解。
七 参考文献
1 张毅坤. 单片微型计算机原理及应用.西安电子科技大学出版社,1998 2 余锡存, 曹国华.单片机原理及接口技术.西安电子科技大学出版
社,2000
3 吴黎明, 王桂棠,洪添胜等.单片机原理及应用技术.科学出版社,2005 4 韩克, 柳秀山等. 电子技能与 EDA 技术.暨南大学出版社, 2004 5 周润景, 张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真.航空
航天大学出版社, 2006
6 李俊谟.单片机中级教程.北京航空航天大学出版社,2006 7 胡宴如.模拟电子技术.高等教育出版社,2004
8 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出
版社,1998
9 李广弟.单片机基础.北京:北京航空航天大学出版社,1992
10 何立民.单片机应用技术大全.北京:北京航空航天大学出版社,1994 11 朱定华,戴汝平等.单片微机原理与应用.北京交通大学出版社,清华大
学出版社
12 彭介华.电子技术课程设计指导.北京:高等教育出版社,1997 13 江思敏,陈明. Protel电路设计教程.北京:清华大学出版社 14 彭楚武.微计原理与接口技术.长沙:湖南大学出版社
15 张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计.哈尔滨:
哈尔滨工业大学出版社,1997
19