基于AT89C51的PWM信号发生器设计
摘 要
单片机集成度高,功能强,可靠性高,体积小,功耗低,使用方便,价格低廉等
一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎无处不在,无所不为。单片机的应用领域已经从面向工业控制,通讯,交通,智能仪表等迅速发展到家用消费产品,办公自动化,汽车电子,PC机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,成为普林斯机构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前单片机以采用程序存储器截然分开的结构多。本课题讨论的占空比与周期可调的信号发生器的核心是目前应用极为广泛的51系列单片机。
基于单片机的信号发生器的设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥自动化的专业知识。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个有特殊功能的信号发生芯片,可以产生一系列有规律的周期和占空比可调的波形。这样一个信号发生器装置在控制领域有相当广泛的应用范围。因为产生一系列的可调波形可以作为其他一些设备的数值输入,还可以应用与设备检测,仪器调试等场合。高频稳定的波形信号也可以用于无线电波的调频,解调。这些都是现代生活中必不可少的一些应用。
关键词:PWM 信号发生器
- 1 -
目 录
1.简介............................................................... - 3 -
1.1 proteus ...................................................... - 3 - 1.2 Keil ......................................................... - 4 - 1.3 PWM .......................................................... - 5 - 1.4 AT89C51 ..................................................... - 6 - 2.设计原理和方法..................................................... - 9 -
2.1单片机的基本组成.............................................. - 9 - 2.2方案的设计与选择.............................................. - 9 - 2.3定时器、的工作原理........................................... - 10 -
2.3.1工作方式寄存器TMOD..................................... - 11 - 2.3.2定时/计数器控制寄存器TCON.............................. - 12 - 2.4定时/计数器的工作方式........................................ - 12 - 2.5设计方法..................................................... - 13 - 3.系统硬件电路设计图................................................ - 14 - 4.程序框图.......................................................... - 16 -
4.1主程序框图:................................................. - 16 - 4.2系统初始化:................................................. - 16 - 4.3定时器中断程序框图:......................................... - 16 - 4.4键盘扫描程序框图:........................................... - 17 - 5.性能分析.......................................................... - 18 -
5.1定时器中断分析............................................... - 18 - 5.2系统性能分析................................................. - 18 - 6.源程序............................................................ - 18 - 7. 仿真效果图....................................................... - 22 - 总 结.............................................................. - 24 - 致 谢.............................................................. - 24 - 参考文献............................................................ - 25 -
- 2 -
1.简介
1.1 proteus
Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(3) 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
(4) 具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。
特点:支持ARM7,PIC ,AVR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中:
交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等; 强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式; 支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试; 一键“make”特性:一个键完成编译与仿真操作;
内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型; DLL界面为应用提供特定的模式;
基于工业标准的SPICE3F5混合模型电路仿真器
- 3 -
14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等;
高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转 换;噪声;失真;付立叶;交流、直流和音频曲线;
模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流;
集成PROTEUS PCB设计形成完整的电子设计系统。
1.2 Keil
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
(1)系统概述
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 (2)Keil C51单片机软件开发系统的整体结构
C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
- 4 -