ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:473.05KB ,
资源ID:1419435      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1419435.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(设计并实现占空比可调的信号发生器.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

设计并实现占空比可调的信号发生器.docx

1、设计并实现占空比可调的信号发生器目录1 仿真软件介绍 11.1 Proteus软件介绍 11.2 Keil软件介绍 12 设计原理和方案 12.1方案的选择和设计 12.2 设计原理 22.3 系统硬件线路图设计图 3 2.3.1 51单片机介绍 32.3.2 LCD1602简介 42.3.3 系统硬件电路简介 5 3系统软件设计 6 3.1 主程序 6 3.2 系统初始化子程序 6 3.3 键盘扫描程序 73.4 系统的资源分配表 73.5 源程序 84 系统软件仿真 135 性能分析 155.1定时器中断分析 155.2系统性能分析 155.3误差分析 156 心得体会 167 参考文献

2、171 仿真软件介绍1.1 Proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB

3、设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。1.2 Keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器

4、等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。2 设计原理和方案2.1方案的选择和设计方案一:采用分立器件实现非稳态的多谐振荡器,然后根据具体需要加入积分电路等构成矩形等波形发生器。这种信号发生器输出频率范围窄而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案二:用集成芯片实现函数信号发生器。

5、这种信号发生器。这种信号发生器能产生多种波形信号,可以达到较高频率,但电路复杂并且不易调试。方案三:采用单片机编程的方法实现。该方法可以通过编程,来控制方波信号输出的频率和幅度,并且只要改变程序的相关参数,便可以改变输出波形的频率和占空比。由于编程的方法产生的是数字信号,所以信号的精度可以做到很高。并且电路简单。方案四:利用专用直接数字合成DDS芯片实现函数信号发生器。这种信号发生器能产生任意波形并且达到很高的频率,但成本较高。综合成本和性能等多方面因素,本例采用第三种方法,即采用单片机编程的方法实现占空比可调,频率可调的方波信号发生器。2.2 设计原理在此次课程设计中,利用AT89C51单片

6、机,软硬件结合,实现占空比和频率可调,案件的操作是通过数字电路跟外部中断0来控制的。可以输出占空比在1%到99%可调,精度为1%,频率范围在50HZ到500HZ可调,精度为10HZ的方波。AT89C51单片机是整个波形信号发生器的核心,通过程序的编写和执行,可以产生可以调节的方波,并受到按键的控制,增减频率和占空比。并且在液晶上显示出来。定时器0工作再方式1下,决定输出信号的频率,定时器1工作再方式1下,决定输出信号的占空比。按键1和2决定信号的输出频率,按键1用于增大信号的频 率,按一下就增加10HZ,当增减大500HZ时,就归为50HZ。按键2用于减小输出信号的频率,按一次键,输出信号的频

7、率减少10HZ,当减少到 50HZ时,频率就归于500.按键3和4决定信号的占空比,按键3用于增加信号的占空比,按下一次键,占空比就增加1,上限值为99,当在此按键是,就 让占空比归1.按键4用于减小信号的占空比,按下一次键,占空比就减1,下限值为1,当再次按键时,就让占空比回归到99.通过上面的步骤,可以实现占空比和频率的可调。液晶则选用LCD032L,可直观的看到频率和占空比。信号发生器原理框图如图1 :单片机AT89C51LCD显示按键或按钮 频率与占空比数据 频率与占空比数据图1信号发生器原理框图2.3 系统硬件线路图设计图2.3.1 51单片机介绍51单片机是对目前所有兼容Intel

8、 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。 当前常用的51系列单片机主要产品有: *Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; *ATMEL的:

9、89C51、89C52、89C2051等; *Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品 目前,国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。主要功能有:8位CPU4kbytes 程序存储器(ROM) (52为8K) 图2 51单片机的引脚图256bytes的数据存储器(RAM) (52有384bytes的RAM) 32条I/O口线111条指令,大部分为单字节指令 21个专用寄存器 2个可编程定时/计数器5个中断源,2个优先级(52有6个) 一个全双工串行通信口 外部数据存储器寻址空间为64kB 外部程序存储器寻址空间

10、为64kB 逻辑操作位寻址功能双列直插40PinDIP封装 单一+5V电源供电 CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; I/O口:四个8位并行I/O口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。

11、最高振荡频率为12M。2.3.2 LCD1602简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可

12、以很方便地应用于市面上大部分的字符型液晶。 图3 LCD1602引脚图1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源

13、。15脚背光正极,16脚背光负极1602LCD的特性:+5V电压,对比度可调,内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。2.3.3 系统硬件电路简介系统硬件电路原理图如下图2所示:四个独立按键分别与单片机P1.0,P1.1,P1.2,P1.3相连接,并且通过一个四输入的与门,将与门的输出当做单片机外部中断0的触发信号。当有按键按下时,就会进入外部中断程序。P1.4口输出信号连接到示波器,检测输出波形。通过单片机的PO口

14、连接到LCD016L的数据段,用以显示波形信号发生器的频率和占空比。图4系统硬件电路原理图3 系统软件设计软件是该LCD显示控制系统的重要组成部分,在软件的设计中,我们采用了模块了设计,将各部分功能编写为子模块的形式,这样增加了程序的可读性。3.1 主程序主程序用于控制整个系统,先对系统初始化,然后通过一个空循环等待中断程序,当中断到来时候,就进入中断程序,执行中断程序。中断程序执行完成之后,就返回主程序,继续等待。3.2 系统初始化子程序在此程序中,给所有变量赋初值,特别是T0,T1的初始值使产生方波的频率为50Hz,占空比为50%,且在LCD016L上显示出来。3.3 键盘扫描程序键盘扫描

15、用外部中断0实现,用以分析是哪个键盘被按下,然后在实现所要的功能。 关于键盘扫描程序的说明:频率可调时,占空比保持原状不变,反之亦然。(1)频率调节当按下键1的时候,会转到外部中断0子程序,判断之后,会改变其中变量fre的值,然后分别将T0,T1按要求重新赋初始值,然后再在液晶上实时刷新。即可改变即加10Hz,当加到最大值500Hz时,继续按下键1,将会回到最小值50Hz上。同理按下键2,频率值将会减10Hz,当减到最小值50Hz,会回到最大值500Hz上。(2)占空比调节当按下键3,进入到外部中断0子程序,判断却是按下后,改变zkb(即占空比),然后改变定时器的初值。实时刷新,同频率调节,占空比也需要进行限制。要注意的是频率和占空比的初始值都为50,我们定义的占空比为百分比的分子部分。键盘处理子程序,当有按键按下时,进入到外部中断,然后暂时关闭外部中断,启动延时程序,以消除抖动。然后检测是哪个按键被按下,然后对频率跟占空比的变量做出相应的赋 值,并且将占空比的值送到数码管显示。并且对定时器0和定时器1分别赋新的初值,开启外部中断,定时器0和1中断,中断程序结束。 3.4 系统的资源分配表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1