1、洛阳理工学院毕业设计(论文)I可编程脉冲信号发生器的设计摘 要基于单片机的可编程脉冲信号发生器,通过 4x4 的非编码矩阵键盘键入脉冲信号的指标参数频率、占空比和脉冲个数,在单片机的控制处理下发出满足信号指标的脉冲信号,并在液晶显示屏的制定位置显示出相关参数。复位电路采用上电复位和手动复位的复合复位方式,保证单片机在上电和程序运行进入死循环时,单片机均能正常复位。利用在工作方式 1 下的定时器和计数输出低频脉冲信号,以及在工作方式 2 下能够自动重复赋初值的定时器输出高频脉冲信号,从而使频率和占空比满足指标要求。通过程序设计,使单片机每次发出信号后等到重置信号进行下一次脉冲信号的输出,有效的提
2、高了单片机的使用效率。本课题设计利用单片机技术,通过相应的软件编程和较简易的外围硬件电路来实现,其产生的脉冲信号干扰小,输出稳定,可靠性高,人机界面友好,操作简单方便,成本低,携带方便,扩展性强。关键的是,脉冲信号频率、脉冲个数和脉冲占空比可调节,可通过键盘输入并由显示器显示出来。本课题设计所要达到的指标要求:(1)脉冲信号频率 0.1HZ 到 50KHZ 可调并在液晶显示屏指定位置显示。(2)脉冲信号个数 0 到 9999 可调并在液晶显示屏指定位置显示。(3)脉冲信号占空比任意可调并在液晶屏显屏指定位置示出来。关键词:单片机,脉冲信号,频率,脉冲个数,占空比洛阳理工学院毕业设计(论文)II
3、Programmable pulse signal generator designABSTRACTThe programmable pulse signal generator based on single chip, through the 4x4 non-coding matrix keyboard inputing pulse signal parameters of frequency, duty cycle and pulse number, pulse signal is sent to meet the targets of signal processing chip.Th
4、e related parameters are displayed on the setting position on the liquid crystal. The reset circuit by power-on reset and manual reset, ensure the SCM in power and run into dead circulation can be reset. Use in work mode 1 timer and counter output low frequency pulse signal, and in work mode 2 to ti
5、mer output high frequency pulse signal ,automaticly repeat initialization, so as to make the frequency and duty ratio meet the requirements. Through the program design, the microcontroller each signal and then wait for the reset signal, the signal at the output of the pulse next time, effectively im
6、prove the efficiency in the use of single-chip microcomputer.The subject of the use of single-chip technology, which achieved through the corresponding software and the simple peripheral hardware circuit. The advantages of which are the small interference of the pulse signal, output stability, high
7、reliability, friendly man-machine interface, easy operation, low cost, portability, scalability strong. The keys, pulse frequency, pulse number and pulse duty ratio are adjustable, which can be inputed through the keyboard and displayed through LCD.The requirements of this topic design:(1) The pulse
8、 signal frequency of 0.1HZ to 50KHZ is adjustable and can be displaied on the specify location in the LCD screen.(2) Pulse signal number of 0 to 9999 is adjusted and can be displaied on the specify location in the LCD screen.(3) Pulse duty ratio is adjustable and can be displaied on the specify loca
9、tion in the LCD screen.KEY WORDS: single chip computer,pulse,hardware circuit,pulse number,duty 洛阳理工学院毕业设计(论文)IIIratio洛阳理工学院毕业设计(论文)IV目 录前 言 .1第 1章 可编程脉冲发生器的相关模块 .41.1 AT89C51 单片机.41.1.1 AT89C51 单片机的结构 .41.1.2 AT89C51 单片机的引脚功能 .51.1.3 AT89C51 单片机的中断系统 .91.1.4 AT89C51 单片机的定时/计数器 .111.2 SMC 1602A LCD
10、液晶显示屏 .12第 2 章 可编程脉冲信号发生器的硬件设计 .142.1 硬件系统的总体设计.142.1.1 系统的总体框图 .142.1.2 原理阐述 .142.2 硬件系统各部分构成.142.2.1 电源电路 .142.2.2 矩阵键盘 .152.2.3 脉冲信号输出电路 .162.3 系统电路原理图.19第 3 章 可编程脉冲信号发生器的软件设计 .203.1 矩阵键盘的程序设计.203.2 液晶屏显示的程序设计.213.3 脉冲生成的程序设计.233.3 程序流程图.243.3.1 主程序流程图 .243.3.2 键盘分析子程序流程图 .253.3.3 显示子程序流程图 .263.3
11、.3 数值处理子程序流程图 .273.3.3 脉冲信号生成子程序流程图 .283.3.源程序 .28洛阳理工学院毕业设计(论文)V第 4章 可编程脉冲信号发生器的程序编译、调试及仿真 .294.1 系统程序的编译.294.2 系统调试.304.2.1 硬件调试 .304.2.2 软件调试 .304.3 系统仿真.324.3.1 系统仿真图 .324.3.2 系统的改善 .35结 论 .36谢 辞 .37参考文献 .38附 录 .39外文资料翻译 .57洛阳理工学院毕业设计(论文)1前 言信号发生器是一种能产生标准信号的电子仪器,是工业生产和电工、电子实验中经常使用的电子仪器之一。信号发生器的种
12、类比较多,性能也千差万别,但它们都可以产生不同频率的调频波信号、调幅波、正弦波,以及各种锯齿波、三角波、方波和正负脉冲波等信号。脉冲信号发生器作为一种常见的应用电子仪器设备,一般可以完全由硬件电路搭建而成,如采用555振荡电路发生方波的电路即是可行的方法之一,而不依靠单片机来实现。但是这种电路存在波形质量差,控制难度大,调整范围小,电路结构复杂以及体积大等缺点。在科学研究和生产实践中,如工业生产过程控制、生物医学、地震模拟、机械振动等领域,也常常需要用到低频信号源。而由硬件电路构成的低频信号发生器性能难以令人满意,而且由于低频信号源所需的RC要很大,体积大,漏电,大电阻、大电容在制作上亦有很大
13、的难度,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度也会大大增加。在现代测试与控制中常常需要频率可调的脉冲发生器,利用单片机内可编程定时/计数器即可实现。脉冲信号发生器是电子测量中的一种重要仪器,随着微电子技术的高速发展,脉冲信号发生器向着集成化、数字化、智能化的方向发展。利用单片机采用程序设计方法来产生信号,其频率底线很低,具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整。改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能的升级。在数字电路或系统中常常需要各种脉冲波形,例如时钟脉冲、控制过程
14、中的定时信号等。单片机是实现各种控制策略和算法的载体。在现代测试与控制中常常需要频率可调的脉冲信号发生器,利用单片机内可编程定时/计数器可以实现。本课题设计运用单片机技术,通过相应的软件编程和较简易的外围硬件电路设计来实现,和用分立式元件设计的脉冲发生器相比而言,其产生的脉冲信号干扰小,输出稳定,可靠性高,人机界面友好,操作简单方便,成本低,携带方便,扩展性强。关键的是,脉冲信号频率、占空比和脉冲个数可以调节,可通过键盘洛阳理工学院毕业设计(论文)2输入并由显示器显示出来。本课题运用单片机技术解决以下问题:1.清楚单片机的中断、定时/计数等常用功能,产生频率、个数、占空比可调整的脉冲信号。2.
15、画出以单片机为核心,以矩阵键盘为输入设备,以液晶显示屏为显示设备产生脉冲信号的硬件原理电路图。3画出相应的软件流程图,并写出键盘驱动、液晶显示屏驱动以及产生频率、个数、占空比可以调整的 C 语言源程序。4指标要求:(1)脉冲信号频率参数由键盘输入频率范围 0.1HZ 到 50KHZ 可调并由液晶显示屏在指定位置显示。(2) 脉冲信号个数参数由键盘输入脉冲个数 0 到 9999 可调并由液晶显示屏指定位置显示。(3) 脉冲信号占空比参数由键盘输入任意占空比的脉冲信号,并由液晶屏指定位置显示。5 用 PROTEUS 软件做出硬件电路仿真调试结果,并加以说明。针对不同的问题,有针对性的采用不同的方法
16、解决。1.查阅形成脉冲信号的相关资料,结合所学 51 系列单片机的基础知识,用工作方式 1 下的定时加计数的方法实现对低频信号指标的控制,用自动重复赋初值的工作方式 2 下的定时器实现对高频信号指标的控制,用计数的方法实现对生发信号个数的控制。2.查阅与单片机最小系统硬件开发相关的资料,从网上那个下载单片机应用实例,在 PROTEUS 软件上进行仿真实验,熟悉硬件开发环境,掌握电气原理图绘制的基本原理,对程序设计过程有更深层次的了解。3.查看与 C 语言程序设计相关的资料,主要研究程序设计的基本方法,掌握C 语言中基本指令的使用方法,认识程序设计过程中关键指令使用时的注意事项,熟悉程序开发设计
17、的过程。4.在完成电气原理图设计及 C 语言源程序设计后,通过在 PROTEUS 和 KeiL uVision4 软件上进行联机仿真调试,发现电气原理图设计和 C 语言程序设计中存在的问题,查看问题出现的原因,并在此基础上进行完善;通过 PROTEUS 和KeiL uVision4 软件上进行联机仿真调试,查看生成的脉冲信号并与指标要求进洛阳理工学院毕业设计(论文)3行对比,在 KeiL uVision4 软件上进行单步运行找出误差出现的原因,通过对程序的结构或者所用的指令进行调整进一步完善程序,再进行联机仿真调试,直到误差在允许的范围内,通过进一步整理,完成在完成电气原理图设计及 C 语言源
18、程序设计。洛阳理工学院毕业设计(论文)4第 1章 可编程脉冲发生器的相关模块1.1 AT89C51单片机1.1.1 AT89C51单片机的结构AT89C51单片机的内部结构包括CPU、存储器、并行接口、串行接口、定时计/数器,其系统结构图如图1-1所示。在一个芯片上集成了单片机的各个组成部分,其功能如下:(1)一个八位中央处理器CPU,包括可以进行8位算术运算和逻辑运算的AIU单元、8位累加器ACC、寄存器B和程序状态寄存器PSW等。(2)片内数据存储器RAM(128B),用于存放可以读/写的数据,如运算中间的结果、最终结果或预显示的数据等。(3)片内程序存数器ROM/EPROM,用于存放原始
19、数据、程序和表格。(4)四个 8 位并行 I/O 接口 P0-P3 端口,每个接端口可用于输入或输出。T0 T1内部总线P0 P1 P2 P3 TXD RXD INT0INT1图 1-1 AT89C51 单片机系统结 构图(5)两个 16 位定时/计数器,其中每一个定时/计数器可以设置成为计数方式EOM RAM 计数/定时器中断系统串行接口并行接口CPU时钟电路 STR洛阳理工学院毕业设计(论文)5用来对外部事件计数,也可以设置成为定时方式并且可以根据定时或计数的结果去控制计算机。(6)五个中断源,具有两个优先级别的中断嵌套结构,两个外部中断源 和INTO,三个内部中断源即两个定时计数中断和一
20、个串行口中断。INT1(7)一个全双工通用异步接受发送器(URAT)串行接口,用于实现单片机与单片机或者单片机与其他计算机之间的串行通信。(8)片内振荡器和时钟发生电路,时钟振荡电路是控制器的核心,为控制器提供时钟脉冲信号。(9)单片机允许的最高工作频率是24MHZ。AT89C51单片机可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式 3。1.1.2 AT89C51单片机的引脚功能1. 电源引脚GND和VCC(1)VSS(20 脚):接地端。(2)VCC(40 脚):电源端。正常操作及对Flash ROM编程和验证时接+5V电源。图1-2 AT89C51管脚图2. 外接晶体引脚XTAL1和XTAL2(1) XTAL1(19 脚):接外部晶体和微调电容的一端。在AT89C51片内,它