51单片机课程设计有关正弦三角矩形波产生的函数发送器和液晶显示

2019-03-27 20:29

华东交大单片机课程设计

目 录

摘要…………………………………………………………………………………2.. 一、方案论证与比较………………………………………………………………2 二、系统硬件原理及设计………………………………………………………..2 1、按键模块……………………………………………………………………….2 2,12864LCD显示部分…………………………………………………………….2 3、DAC0832芯片…………………………………………………………………..3 4、系统整体设计………………………………………………………………….3 三、系统软件设计………………………………………………………………..4 1、软件实现方法………………………………………………………………….4 2、12864的指令集………………………………………………………………..4 3、软件流程图…………………………………………………………………….5 四、系统测试……………………………………………………………………..6 1、正弦波显示…………………………………………………………………….6 2、三角波显示…………………………………………………………………….6 3、方波显示……………………………………………………………………….6 4、增幅效果……………………………………………………………………….6 5、降幅效果……………………………………………………………………….6 6、増频效果……………………………………………………………………….7 7、降频效果……………………………………………………………………….7 8、LCD显示正弦波………………………………………………………………..7 9、LCD显示三角波…………………………………………………………………8 10、LCD显示方波………………………………………………………………….8 11、测试结果说明…………………………………………………………………8 五、设计心得……………………………………………………………………..8 六、参考文献……………………………………………………………………..9 附图………………………………………………………………………………..9 程序部分………………………………………………………………………….10

1

华东交大单片机课程设计

摘要:各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。本设计共利用两片DAC0832转换器,一片用来生成正弦波、三角波方波;另一片用来调幅。任何一个随时间变化的波形都可分解为许多离散的数据点,可设定一个周期可等分为若干个点,每两点间时间间隔由定时器定时产生,通过改变定时器初值就可改变其频率;而幅值通过与波所能达到最大幅值成比例改变。对于正弦波,通过查表获得数据;对于方波,三角波等简单波形,依据波形特点,依次将每点加/减一数来获得。另外设计中采用12864LCD液晶显示器显示当前产生的波形种类。波形种类选择、调幅、调频及波形种类显示均通过按键控制。

关键词:正弦波 三角波 方波 LCD

一、方案论证与比较

方案一:利用专门函数发生芯片8032或AD9852来产生正弦波、三角波、方波。如8032是专门波形发生芯片,故无需编程控制数字输出函数,且直接是模拟输出,波形较好。而AD9852自带48为相位累加的数控振荡器,会产生低相噪、高稳定的频率输出波形。

方案二:按任务要求采用0832转换器来产生正弦波、三角波、方波。让两片0832工作在双缓冲的状态,不断绘制X和Y坐标,实现波形平滑显示,调幅调频控制起来较为复杂。

方案三:与上一方案一样,采用两片0832,但不同的是,让它们工作在单缓冲状态。一片用来生成波形,另一片用来调幅。平滑性虽然较差但调幅实现简单,对要求不高的简易波形产生适合。

采用此方案,同时LCD采用12864,因为其控制简单,有实例可以借鉴。

二、系统硬件原理及设计

1、按键模块

采用独立键盘,因为接口还够用,用独立式按键控制较为简洁。在编程时P1.0、P1.1、P1.2采用主程序空闲时查询方式,其它5路按键采用中断查询方式。如2图1所示。

R81KR71KR61KR51KR41KR31KR21KR11K正弦波三角波方波增幅降幅増频降频 图1 独立键盘 2,12864LCD显示部分

12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的

2

华东交大单片机课程设计

点阵信息写入到相应的存储单元中。图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。为了使液晶点位置信息与存储地址的对应关系更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵,64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。因此存储单元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。

其指令操作简便,可以用以图形显示,该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。具体在电路中接线见附图。 3、DAC0832芯片

其是一个8位D/A转换器。单电源供电,从+5V~+15V均可正常工作。基准电压的范围为±10V;电流建立时间为1μS;CMOS工艺,低功耗20mW。该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。下图为其内部结构

......DI0DI7&&&8位输入寄存器LE18位DAC寄存器LE28位D/A转换器VrefIout2Iout1RfbAGNDVCCDGNDILECSWR1WR2XFER

图2 DAC0832 内部结构框图

0832是电流输出,为了取得电压输出,需在电压输出端接运算放大器,Rfb 即为运算放大器的反馈电阻端。运算放大器的接法如图3所示。本设计采用单缓冲方式,即就是使0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者说两个输入寄存器同时受控的方式。在实际应用中,如果只

有一路模拟量输出,或虽有几路模拟量但并不要求同步输出的情况,就可采用单缓冲方式 图3 运算放大器接法图。 4、系统整体设计

3

华东交大单片机课程设计

如图4所示,为整个设计系统框。#1 DAC0832为用生成波形,#2用来波所能

达到最大幅值成比例改变。显示电路的设计,这里为了在波形输出依然有 显示,由于单片机的局限性这里采用通常的动态LCD显示行不通,因为波形输出时要求CPU不停地为其服务而没有空闲来为LCD进行不停更新,解决方案是采用 带数据缓存器和驱动的LCD来提供显示,这样只占用八个I/O口即可完成设 计要求。

AT89c51 74373 #1DAC0832 #2DAC0832 波形输出 8路独立按12864LCD显示部分 图4 系统框图 三、系统软件设计

1、软件实现方法

利用89C51单片机查表生成正弦波,递增、递减生成三角波及方波,系统以按键为控制输入,单片机获取控制信号后处理,区分不同的状态,按照程序流程图,对系统进行控制。 2、12864的指令集 (1)、显示开/关指令

当 DB0 1 时LCD 显示RAM 中的内容DB0 0 时关闭显示。 (2)、显示起始行ROW 设置指令

该指令设置了对应液晶屏最上一行的显示 RAM 的行号有规律地改变显示起始行,可以使 LCD 实现显示滚屏的效果。 (3)、页(PAGE)设置指令

显示 RAM 共64 行分8 页每页8 行 (4)、列地址Y Address 设置指令

4

华东交大单片机课程设计

设置了页地址和列地址 就唯一确定了显示RAM 中的一个单元这样MPU 就可以用读 写指令读出该单元中的内容或向该单元写进一个字节数据。

(5)、读状态指令

(6)、写状态指令

(7),读状态指令

读 写数据指令每执行完一次读写操作列地址就自动增一必须注意的是进行读操作之前 必须有一次空读操作紧接着再读才会读出所要读的单元中的数据。 3、软件流程图

主程序

外部中断入口 判别正弦波按键

判别三角波按键 中断T0入口

判别方波按键

判别按键类型

(增幅、降幅、増频、降

频、LCD显示当前波类型) 根据按要求按键

情况生成波形

调用相应波形初始化程序

跳转到相应处理程序段 中断返回 中断返回

四、系统测试

1、正弦波显示

5


51单片机课程设计有关正弦三角矩形波产生的函数发送器和液晶显示.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:金融市场学课后习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: