单片机课程设计-基于单片机信号发生器设计内容摘要:

步数, ADD A,步数 判断 A 是否已经 满了。 否 重新设置初值 A 是 开 始 单片机设计报告 7 梯形波 程序流程图 梯形波输出跟锯齿波和三角波相似,只不过当加到顶峰后的一段时间内不改变 A的值,过了一段时间后再将减少 A 的值,不过先后的步数可以一样也可以不一样。 然后减到初始的值后也要持续一段时间,然后再进行加数,如此循环下去。 程序流程图如下图所示: 给 A 设置初值 MOV DPTR, 8000H MOVX @DPTR,A ADD A,步数 判断 A是否已满。 否 是 SUBB A,步数 判断是否等于初值。 否 /是 开 始 单片机设计报告 8 方波 程序流程图 此波形的实现更加简单,只需开始的时候设置一个初 值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。 这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。 流程图如下图所示: 开 始 给 A 设置初值 MOV A, 00H 是 持续一段时间 SUBB A,步数 2 判断是否等于初值。 否 是 持续一段时间 MOVX @DPTR,A ADD A,步数1 判断 A是否已满。 否 单片机设计报告 9 正弦波程 序流程图 正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出,不过这些值直接去网上下载下来使用就可以了。 输出的数据刚好是 256 个数据,这样则可以直接相加就行了。 流程图如下图所示: 开 始 给 A 设置初值 MOV DPTR, 8000H MOVX @DPTR, A 设置输出的时间 再设置一个初值放入 A中 MOVX @DPTR, A 输出一段时间 单片机设计报告 10 整体程序流程图 如下图所示: 单片机设计报告 11 5 程序设计 ORG 0000H。 程序开始 MOV SP,60H。 设置堆栈 MOV DPTR,7FFFH。 0832 的地址 SJMP LOP TPL: MOV R6,04H。 切换频率和幅度(手动调节) MOV R5,04H SJMP START 开 始 判断 1。 判断 1。 判断 1。 判断 1。 判断 1。 否 否 否 否 否 是 是 是 是 是 输出响应的波形 单片机设计报告 12 LOP: JNB ,TPL。 选择调频 MOV R6,01H。 设置步长 MOV R5,01H START: JNB ,BX1。 输出锯齿波 JNB ,BX2。 输出三角波 JNB ,BX3。 输出梯形 JNB ,BX4。 输出方波 JNB ,BX5。 输出正弦波 SJMP LOP BX1: MOV A,00H。 设置初值 LOOP:MOVX @DPTR,A。 把数据送到端口 ADD A,R6。 通过步长改变 上升波形 CJN。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。