占空比可调方波发生器.docx

上传人:b****6 文档编号:16409218 上传时间:2023-07-13 格式:DOCX 页数:32 大小:329.71KB
下载 相关 举报
占空比可调方波发生器.docx_第1页
第1页 / 共32页
占空比可调方波发生器.docx_第2页
第2页 / 共32页
占空比可调方波发生器.docx_第3页
第3页 / 共32页
占空比可调方波发生器.docx_第4页
第4页 / 共32页
占空比可调方波发生器.docx_第5页
第5页 / 共32页
占空比可调方波发生器.docx_第6页
第6页 / 共32页
占空比可调方波发生器.docx_第7页
第7页 / 共32页
占空比可调方波发生器.docx_第8页
第8页 / 共32页
占空比可调方波发生器.docx_第9页
第9页 / 共32页
占空比可调方波发生器.docx_第10页
第10页 / 共32页
占空比可调方波发生器.docx_第11页
第11页 / 共32页
占空比可调方波发生器.docx_第12页
第12页 / 共32页
占空比可调方波发生器.docx_第13页
第13页 / 共32页
占空比可调方波发生器.docx_第14页
第14页 / 共32页
占空比可调方波发生器.docx_第15页
第15页 / 共32页
占空比可调方波发生器.docx_第16页
第16页 / 共32页
占空比可调方波发生器.docx_第17页
第17页 / 共32页
占空比可调方波发生器.docx_第18页
第18页 / 共32页
占空比可调方波发生器.docx_第19页
第19页 / 共32页
占空比可调方波发生器.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

占空比可调方波发生器.docx

《占空比可调方波发生器.docx》由会员分享,可在线阅读,更多相关《占空比可调方波发生器.docx(32页珍藏版)》请在冰点文库上搜索。

占空比可调方波发生器.docx

占空比可调方波发生器

燕山大学

课程设计说明书

 

题目:

低通FIR滤波器设计与应用

 

学院(系):

电气工程学院

年级专业:

10级精仪二班

学号:

学生姓名:

王舟济

指导教师:

孟宗

教师职称:

副教授

 

电气工程学院《课程设计》任务书

院(系):

电气工程学院基层教学单位:

仪器科学与工程系

学号

学生姓名

王舟济

(专业)班级

精仪二班

设计题目

方波发生器

设计一个以单片机为核心的方波发生器,通过键盘可以改变方波的占空比和频率,并显示波形的频率

设计键盘输入电路、波形的输出电路、显示电路(4位数码管);编制相应的程序

 

设计的内容满足课程设计的教学目的与要求,设计题目难度和工作量适合学生的知识和能力状况,工作量饱满。

查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书

单片微型计算机接口技术及其应用张淑清国防工业出版社

单片机原理及其应用技术张淑清国防工业出版社

单片机应用技术汇编

指导教

师签字

基层教学单位主任签字

说明:

此表一式四份,学生、指导教师、基层教学单位、系部各一份。

年月日

 

摘要.................................................................

第1章绪论..........................................................

设计内容.....................................................

设计基本要求.................................................

第2章总体方案论证与设计..........................................

方案论述.....................................................

方波发生器的硬件组成框图.....................................

第3章方波发生器原理.................................................................................................

方波发生器的原理与功能................................................................................

键盘控制原理....................................................................................................

程序框图............................................................................................................

方波波形显示............................................................................................第4章系统硬件设计...........................................................................................

最小单片机系统...............................................

小键盘接口电路...............................................

显示电路..................................................

八段数码管原理.............................................................................................

第5章系统软件设计................................................

主程序......................................................

系统初始化子程序............................................

显示子程序..................................................

键盘扫描程序................................................

定时中断子程序..............................................

汇编总程序.....................................................................................................

第6章系统调试与测试结果分析......................................

硬件调试.....................................................

软件调试.....................................................

结论............................................................

参考文献.......................................................................................................................

附录:

仿真效果图

 

摘要

随着大规模集成电路技术和计算机技术的飞速发展,把计算机的运算器和控制器(即CPU)、存储器和多种接口集成在一块芯片上而成的芯片为单片机。

单片机问世20年来,发展速度之迅猛,应用范围之广泛是以往任何技术都无法比拟的。

单片机作为嵌入式微控制器其应用很普及。

近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛应用。

本设计是一个以单片机为核心的方波发生器,通过对键盘输入电路、波形的输出电路、显示电路的设计已经程序的编程,实现通过键盘改变方波占空比和频率,并显示波形频率的功能。

关键字:

单片机、法波发生器、频率、占空比

 

第一章绪论

单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

单片机有两种基本结构形式:

一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。

另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。

本课题讨论的方波发生器的核心是目前应用极为广泛的51系列单片机。

设计内容

本课程设计是设计一个方波发生器,用4位数码管显示方波的频率。

1.2设计基本要求

频率可调,用一个变阻器来调整波形的频率,频率调节范围为20Hz~2000Hz;

占空比可调,采用两个按键来实现增加、减小波形的占空比作用,占空比调节步长为1%,即每按键一次,占空比增加或减少1%。

占空比用另外两位数码管显示。

系统上电时频率依变阻器的阻值设定,占空比设定为50%。

而我们在此设计的方波发生器与要求要设计的有点区别,所设计的频率调节范围为1Hz~15000Hz,以调节变阻器的阻值来实现频率的调节相对来说要麻烦些。

因此,频率也使用按键来进行调节,不同的频率及占空比可以使用不同的按键来实现,而以键盘扫描来实现各键的不同功能;显示部分可以使用ZLG7290芯片及数码管来实现。

由此即可构成一个最小单片机应用系统。

第2章总体方案论证与设计

在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。

在此次设计中,有些地方与课题原本的具体要求有点不同。

如实现频率调节时,不是按要求利用调整变阻器的阻值来完成的,而是用按键来实现的。

2.1方案论述

基于MCS—51单片机8051芯片所设计的可以实现键位与数字动态显示的一种频率,占空比可调方波发生器。

设四位数码管显示频率范围为1HZ-9999HZ,可任意取1HZ、10HZ、100HZ等值,占空比任意取10%,20%,40%,50%,80%等值。

通过对键盘上按键的操作完成对所取频率值,占空比的调用,以达到改变当前频率值,占空比的目的,并使用其八段数码管显示。

单片机对键位进行扫描,确定键位的输入,根据程序设计要求,数码管显示频率以及占空比改变后当前的数值,方波发生器输出以数码管显示的数值为频率的方波。

基于以上思路,可进行如下功能扩展:

由于伟福2000仿真实验箱共有6位数码管,显示频率只用其中4位,可使用余下2位进行占空比显示。

设计思路同频率显示,可选定占空比10、20、50等值,通过键盘上的两个按键顺序调换所选取的占空比值,实现占空比的可调控改变。

键盘可采用4*4的键盘,但是只选取选取其中的4个按键,其功能分别为:

频率顺向增大、频率逆向减小、占空比顺向增大、占空比逆向减小。

按键每按下一次,当前频率或占空比转向下一选定的频率或占空比值。

单片机通过输出方波控制一个数码管的显用,该数码管显示当前所调换到的频率及占空比,并把该数值当做方波发生器的输入频率及输入占空比。

单片机控制该方波发生器以该数值作为频率和占空比显示方波,从而得到我们想要频率及占空比的方波。

最后,可采用示波器观察方波波形。

方波发生器的总体硬件组成框图

简单的流程为:

主程序扫描键盘,将设置信息输入,处理后,输出到LED显示器显示。

单片机用到了两个定时器,即定时器0与定时器1,分别进行频率与占空比的定时,两个定时器都是工作在方式1。

计算定时器初值的公式如下:

X=2N-FOSC/12×T

根据计算定时器初值的公式,计算出定时器0与定时器1所要装入的初值。

频率及占空比的显示电路由74374和74245构成的驱动电路和LED数码显示管组成,利用六个数码管来显示,有四位是用来显示频率的,有两位是显示占空比的。

此电路的键盘由四个功能键(调节频率与占空比的增减)组成,其特殊之处在于利用外部中断实现键盘扫描。

功能键有两种种状态,一种为正顺序调换,根据所取值顺向增大的特点,此时为增大调节;另一种为逆顺序调换,同理,此时为减小调节。

频率和占空比各有一组增大及减小的功能键。

第3章方波发生器原理

、方波发生器的原理与功能

方波发生器的总体原理方框图如下图所示:

由于系统的要求不高,比较单一,再加上我们是通过定时器来调节频率的,这样仅用键盘、8051芯片及数码显示管便可完成设计,达到所要求实现的功能。

键盘控制原理

通过键盘的控制,可以实现频率和占空比的变化。

本设计仅仅选用四个数码管显示频率,并增加了后两个数码管显示占空比的功能。

其中,用NEXT键和LAST键控制频率的变化,每按一下NEXT键频率就按着的顺序正向变化到下一个数值;每按一下LAST键,频率就反向变化到另一个数值。

C键和D键控制占空比的变化:

每按一下C键,数码管上的显示数字就按照的顺序正向变化一个数字,每按一下D键,数字就反向变化。

其对应关系如表1所示:

表1频率-占空比-按键对照表

频率

占空比

NEXT

LAST

C

D

+上

_下

+上

_下

程序框图

初始化后单片机产生初值,将初值以动态扫描的方式显示于八段数码管,同时还对键盘进行实时扫描。

在扫描后,单片机读取键值,并将键值通过数码管模块显示出来,方波发生器输出该频率,占空比的方波.

表2频率(HZ)-程序代码对照表

编辑代码1

00H

00H

06H

3FH

显示频率1(HZ)

0

0

1

0

编辑代码2

00H

00H

5BH

3FH

显示频率2(HZ)

0

0

2

0

编辑代码3

00H

00H

6DH

3FH

显示频率3(HZ)

0

0

5

0

编辑代码4

00H

06H

3FH

3FH

显示频率4(HZ)

0

1

0

0

表3占空比(%)-代码对照表

编辑代码1

5BH

3FH

显示占空比(%)

2

0

编辑代码2

66H

3FH

显示占空比(%)

4

0

编辑代码3

6DH

3FH

显示占空比(%)

5

0

编辑代码4

7DH

3FH

显示占空比(%)

6

0

编辑代码5

7FH

3FH

显示占空比(%)

8

0

方波波形显示

图1频率100HZ,占空比50%

图2频率100HZ,占空比80%

图3频率100HZ,占空比20%

第4章系统硬件设计

最小单片机系统

单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。

因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

常用的时钟电路方式有两种:

一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。

时钟电路由片外晶体、微调电容和单片机的内部电路组成。

选取频率为的晶振,微调电容是瓷片电容。

89S52单片机的口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。

此单元电路包括时钟电路、复位电路,具体电路如图所示:

 

小键盘接口电路

方案一:

独立式键盘

一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接MEGA16的I/O口。

独立式键盘每一按键都需要一根I/O线,占用MEGA16的硬件资源较多。

因此独立式键盘只适合按键较少的场合。

键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。

特点:

使用方便、结构复杂、成本高。

方案二:

矩阵式键盘

我们采用4×4矩阵式键盘,键盘的行线X0~X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0~X3均呈高电平,如下图:

图5—2键盘控制LED连接原理图

为了节省I/O口,使我们的设计能够顺利进行,我们选用方案二——矩阵连接式键盘。

为了能够较为简单的编程,和节省CPU的资源,我们采用定时扫描,每隔一段时间,CPU对键盘扫描一次,并将键值读入。

扫描法是在判定有键按下后逐列(或行)置低电平,同时读入行(或列)状态,如果行(或列)状态出现非全1状态,这时与状态行,列交叉点的键就是所按下的键。

扫描发的特点是逐列(或行)扫描查询。

这时,相应的行(或列)应有上拉电阻接高电平。

当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。

如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。

如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。

CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。

图3-2小键盘接口电路

LED显示电路

方案一:

静态显示方式

静态显示方式是指当显示器显示某一字符时,七段数码管的每段发光二极管的位选始终被选中。

在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。

静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。

其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。

随着显示器位数的增加,需要的I/O口线也将增加。

方案二:

动态显示方式

所谓动态显示,就是单片机定时地对显示模块件扫描。

在这种方法中,显示模块件分时工作,每次只能有一个器件显示。

但由于人视觉的暂留现象,所以仍感觉所有的器件都在显示。

如许多单片机的开发系统及仿真器上的6位显示模块即采用这类显示方法。

此种显示方法的优点是使用硬件少,因而价格低。

但它占用机时长,只要单片机不执行显示程序,就立刻停止显示。

由此可见,这种显示将使计算机的开销增大。

由于8051单片机本身提供的I/O口有限,因此我们选择方案二——动态扫描方式。

扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的约1MS,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

节约了电能,节省了I/O口

八段数码管原理

数码管内部由8个发光发光二极管组成,排成一个8字,可以组成0到9数字以及A-F字符的表示形式。

图5-3.八段数码管引脚图图5-4.八位数码管原理图

 

表2显示数字及其所对应的代码

显示数字

1

2

3

4

程序输入数

06H

5BH

4FH

66H

显示数字

5

6

7

8

程序输入数

6DH

7DH

07H

7FH

显示数字

9

0

A

B

程序输入数

6FH

3FH

77H

7CH

显示数字

C

D

E

F

程序输入数

39H

5EH

79H

71H

第5章系统的软件设计

软件是该LED显示屏控制系统的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。

主程序

主程序包括系统初始化及显示程序,是一个死循环系统。

其流程图如图所示:

 

系统初始化子程序

在此程序中,给所有变量赋初值,有键盘扫描口、选择串行口工作方式SCON、状态标志位flag、初始频率与占空比及其定时、定时器0与定时器1的工作方式等。

初始化时启动了定时器0与定时器1。

显示子程序

利用分离频率的各位数值,将各位数值分别显示出来。

在程序中利用了频率显示的高位灭零的方法以致最高位为0时就不显示,以致显示效果美观化。

一共有五位是显示频率的,若频率小于10000时,则万位不显示;若频率小于1000时,则万位与千位都不显示,依次类推。

占空比的显示规律与频率的一样。

显示子程序流程图如图4-2所示:

 

键盘扫描程序

键盘扫描用外中断0实现,采用的是线反法,键盘扫描码采用逐行扫描的方法。

关于键盘扫描程序的说明:

频率可调时,占空比保持原状不变,反之亦然,只能进行单一变量的调节,状态标志flag的初始值为0。

(1)频率调节:

i==0时,按键为状态键,此时flag加1,即flag==1,此时进行频率的调节。

可以进行加1Hz、减1Hz、加100Hz、减100Hz操作,分别由1号键、2号键、3号键、4号键控制。

如果按住某个键不放,便会执行连续加值或减值操作。

这里的频率的最大值为15000Hz,当频率增至最大值时,还按增值键,此时频率会自动跳到1Hz开始继续增加。

同理,频率的最小值为1Hz,当减频率减至最小值时,再按减频率键,则频率会跳到15000Hz。

(2)占空比调节:

当状态值flag==2时,此时频率保持不变,进行占空比调节。

只可进行加1与减1操作,分别由1号键、2号键控制。

要注意的是占空比的初值是50%,我们定义的ZKB为50(百分比的分子部分,为一整数),故调节占空比时,ZKB会进行加1,减1操作。

ZKB的最大值为99,当增到最大值时,便会返回到值1,如此循环。

(3)为了减轻单片机的工作量,在软件设计中采取了这样的措施,在修改参数确定后才进行定时器初值TC0、TC1的计算。

键盘中断处理子程序流程图与键处理流程图分别如图4-3、图4-4所示:

 

定时中断子程序

定时器中断子程序中有定时器0与定时器1中断,频率定时器0中断流程图与占空比定时器1流程图分别如图4-5、图4-6所示。

(1)定时器0遇中断执行的操作有复位,启动自身进行频率定时,同时启动定时器1,进行占空比定时,输出高电平。

(2)定时器1遇中断,停止自身的计时,输出低电平。

 

汇编程序

CISHUEQU31H

LOW0EQU32H

HIGH0EQU33H

BILIEQU34H

HLEQU35H

UPEQU16H

DOWNEQU15H

CPEQU0CH

DPEQU0DH

ORG0000H

LJMPMAIN

ORG000BH

LJMPTIN0

ORG0040H

ZHONGDUAN:

DB100502010

ZHANKONG:

DB8,6,5,4,2

MAIN:

MOVTMOD,#02H

SETBEA

SETBET0

MOVPINLV,#00H

MOVBILI,#02H

LCALLGOON

LJMPMLOOP

ZHUANGRU:

MOVA,PINLV

RU1:

MOVTH0,#06H

MOVTL0,#06H

JISHU:

SETBHL

SETBTR0

SETB

MOVCISHU,#01H

MOVDPTR,#ZHANKONG

MOVA,BILI

MOVCA,@A+DPTR

MOVLOW0,A

MOVB,#10

XCHA,B

SUBBA,B

MOVHIGH0,A

RET

OUTBITEQU08002H

OUTSEGEQU08004H

INEQU08001H

LEDBUFEQU60H

LEDPINLVMAP:

DB00H,00H,06H,3FH

DB00H,00H,5BH,3FH

DB00H,00H,6DH,3FH

DB00H,06H,3FH,3FH

LEDZHANKONGMAP:

DB7FH,3FH

DB7DH,3FH

DB6DH,3FH

DB66H,3FH

DB5BH,3FH

DELAY:

MO

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2