函数信号发生器的设计(12864实现动态波形显示)

函数信号发生器的设计(12864实现动态波形显示)
函数信号发生器的设计(12864实现动态波形显示)

课程设计(论文)任务书

电气与电子工程学院系自动化专业13—2 班级

一、课程设计(论文)题目简易信号发生器的设计

二、课程设计(论文)工作自2016 年 1 月 5 日起至2016 年

1 月 14 日止。

三、课程设计(论文)的内容要求:

课程设计不仅仅要求学生完成所规定的题目要求,同时还要培养学生良好的科学态度和严谨的设计习惯。课程设计报告要求内容如下:

(1)设计思想和设计说明 (2)硬件原理框图

(3)硬件原理图与软件配合介绍 (4)程序存储器和数据存储器的单元分配(5) 程序流程图 (6)系统功能描述

(7) 设计调试过程总结

(8) 附录里面包括:芯片资料、源程序清单和符合制图规范的硬件原理图的图纸。

设计要求内容:

用D/A实现正弦信号,三角波信号,方波信号的输出,并且在LCD上显示出当前波形。要求输出信号的频率和幅度可调。

设计内容:

(1)满足设计要求内容。

(2)扩展锯齿波波形输出。

(3)汉字显示当前波形形状与当前频率的大小

学生签名

年月日课程设计(论文)评审意见

(1)题目复杂程度:复杂()、较复杂()、一般()、简单()

(2)总体方案的选择是否正确:正确()、较正确()、欠正确()、不正确()

(3) 系统能否满足任务要求:满足()、较满足()、欠满足()、不满足()

(4) 元器件选择是否合理:合理()、较合理()、欠合理()、不太合理()

(5) 学习实践态度:好()、较好()、一般()、不太好()

(6) 独立工作能力:强()、较强()、一般()、较差()

(7) 回答问题是否正确:正确()、较正确()、基本正确()、大多不正确()

(8) 图表是否符合标准:符合()、较符合()、基本符合()、大多不符合()

(9) 撰写是否规范整洁:规范整洁()、较规范()、欠规范()、不太规范()

总评成绩:优()、良()、中()、及格()、不及格()

评阅人职称副教授

2016 年 1 月日

目录

一、课程设计及要求及目的 (2)

二、设计思想及设计说明 (2)

1 函数发生器模块 (2)

2 LCD液晶显示模块 (2)

三、硬件设计 (3)

四、程序设计流程 (3)

五、系统模块化设计 (4)

1、函数信号发生器的设计 (4)

1.1、DAC0832的介绍 (4)

1.2、发生器的功能设计 (5)

1.3、函数发生器的外围电路组成 (6)

2、液晶显示模块 (6)

2.1 AMPIRE128X64液晶显示屏的原理介绍 (6)

2.2波形汉字显示程序设计 (8)

3、中断系统的使用 (10)

六、程序字节分配 (10)

七、功能描述与设计调试总结 (11)

1、功能描述 (11)

2、设计调试总结 (11)

八设计总结 (13)

九、参考文献 (14)

附录1:程序代码 (15)

附录2:设计图纸 (28)

一、课程设计及要求及目的

通过课程设计环节加深对单片机原理及应用技术的理解,提高理论结合实践的能力,提高单片机系统设计和开发的能力,初步学习一个完整的单片机系统的研发过程,并培养严谨细致的科研态度。

熟悉掌握常用的单片机设计软件以及一些网上个人研发的实用小软件。例如51单片机最常用keil和protues软件以及个人研发的单片机小精灵、汉字取模软件、串口助手等。要求设计一个单片机应用系统,利用keil和proteus软件完成系统软硬件的设计及模拟调试,在有条件的情况下完成对事物的操作。

本文设计了一种以STC89C51为核心的简易信号产生电路,该电路使用DAC0832数模转换器件对单片机输出的数字量进行转换,使用数组定义的方式完成不同波形的输出,并通过外部中断实现对输出波形形状和波形频率等的控制,该设计以LCD16824液晶显示屏对波形的类别、形状、频率等信息以中文或图形的方式输出显示。实验结果表明,该系统设计具有体积小,性能稳定,反应速度快,可以迅速简便的实现多种波形输出的优点。

二、设计思想及设计说明

该设计主要由信号发生器的设计和LCD液晶显示两部分组成,其中,信号发生器的设计为本设计的重点内容,但设计过程较为简单。LCD液晶显示为本设计的辅助模块,使的使用者对该信号发生器更容易操作,是本设计过程中耗时最多的阶段,可以说是本设计的难点。

1 函数发生器模块

该模块使用DA转换芯片DAC0832对单片机输出的8位二进制的数字量进行数字到模拟信号的转化,由于DAC0832为电流型输出,所以在输出端口使用一级运放LM324实现将电流输出转为电压输出,之后使用二级运放实现对输出信号的放大,使输出波形的幅值可调,在设计的端口使用RC低通滤波器对输出波形进行滤波,使所得到的波形更加平滑。在软件设计方面,为了与LCD显示屏联合使用,该设计没有使用正弦、方波、三角波、锯齿波的波形函数作为输出数字量,而是使用64个单元的数组定义每一个波形,由此,也可以更加方便的增加其他波形的输出。

2 LCD液晶显示模块

该模块使用protues中提供的AMPIRE128X64液晶显示屏,该显示屏无中英文字库,所以设计过程中需要对自己需要的字符和汉字进行取模,本

设计将该显示屏分为两部分,整屏幕的前四分之一用于显示“函数”“正弦”“方波”“三角”“锯齿”“频率”和峰峰值等信息。后面的部分用于显示输出波形的形状。

该模块的关键点在于AMPIRE128X64这款液晶显示屏的控制方法、矩阵排列方式以及与市场上常见的LCD16824的区别于共性和区别。共性点在于控制、读写等指令的相同,以及该端口的强大的锁存功能。区别主要在于该12864将整个屏幕分为两块,分别使用外部控制信号CS1与CS2选择开通。

三、硬件设计

该设计的硬件连接图如图一所示,箭头线上为管脚的连接方式。具体的连接方式见附录1:简易信号发生器的设计图纸。

图一系统硬件连接简图

四、程序设计流程

该程序的设计流程图如图二所示,系统首先将输出波形定义为正弦波输出,且频率定义为400HZ,并将该信息在LCD液晶显示频上显示出来,之后进入主函数,并不断调用正弦波的数组使之按照正弦波规律变化,经过外部DA转化实现正弦波输出。与此同时,外部中断随时可以打破主循环,通过外部中断0将其他波形定义为当前输出波形,每按一次,波形变化一次,循环往复,并在该中断服务程序中改变LCD显示波形、频率等信息。而在外部中断1中,只改变波形频率,只需要刷新频率显示部分即可。整个程序设计代码在附录2中:程序代码

图二程序流程图

五、系统模块化设计

1、函数信号发生器的设计

1.1、DAC0832的介绍

DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。其内部结构如图三所示

图三DAC0832的结构图

该芯片有三种工作方式,分别为但缓冲、双缓冲和直通方式。在该控制系统中使用其直通方式。接线方式为将数据口与单片机P1口相连、XREF、WR2、WR1、CS控制端口全部接地,ILE接高电平。在这种接线方式下,只要数据端口接收到数据立刻就能转化为模拟信号输出,使得系统的实时性好,响应速度快。

1.2、发生器的功能设计

89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从按键接收改变数据,进行各种功能波形的转换。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。

波形的输出通过波形数据表完成,该波形数据表是将信号一个周期等间距地分离成64个点,储存在单片机得ROM内。这些数据可以通过MATLAB 软件生成,例如正弦表,MATLAB生成的程序如下:

x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128 (1) 该函数信号发生部分的主要程序段如下所示,

P2=*(which_bx+kk); //which_bx选择哪一种波形显示,为这种波形数据的首地址

kk++;

if(kk==64)

kk=0;

while(delay_time)

delay_time--;

通过调节delay_time的大小可以调节输出频率的大小,经过实际运行测得当delay_time为0时,运行一次的时间为,则频率为400hz,这是该函数信号发生器的最大输出频率。

1.3、函数发生器的外围电路组成

该部分使用一级运放实现对输出电流转为输出电压,并使用二级运放经过滑动变阻器放大输出电压,使得电压可调,最后通过低通滤波器RC网络进行滤波,实现波形的输出。选择二级运放的前置电阻为5K,滑动变阻器的最大阻值为10K,则最大可以将输出的峰值电压5V变为10V。电压的调节范围是(0~10V)。该模块的电路图如图所示。

图四函数发生器的外围电路组成

2、液晶显示模块

2.1 AMPIRE128X64液晶显示屏的原理介绍

该AMPIRE128*64液晶显示频不自带中英文字库,是一种图形点阵液晶显示器,它主要由行主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。其管脚定义表一所示

表一AMPIRE128X64的管脚定义

部功能器件及相关功能如下:

1. 指令寄存器(IR)

IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E 信号下降沿的作用下,指令码写入IR。

2.数据寄存器(DR)

DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR 读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。

3.忙标志:BF

BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。

利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。

4.XY地址计数器

XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。

X地址计数器是没有记数功能的,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

5.显示数据RAM(DDRAM)

DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表

示显示非选择。

6.Z地址计数器

Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。

Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

12864LCD的指令系统有以下两种,第一类是基本指令包括10组、第二类为扩充指令。指令系统如下表所示:

表二:(RE=0)基本指令

2.2波形汉字显示程序设计

该模块的电路原理图如图五所示,其中控制端口为P3口相连。

图五显示模块电路图

显示程序部分的组成包括基础部分、辅助部分和显示部分组成。用该部

程序模块组成如图六所示

图六显示模块的程序组成

查看忙不忙,是当lcd处于内部运行状态的时候,此时忙不忙标志位为

0的时候,不接受外界写入的数据和命令,因此在读命令和数据之前必须先

检测lcd忙不忙,然后进行命令控制与数据输入。

辅助部分的程序是对整个屏幕的显示进行选择,清除等操作,为显示程

序提供输入入口。

AMPIRE128*64共计有8页,可以理解为8大行,每大行有8小行,有

2个半屏,每个半屏有0到第63列,总计有128列。即整个显示屏为64*128

个LED组成,在该设计中屏幕的占用情况如图七所示。

图七12864的屏幕占用情况

汉字的显示包括显示“函数”、“正弦”、“三角”、“方波”、“锯齿”,“频率”。英文的显示有“HZ”、“Vp”以及数字的显示(显示频率以及峰峰值)。由于该LCD自带无字库,因此,需要对要显示的部分进行取模。按照12864的数据读取是每一页的第一行为低端口,第八行为高输出口,且每次数据读取之后自动对列数加一,因此取模方式为从左到右、从上到下。设计中使用晓奇工作室制作的液晶汉字模提取软件。

波形的显示程序显示的波形为3/2个周期的波形。由于定义的波形数组共计64个数,正好占据整个屏幕的3/4,共计96列,每一个数对应列,即每一列都有一个数据。由于该屏幕有64行,而模拟量最大为255,因此,每行代表4个大小,通过这种方式就可以使整个屏幕显示出连续正常的波形。

坐标轴包括X、Y轴的绘制,该部分只要在理解12864显示原理的基础上就可以很轻松的画出来。

3、中断系统的使用

该设计使用外部中断0来切换当前显示波形,使用外部中断1来切换输出频率。巧妙的使用指针工具使得最初方案的代码消减了一大半。中断服务程序在切换完成波形和频率的转换之后分别对屏幕清屏处理再次显示(波形切换)、刷新处理(频率改变)。

六、程序字节分配

51单片机中片内数据存储器共计有128个字节,该设计中使用62.7个字节的数据存储器空间。共有程序存储器4KB=4096个字节,该设计使用的程序存储器空间为4000b,故满足。无片外数据存储器的使用。

七、功能描述与设计调试总结

1、功能描述

该系统使用AT89C52为主控单元,通过其控制DAC0832进行数模转换,完成方波,正弦波,锯齿波和三角波的输出。其中锯齿波是扩展功能。通过液晶显示屏12864对波形和频率和峰峰值进行显示,以便于使用者的友好使用。并通过中断进行波形输出与频率的转化。波形的峰峰值是通过外部电路设计的,波形汉字显示是扩展功能。

技术参数。

电压调节范围是0~10V,当滑动变阻器滑动50%时,理论值输出电压的峰峰值为5V,虚拟示波器显示为5.005V;当滑动变阻器滑动100%时,理论值输出电压的峰峰值为10V,虚拟示波器显示为9.975V。故技术参数符合设计要求。

该信号发生器的输出波形频率最大为400hz,频率可调,其设定频率变化参数为表三所示。

2、设计调试总结

该设计过程中存在第一个障碍是波形的输出在峰值的地方出现急速下降,波形显示不合理,在protues中的虚拟示波器显示波形如八所示。

八调试过程中的系统波形

经过检查发现错误的根源在于一级运放输出口没有经过电阻直接接在了二级运放的输出端。

经过调整之后的数码管显示波形如图九所示。可见此时的波形已经达到了

理想的输出效果。

九调整后的输出波形

设计过程中的第二个问题是液晶显示问题,发现市场上普遍使用的12684与protues中所用的12684的显示原理不太相同,尤其在分屏显示与显示寄存器的地址分布上。而读写控制时序大致相同。后来参考网上的protues中lcd12684的图形显示程序,并对照说明书对该部分有了认识,尤其是在页地址与行地址,列地址的问题上,理解了lcd12684原理之后对写起来后面的显示程序部分就如鱼得水的,原来以为还要两三天才能解决,结果熬了会夜就写完了。

LCD显示情况如图十所示

图十12864波形显示

由后两张图可以看出,波形在变化时有不连续的地方,这也符合发生器本身的特点,因此,未进行连线处理。

由此可知,该设计满足设计要求性能可靠。

八设计总结

九、参考文献

[1]徐春辉.单片微机原理及应用[M].北京:电子工业出版社,2013.

[2]周润景,张丽娜.基于protues的电路及单片机系列设计与仿真[M].北京:北京航空航天大学出版社,2006.

[3]张毅刚,彭元喜,姜守达等.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社.2003.

[4]https://www.360docs.net/doc/3e5263538.html,

附录1:程序代码

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define lcdcol_add 0x40

#define page_add 0xb8

sbit bx_adjust=P3^2; //函数发生器定义

sbit pl_adjust=P3^3; //中断输入接口

uchar bxxz=0,pl=0,delay_time=0,kk,pp; //为函数发生模块提供中间变量uchar *which_bx,*which_bx2; //选择哪一种波形uint pl_num;

/************* 12864LCD引脚定义*************/

sbit LCD_RS = P3^7; //寄存器选择输入

sbit LCD_RW = P3^6; //液晶读/写控制

sbit LCD_EN = P3^5; //液晶使能控制

sbit LCD_RST = P3^4; //液晶复位端口

sbit LCD_CS1 = P3^0; //右半屏控制

sbit LCD_CS2 = P3^1; //左半屏控制

uchar code pinglv[64]={

0x40,0x7C,0x40,0xFF,0x48,0x6C,0x4A,0xF2,

0x12,0x1A,0xD6,0x12,0x12,0xFB,0x12,0x00,

0x00,0x14,0xA4,0x44,0x04,0x24,0xB5,0x6E,

0x24,0x94,0x04,0x44,0xA6,0x14,0x00,0x00,

0x08,0x87,0x40,0x2F,0x10,0x0F,0x80,0x8F,

0x40,0x20,0x1F,0x20,0x40,0xCF,0x00,0x00,

0x08,0x09,0x08,0x08,0x09,0x09,0x09,0xFF,

0x09,0x09,0x0B,0x08,0x08,0x0D,0x08,0x00

};

uchar code hanshu[64]={

0x00,0xF0,0x00,0x22,0x42,0x82,0x02,0xF2,

0x12,0x8A,0x46,0x62,0x00,0xF0,0x00,0x00,

0x10,0x92,0x54,0x30,0xFF,0x50,0x94,0x32,

0xD8,0x17,0x10,0x10,0xF0,0x18,0x10,0x00,

0x00,0xFF,0x40,0x48,0x44,0x52,0x60,0x5F,

0x40,0x42,0x44,0x4C,0x40,0xFF,0x00,0x00,

0x02,0x82,0x4E,0x33,0x22,0x52,0x8E,0x40,

0x23,0x14,0x08,0x16,0x61,0xC0,0x40,0x00 };

uchar code zx[64]={

0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE,

0x82,0x82,0x82,0xC2,0x83,0x02,0x00,0x00,

0x02,0xE2,0x22,0x22,0x3E,0x08,0x08,0x88,

0x49,0x3A,0x08,0x08,0x88,0x0C,0x08,0x00,

0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,

0x40,0x40,0x40,0x40,0x40,0x60,0x40,0x00,

0x00,0x43,0x82,0x42,0x3E,0x00,0x20,0x31,

0x29,0x25,0x23,0x21,0x30,0x60,0x00,0x00 };

uchar code jc[64]={

0x10,0x28,0xE7,0x24,0x24,0x24,0x00,0xFE,

0x92,0x92,0xF2,0x92,0x92,0xDF,0x82,0x00,

0x40,0x40,0x40,0x7E,0x40,0x40,0x40,0x7F,

0x44,0x44,0x46,0x44,0x40,0x60,0x40,0x00,

0x01,0x01,0x3F,0x11,0x49,0x25,0x18,0x07,

0xFC,0x44,0x47,0x44,0x44,0xFE,0x04,0x00,

0x00,0x00,0xFF,0x40,0x50,0x48,0x44,0x43,

0x44,0x48,0x58,0x40,0xFF,0x00,0x00,0x00, };

uchar code fb[64]={

0x10,0x10,0x10,0x10,0x10,0xF1,0x92,0x96,

0x90,0x90,0x90,0xD0,0x90,0x18,0x10,0x00,

0x20,0x42,0x04,0x0C,0x80,0xF8,0x88,0x88,

0x88,0xFF,0x88,0x88,0xA8,0x18,0x00,0x00,

0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,

0x40,0x80,0x40,0x3F,0x00,0x00,0x00,0x00,

0x04,0x04,0xFE,0x41,0x30,0x8F,0x40,0x22,

0x14,0x08,0x14,0x22,0x41,0xC0,0x40,0x00,

};

uchar code sj[64]={

0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,

0x84,0x84,0x84,0xC4,0x86,0x04,0x00,0x00,

0x20,0x10,0x08,0xF4,0x93,0x92,0x92,0xF2,

0x9A,0x96,0x92,0x90,0xF8,0x10,0x00,0x00,

0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,

0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,

0x80,0x40,0x20,0x1F,0x04,0x04,0x04,0x7F,

0x04,0x04,0x44,0x84,0x7F,0x00,0x00,0x00,

};

uchar code table[]={

0x3E,0x51,0x49,0x45,0x3E, // -0-

0x00,0x42,0x7F,0x40,0x00, // -1-

0x62,0x51,0x49,0x49,0x46, // -2-

0x21,0x41,0x49,0x4D,0x33, // -3-

0x18,0x14,0x12,0x7F,0x10, // -4-

0x27,0x45,0x45,0x45,0x39, // -5-

0x3C,0x4A,0x49,0x49,0x31, // -6-

0x01,0x71,0x09,0x05,0x03, // -7-

0x36,0x49,0x49,0x49,0x36, // -8-

0x46,0x49,0x49,0x29,0x1E, // -9-

0x7F,0x08,0x08,0x08,0x7F, // -H

0x61,0x51,0x49,0x45,0x43, // -Z-

0x1F,0x20,0x40,0x20,0x1F, // -V-

0x7F,0x09,0x09,0x09,0x06, // -P-

0x00,0x36,0x36,0x00,0x00, // -:-

0x00,0x60,0x60,0x00,0x00, // -.-

};

uchar code sinx[64]={ //以下为波形代码128,114,102,90,78,66,55,45,36,28,20,14,9,5,2,1,1,1,

3,7,11,17,24,32,41,50,61,72,84,96,108,121,133,146,

158,170,182,193,204,213,222,230,237,243,247,251,253,

254,254,252,249,245,240,234,226,218,209,199,188,176,

167,158,145,135};

uchar code juchi[64]={

255,251,247,243,239,235,231,227,223,219,215,210,206,202, 198,194,190,186,182,178,174,170,166,162,158,154,150,146, 142,138,134,130,125,121,117,113,109,105,101,97,93,89,85, 81,77,73,69,61,57,53,49,45,40,36,32,28,24,20,16,12,8,4,0 };

uchar code fangbo[64]={

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,

};

uchar code sanjiao[64]={

0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136, 144,152,160,168,176,184,192,200,208,216,224,232,240,248, 248,240,232,224,216,208,200,192,184,176,168,160,152,144, 136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0 };

void lcd_delay(uint t)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<10;j++);

}

void bx_delay() //延时1ms {

int a,b;

for(a=1;a>0;a--)

for(b=122;b>0;b--);

}

void lcd_busy()

{

uchar dat,DATA;

LCD_RW = 1;

LCD_RS = 0;

do

12864液晶显示图片原理(完整版)

51单片机综合学习 12864液晶原理分析1 辛勤学习了好几天,终于对12864液晶有了些初步了解~没有视频教程学起来真有些累,基本上内部程序写入顺序都是根据程序自我变动,然后逆向反推出原理…… 芯片:YM12864R P-1 控制芯片:ST7920A带中文字库 初步小结: 1、控制芯片不同,寄存器定义会不同 2、显示方式有并行和串行,程序不同 3、含字库芯片显示字符时不必对字符取模了 4、对芯片的结构地址一定要理解清楚

5、显示汉字时液晶芯片写入数据的顺序(即显示的顺序)要清楚 6、显示图片时液晶芯片写入数据的顺序(即显示的顺序)要清楚 7、显示汉字时的二级单元(一级为八位数据写入单元)要清楚 8、显示图片时的二级单元(一级为八位数据写入单元)要清楚 12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入

到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。显示点在64*64液晶屏上的位置由行号(line,0~63)与列号(column,0~63)确定。512*8 bits RAM中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。每个存储单元存储8个液晶点的显示信息。

玩转12864液晶(1)--显示字符

在我们常用的人机交互显示界面中,除了数码管,LED,以及我们之前已经提到的LCD1602之外,还有一种液晶屏用的比较多。相信接触过单片机的朋友都知道了,那就是12864液晶。顾名思义,12864表示其横向可以显示128个点,纵向可以显示64个点。我们常用的12864液晶模块中有带字库的,也有不带字库的,其控制芯片也有很多种,如KS0108 T6963,ST7920等等。在这里我们以ST7920为主控芯片的12864液晶屏来学习如何去驱动它。(液晶屏采用金鹏的OCMJ4X8C) 关于这个液晶屏的更多信息,请参考它的DATASHEET,附件中有下载。 我们先来了解一下它的并行连接情况。 下面是电路连接图

从上面的图可以看出,液晶模块和单片机的连接除了P0口的8位并行数据线之外,还有RS,RW,E等几根线。其中R/S是指令和数据寄存器的选择控制线(串行模式下为片选),R/W 是读写控制线(串行模式下是数据线),E是使能线(串行模式下为时钟线)。 通过这几根控制线和数据线,再结合它的时序图,我们就可以编写出相应的驱动程序啦。 看看并行模式下的写时序图:

根据这个时序图,我们就可以写出写数据或者写命令到LCD12864液晶的子程序。 读时序图如下: 根据这个时序图我们就可以从LCD12864液晶模块内部RAM中读出相应的数据,我们的忙检测函数就是根据这个时序图写出来的。以及后面章节中讲的画点函数等都要用到读时序。有了这两个时序图,然后我们再看看OCMJ4X8C的相关指令集,就可以编写出驱动程序了。这里要注意的是指令集分为基本指令集和扩充指令集,其中扩充指令集主要是与绘图相关,在此后的章节中会有相应的介绍。 下面让我们根据这些编写出它的驱动程序吧。 我的硬件测试条件为:STC89C516(11.0592MHz) + OCMJ4X8C 实际显示效果图片如下: 程序部分如下,请结合液晶模块的DATASHEET看程序,这样能够更加快速的弄懂程序的流程。大致有如下几个函数:写数据,写指令,忙检测,初始化,指定地址显示字符串等等。[p][/p] #include "reg52.h" #include "intrins.h" sbit io_LCD12864_RS = P1^0 ;

函数信号发生器设计方案

函数信号发生器的设 计与制作 目录 一.设计任务概述 二.方案论证与比较 三.系统工作原理与分析 四.函数信号发生器各组成部分的工作原理 五.元器件清单 六.总结 七.参考文献

函数信号发生器的设计与制 一.设计任务概述 (1)该发生器能自动产生正弦波、三角波、方波。 (2)函数发生器以集成运放和晶体管为核心进行设计 (3)指标: 输出波形:正弦波、三角波、方波 频率范围:1Hz~10Hz,10Hz~100Hz 输出电压:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V; 二、方案论证与比较 2.1·系统功能分析 本设计的核心问题是信号的控制问题,其中包括信号频率、信号种类以及信号强度的控制。在设计的过程中,我们综合考虑了以下三种实现方案: 2.2·方案论证 方案一∶采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。 方案二∶采用锁相环式频率合成器。利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需要频率上。这种频率合成器具有很好的窄带跟踪特性,可以很好地选择所需要频率信号,抑制杂散分量,并且避免了量的滤波器,有利于集成化和小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。而且,由模拟方法合成的正弦波的参数,如幅度、频率相信都很难控制。 方案三:采用8038单片压控函数发生器,8038可同时产生正弦波、方波和三角波。改变8038的调制电压,可以实现数控调节,其振荡范围为0.001Hz~300K 方案四:采用分立元件设计出能够产生3种常用实验波形的信号发生器,并确定了各元件的参数,通过调整和模拟输出,该电路可产生频率低于1-10Hz的3种信号输出,具有原理简单、结构清晰、费用低廉的优点。该电路已经用于实际电路的实验操作。 三、系统工作原理与分析 采用由集成运算放大器与场效应管共同组成的方波—三角波—正弦波函数发生器的设计方法,先通过比较器产生方波,再通过积分器产生三角波,最后通过场效应管正弦波转换电路形成正弦波,波形转换原理图如下:

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细) 点阵LCD的显示原理 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1“A”字模图 而中文的“你”在字模中的记载却如图2所示:

图2“你”字模图 12864点阵型LCD简介 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号管脚名称LEVER管脚功能描述 1VSS0电源地 2VDD+5.0V电源电压 3V0-液晶显示器驱动电压 4D/I(RS)H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 6E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0H/L数据线 8DB1H/L数据线 9DB2H/L数据线 10DB3H/L数据线 11DB4H/L数据线 12DB5H/L数据线 13DB6H/L数据线 14DB7H/L数据线 15CS1H/L H:选择芯片(右半屏)信号 16CS2H/L H:选择芯片(左半屏)信号 17RET H/L复位信号,低电平复位

LCD12864图形液晶并口显示

LCD12864图形液晶并口显示 【教学引入】 液晶屏,在生活中很常见,我们常见的液晶显示器,如电脑的显示器,电视机,手机等等。 液晶屏在生活中已得到了普遍应用,它显示个各种各样的画面。 【教学目标】 1、掌握LCD12864液晶屏的用法; 2、编写LCD12864液晶屏的指令代码; 【知识目标】 1、掌握LCD12864液晶屏的用法; 2、掌握LCD12864液晶屏指令代码; 【教学准备】 电脑、Proteus、Keil 【教学方法】 教法:讲授法、讨论法 学法:练习法、探究法 【教学课时】 四课时 【教学过程】 一、12864液晶介绍 (1)12864是128*64点阵液晶模块的点阵数简称,业界约定俗成的简称。12864点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。12864M汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。

12864引脚说明 查阅“12864M.PDF”12864M液晶显示模块技术手册——四、用户指令集 1、指令表1:(RE=0:基本指令表),如下图,讲解了12864的基本指令集和扩充指令集。

当模块在接受指令前,微处理器必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0。“RE”为基本指令集与扩充指令集的选择控制位元,往后的指令集将维持在最后的状态。 当选择G=0 :绘图显示OFF,汉字显示的时,12864屏只能显示8X4=32个汉字,下面是汉字显示的坐标

二、12864液晶屏驱动电路 AT89C52的P0口连接12864的并行数据口,RP1为P0口的上拉排阻。 三、52代码编写 (1)打开keil uVision4,建立一个新的工程,工程名为"12864 graphic LCD parallel display",保存类型*.uvproj,单片机型号AT89C52。在工程中添加12864 graphic LCD parallel display.c文件,如下图

函数信号发生器的设计与制作

函数信号发生器的设计、和装配实习 一.设计制作要求: 掌握方波一三角波一正弦波函数发生器的设计方法和测试技术。学会由分立器件和集成电路组成的多级电子电路小系统的布线方法。掌握安装、焊接和调试电路的技能。掌握在装配过程中可能发生的故障进行维修的基本方法。 二.方波一三角波一正弦波函数发生器设计要求 函数发生器能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形。其电路中使用的器件可以是分立器件,也可以是集成电路(如单片集成电路函数发生器ICL8038)。本次电子工艺实习,主要介绍由集成运算放大器和晶体管差分放大器组成的方波一三角波一正弦波函数信号发生器的设计和制作方法。 产生正弦波、方波、三角波的方案有多 种: 1:如先产生正弦波,然后通过整 形电路将正弦波变换成方波,再由积分 电路将方波变成三角波。 2:先产生三角波一方波,再将三 角波变成正弦波或将方波变成正弦波。 3 3:本次电路设计,则采用的图1函数发生器组成框图 是先产生方波一三角波,再将三角波变换成正弦波的电路设计方法。此钟方法的电路组成框图。如图1所示:可见,它主要由:电压比较器、积分器和差分放大器等三部分构成。 为了使大家能较快地进入设计和制做状态,节省时间,在此,重新复习电压比较器、积分器和差分放大器的基本构成和工作原理: ,并判所谓比较器,是一种用来比较输入信号v1和参考电压V REF 断出其中哪个大,在输出端显示出比较结果的电路。 在《电子技术基础》一书的9.4—非正弦波信号产生电路的9.4.1中,专门讲述了: A:单门限电压比较器、B:过零比较器 C:迟滞比较器的电路结构和工作原理。 一、单门限电压比较器 所谓单门限电压比较器,是指比较器的输入端只有一个门限电压。

函数信号发生器的使用方法规定

函数信号发生器的使用方法规定 1、目的:为操作人员作操作指导。 2、范围:适用于函数信号发生器操作人员。 3、操作步骤: 3.1注意事项 仪器在只使用“电压输出端”时应将“输出衰减”开关置于“0dB”~“80dB”内的位置,以免功率指示电压表指示过大而损坏。 3.2使用方法 3.2.1开机:在未开机前应首先检查仪器外接电源是否为交流220V±10%,50Hz±5%, 并检查电源插头上的地线脚应与在地接触良好,以防机壳带电。面板上的电源开关 应放在“关”位置,“电平调节”旋钮置中间,输出衰减旋钮置“0dB”,频段开关设 置在你所需要的频段。 3.2.2频率选择:首先将频段开关设置在你所期望的频率范围内,然后调节频率调谐旋钮 和频率微调旋钮,至数码管上指示你所需要的频率为止。 3.2.3波形选择:波形开关在“~”位置,可在电压输出端获得全频段的电压正弦信号,在 功率输出端可获得20Hz~100kHz的功率输出;波形开关在“”位置,在电压输 出端可获得全频段的电压方波信号。输出衰减在功率输出端8Ω档同样可以获得 20Hz~100kHz的方波功率输出。 3.2.4输出电压调整:电压输出端的输出电压可通过“电平调节”旋钮连续可调。 3.2.5功率输出调整:功率输出端的输出同由“电平调节”旋钮控制调节,并可通过“输 出衰减”进行80 dB的衰减。“输出衰减”控制开关上有8Ω和600Ω二档匹配档, 用以匹配低阻和较高负载以获取最大输出功率。 3.2.6功率的平衡输出:本仪器600Ω功率输出档可进行平衡输出,方法是可将面板上中间 红色接线柱和黑色接线柱之间的接地片取下,接在两个红色接线柱上即可,但本仪器连接的其它仪器也应不接在“地”电位。

12864显示图形

看到工具箱旁边那个LCD12864很久没用了(当初买回来用的时候只是简单地测试了一下),于是萌生了重新写一次接口程序的想法(而且这次要给它加个图片显示的功能),好,说做就做,就用Atmega16和ICCAVR来做吧,最近这MCU和平台用得比较熟练。 马上从书堆里把当初打印出来的中文datasheet给翻了出来,依葫芦画瓢地写了个初始化程序。好,OK。编译通过。于是又写了一个可以自定义从XY坐标值开始输出显示的函数,再次编译,也通过,OK。于是呼马上写了四行简单的字符烧到单片机上试了一下,嘿嘿,一次通过。如下图: 后来在进一步测试的时候也出了点小问题。就是我是使用USBISP烧写器把程序烧写进AVR的(此时实验板由USBISP烧写器供电),想要实现从第一行的第一个字符开始连续显示"0123456789"。刚烧写完程序后能看到LCD12864上正常显示"0123456789",但是把烧写器从实验板上断开连接,单独用USB给实验板供电的时候,LCD的第一行只是显示"123456789",第一个字符消失了……,左思右想地弄了一个多小时后,终于把问题给解决了,就是把初始化程序的延时适当增加了些,真是奇怪。刚开始一直想不通为什么在烧写器供电的情况下就正常显示,而换到USB供电后就出了问题。后来再想想,估计是跟供电有关。在使用USBISP烧写器供电的时候,LCD的背光灯明显比用USB供电的时候来得亮,而且对比度也高很多,看来是因为换到USB供电后,供电不怎么充足,以至于LCD在上电初始化的时候花上了更多的时间去初始化(因为供电低了,功率小了,跑起来有点力不从心,用的时间就久了嘛……我是觉得可以这样去理解的 接下来呢,就到了有点难度的画图了。当初刚买到12864的时候只是简单测试了字符显示功能,除了因为画图还不需要用到,另外一个原因就是那datasheet上关于画图那部分的内容不怎么看得懂…。现在重新拿起来看,依然一头雾水……。马上上网百度了一下“12864 7920 显示图片”,看到了不少的例子程序,可是……就是没看到有关于这部分功能实现的详细思路和讲解……下载下来的那些程序,基本上没注释,不是说晦涩难懂,但是至少看起来一团糟,让人家不想继续看下去……于是还是硬着头皮去啃那datasheet。上面对于画图这部分的内容是这样讲解的:

函数信号发生器设计报告

函数信号发生器设计报告 目录 一、设计要求 .......................................................................................... - 2 - 二、设计的作用、目的 .......................................................................... - 2 - 三、性能指标 .......................................................................................... - 2 - 四、设计方案的选择及论证 .................................................................. - 3 - 五、函数发生器的具体方案 .................................................................. - 4 - 1. 总的原理框图及总方案 ................................................................. - 4 - 2.各组成部分的工作原理 ................................................................... - 5 - 2.1 方波发生电路 .......................................................................... - 5 - 2.2三角波发生电路 .................................................................... - 6 - 2.3正弦波发生电路 .................................................................. - 7 - 2.4方波---三角波转换电路的工作原理 ................................ - 10 - 2.5三角波—正弦波转换电路工作原理 .................................. - 13 - 3. 总电路图 ....................................................................................... - 15 - 六、实验结果分析 ................................................................................ - 16 - 七、实验总结 ........................................................................................ - 17 - 八、参考资料 ........................................................................................ - 18 - 九、附录:元器件列表 ........................................................................ - 19 -

函数信号发生器使用说明(超级详细)

函数信号发生器使用说明 1-1 SG1651A函数信号发生器使用说明 一、概述 本仪器是一台具有高度稳定性、多功能等特点的函数信号发生器。能直接产生正弦波、三角波、方波、斜波、脉冲波,波形对称可调并具有反向输出,直流电平可连续调节。TTL可与主信号做同步输出。还具有VCF输入控制功能。频率计可做内部频率显示,也可外测1Hz~的信号频率,电压用LED显示。 二、使用说明 面板标志说明及功能见表1和图1 图1 表1 序 面板标志名称作用号 1电源电源开关按下开关,电源接通,电源指示灯亮 2 1、输出波形选择 波形波形选择 2、与1 3、19配合使用可得到正负相锯齿波和脉

DC1641数字函数信号发生器使用说明 一、概述 DC1641使用LCD显示、微处理器(CPU)控制的函数信号发生器,是一种小型的、由集成电路、单片机与半导体管构成的便携式通用函数信号发生器,其函数信号有正弦波、三角波、方波、锯齿波、脉冲五种不同的波形。信号频率可调范围从~2MHz,分七个档级,频率段、频率值、波形选择均由LCD显示。信号的最大幅度可达20Vp-p。脉冲的占空比系数由10%~90%连续可调,五种信号均可加±10V的直流偏置电压。并具有TTL电平的同步信号输出,脉冲信号反向及输出幅度衰减等多种功能。除此以外,能外接计数输入,作频率计数器使用,其频率范围从10Hz~10MHz(50、100MHz[根据用户需要])。计数频率等功能信息均由LCD显示,发光二极管指示计数闸门、占空比、直流偏置、电源。读数直观、方便、准确。 二、技术要求 函数发生器 产生正弦波、三角波、方波、锯齿波和脉冲波。 2.1.1函数信号频率范围和精度 a、频率范围 由~2MHz分七个频率档级LCD显示,各档级之间有很宽的覆盖度, 如下所示: 频率档级频率范围(Hz) 1 ~2 10 1~20 100 10~200

在12864显示任意图片及参考程序

用12864显示单色图片 首先介绍本12864液晶显示器: 型号:QC12864B 因为单片机读取的是数据,而不是直接的图片。得将图片进行取模,图片应该是单色图片,像素128*64。 下面我为大家介绍个实例。 ①、在电脑附件画图,首先设置属性

开始画图 保存文件,注意格式: ②、然后进行取模。

③、编程: #include #define uchar unsigned char #define uint unsigned int //宏定义 #define lcd P2 //数据端口 sbit rs=P1^2; //指令/数据选择信号 sbit rw=P1^1; //读写选择信号 sbit e=P1^0; //使能端 sbit psb=P1^3; //串并选择端,高电平为并行,低电平为串行 uchar code ai[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xCE,0x00,0x00,0x00,0x00,0x00,0x01,0xC1,0xE0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0x00,0x00,0x03,0x31,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x0E,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0x9B,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x78,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,0x00, 0x00,0x00,0x00,0xF8,0xEF,0x00,0x00,0x00,0x00,0x00,0x1B,0xFC,0x1E,0x00,0x00,0x00, 0x00,0x00,0x00,0x18,0xFE,0x00,0x00,0x00,0x00,0x00,0x1E,0x60,0x38,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x38,0x70,0x20,0x00,0x00,0x00,

函数信号发生器的设计与实现

实验1 函数信号发生器的设计与实现 姓名:_ _____ 学号: 班内序号:____ 课题名称:函数信号发生器的设计 摘要:采用运算放大器组成的积分电路产生比较理想的方波-三角波,根 据所需振荡频率和对方波前后沿陡度、方波和三角波幅度的要求,选择运放、稳压管、限流电阻和电容。三角波-正弦波转换电路利用差分放大器传输特性曲线的非线性实现,选取合适的滑动变阻器来调节三角波的幅度和电路的对称性,同时利用隔直电容、滤波电容来改善输出正弦波的波形。 关键词:方波三角波正弦波 一、设计任务要求 1.基本要求:

设计制作一个函数信号发生器电路,该电路能够输出频率可调的正弦波、三角波和方波信号。 (1) 输出频率能在1-10KHz范围内连续可调,无明显失真。 (2) 方波输出电压Uopp=12V(误差小于20%),上升、下降沿小于10us。 (3) 三角波Uopp=8V(误差小于20%)。 (4) 正弦波Uopp1V,无明显失真。 2.提高要求: (1) 输出方波占空比可调范围30%-70%。 (2) 自拟(三种输出波形的峰峰值Uopp均可在1V-10V内连续可调)。 二、设计思路和总体结构框图 总体结构框图: 设计思路: 由运放构成的比较器和反相积分器组成方波-三角波发生电路,三角波输入差分放大电路,利用其传输特性曲线的非线性实现三角波-正弦波的转换,从而电路可在三个输出端分别输出方波、三角波和正弦波,达到信号发生器实验的基本要求。 将输出端与地之间接入大阻值电位器,电位器的抽头处作为新的输出端,实现输出信号幅度的连续调节。利用二极管的单向导通性,将方波-三角波中间的电阻改为两个反向二极管一端相连,另一端接入电位器,抽头处输出的结构,实现占空比连续可调,达到信号发生器实验的提高要求。 三、分块电路和总体电路的设计过程 1.方波-三角波产生电路 电路图:

如何使用函数信号发生器

如何使用函数信号发生器 认识函数信号发生器 信号发生器一般区分为函数信号发生器及任意波形发生器,而函数波形发生器在设计上又区分出模拟及数字合成式。众所周知,数字合成式函数信号源无论就频率、幅度乃至信号的信噪比(S/N)均优于模拟,其锁相环( PLL)的设计让输出信号不仅是频率精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但毕竟是数字式信号源,数字电路与模拟电路之间的干扰,始终难以有效克服,也造成在小信号的输出上不如模拟式的函数信号发. 这是通用模拟式函数信号发生器的结构,是以三角波产生电路为基础经二极管所构成的正弦波整型电路产生正弦波,同时经由比较器的比较产生方波,换句话说,如果以恒流源对电容充电,即可产生正斜率的斜波。同理,右以恒流源将储存在电容上的电荷放电即产生负斜率的斜波,电路结构如下: 当I1 =I2时,即可产生对称的三角波,如果I1 > >I2,此时即产生负斜率的锯齿波,同理I1 < < I2即产生正斜率锯齿波。 再如图二所示,开关SW1的选择即可让充电速度呈倍数改变,也就是改变信号的频率,这也就是信号源面板上频率档的选择开关。同样的同步地改变I1及I2,也可以改变频率,这也就是信号源上调整频率的电位器,只不过需要简单地将原本是电压信号转成电流而已。 而在占空比调整上的设计有下列两种思路: 改变电平的幅度,亦即改变方波产生电路比较器的参考幅度,即可达到改变脉宽而频率不变的特性,但其最主要的缺点是占空比一般无法调到20%以下,导致在采样电路实验时,对瞬时信号所采集出来的信号有所变动,如果要将此信号用来作模数(A/D)转换,那么得到的数字信号就发生变动而无所适从。但不容否认的在使用上比较好调。 2、占空比变,频率跟着改变,其方法如下: 将方波产生电路比较器的参考幅度予以固定(正、负可利用电路予以切换),改变充放电斜率,即可达成。 这种方式的设计一般使用者的反应是“难调”,这是大缺点,但它可以产生10%以下的占空比却是在采样时的必备条件。 以上的两种占空比调整电路设计思路,各有优缺点,当然连带的也影响到是否能产生“像样的”锯齿波。 接下来PA(功率放大器)的设计。首先是利用运算放大器(OP) ,再利用推拉式(push-pull)放大器(注意交越失真Cross-distortion的预防)将信号送到衰减网路,这部分牵涉到信号源输出信号的指标,包含信噪比、方波上升时间及信号源的频率响应,好的信号源当然是正弦波信噪比高、方波上升时间快、三角波线性度要好、同时伏频特性也要好,(也即频率上升,信号不能衰减或不能减太大),这部分电路较为复杂,尤其在高频时除利用电容作频率补偿外,也牵涉到PC板的布线方式,一不小心,极易引起振荡,想设计这部分电路,除原有的模拟理论基础外尚需具备实际的经验,“Try Error”的耐心是不可缺少的。 PA信号出来后,经过π型的电阻式衰减网路,分别衰减10倍(20dB)或100倍(40dB),此时一部基本的函数波形发生器即已完成。(注意:选用π型衰减网络而不是分压电路是要让输出阻抗保持一定)。 一台功能较强的函数波形发生器,还有扫频、VCG、TTL、 TRIG、 GATE及频率计等功能,其设

函数信号发生器的设计(12864实现动态波形显示)

课程设计(论文)任务书 电气与电子工程学院系自动化专业13—2 班级 一、课程设计(论文)题目简易信号发生器的设计 二、课程设计(论文)工作自2016 年 1 月 5 日起至2016 年 1 月 14 日止。 三、课程设计(论文)的内容要求: 课程设计不仅仅要求学生完成所规定的题目要求,同时还要培养学生良好的科学态度和严谨的设计习惯。课程设计报告要求内容如下: (1)设计思想和设计说明 (2)硬件原理框图 (3)硬件原理图与软件配合介绍 (4)程序存储器和数据存储器的单元分配(5) 程序流程图 (6)系统功能描述 (7) 设计调试过程总结 (8) 附录里面包括:芯片资料、源程序清单和符合制图规范的硬件原理图的图纸。 设计要求内容: 用D/A实现正弦信号,三角波信号,方波信号的输出,并且在LCD上显示出当前波形。要求输出信号的频率和幅度可调。 设计内容:

(1)满足设计要求内容。 (2)扩展锯齿波波形输出。 (3)汉字显示当前波形形状与当前频率的大小 学生签名 年月日课程设计(论文)评审意见 (1)题目复杂程度:复杂()、较复杂()、一般()、简单() (2)总体方案的选择是否正确:正确()、较正确()、欠正确()、不正确() (3) 系统能否满足任务要求:满足()、较满足()、欠满足()、不满足() (4) 元器件选择是否合理:合理()、较合理()、欠合理()、不太合理() (5) 学习实践态度:好()、较好()、一般()、不太好() (6) 独立工作能力:强()、较强()、一般()、较差() (7) 回答问题是否正确:正确()、较正确()、基本正确()、大多不正确() (8) 图表是否符合标准:符合()、较符合()、基本符合()、大多不符合() (9) 撰写是否规范整洁:规范整洁()、较规范()、欠规范()、不太规范() 总评成绩:优()、良()、中()、及格()、不及格() 评阅人职称副教授 2016 年 1 月日

函数信号发生器设计报告

目录 1设计的目的及任务 1.1 课程设计的目的 1.2 课程设计的任务与要求 2函数信号发生器的总方案及原理图 2.1 电路设计原理框图 2.2 电路设计方案设计 3 各部分电路设计及选择 3.1 方波发生电路的工作原理 3.2 方波、三角波发生电路的选择 3.3三角波---正弦波转换电路的选择 3.4总电路图 4 电路仿真与调试 4.1 方波---三角波发生电路、三角波---正弦波转换电路的仿真与调试 4.2方波---三角波发生电路、三角波---正弦波转换电路的实验结果 5 PCB制版 6 设计总结 7仪器仪表明细清单 8 参考文献

1.课程设计的目的和设计的任务 1.1 设计目的 1.掌握用集成运算放大器构成正弦波、方波和三角波函数发生器的设计方法。 2.学会安装、调试与仿真由分立器件、调试与仿真由分立器件与集成电路组成的多级电子电路小系统。 2.2设计任务与要求: 设计一台波形信号发生器,具体要求如下: 1.输出波形:方波、三角波、正弦波。 2.频率范围:在1 Hz-10Hz,10 Hz -100 Hz,100 Hz -1000 Hz等三个波段。 3.频率控制方式:通过改变RC时间常数手控信号频率。 4.输出电压:方波U P-P≤24V,三角波U P-P =8V,正弦波U P-P >1V。 5.合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图。 6.选用常用的电器元件(说明电器元件选择过程和依据)。 7.画出设计的原理电路图,作出电路的仿真。 8.提交课程设计报告书一份,A3图纸两张,完成相应答辩。

2.函数发生器总方案及原理框图 图1-1 整体原理框图 2.2 函数发生器的总方案 函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法。 本课题中函数发生器电路组成框图如下所示: 由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路的基本结构是比例放大器,对不同区段内比例系数的切换,是通过二级管网络来实现的。如输出信号的正半周内由D1~D3控制切换,负半周由D4~D6控制切换。电阻Rb1~Rb3与Ra1~Ra3分别组成分压器,控制着各二极管的动作电平。

函数信号发生器的设计与制作

Xuchang Electric V ocational College 毕业论文(设计) 题目:函数信号发生器的设计与制作 系部:电气工程系_ 班级:12电气自动化技术 姓名:张广超 指导老师:郝琳 完成日期:2014/5/20

毕业论文内容摘要

目录 1引言 (3) 1.1研究背景与意义 (3) 1.2研究思路与主要内容 (3) 2 方案选择 (4) 2.1方案一 (4) 2.2方案二 (4) 3基本原理 (5) 4稳压电源 (6) 4.1直流稳压电源设计思路 (6) 4.2直流稳压电源原理 (6) 4.3集成三端稳压器 (7) 5系统工作原理与分析 (8) 5.1ICL8038芯片性能特点简介 (8) 5.2ICL8038的应用 (8) 5.3ICL8038原理简介 (8) 5.4电路分析 (9) 5.5ICL8038内部原理 (10) 5.6工作原理 (11) 5.7正弦函数信号的失真度调节 (11) 5.8ICL8038的典型应用 (12) 5.9输出驱动部分 (12) 结论 (14) 致谢 (15) 参考文献 (16) 附录 (17)

1引言 信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波(含方波)、正弦波的电路被称为函数信号发生器。 1.1研究背景与意义 函数信号发生器是工业生产、产品开发、科学研究等领域必备的工具,它产生的锯齿波和正弦波、矩形波、三角波是常用的基本测试信号。在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波信号产生器作为时基电路。例如,要在示波器荧光屏上不失真地观察到被测信号波形,要求在水平偏转线圈上加随时间线性变化的电压——锯齿波电压,使电子束沿水平方向匀速搜索荧光屏。对于三角波,方波同样有重要的作用,而函数信号发生器是指一般能自动产生方波正弦波三角波以及锯齿波阶梯波等电压波形的电路或仪器。因此,建议开发一种能产生方波、正弦波、三角波的函数信号发生器。函数信号发生器根据用途不同,有产生三种或多种波形的函数发生器,其电路中使用的器件可以是分离器件,也可以是集成器件,产生方波、正弦波、三角波的方案有多种,如先产生正弦波,根据周期性的非正弦波与正弦波所呈的某种确定的函数关系,再通过整形电路将正弦波转化为方波,经过积分电路后将其变为三角波。也可以先产生三角波-方波,再将三角波或方波转化为正弦波。随着电子技术的快速发展,新材料新器件层出不穷,开发新款式函数信号发生器,器件的可选择性大幅增加,例如 ICL8038就是一种技术上很成熟的可以产生正弦波、方波、三角波的主芯片。所以,可选择的方案多种多样,技术上是可行的[1]。 1.2研究思路与主要内容 本文主要以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术实验使用。ICL8038是一种具有多种波形输出的精密振荡集成电路,只需要个别的外部元件就能产生从几赫到几百千赫的低失真正弦波、三角波、矩形波等脉冲信号。基于ICL8038函数信号发生器主要电源供电、波形发生、输出驱动三大部分组成。电源供电部分:主要由集成三端稳压管LM7812和LM7912构成的±12V直流电压作为整个系统的供电。波形发生部分:主要由单片集成函数信号发生器ICL8038构成。通过改变接入电路的电阻或电容的大小,能够得到几赫到几百千赫不同频率的信号。输出驱动部分:主要由运放LF353构成。由于ICL8038的输出信号幅度较小,需要放大输出信号。ICL8038的输出信号经过运放LF353放大后能够得到输出幅度较大的信号[2]。

函数信号发生器使用说明

EE1641C~EE1643C型 函数信号发生器/计数器 使用说明书 共 11 张 2004年 10 月

1 概述 1.1 定义及用途 本仪器是一种精密的测试仪器,因其具有连续信号、扫频信号、函数信号、脉冲信号等多种输出信号,并具有多种调制方式以及外部测频功能,故定名为EE1641C型函数信号发生器/计数器、EE1642C(EE1642C1)型函数信号发生器/计数器、EE1643C型函数信号发生器/计数器。本仪器是电子工程师、电子实验室、生产线及教学、科研需配备的理想设备。 1.2 主要特征 1.2.1 采用大规模单片集成精密函数发生器电路,使得该机具有很高的可靠性及优良性能/价格比。 1.2.2 采用单片微机电路进行整周期频率测量和智能化管理,对于输出信号的频率幅度用户可以直观、准确的了解到(特别是低频时亦是如此)。因此极大的方便了用户。 1.2.3 该机采用了精密电流源电路,使输出信号在整个频带内均具有相当高的精度,同时多种电流源的变换使用,使仪器不仅具有正弦波、三角波、方波等基本波形,更具有锯齿波、脉冲波等多种非对称波形的输出,同时对各种波形均可以实现扫描、FSK调制和调频功能,正弦波可以实现调幅功能。此外,本机还具有单次脉冲输出。 1.2.4 整机采用中大规模集成电路设计,优选设计电路,元件降额使用, 以保证仪器高可靠性,平均无故障工作时间高达数千小时以上。 1.2.5 机箱造型美观大方,电子控制按纽操作起来更舒适,更方便。 2 技术参数 2.1 函数信号发生器技术参数 2.1.1 输出频率 a) EE1641C:0.2Hz~3MHz 按十进制分类共分七档 b) EE1642C:0.2Hz~10MHz 按十进制分类共分八档 c) EE1642C1:0.2Hz~15MHz 按十进制分类共分八档 d) EE1643C:0.2Hz~20MHz 按十进制分类共分八档 每档均以频率微调电位器实行频率调节。 2.1.2 输出信号阻抗 a) 函数输出:50Ω b) TTL同步输出:600Ω 2.1.3 输出信号波形 a) 函数输出(对称或非对称输出):正弦波、三角波、方波 b) 同步输出:脉冲波 2.1.4 输出信号幅度 a) 函数输出:≥20Vp–p±10%(空载);(测试条件:fo≤15MHz,0dB衰减) ≥14Vp–p±10%(空载);(测试条件:15MHz≤fo≤20MHz,0dB衰减) b) 同步输出:TTL电平:“0”电平:≤0.8V,“1”电平:≥1.8V(负载电阻≥600Ω) CMOS电平:“0”电平:≤4.5V,“1”电平:5V~13.5V可调(fo≤2MHz) c) 单次脉冲:“0”电平:≤0.5V,“1”电平:≥3.5V 2.1.5 函数输出信号直流电平(offset)调节范围:关或(–10V~+10V)±10%(空载) [“关”位置时输出信号所携带的直流电平为:<0V±0.1V,负载电阻为:50Ω时,调节范围为 (–5V~+5V)±10%]

函数信号发生器的设计与实现 (1)资料

计算机与信息学院 电子信息工程系综合课程设计报告 专业班级 电子信息工程11-2班 学生姓名及学号 陈雪莹20112661 指导教师 方静 课题名称 函数信号发生器 2013~2014 学年第三学期

函数信号发生器的设计与实现 一.课题的基本描述 在科学研究和实际工业测量控制系统开发过程中,方波、三角波和正弦波等是常用的基本测试信号,函数信号发生器就是用来产生、模拟这些真实信号源的通用电子设备。本课题要求设计一种以单片机为控制器的简易函数信号发生器,包含:主控电路、D/A转换电路、按键和波形选择电路以及显示输出电路,可以输出正弦波、三角波和方波三种信号,输出信号的频率可用按键进行增、减调整,并在LCD(12864)实时显示输出波形。 二.设计的基本要求 1. 正弦波、三角波频率调节范围:0.1-50HZ 输出幅值:1.0-1.5V 方波频率调节范围:1Hz-1KHz 输出幅值:5V 2.通过按键选择输出信号类型,幅值、频率等相关指标; 3. 具有显示输出波形的频率和幅度的功能。 三.技术方案及关键问题 (1).总体方案: 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置按键、数模转换及波形输出等部分,即可构成所需的函数信号发生器。因此本系统利用单片机AT89C51采用程序设计方法产生三角波、正弦波、矩形波三种波形,再通过D/A转换器PCF8591T将数字信号转换成模拟信号,最终由液晶屏12864显示出来。通过按键来控制三种波形的类型选择、频率和幅度的变化,并通过数码管显示其各自的类型,液晶屏显示幅度和频率的大小。系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分。

相关文档
最新文档