基于at89c51单片机的低频信号发生器内容摘要:
单片机的 低频 波形发生器 8 芯片的电流型输出转换成电压信号,再送入示波器 显示。 本设计采用的是双电源工作模式运用反馈原理,构成 I/V 转换电路。 其电路连接如下图所示: 图 6 波形输出单元电路图 4.系统软件设计 主程序及流程图 利用 AT89C51 单片机 实时对 、 、 、 四口进行扫描,如果发现某一 口 输入为高电平 ,即 通过程序调用相应的波形子程序,输出相应的波形信息。 程序流程图如下图: 基于 AT89C51 单片机的 低频 波形发生器 9 图 7 波形发生器的主程序流程图 主程序如下: ORG 0000H TRI BIT LADDER BIT LJMP START ORG 0030H START: MOV P1,00H MAIN: JBC TRI,S3 JBC LADDER,S4 SJMP MAIN S3:LCALL TRIAGE SJMP MAIN SQUARE按下 初始化,设置常量及指针 SAW 按下 TRIANG 按下 LADDER 按下 跳转到主程序 N N N N 开 始 点亮 D1 调用方波输出程序,输出一个周期的方波 点亮 D2 调用锯齿波输出程序,输出一个 周期的锯齿波 点亮 D3 调用三角波输出程序,输出一个周期的三角波 点亮 D4 调用梯形波输出程序,输出一个周期的梯形波 基于 AT89C51 单片机的 低频 波形发生器 10 S4:LCALL LADD SJMP MAIN TRIAGE: MOV DPTR,0FFH MOV A,00H UP:MOVX @DPTR,A INC A CJNE A,0AEH,UP DEC A DOWN:DEC A MOVX @DPTR,A CJNE A,068H, DOWN INC A SJMP UP LADD: MOV DPTR,0FFH L4: MOV A,42H UP1: INC A MOVX @DPTR,A CJNE A,0AEH,L5 L5: JC UP1 DOWN1: LCALL DELAY1 L6: DEC A MOVX @DPTR,A CJNE A,043H,L7 L7: JC L4 SJMP L6 DELAY1: MOV R0,65 D: MOV R1,55 DJNZ R1,$ DJNZ R0,D RET END 子程序及流程图 在每个时钟到来时,通过 AT89C51 单片机对 P0 口交替输出 00H 和 0FFH,这样往复执行,即可输出连续的方波。 基于 AT89C51 单片机的 低频 波形发生器 11 方波程序: ORG 0000H LJMP START START:MOV DPTR,0FFH L1:MOV A,00H MOVX @DPTR,A LCALL DELAY MOV A,0FFH MOVX @DPTR,A LCALL DELAY SJMP L1 DELAY:MOV R0,250 D:MOV R1,255 DJNZ R1,$ DJNZ R0,D RET END 图 8 方波子程序流程图方波子程序仿真结果如下图所示: 图 9 模拟输出方波波形 先 由 AT89C51 对 P0 口输出 00H,在每个时钟到来时对输出值加 1,当加至 0FFHA 赋值为 00H DPTR 为 0FFH 选中 DAC0832 向 0832 中输出数据 调用延时子程序延时 给 A 赋值为 0FFH 并输出数据 再 次调用延时程序 返回 基于 AT89C51 单片机的 低频 波形发生器 12 时, 再 从 00H 重新 开始加,这样往复执行,最终得到连续的锯齿波。 锯齿波程序: ORG 0000H LJMP L2 ORG 0030H L2: MOV A,00H L21: MOV DPTR,0FFH MOVX @DPTR,A INC A CJNE A,088H,L21 SJMP L2 END 图 10 锯齿波流程图 锯齿波子程序仿真结果如下图所示: 图 11模拟输出锯齿波波形 先 对 P0 口 写 00H,在每个时钟到来时输出值加 1; 当加至 0AFH 时,继而在每个时钟来时减 1, 如此 往复执行,最终输出 为连续的 三角波。 将 A 清零 令 DPTR 为 0FFH 选定 0832 将 A 的 值赋给DPTR 数据输出 累加器 A 值加 1 A=88 返回 N Y 基于 AT89C51 单片机的 低频 波形发生器 13 图 12 三角波流程图 三角波子程序仿真结果如下图所示: 图 13模拟输出三角波波形 先 对 P0 口 写 42H, 在每个时钟到来时输出值加 1, 当加至 0AEH 时调用一次延迟三角波程序。基于at89c51单片机的低频信号发生器
相关推荐
为 10MHz,起振时间为 1ms;晶振频率为 1MHz,起振时间则为 10ms。 在图 3- 8 的复位电路中,当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。 另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“ 1”态。 如果系统在上电时得不到有效的复位,则在程序计数器 PC
管的阳极通过电阻 与输入端相连,当阳极端输入高电平时,发光二极管就导通点亮。 为了显示字符,要为 LED 数码显示器提供显示段码 (或称字形代码 ) 组成一个 “8”字形字符的 7 段,再加上 1 个小数点位,共计 8 段,因此提供给 LED 数码显示器的显示段码为 1个字节各段码位的对应关系如下: 段码位 D7 D6 D5 D4 D3 D2 D1 D0 显示段 dp g f e d c b a
存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此 时, ALE只有在执行 MOVX,
格要求自己,处处以本委的工作规则规范自己,树立良好的形象。 总之,我会以这次岗位调整为契机,更加努力地工作,更加努力地学习,不断提高完善自己,为卫生计生事业多做贡献。 最后,衷心感谢委党委对我的关心、爱护和培养,感谢同事们对我的帮助、照顾和支持。 谢谢大家 ! 财政系统新进人员培训班发言提纲 秋高气爽,万里无云,在这个收获的季节里,我非常开心能够与新近人员一起度过快乐而充实的四 天培训生活
0 到 20MHz — 12 时钟模式时为 0 到 33MHz 双数据指针 3 个加密位 4 个中断优先级 6 个中断源 4 个 8 位 I/O 口 全双工增强型 UART ― 帧数据错误检测 ― 自动地址识别 3 个 16 位定时 /计数器 T0, T1(标准 80C51)和增加的 T2(捕获和比较) 可编程时钟输出 异步端口复位 低 EMI (禁止 ALE 以及 6 时钟模式 )
AN 控制器的初始化、 CAN 的收发控制等任务。 CAN 总线收发器选用 PCA82C250 作为总线收发器。 PCA82C250 是 CAN 协议控制器和物理总线之间的接口。 82C250 可以为总线提供不同的发送性能,为 CAN 控制器提供不同的接收性能。 而且它与 “ISO 118 98” 标准完全兼容。 PCA82C250 的目的是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线