基于51单片机的多功能函数信号发生器的设计_第1页
基于51单片机的多功能函数信号发生器的设计_第2页
基于51单片机的多功能函数信号发生器的设计_第3页
基于51单片机的多功能函数信号发生器的设计_第4页
基于51单片机的多功能函数信号发生器的设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西 南 交 通 大 学本科毕业设计(论文)(基于单片机的多功能函数信号发生器设计)年 级:2011学 号:2011xxxx姓 名:xxx专 业:电子信息工程指导老师:xxx 年 月 院 系 专 业 年 级 姓 名 题 目 指导教师评 语 指导教师 (签章)评 阅 人评 语 评 阅 人 (签章)成 绩 答辩委员会主任 (签章) 年 月 日毕业设计(论文)任务书班 级 电子信息工程 2 学生姓名 xxx 学 号 2011xxx发题日期:2015 年3月9 日 完成日期:毕业当年的6月 日题 目 基于单片机的多功能函数信号发生器设计 1、本论文的目的、意义 信号发生器无论在我们的教学实验中,还是在严

2、谨的科学研究中,它都发挥着不可替代的作用。但是我们都知道,实验室中用到的经典函数信号发生器产生的信号不够稳定,频率和幅值容易发生抖动,因为它们使用纯硬件设计。并且它们往往价格还很昂贵。而使用单片机为主控的信号发生器有着设计方便、价格便宜,易于扩展等优点。所以本文就用单片机来设计多功能函数信号发生器,没有传统信号发生器的那些缺点。这不仅能提高个人的思维动手能力水平,还将会进一步扩大单片机的发展。 2、学生应完成的任务 研究的目的和意义:设计新型的函数信号发生器;系统设计:比较各个设计方案,选取一个比较合适的设计方案;硬件设计:包括使用proteus软件搭建仿真模型和焊接信号发生器实物;软件设计:

3、用keil软件编写程序并能使仿真和实物能正常运行并产生波形;总体研究结论:总结设计函数信号发生器过程中遇到的问题和得到的收获。 3、论文各部分内容及时间分配:(共 16 周)第一部分 资料收集、整理和方案提出 ( 2周)第二部分 总体设计方案和组成方案图 ( 2周)第三部分 实现过程 ( 3周)第四部分 仿真分析和硬件验证 ( 5周)第五部分 论文书写、整理和装订 ( 3周) 评阅及答辩 ( 1周)备 注 指导教师:关海川 2015年3月9日审 批 人: 2015年 月 日摘 要信号发生器也叫振荡器或者信号源,在现如今的科学研究和生产实践中有着很重要的作用。但是现在的函数信号发生器在价格上不够

4、经济实惠,有些甚至还很昂贵。而基于at89c51单片机开发的函数信号发生器就可以在价格上做到经济实惠。根据傅里叶变换原理,各种波形都可以用三角函数的相关表达式表示出来。函数信号发生器可以产生多类波形,比如三角波、锯齿波、方波和正弦波。本文则通过51单片机加上一些外设,来完成波形的输出与控制。外围的键盘控制输出波形的种类和频率的大小,运放搭配可变电阻可以调节输出波形的幅值,lcd可以用来显示输出波形的相应信息。在输出端使用dac0832芯片可以对单片机输出的数字信号进行d/a转换,再通过两级放大对波形进行调整,最终在示波器上显示出来。关键词:信号发生器 单片机 d/a转换 波形调整 频率调整ab

5、stractsignal generator is also called source or oscillator. it plays an important role in production practice and the research of science and technology. now, the price of the special waveform generator is not economic and some are quite expensive. while the function signal generator based on at89c5

6、1 is quite affordable. as we know, it can be represented with trigonometric function equation for kinds of waveform curve. the one can produce various waveform, such as triangle wave, sawtooth wave, square wave and sine wave is usually called function signal generator. function signal generator is b

7、road-spectrum in circuit experiment and test equipment. it can control the type and the output frequency of the waveform when the singlechip are equipped with the keyboard. and the output range can be changed when we change the size of variable resistor which is a part of operational amplifier. also

8、 when it coupled with the lcd , the information of output can be displayed. it can be sure that it is digital signal that come from the microcontroller. so we can add the dac0832 on the output side for d/a conversion. with the two levels of op-amp we can adjust waveform. finally it can be displayed

9、on the oscilloscope.key words:signal generator, at89c51, d/a conversion,wave adjust,frequency adjust目 录第1章 绪论11.1 课题研究背景11.2 单片机的特点和在信号发生器中的应用11.3 波形介绍3第2章 系统设计52.1 方案选择52.2 框图设计52.3 单片机模块62.4 按键控制及显示电路设计102.5 d/a转换电路112.5.1 d/a转换的必要性112.5.2 dac0832的特性及应用122.6 显示电路142.6.1 两个显示电路142.6.2 lcd1602工作原理16

10、2.7 放大电路212.7.1 放大电路设计212.7.2 lm358及其应用22第3章 软件仿真及程序编写243.1 仿真软件和编程软件243.2 整体电路仿真原理图263.3 程序编写思路及编写结果273.4 仿真结果28第4章 硬件调试314.1 硬件电路焊接314.2 硬件调试及输出验证32结论33致谢34参考文献35附录136附录237第1章 绪论1.1 课题研究背景近年来,计算机的发展在我们生活中的各个领域都有的很大的进步,以单片机为核心的一些智能产品也越来越常见。信号发生器一直以来都是实验中的重要工具。在科技不断发展的同时,我们也有了很多新的测试仪器和测试手段。所以信号发生器也在

11、测试仪器中扮演者很重要的角色,因此研究和设计信号发生器有着很重要的意义。而研究者也可以根据信号发生器产生的各种波形来完成各种实验和研究,比如说可以测定信号发生器产生信号的各种参数,也可以用产生的已知信号作为其他电路的激励源。实验室中常用的传统信号发生器大多为纯硬件电路搭建,比如一般情况下,实验室会采用555等一些特殊芯片来设计信号发生器,此电路可以产生正弦波、三角波和方波。像这种由特殊芯片设计的纯硬件电路,它们虽然不采用单片机,但是产生出来的波形有很多缺点,比如说可调范围小。同时这种电路设计复杂,成本高,控制也不够灵活精确。而且由于现在制造工艺的问题,纯硬件信号发生器所需要的大电容电阻也比较难

12、制造,同时它们的精度也难以保证。所以现在各国对信号发生器的研究也加大了很多,我们也理应当对信号发生器做更深层次的研究和探索。本文则利用单片机控制的灵活性、外设处理能力较强等特点,实现幅度与频率可调的多种函数波形,这就克服了传统信号发生器的缺点,同时根据程序的易调节与易控制的特点,比较容易、方便实现调频功能,具有良好的实用性。1.2 单片机的特点和在信号发生器中的应用当今社会是科学技术和设备仪器高度智能化飞速发展的信息化社会,电子科学技术也在发展和进步,这些技术的发展正在一点点的改变社会。单片机的应用在现代电子技术领域中在不断扩大,所以这也引起了传统控制和检测技术的改变。而单片机在智能设备仪器和

13、智能家居中系统和智能办公系统等很多领域都得到了很广泛的应用,因为用单片机构成的仪器有很高的可靠性和性价比。就因为单片机具有很多优点,应用也越来越广泛,所以单片机的发展水平也逐渐成为了一个国家工业发展水平的象征。由于单片机的内部集成了指令系统,并且由于它的特殊结构,所以在一定程度上,一块单片机就可以当做一台简易的电脑,而一般计算的作用是在某些特定领域完成一些专业任务,但是一般情况下,配备了一些外设的一块单片机系统则可以做到。所以相比较庞大的专用计算机来讲,小巧的单片机不仅携带方便、价格便宜,同样也能完成这些专业工作,所以单片机得到了空前的发展。以下总结单片机的一些特点:(1)性能优异,性价比高单

14、片机的性能很高,因为一些常用的存储器和能实现各种功能的i/o口都会被集成到单片机芯片内,单片机随时都可以很方便地进行调用,而不再用对接口进行扩展。相对于性能优异,单片机的价格却比较低廉,所以说单片机具有很高的性价比。(2)控制能力强单片机的体积虽然比较小,但却它却有各种功能部件。所以它能有很多专门的用途,比如说专门的控制。在同一个领域中,单片机控制能力和运行速度一般要比专用微型计算机更高,因为单片机内部一般都设有各种转移指令和其他的各种丰富的指令系统,让它能在各个领域完成一些较为困难的任务。(3) 集成度高、体积小、可靠性高单片机芯片的集成度很高,跟其他芯片相比,单片机内部集成了很多功能部件;

15、而内部各部件之间又采用总线结构,所以就减少了部件之间的接线,这大大见笑了单片机的体积,并且提高了单片机的运行能力;单片机体积小,所以可以嵌入到各种仪器中去,单片机成本低,也会致使以单片机为主控的设备价格便宜,单片机性能稳定且寿命长,所以能保证设备稳定运行,免于频繁的维护维修。(4) 低电压、低功耗普通单片机的工作电压为5v,相比于其他家用设备,单片机功耗更低,所以由单片机控制的许多家用设备就更省电,并且现在许多单片机的工作电压应经降低到2v了,有的甚至可以工作在0.9v的电压下,功耗自然也就降低了很多,所以能保证设备的长期运行而又不用担心耗电问题。1.3 波形介绍正弦波正弦波可以说是我们最熟悉

16、的一种波形,不仅在数学中能学到,而且在实际中也经常用到,比如说我们家用的220v交流电就是正弦波交流电,正弦波在我们的实验中也经常用到,正弦信号可用下式表示:f (t)=asin(t+ ) (1)其中,a 为振幅, 为初相位, 是角频率。正弦函数一周期信号如图1-1所示:图1-1 正弦波方波方波函数是我们在实验室中经常用到的一种波形,比如我们常把频率较大的方波作为脉冲使用,当方波的低电平为0时,高电平就是一个脉冲。它的表示形式如下: (2)而矩形波则是方波的下半周期的幅值为0时的一种波形,是方波的一种特殊形式,不再进行详细描述。方波波形如下图1-2:图1-2 图形锯齿波锯齿波如图1-3所示:图

17、1-3 锯齿波图形三角波三角波波形如图1-4所示:图1-4 三角波图第2章 系统设计2.1 方案选择方案一:利用8038等一些单片机的函数发生器的传统方式就可以比较容易地产生出我们常用的正弦波和方波波形等。然后用数/模转换元件对输出的电压进行调节,也可以用数字调控对输出频率进行调节,但用这种方法产生的频率不稳定。方案二:采用频率合成器。我我们可以用锁相环式的频率合成器对所选择的波形频率用压控振荡器(vco)进行选定。相比于第一种方法,这种方法产生出来的波形具有良好的性能,但是输出波形的频率难以突破某个范围的限制。最重要的一个缺点是,用这种方法构造的电路比较复杂。方案三:可以利用对单片机进行编程

18、的方法来实现波形的产生。比如我们可以拿at89c51作为信号发生器的主控芯片,对单片机编程使其输出各种波形的数字量,然后再用d/a转换模块把输出的数字波形信号转换成模拟波形信号。这个d/a转换模块我们可以选择dac0832来完成,转换后的模拟信号再经过运放进行两级放大后输出,最终可以在示波器上显示输出波形。输出波形的种类的切换则可以用i/o口外接按键来实现3。综合以上各种方案我们可以比较出,方案一利用传统方法输出的函数信号频率不稳定,而方案二使用锁相环式的频率合成器的电路构造又比较复杂,频率的范围也难以有所突破。所以在进行比较之后,我决定采用第三种方案的思路。第三种方案,用编程的方法可以很方便

19、地通过调节硬件从而调节输出波形的参数,并且方案三中所用到的一些元件的价格相对都比较低,所以比较适合用来完成毕业设计。2.2 框图设计基于单片机的函数信号发生器有以下几部分组成;at89c51主控电路,外接按键电路,复位电路,电源电路和信号输出电路,框图如下图2-1所示:复位电路.按键电路.at89c51主控电路.输出电路.电源电路.图2-1 函数信号发生器系统构成图函数信号发生器的主控部分就是at89c51单片机,通过编程软件对程序进行编写,烧录到at89c51里面后就可以产生不同数字波形信号,也可以通过单片机外接按键对输出波形的频率和幅度进行调节和改变。而单片机通过编程输出的波形是数字信号,

20、当经过与单片机连接的数模转换模块dac0832后,数字信号就可以被转换成模拟信号。而输出波形的幅度则可以通过两级放大进行调节。图2-1中的输出电路包含了d/a转换电路和运放调整电路。图2-2为此次设计函数信号发生器的原理图:6输出波形.滤波放大.d/a转换.接口电路.89c51单片机.图2-2 信号发生器原理框图2.3 单片机模块 at89c51单片机片内有一个4kb的rom/eprom,因此只需要在外部接入晶振电路和复位电路就可以构成单片机最小系统了,所以单片机最小系统主要由电源、复位电路、振荡电路以及扩展部分组成1。最小单片机系统如图2-3所示。.图2-3 单片机最小系统.该最小系统的特点

21、如下:(1) 由于没有扩展存储器和外设,p0、p1、p2、p3都可以作为用户i/o接口使用。(2) 片内数据存储器大小128b,空间地址为00h7fh,片外没数据存储器。(3)片内有4kb的程序存储器,地址为0000h0fffh,没有偏外存储器,.应接高电平。(4)有两个定时/计数器t0和t1可以使用,一个全双工串行通信接口,5个中断源。6电源供给模块:对于任何一个电子设备来讲,电源是整个设备正常运行的根本,所以供电系统是单片机系统运行的前提,所以单片机系统平稳运行的前提就是有一个稳定的电源系统。我们在实验中发现,虽然51单片机作为经典的一种单片机芯片,但是提供的电源供电模块不够稳定,那么51

22、单片机的运行就可能会受到影响,比如在运行中如果受到了外界的干扰,则51单片机很有可能会出现程序跑飞的现象。所以为了保证单片机能正常平稳地运行,就要给它提供一个稳定的电源。可以使用外部稳定的5v电源供电模块供给,比如说可以用手机充电器(5v)给最小系统供电。晶振电路工作原理及应用: 单片机系统里都含有晶振,单片机系统里的晶振作用很大,晶振的全称是晶体振荡器,晶体振荡器可以根据内部的特殊电路产生一定的时钟频率,就可以提供给单片机使用,理论上来讲就是晶振产生的频率信号就是单片机的时钟信号。晶振产生的平率代表着运行速度,因为单片机的一切指令都是基于晶振产生的频率上的,所以频率越大,单片机的运行速度就越

23、快。晶振能够把电能转化为机械能,并且能在转化过程中的共振状态下工作,一般情况下,普通晶振的频率精度可以达到50%,而且有些晶振可以通过外部电压的变化,调整内部产生的频率大小,这种晶振成为压控振荡器(vco)。晶振的精确度也关系着单片机的精确度。比如说用单片机设计秒表和时钟系统,单片机就对频率的精确度要求很高。所以在某些特定情况下,单片机就需要一个很精确的晶振频率。通常情况下,一个单片机系统会共用一个晶振,所以各部就会在同一个频率下运行,这样会保证各系统之间运行同步。而在某些特殊情况下,某些通讯设备和射频模块会使用两个晶振,这样是为了使用方便,但是为了保证各部分能够同步运行,人们会采取电子调整晶

24、振频率的方法使得两个晶振产生的频率相同,从而保证不同晶振系统能同步运行。而有些特殊的系统中各个子系统需要的频率不同,可以使用两个晶振为其提供时钟频率,也可以通过一个晶振搭配不同的锁相环来提供不同的时钟频率。所以通常情况下,晶振会搭配锁相环为单片机系统提供时钟频率。此次设计使用的at89c51只需要外接晶振和两个电容就可以构成单片机最小系统,晶振了两端的电容一般大小为15pf-50pf,我们查阅资料后采用22pf的瓷片电容搭配12mhz的晶振来为单片机提供时钟信号。因为51单片机内部在18和19两个管脚之间设有内部振荡电路,由一个反相放大器构成,而18和19两脚及时反相放大器的两个输入端。这样的

25、时钟方式成为内部时钟,本次设计采用的就是这种方式。具体电路如图2-4所示:xtal1xtal2单片机复位电路工作原理及应用:单片机在运行过程中会因为程序问题或者操作失误而发生死机现象,这时就要用到单片机的复位系统,按下复位键就能把单片机的运行状态初始化,恢复到刚开机状态。所以单片机的复位就是为了把系统恢复到某个确定的状态。而由于单片机的内部寄存器一般在出厂时都有一个预设的初始值,所以单片机在开机时或者复位后,内部寄存器就会自动装入这些初始值来达到初始化的目的。从原理上来讲,实现单片机上电自动复位,就是要保证复位管脚rst的复位电平时间大于两个机器周期,所以根据这个要求,晶振的时钟频率为12mh

26、z,我们可以用rc电路的计算方法来计算出具体的参数值。而按键复位则为手动触发电容放电,然后在充电,就达到了开机上电的效果。下面则详细叙述复位电路的两个组成部分上电复位和按键复位:(1) 上电复位:at89c51单片机的上电复位有效电平是高电平,通常我们会在rst复位管脚上连接一个电容,然后接到高电平,再连接一个电阻接到低电平,这样就会形成一个rc充放电回路。当上电时,电容充电,rst管脚为高电平,单片机进行复位;充电完成后,rst与电阻连接到gnd,单片机正常运行。所以只要保证电容充电时间能持续两个机器周期以上就能让单片机完成上电复位。这个电阻和电容的典型值是10k和10uf。(2)按键复位:

27、从原理上来讲,按键复位就是手动触发上电复位,而不是市使用关掉电源再打开。按键复位就是在电容两端并联一个开关,当开关按下时,电容两端短路,电容放电,同时rst也接通到了vcc;松开按键时,电容有个充电过程,此过程上电复位过程一样,rst有足够的时间来完成单片机复位。上面已经讲过,复位就是使单片机恢复到初始化状态,即内部寄存器都转入厂家预设的初始值,从这个初始化状态开始运行1。当单片机系统上电后,rst会接收到一个连续且持续两个周期以上的高电平,这就是单片机复位的条件。上电复位和按键复位的具体电路如图2-5所示:图2-5 按钮复位电路2.4 按键控制及显示电路设计 本次设计的按键电路共包含3个按键

28、,分别为按键s1、s2和s3。这三个按键分别连接单片机的p3.4脚、p3.5脚和p3.6脚。s1用来改变单片机输出波形函数的类别,按下s1一次,表示对输出波形进行一次切换;s2和s3则是用来改变频率的,当按下s2时,输出波形的频率会按照一个特定的单位量进行增加,比如说单位量是50,初始值为100hz,则按下s2一次,频率变为150hz,同样s3的作用为对频率进行减小操作。通过与门74ls21可以对各按键信号进行与操作,然后将信号传到p3.2脚,用来测定是否有按键按下。具体电路如图2-6所示。图2-6-按键电路2.5 d/a转换电路d/a转换模块就是把数字量转换为模拟量。此模块常用于信号发生器等

29、一些需要数模转换的设计。我们都知道,d/a模块的输入量和输出量成正比,即uo=n*ui,其中uo为输出模拟量,ui为输入的数字量,n为倍数。所以我们可以控制at89c51单片机向d/a模块发送一定规律的数字量(波形采样得到),然后经过d/a模块转换后就可以输出有波形规律的模拟量1。2.5.1 d/a转换的必要性此次设计中要产生的波形是模拟量,可以在示波器上显示出来,但我们都知道,单片机作为函数信号发生器的主控,它所产生并输出的量是并非是模拟量,而是不连续的数字量,相当于对波形进行采样的结果。而d/a转换模块的用途就是把数字量转换成模拟量。所以我们可以用数模转换模块岁单片机输出的数字量进行d/a

30、转换,转换后的模拟量就可以在示波器上显示出来,从而达到我们的要求。2.5.2 dac0832的特性及应用要完成我们这次的设计任务,就要用d/a转换模块把单片机输出的数字量转换为模拟量。说到数模转换模块,首先我们能想到的就是dac0832芯片,作为一个8位输入的数模转换芯片,其价格便宜易于购买,且芯片资料较多,可以很容易地查阅到dac0832的相关资料。dac0832是一个输入为8位的数模转换器,且dac0832的8位输入端接口可以很容易地与单片机的p口进行连接,所以控制起来也比较容易。虽然dac0832的使用很频繁,有很重要的地位,但dac0832的输出量不是真正的连续可调的模拟量,而是对输出

31、量以其绝对分辨率为单位进行增减,所以从严格意义上来讲,它的输出量是准模拟量。dac0832主要由四部分组成,它们分别是八位输入寄存器、八位d/a转换器、八位dac寄存器和输入控制电路。其内部结构及引脚图如图2-7所示:图2-7 dac0832的内部结构图2-8 dac0832的引脚图(1) d7-d0:8位数据输入端,d7位最高位。(2) out1为模拟电流输出1端,out2为模拟电流输出端2。跟编码器类似,dac寄存器中的数据有两个极端,全1或者全0,两种情况时分别输出为最大值和最小值。(3) rfe为反阻的端,由于0832内部已经设有反馈电阻,所以dac0832的rfe脚可以直接连到运放输

32、出端,这样就相当于运放的输出端和输入端之间有了一个反馈电阻3。(4) vref为参考电压的输入端,它决定输入端输入的8位数字量转化到模拟量后的电压值幅度。vref范围为-10v - +10v。vref端与da内部t形电阻网络相连,vref可接正电压或者负电压3。(5) vcc:芯片供电引脚输入端,范围为5v-15v。(6) gnd(3脚):模拟量电路接地端。(7) gnd(10脚):数字量接地端。dac0832是d/a转换器的一类,属于电流型,所以后面要跟着i/v转换。dac0832的输入端可以有以下几种方式:单缓冲、双缓冲和直通方式。当引脚wr1、wr2、xfer直接接地且ile脚接电源时,

33、dac0832处于直通状态工作方式。在这种工作状态下,是要输入端有数字量输入,输出端就会马上有输出,这种输入输出方式控制简单,但只能通过独立的i/o接口进行连接。当、wr1、cs和xfer引脚被连接时,两锁存器会分别在直通与受控状态下工作,或者两个同时被控制,则dac0832处于单缓冲工作方式1。只要dac0832的输入端有数据输到8位输入锁存器,数模转换就立即开始。如果对八位dac寄存器和对锁存器的控制分开进行,这种控制方式就是双缓冲工作方式,但是这种工作方式对i/o口的占用较大。综合以上三种工作方式,我们选取但缓冲的工作方式,其电路连接原理图如图2-9所示:图2-9/dac0832单缓冲方

34、式的连接2.6 显示电路2.6.1 两个显示电路显示电路分成2部分,分别为lcd显示和示波器显示。klcd显示 lcd的作用是用来显示开机复位后的键盘操作说明、当前输出的波形函数类别以及当前输出信号的频率。图2-10则为lcd显示电路:图2-10 lcd显示接线图示波器显示在信号进行两级放大之后,在输出端接示波器对输出波形信号进行显示,直观的显示出波形形状以及幅度、频率的相对大小。电路如图2-11所示:图2-11jg+示波器图2.6.2 lcd1602工作原理单色液晶显示器的原理图2-12. 1602字符型液晶显示器实物图表2-1. 液晶主要技术参数显示容量16x2个字符芯片工作电压4.55.

35、5v工作电流2.0ma(5.0v)模块最佳工作电压5.0v字符尺寸2.95x4.35mm(宽乘高)从内部构造上来讲,lcd技术就是把液晶灌入平面上的两列垂直的细槽中,所以在细槽中的液晶分子也成垂直排列状态,而光线的振动方向为一个平面,也就是说各个方向都有。而当光线穿过两列垂直的液晶分子时,光线会被扭转90度。如果在液晶分子两端施加一个电压时,液晶分子就会重新进行排列,从而呈现平行状态,所以这是通过的光不会有任何扭转,可以直射出去3。lcd的另一个特点就是必须需要两个重要因素:滤光片和光线。极化滤光片其实就是多列平行的细线,只有振动方向与细线平行的光线才能通过。而第二个极化滤光片的细线与第一个垂

36、直,所以正常情况下光线不能同时通过两层极化滤光片。而lcd1602的液晶屏幕正是由这样两片相互垂直的极化滤光片组成,正常情况下所有的光线都不能同时通过两个滤光片,但是当两个滤光片中间存在扭曲的液晶分子时,光线就有可能通过了。扭曲的液晶分子具有扭转的作用,当光线通过第一层极化滤光片时,光线是与第一层滤光片的细线平行的,经过液晶分子时,光线会被扭转90度,恰好扭转过的光线就与第二层滤光片的细线平行,这样光线就会通过第二层极化滤光片了。也就是说加电的液晶分子会使光线扭转90度从而通过滤光片,而不加电则不能通过。lcd1602引脚介绍图2-13. lcd1602引脚图1602采用标准的16脚接口,其中

37、:第1脚:vss为电源接地。第2脚:vcc为5v电源正极。第3脚:v0为液晶显示器的对比度调节端,我们在常规使用时,可以接一个2k的电阻进行调节,当v0脚接vcc时对比度最弱,几乎看不见显示的字符;接gnd时对比度最高,字符周围会显示黑斑,又称“鬼影”现象。第4脚:rs为寄存器选择端,当对rst加高电压和低电压时,会分别选择数据寄存器和指令寄存器。第5脚:rw为读写信号端,加高、低电平时分别进行读、写操作。第6脚:e/en端为使能端,当给此脚加高电平(1)时,lcd将进行读操作,当施加下降沿脉冲时,lcd进行写操作。第714脚:d0d7为8位双向数据端。第1516脚:为lcd的背光控制端。需要

38、背光时,15脚接vcc,16脚接gnd。lcd1602驱动程序/-lcd1602.c-/液晶控制与显示程序/-#include #include #define uchar unsigned char#define uint unsigned intsbit rs=p20;/为端口定义新变量sbit rw=p21;sbit en=p22;/*延时*/void delayms(uint ms) uchar i; while(ms-) for(i=0;i120;i+);/-忙检查-uchar busy_check() uchar lcd_status; rs=0; /rs为寄存器选择端,当对rst

39、加高电压和低电压时,会分别选择数据寄存器和指令寄存器 rw=1; /rw为读写信号端,加高、低电平时分别进行读、写操作 en=1; /e/en端为使能端,当给此脚加高电平(1)时,lcd将进行读操作,当施加下降沿脉冲时,lcd进行写操作 delayms(1); lcd_status=p0; en=0; return lcd_status;/-写lcd命令-void write_lcd_command(uchar cmd) while(busy_check()&0x80)=0x80); /忙等待 rs=0; /低电平0,选择指令寄存器 rw=0; /低电平(0),进行写操作 en=0; /先置0

40、,后面置1,产生正跳变,写操作 p0=cmd; en=1; /产生正跳变 delayms(1); en=0; /-设置lcd显示位置-void set_disp_pos(uchar pos) write_lcd_command(pos|0x80);/-发送数据-void write_lcd_data(uchar dat) while(busy_check()&0x80)=0x80); /忙等待 rs=1; /高电平1时选择数据寄存器 rw=0; /低电平(0)时进行写操作 en=0; p0=dat; en=1; delayms(1); en=0;/-lcd初始化-void initialize

41、_lcd() write_lcd_command(0x38); /设置显示格式,16*2字符和8位数据接口 delayms(1); write_lcd_command(0x01); /清屏操作 delayms(1);/延时操作 write_lcd_command(0x06); /写指令操作06h delayms(1);/延时 write_lcd_command(0x0c); /显示开,关光标 delayms(1);void display_lcd_string(uchar p,uchar *s) uchar i; set_disp_pos(p); for(i=0;i16;i+) /输出字符串

42、write_lcd_data(si); /*/-显示字符串-void showstring(uchar x,uchar y,uchar *str) uchar i=0; if (y=0) write_lcd_command(0x80|x); /设置lcd显示的起始位置 if (y=1) write_lcd_command(0xc0|x); /设置lcd显示的起始位置 /第二行行首地址:80h+40h=0ch 教材p287 for(i=0;i16;i+) /输出字符串 write_lcd_data(stri); */2.7 放大电路2.7.1 放大电路设计 经查阅资料,我们可以知道,单片机输出的

43、是数字信号,在经过dac0832转换后,输出的是模拟的电流信号,而不是电压信号。而示波器要测的波形为电压信号,所以必须把转换后的电流信号通过双极性转化电路才能实现电流信号到电压信号的转换。而爽就行转化电路由dac0832和反向放大器构成,所以输出的电压信号跟上一级的信号是反向的。此电路的具体信息如图2-14所示:图2-14 双极性转化电路 从图2-14中我们可以看到有两个放大器,第一个可以将dac0832输出的电流模拟信号转化成电压模拟信号,第二个则可以把上一级的电压模拟信号转化成双向的电压模拟信号输出。而图2-14则是在仿真中实际搭建的双极性转化电路:图2-15l5dac0832及两级放大2

44、.7.2 lm358及其应用在此次设计中,我们将采用lm358作为运算放大器使用,lm358内部包含两个运放,这两个运算放大器有高增益、内部频率补偿等特点,作为单电源使用时,电源范围很宽。lm358的内部原理图如图2-16::图2-16 lm358内部原理图lm358电器特点:(1) 电源电压工作范围比较宽:单电源3.0v30.0v,双电源1.5v15.0v(2) 内部频率不常回路,外围元件少(3) 静态电流小:icc=0.6没a(典型值,rl=)(4) 与数字集成电路兼容(5) 输出电压范围宽:0vvcc-1.5v(6) 共模输入范围宽:0vvcc-1.5v引脚功能说明:引脚图如图2-17,

45、lm358包含两个运算放大器,其中标注input1(-)的2号引脚是运算放大器的负输入端,output1(+)的3号引脚为运放1的正输入端,1号引脚output1是运放1的输出端,运放2的管脚与此类似。4号引脚vee/gnd为gnd接地端,8号引脚vcc为芯片电源供电端,4号和8号引脚为两个运算放大器共用。图2-17. lm324的引脚排列图由于lm358具有电源电压范围宽,价格低廉,功耗小,可单电源使用等优点,因此lm358被广泛应用在各种运放电路中。而我们此次设计中正好要用到两个运算放大器,所以就选择了lm358。第3章 软件仿真及程序编写3.1 仿真软件和编程软件本次设计中我们采用仿真和编程所用到的软件分别是proteus和keil。proteus软件是一款eda仿真软件,经常用来搭建模拟与单片机相关的一些仿真,由英国lab center electronics出版。由于单片机实物制作麻烦,耗时长,所以一个能仿真单片机的软件就很好地解决了这个问题。人们不需要再去花钱购买实物,也不用去花费心思去设计电路板,只需要在proteus中找到相关元件,并用鼠标进行连线,这样一个仿真就搭建好了。由于proteus功能强大,现在的应用范围很广泛,所以得到了全球的认可,深受单片机爱好者的喜爱。在搭建仿真的过程中,我们要到元件库中去搜寻我们所需要的元件,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论