设计并实现占空比可调的信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 仿真软件介绍 (1)
1.1 Proteus软件介绍 (1)
1.2 Keil软件介绍 (1)
2 设计原理和方案 (1)
2.1方案的选择和设计 (1)
2.2 设计原理 (2)
2.3 系统硬件线路图设计图 (3)
2.3.1 51单片机介绍 (3)
2.3.2 LCD1602简介 (4)
2.3.3 系统硬件电路简介......................... 错误!未定义书签。 3系统软件设计........................................ 错误!未定义书签。
3.1 主程序 (6)
3.2 系统初始化子程序 (6)
3.3 键盘扫描程序 (7)
3.4 系统的资源分配表 (7)
3.5 源程序 (8)
4 系统软件仿真 (13)
5 性能分析 (15)
5.1定时器中断分析 (15)
5.2系统性能分析 (15)
5.3误差分析 (15)
6 心得体会 (16)
7 参考文献 (17)
1 仿真软件介绍
1.1 Proteus软件介绍
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持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编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
2 设计原理和方案
2.1方案的选择和设计
方案一:采用分立器件实现非稳态的多谐振荡器,然后根据具体需要加入积分电路等
构成矩形等波形发生器。这种信号发生器输出频率范围窄而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。
方案二:用集成芯片实现函数信号发生器。这种信号发生器。这种信号发生器能产生多种波形信号,可以达到较高频率,但电路复杂并且不易调试。
方案三:采用单片机编程的方法实现。该方法可以通过编程,来控制方波信号输出的频率和幅度,并且只要改变程序的相关参数,便可以改变输出波形的频率和占空比。由于编程的方法产生的是数字信号,所以信号的精度可以做到很高。并且电路简单。
方案四:利用专用直接数字合成DDS芯片实现函数信号发生器。这种信号发生器能产生任意波形并且达到很高的频率,但成本较高。
综合成本和性能等多方面因素,本例采用第三种方法,即采用单片机编程的方法实现占空比可调,频率可调的方波信号发生器。
2.2 设计原理
在此次课程设计中,利用AT89C51单片机,软硬件结合,实现占空比和频率可调,案件的操作是通过数字电路跟外部中断0来控制的。可以输出占空比在1%到99%可调,精度为1%,频率范围在50HZ到500HZ可调,精度为10HZ的方波。AT89C51单片机是整个波形信号发生器的核心,通过程序的编写和执行,可以产生可以调节的方波,并受到按键的控制,增减频率和占空比。并且在液晶上显示出来。定时器0工作再方式1下,决定输出信号的频率,定时器1工作再方式1下,决定输出信号的占空比。按键1和2决定信号的输出频率,按键1用于增大信号的频率,按一下就增加10HZ,当增减大500HZ时,就归为50HZ。按键2用于减小输出信号的频率,按一次键,输出信号的频率减少10HZ,当减少到 50HZ时,频率就归于500.按键3和4决定信号的占空比,按键3用于增加信号的占空比,按下一次键,占空比就增加1,上限值为99,当在此按键是,就让占空比归1.按键4用于减小信号的占空比,按下一次键,占空比就减1,下限值为1,当再次按键时,就让占空比回归到99.通过上面的步骤,可以实现占空比和频率的可调。液晶则选用LCD032L,可直观的看到频率和占空比。信号发生器原理框图如图1 :
频率与占空比数据 频率与占空比数据
图1信号发生器原理框图 2.3 系统硬件线路图设计图
2.3.1 51单片机介绍
51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始
祖是Intel 的8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL 公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。
当前常用的51系列单片机主要产品有:
*Intel 的:80C31、80C51、87C51,80C32、80C52、
87C52等;
*ATMEL 的:89C51、89C52、89C2051等;
*Philips 、华邦、Dallas 、Siemens(Infineon)等公司的
许多产品
目前,国产宏晶STC 单片机以其低功耗、廉价、稳
定性能,占据着国内51单片机较大市场。
主要功能有:
8位CPU ·4kbytes 程序存储器(ROM) (52为8K) 图2 51单片机的引脚图
256bytes 的数据存储器(RAM) (52有384bytes 的RAM )
32条I/O 口线
按键或按钮 单片机AT89C51 LCD 显
示