《应用电子技术毕业设计(论文)低频正弦信号发生器.doc》由会员分享,可在线阅读,更多相关《应用电子技术毕业设计(论文)低频正弦信号发生器.doc(21页珍藏版)》请在三一办公上搜索。
1、柳州职业技术学院毕业设计(论文)题目: 低频正弦信号发生器 姓名 学号 20070201073 专业 应用电子技术 年级 2007级 指导教师 完成时间 2009年12月18日 柳州职业技术学院毕业设计(论文)任 务 书 电子电气工程 系(部) 应用电子技术 专业 2 班学生 学号 20070201073 一、毕业设计(论文)题目: 低频正弦信号发生器 二、毕业设计(论文)工作规定进行的日期: 年 月 日起至 年 月 日 止 三、毕业设计(论文)进行地点: 11栋506 四、任务书的内容:目的:任务:低频正弦信号发生器 工作日程安排: 设计(论文)要求: 1、 基本要求 (1) 实现1Hz-1
2、KHz变化的正弦信号。(2) 通过面板键盘控制输出频率,频率最小步进1Hz。(3) 输出双极性。(4) 用LED数码管实时显示波形的相关参数。2、 发挥部分 (1) 不改变硬件设计,将上限频率扩展到10KHz。(2) 不改变硬件设计,扩展实现三角波和方波信号。(3) 可通过机上的“虚拟键盘”,实现频率等参数的控制。(4) 实现对幅度的控制。 主要参考文献: 、周雪模拟电子技术(修订版)西安电子科技大学出版、杨志中数字电子技术(第二版)高等教育出版社、张澄高频电子电路人民邮电出版社、张志良单片机原理与控制技术(第二版)机械工业出版社、张大明单片微机控制应用技术西安电子科技大学出版社学生开始执行任
3、务书日期 200 年 月 日 指导教师签名: 年 月 日学生送交毕业设计(论文)日期: 200 年 月 日 教研室主任签名: 年 月 日学生签名: 年 月 日正文:目 录1方案论证51.1信号发生51.1.1方案一51.1.2方案二51.2模拟频率调制151.2.1方案一151.2.2方案二152系统模块硬件电路分析12.1 CPU控制模块12.1.1 CPU选择12.1.2简单的小系统控制板介绍22.2 16*2字符型带背光液晶显示模块 62.3 驱动电路的模块72.3.1行驱动管74HC495372.3.2译码器82.3.3列驱动102.3.4总线驱动器133本系统LED显示屏信号的了解1
4、53.1 CLK时钟信号153.2 STB锁存信号153.3 EN使能信号153.4数据信号153.5 ABCD行信号164电路与程序设计164.1硬件电路的设计164.1.1系统总体框图(图7)174.2程序设计思路框图(图8)175调试过程176 设计总结18附件1 电路图19附件1.1主控板:AT89S52单片机原理图(图9)19附件1.2主控板:AT89S52单片机PCB图(图10)19附件1.3点阵显示屏原理图20附件1.4 4x4键盘原理图(图12)22附件1.5 4x4键盘PCB图(图13)22附件2 源程序23附件2.1主程序23附件2.2点阵显示程序23附件2.3按钮扫描程序
5、33一、方案论证1、信号产生方案一:使用传统的锁相频率合成的方法。要求产生1KHz到10MHz的信号,用锁相环直接产生这么宽的范围很困难,所以先产生50.001M到60M的可调信号,然后把此信号与一个50M的本振混频,得到需要的频率。此方法产生的频率稳定度高,但波形频谱做纯很困难,幅度也不恒定,实现也麻烦。方案二:采用专用DDS芯片产生正弦波。优点:软件设计,控制方便,电路易实现,容易直接达到题目要求的频率范围和步进值,且稳定性和上法一样,频谱纯净,幅度恒定,失真小。综上所述,选择方案二用专用DDS芯片AD9850产生正弦波。AD9850是采用DDS技术、高度集成化的器件,当它在并行工作方式时
6、,有8根数据线、3根控制线与单片机相连。AD9850的频率控制字为:其中FTW为频率控制字, 为要输出的正弦的频率, 为系统时钟的频率,由晶振产生。2、模拟频率调制方案一:使用内调制(软件调制),通过单片机中断,对外来模拟调制信号进行采样,采样速率为40MHz,然后对采样值进行转换,把电压转换成对应的频偏,然后转换成相应的频率控制字送DDS,以实现对1Hz正弦信号的调频,这样可以满足最大频偏的精度要求。方案二:使用外调制,通过锁相环控制DDS总时钟,在锁相环电路中进行频率调制,来改变DDS输出信号频率,间接实现调频,这样实现简单,频域内频谱连续,但是很难做到精确的10KHz和5KHz的最大频偏
7、。综合以上方案,选择方案一,实际中要求调制信号是固定不变的1KHz正弦信号,所以,我们直接把正弦信号存储在单片机中,并且换算好频率控制字。2系统模块硬件电路分析2.1 CPU控制模块2.1.1 CPU选择用微型计算机渗透到测试领域并得到充分发挥,是现代测试技术发展的必然趋势,也是目前作为智能仪表的设计的一般方法,目前市场上的单片机从数据总线宽度上来分主要有8位机、16位机、32位机,其中的32位单片机近年来在信号分析与处理、语音处理、数字图象处理等数字信号处理运用领域得到广泛的运用,但在工业测控现场,占主导地位的还是8位机和16位机,对本课题涉及的高精度多路温度的测量,运用单片机的主要目的是构
8、成一个具有一定判断、运算能力以及具有存储、显示、通信等功能的智能测量仪表,它所处理的信息量和复杂程度由于是温度因而用8位机已经足够了。目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速发展,比较著名的有Intel、Philips、Microchip、Motorola、Zilog、Atmel等半导体企业。在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为Intel公司的MCS-51系列,Microchip公司的PIC系列,近年来,随着Intel公司对8031内核的公开以及各半导体企业在关键技术上的相互渗透,不仅Intel公司,而且Philips公司、Atmel公司
9、等企业目前都生产MCS-51系列的CPU。近十年来在工业测控领域,国内运用最多的恐怕是Atmel公司的AT89系列,它的标准型产品不仅在指令上,而且在管脚上都兼容Intel公司的MCS-51系列的第一代CPU8031,并在片内存储器、振荡电路、功耗、软件加密以及内置看门狗等技术水平上均有很大程度的提高,使国内的智能仪表行业的设计与开发者越来越感到使用和设计上的方便。根据我们学生掌握的程度,本设计最终选用ATMEL最新的8位单片机AT89S52作为本系统的CPU。下面简单地介绍一下89S52的特性:与MCS-51产品兼容,包括引脚;8K字节可编程闪速程序存储器,寿命:1000写/擦循环;全静态工
10、作:033MHz;3级程序存储器加密锁定;2568位内部RAM;32条可编程I/O线;两个16位定时器/计数器;8个中断源;可编程串行通道;低功耗的闲置和掉电模式,从掉电模式中断恢复;看门狗定时器;双数据指针;断电标志等。2.1.2简单的小系统控制板介绍AT89S52 引脚功能描述:VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序
11、校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定
12、时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问
13、外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.
14、4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来
15、作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从00
16、00H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。 注意:AT89S52是我们最熟悉的单片机,它正常工作三个条件是1、有工作电压2、有正常晶振源3、有复位电路。2.2 16*2字符型带背光液晶显示模块液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可
17、以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。标准型16X2带背光液晶显示字符模块,邮购价格26元一个外形尺寸:PCB外形:36.4*80毫米 液晶屏金属黑框:34.2*72毫米1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操
18、作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我
19、们就能看到字母“A”1602液晶模块内部的控制器共有11条控制指令,如表2所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令
20、5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线)指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 DM-162液晶显示模块可以和单片机AT89C51直接接口,电路如图1所示。 液晶
21、显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3是DM-162的内部显示地址. 比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H) 5调试过程 第一步:在调试之前,要对硬件的工作原理非常了解,特别是行列驱动的送数据的时钟图。调试硬件中用的工具:万用表、电
22、烙铁、稳压源、电脑、数字示波器等. 第二步: 在硬件做完成,检查电路是否完全接正确, 电源要稳定的+5V,接的时候要注意正负,用简单程序调试硬件是否接好,整版点亮检查亮度是否一致,特别是调试好串口给595送数和行驱动,控制脚的焊点要牢固,杜邦线要好。第三步:开始给点阵送数据,控制它行场扫描,了解原理,是怎么扫描的。第四步:找点阵文字生产软件(PCtoLCD2002完美版),根据系统的扫描原理和自己想要显示的文字来取相应的字模。注意系统的扫描原理。6 设计总结 经过将近一个月的毕业设计制作,终于完成了自己的点阵显示屏作品。两年多的大学学习生涯,虽然参加过全国大学生电子设计大赛的一、二、三阶段,并
23、获得了优异成绩。但这次的毕业设计也给自己留下了深刻的回忆。在一个月里,大家都在前段时间很放松,画图做板的慢慢来,编程序的慢慢编慢慢仿真,感觉很轻松的在中旬完成了.到最后8天开始做板时候,才发现了线路接错,外观上一些分立元件分布不合理,点阵的显示模块不亮、个别点不亮、主控板也有问题.这些问题都得从图改从新做板,一下子变得特紧迫,人也变紧张起来,才明白我们忽略了太多细节问题。硬件调试完成后,系统程序调试时困难来了,数据传输不了,花了2天反反复复查看程序,思路上感觉都没问题,就是无法通信,特别是发过去的数据都是乱码不能显示相应的文字.后来多次分析,才知道系统的扫描与取的文字不是想同的扫描方式。后来改
24、改思路,难题迎韧而解。在这困难重重的设计中,我们又长进了不少呀,经验越来越丰富。把我们训练的更成熟,在以后的学习中,更要注重理论与实际相结合,把学习的理论知识用到实际生活中去,单片机程序设计重点在于灵活运用各语句编短程序,和巧用软硬件调试.写个好程序真的不是一件简单的事情.不过,只要你多动脑、动手、多编程,还有去参考别人的好程序.当你真正做到了这么多,成功离你就不远了!加油吧!朋友!附件1 电路图附件1.1主控板:AT89S52单片机原理图(图9) 图9附件1.2主控板:AT89S52单片机PCB图(图10)附件1.3 AD9850正弦波发生器原理图(图9)附件1.4 AD9850正弦波发生器PCB图(图9)附件1.5 4x4键盘原理图(图12) 图12附件1.6 4x4键盘PCB图(图13) 图13 柳州职业技术学院毕业设计(论文)成绩评定表课题名称学生姓名学号专业指导组教师姓名(职称)序号评审项目评 分 标 准满分评分12345678答辩指导教师评语:评阅人签名: 年 月 日答辩(评定)小组意见:年 月 日毕业设计(论文)成绩:评定小组签名:年 月 日