设计并实现占空比可调的信号发生器内容摘要:

LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液 晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 武汉理工大学《 单片机原理与应用 》课程设计说明书 5 图 3 LCD1602 引脚图 1602 采用标准的 16 脚接口,其中: 第 1 脚: VSS 为电源地 第 2 脚: VDD 接 5V 电源正极 第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 第 4 脚: RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 第 5 脚: RW 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第 6 脚: E(或 EN)端为使能 (enable)端。 第 7~ 14 脚: D0~ D7 为 8 位双向数据端。 第 15~ 16 脚:空脚或背灯电源。 15 脚背光正极, 16 脚背光负极 1602LCD 的特性: +5V 电压,对比度可调,内含复位电路提供各种控制命令 ,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。 有 80 字节显示数据存储器 DDRAM,内建有 192 个 5X7 点阵的字型的字符发生器 CGROM, 8 个可由用户自定义的 5X7 的字符发生器 CGRAM。 系统硬件电路简介 系统硬件电路原理图如下图 2 所示 : 四个独立按键分别与单片 机 ,相连接,并且通过一个四输入的与门,将与门的输出当做单片机外部中断 0 的触发信号。 当有按键按下时,就会进入外部中断程序。 口输出信号连接到示波器,检测输出波形。 通过单片机的 PO口连接到 LCD016L的数据段,用以显示波形信号发生器的频率和占空比。 武汉理工大学《 单片机原理与应用 》课程设计说明书 6 图 4系统硬件电路原理图 3 系统软件设计 软件是该 LCD 显示控制系统的重要组成部分,在软件的设计中,我们采用了模块了设计,将各部分功能编写为子模块的形式,这样增加了程序的可读性。 主程序 主程序用于控制整个系统,先对系统初始化,然后通过一个空循环等待中断程序,当中断到来时候,就进入中断程序,执行中断程序。 中断程序执行完成之后,就返回主程序,继续等待。 武汉理工大学《 单片机原理与应用 》课程设计说明书 7 系统初始化子程序 在此程序中,给所有变量赋初值,特别是 T0, T1 的初始值使产生方波的频率为 50Hz,占空比为 50%,且在 LCD016L 上显示出来。 键盘扫描程序 键盘扫描用外部中断 0实现,用以分析是 哪 个键盘被按下,然后在实现所要的功能。 关于键盘扫描程序的说明:频率可调时,占空比保持原状不变,反之亦然。 ( 1)频率调节 当按下键 1 的时候,会转到外部中断 0子程序,判断之后,会改变其中变量 fre 的值,然后分别将 T0, T1 按要求重新赋初始值,然后再在液晶上实时刷新。 即可改变即加 10Hz,当加到最大值 500Hz时,继续按下键 1,将会回到最小值 50Hz上。 同理按下键 2,频率值将会减 10Hz,当减到最小值 50Hz,会回到最大值 500Hz 上。 ( 2) 占空比调节 当按下键 3,进入到外部中断 0子程序,判断却是按下后,改变 zkb(即占空比),然后改变定时器的初值。 实时刷新,同频率调节,占空比也需要进行限制。 要注意的是频率和占空比的初始值都为 50,我们定义的占空比为百分比的分子部分。 键盘处理子程序 ,当有按键按下时,进入到外部中断,然后暂时关闭外部中断,启动延时程序,以消除抖动。 然后检测是哪个按键被按下,然后对频率跟占空比的变量做出相应的赋 值,并且将占空比的值送到数码管显示。 并且对定时器 0和定时器 1分别赋新的初值,开启外部中断,定时器 0和 1中断,中断程序结 束。 系统的资源分配表 系统的资源分配表如表 1 所示 : 表 1系统资源分配 武汉理工大学《 单片机原理与应用 》课程设计说明书 8 P0 ~ 液晶数据线 按键接口 方波信号输出口 外部中断 0触发引脚 源程序 include define uchar unsigned char define uint unsigned int float fosc=12020000。 //系统时钟频率 sbit key1=P1^0。 //控制频率的增加 sbit key2=P1^1。 //控制频率的减少 sbit key3=P1^2。 //控制占空比的增加 sbit key4=P1^3。 //控制占空比的减少 sbit LCDEN=P3^4。 sbit RS=P3^5。 sbit clk=P1^4。 uchar num。 uchar code table1[]=FRE(Hz):。 uchar code table2[]={DUT(%):}。 uint zkb。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。