单片机课程设计-基于单片机信号发生器设计内容摘要:
步数, 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。单片机课程设计-基于单片机信号发生器设计
相关推荐
- P3 口输出高电平;外部程序存储器读选通信号 PSEN 无效。 地址锁存信号 ALE 也为高电平。 根据实际情况选择如图 46 所示的复位电路。 该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容 C1 上的电压很小,复位下拉电阻 上的电压接近电源电压,即 RST 为高电平,在电容充电的过程中 RST 端电压逐渐下降,当 RST 端的电压小于某一数值后, CPU 脱离复位状态
老师工作规范执行情况,确保教学任务的完成。 4.负责本系实验室、实训基地建设,组织制定教学实验规划,主持审定教学实验内容和教学实验有关的技术文件,检查实验教学措施及效果。 5.组织检查、落实考试的出卷、监考、阅卷工作。 6.积极鼓励教师开展科研,负责系部科研工作的发展落实。 组织研讨本系科研工作,落实课题、申报立项,协调教师的科研与教学安排。 7.组织研究、改进教学和辅导工作
序、主程序、定时中断服务程序、各子程序模块等。 主程序完成系统初始化 ,查 询各种状态 ,打开多路转换开关控制相应操作等功能。 1. 程序流程框图 2. 程序源码 include include define _Nop() _nop_() sbit D18B20=P3^7。 基于 AT89C51 的噪音检测自适应系统设计 sbit k1=P1^5。 unsigned char flag。
据的传送。 8 路模拟通道选择 如 左下 图所示模拟通道选择信号 A、 B、 C 分别接最低三位地址 A0、 A A2即( 、 ),而地址锁存允许信号 ALE 由 ,则 8 路模拟通道的地址为 0FEF8H~ 0FEFFH.此外,通道地址选择以 作写选通信号,这一部分电路连接如 右下 图所示。 从图中可以看到,把 ALE 信号与 START 信号接在一起了
char define uint unsigned int sbit KEY1 = P3^2。 sbit KEY2 = P3^3。 uchar Count = 0。 uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 void Delay(uint del) //延时 ,延时时间为 10ms *
前都要判断液晶模块是否处于忙的状态。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 “ A” 的代码是 01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字 母 “ A”。 硬件原理图