占空比可调方波发生器_第1页
占空比可调方波发生器_第2页
占空比可调方波发生器_第3页
占空比可调方波发生器_第4页
占空比可调方波发生器_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、燕山大学课程设计说明书题目: 低通FIR滤波器设计与应用 学院(系):电气工程学院 年级专业:10级精仪二班 学 号:学生姓名:王舟济指导教师:孟宗教师职称:副教授电气工程学院课程设计任务书院(系):电气工程学院基层教学单位:仪器科学与工程系学号学生姓名王舟济(专业)班级精仪二班设计题目方波发生器设计 技 术参 数设计一个以单片机为核心的方波发生器,通过键盘可以改变方波的占 空比和频率,并显示波形的频率设计 要 求设计键盘输入电路、波形的输出电路、显示电路(4位数码管);编制相应的程序工作量设计的内容满足课程设计的教学目的与要求, 设计题目难度和工作量 适合学生的知识和能力状况,工作量饱满。工

2、查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证作设计、撰写任务书计划参单片微型计算机接口技术及其应用张淑清国防工业出版社考单片机原理及其应用技术张淑清国防工业出版社资单片机应用技术汇编料指导教基层教学单位主任师签字签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份目录摘要第1章绪论设计内容设计基本要求第2章总体方案论证与设计方案论述方波发生器的硬件组成框图第3章 方波 发生 器原理生 器 的 原 理 与 功理程序图方波示波形显第 4 章系统硬件设最小单片机系统 小键盘接口电路 显示电路 八段数码管原理 第 5 章 系统软件设计 . 主程序 系统初始化子程序 显示子程

3、序 键盘扫描程序 定时中断子程序 汇编总程序第 6 章 系统调试与测试结果分析 硬件调试 软件调试 结 论 参献 附录: 仿真效果图摘要随着大规模集成电路技术和计算机技术的飞速发展, 把计算机的运算器和控 制器(即CPU、存储器和多种接口集成在一块芯片上而成的芯片为单片机。单片机问世 20年来,发展速度之迅猛,应用范围之广泛是以往任何技术都无法比拟的。 单片机作为嵌入式微控制器其应用很普及。 近十几年来,单片机在生产过程控制、 自动检测、 数据采集与处理、 科技计算、 商业管理和办公室自动化等方面获得了 广泛应用。本设计是一个以单片机为核心的方波发生器,通过对键盘输入电路、波形的 输出电路、

4、显示电路的设计已经程序的编程, 实现通过键盘改变方波占空比和频 率,并显示波形频率的功能。关键字 :单片机、法波发生器、频率、占空比第一章 绪论单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格 低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处 不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪 表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机有两种基本结构形式 : 一种是在通用微型计算机中广泛采用的, 将程 序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一 种是将程序存储器和数

5、据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51 系列单片机。设计内容本课程设计是设计一个方波发生器,用 4 位数码管显示方波的频率。1.2 设计基本要求频率可调,用一个变阻器来调整波形的频率, 频率调节范围为 20Hz2000Hz;占空比可调, 采用两个按键来实现增加、 减小波形的占空比作用, 占空比调 节步长为 1%,即每按键一次,占空比增加或减少 1%。占空比用另外两位数码管 显示。系统上电时频率依变阻器的阻值设定,占空比设定为 50%。而我们在此设计 的方波发

6、生器与要求要设计的有点区别,所设计的频率调节范围为 1Hz15000Hz以调节变阻器的阻值来实现频率的调节相对来说要麻烦些。因此,频率也使用按键来进行调节,不同的频率及占空比可以使用不同的按键来实现, 而以键盘扫描来实现各键的不同功能;显示部分可以使用ZLG7290芯片及数码管 来实现。由此即可构成一个最小单片机应用系统。第 2 章 总体方案论证与设计在电子技术领域中, 实现方波发生器的方法有很多种, 可以采用不同的原理 及器件构成不同的电路, 但可以实现相同的功能。 在此次设计中, 有些地方与课 题原本的具体要求有点不同。 如实现频率调节时, 不是按要求利用调整变阻器的 阻值来完成的,而是用

7、按键来实现的。2.1 方案论述基于 MCS51 单片机 8051 芯片所设计的可以实现键位与数字动态显示的一种频率,占空比可调方波发生器。设四位数码管显示频率范围为1HZ-9999HZ,可任意取1HZ 10HZ 100HZ等值,占空比任意取10% 20% 40% 50% 80%等 值。通过对键盘上按键的操作完成对所取频率值, 占空比的调用, 以达到改变当 前频率值,占空比的目的,并使用其八段数码管显示。单片机对键位进行扫描, 确定键位的输入, 根据程序设计要求, 数码管显示频率以及占空比改变后当前的 数值,方波发生器输出以数码管显示的数值为频率的方波。基于以上思路,可进行如下功能扩展:由于伟福

8、 2000 仿真实验箱共有 6 位 数码管,显示频率只用其中 4 位,可使用余下 2 位进行占空比显示。 设计思路同 频率显示,可选定占空比 10、20、50 等值,通过键盘上的两个按键顺序调换所 选取的占空比值,实现占空比的可调控改变。键盘可采用 4*4 的键盘,但是只选取选取其中的 4 个按键,其功能分别为: 频率顺向增大、频率逆向减小、占空比顺向增大、占空比逆向减小。按键每按下 一次,当前频率或占空比转向下一选定的频率或占空比值。 单片机通过输出方波 控制一个数码管的显用, 该数码管显示当前所调换到的频率及占空比, 并把该数 值当做方波发生器的输入频率及输入占空比。 单片机控制该方波发生

9、器以该数值 作为频率和占空比显示方波, 从而得到我们想要频率及占空比的方波。 最后,可 采用示波器观察方波波形。方波发生器的总体硬件组成框图简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到 LED 显示器显示。单片机用到了两个定时器,即定时器 0 与定时器 1 ,分别进行频率 与占空比的定时,两个定时器都是工作在方式 1。计算定时器初值的公式如下:X = 2N - FOSC/12 XT根据计算定时器初值的公式,计算出定时器 0与定时器1所要装入的初值。频率及占空比的显示电路由74374和74245构成的驱动电路和LED数码显示 管组成,利用六个数码管来显示,有四位是用来显示频率的,

10、有两位是显示占空 比的。此电路的键盘由四个功能键(调节频率与占空比的增减)组成,其特殊之处 在于利用外部中断实现键盘扫描。 功能键有两种种状态,一种为正顺序调换,根 据所取值顺向增大的特点,此时为增大调节;另一种为逆顺序调换,同理,此时 为减小调节。频率和占空比各有一组增大及减小的功能键。图2-1方波发生器原理框第3章方波发生器原理、方波发生器的原理与功能方波发生器的总体原理方框图如下图所示:由于系统的要求不高,比较单一,再加上我们是通过定时器来调节频率的,这样仅用键盘、8051芯片及数码显示管便可完成设计,达到所要求实现的功能。键盘控制原理通过键盘的控制,可以实现频率和占空比的变化。 本设计

11、仅仅选用四个数码 管显示频率,并增加了后两个数码管显示占空比的功能。其中,用NEXTS和LAST键控制频率的变化,每按一下NEXT键频率就按着 的顺序正向变化到下一个数值;每按一下LAST键,频率就反向变化到另一个数值。C键和D键控制占空比的变化:每按一下 C键,数码管上的显示数字就按照 的顺序正向变化一个数字,每按一下 D键,数字就反向变化。其对应关系如表1所示:表1频率-占空比-按键对照表频率占空比NEXTLASTCD+上_下+上_下程序框图初始化后单片机产生初值,将初值以动态扫描的方式显示于八段数码管,同时还对键盘进行实时扫描。在扫描后,单片机读取键值,并将键值通过数码管模块显示出来,方

12、波发生器输出该频率,占空比的方波表2频率(HZ -程序代码对照表编辑代码100H00H06H3FH显示频率00101(HZ)编辑代码200H00H5BH3FH显示频率00202(HZ)编辑代码300H00H6DH3FH显示频率00503(HZ)编辑代码400H06H3FH3FH显示频率01004(HZ)表3占空比(% -代码对照表编辑代码15BH3FH显示占空比(%20编辑代码266H3FH显示占空比(%40编辑代码36DH3FH显示占空比(%50编辑代码47DH3FH显示占空比(%60编辑代码57FH3FH显示占空比(%80方波波形显示图1频率100HZ 占空比50%图2频率100HZ 占空

13、比80%图3频率100HZ 占空比20%第4章 系统硬件设计最小单片机系统单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。 因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的 稳定性。常用的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和 单片机的内部电路组成。选取频率为的晶振,微调电容是瓷片电容。89S52单片机的口作为波形输出口,若接示波器,则可通过示波器来观察波 形,是一个矩形波。VCCOU11LXI* *VGNDd=THUr _n MRRst2177232?2577282

14、9303132333435 北37MAX?Hl-C1?T FoPl.L Pl.lPl.2Pl.3 ?1.4Pl.5Pl出Pl.7 RSTRXDTFtTTOT1 WRRDXTAL2 XTAL1VssVccP0 0PO.LPU.2P0.3P0.4P0.5P0.6PD.7 EA ALE pseFTP2.7 PZ百P2.5P2 4P2.3P3.2P2.1P2.078gTon12131415托17181920XFJT波形输出图3-1单片机最小系统此单元电路包括时钟电路、复位电路,具体电路如图所示: 小键盘接口电路方案一:独立式键盘一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接MEGA1的

15、I/O 口。独立式键盘每一按键都需要一根 I/O线,占用MEGA1 的硬件 资源较多。因此独立式键盘只适合按键较少的场合。键盘是一组按键或开关的集 合,键盘接口向计算机提供被按键的代码。特点:使用方便、结构复杂、成本高。方案二:矩阵式键盘我们采用4X 4矩阵式键盘,键盘的行线 X0X3通过电阻接+5V,当键盘没 有键闭合时,所有的行线和列线断开,行线 X0X3均呈高电平,如下图:图52键盘控制LED连接原理图为了节省 I/O 口,使我们的设计能够顺利进行, 我们选用方案二矩阵连 接式键盘。为了能够较为简单的编程,和节省 CPU勺资源,我们采用定时扫描, 每隔一段时间,CPU寸键盘扫描一次,并将

16、键值读入。扫描法是在判定有键按下后逐列(或行)置低电平,同时读入行(或列)状 态,如果行(或列)状态出现非全 1 状态,这时与状态行,列交叉点的键就是所 按下的键。扫描发的特点是逐列(或行)扫描查询。这时,相应的行(或列)应 有上拉电阻接高电平。当键盘上某一键闭合时, 该键所寸应的行线与列线短路, 此时该行线的电平 将由被短路的列线电平所决定。 如果将行线接至单片机的输入端口, 列线接至单 片机的输出端口,则在单片机的控制下使列线 丫0为低电平,其余三根列线丫1、 丫2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、XI、 X2、X3均为高电平,则丫0这一列上没有键闭合,如

17、果读出的行线状态不全为高 电平,则为低电平的行线和 丫0 相交的键处于闭合状态。 如果 丫0这一列没有键闭 合,紧接着使列线 丫1 为低电平, 其余列线为高电平, 用同样的方法检查 丫1 这一 列有无键闭合,如此类推。CPU寸键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以米取定时控制方式,每隔一段时间,CPU寸键盘扫描一次;还可以米用中 断方式,当键盘上有键闭合时,向CPU青求中断,CPU响应键盘发出的中断请求, 对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。图 3-2 小键盘接口电路LED 显示电路方案一: 静态显示方式静态显示方式是指当显示器显

18、示某一字符时, 七段数码管的每段发光二极管 的位选始终被选中。在这种显示方式下,每一个 LED数码管显示器都需要一个8 位的输出口进行控制。 静态显示主要的优点是显示稳定, 在发光二极管导通电流 一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时, CPU 才去执行显示更新子程序,这样既节约了 CPU的时间,又提高了 CPU勺工作效率。 其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显 示器位数的增加,需要的 I/O 口线也将增加。方案二: 动态显示方式所谓动态显示, 就是单片机定时地对显示模块件扫描。 在这种方法中, 显示 模块件分时工作, 每次只能有一

19、个器件显示。 但由于人视觉的暂留现象, 所以仍 感觉所有的器件都在显示。 如许多单片机的开发系统及仿真器上的 6 位显示模块 即采用这类显示方法。 此种显示方法的优点是使用硬件少, 因而价格低。 但它占 用机时长,只要单片机不执行显示程序,就立刻停止显示。由此可见,这种显示 将使计算机的开销增大。由于 8051 单片机本身提供的 I/O 口有限,因此我们选择方案二动态扫 描方式。扫描方式中在轮流点亮扫描过程中, 每位显示器的点亮时间是极为短暂的约1MS尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电能,节省了 I/O口八段数码管

20、原理数码管内部由8个发光发光二极管组成,排成一个 8字,可以组成0到9 数字以及A-F字符的表示形式。图5-3.八段数码管引脚图图5-4.八位数码管原理图表2显示数字及其所对应的代码显示数字1234程序输入数06H5BH4FH66H显示数字5678程序输入数6DH7DH07H7FH显示数字90AB程序输入数6FH3FH77H7CH显示数字CDEF程序输入数39H5EH79H71H第5章系统的软件设计软件是该LED显示屏控制系统的重要组成部分,在系统的软件设计中我们也 才用了模块化设计,将系统的各部分功能编写成子模块的形式, 这样增强了系统 软件的可读性和可移植性。主程序主程序包括系统初始化及显

21、示程序, 是一个死循环系统。其流程图如图所示:开始系统初始化子程序在此程序中,给所有变量赋初值系统初始盘扫描口、选择串行口工作方式SCON0与定时器1的工作方0与定时器1。 显示状态标志位flag、初始频率与占空比及其定时、定时器 式等。初始化时启动了定时器 显示子程序利用分离频率的各位数值图4将各位数值分别图示出来。在程序中利用了频率 显示的高位灭零的方法以致最高位为 0时就不显示,以致显示效果美观化。一共 有五位是显示频率的,若频率小于 10000时,则万位不显示;若频率小于 1000 时,则万位与千位都不显示,依次类推。占空比的显示规律与频率的一样。显示子程序流程图如图4-2所示:键盘扫

22、描程序法。键盘扫描用外中断关于键盘扫描程序的说明:频率可调时,占空比保持原状不变,反之亦然,只能进行单一变量的调节,状态标志flag的初始值为0。(1)频率调节:i=0 时,按键为状态键,此时flag加1,即flag=1,此时进行频率的调节。可以进行加1Hz、减1Hz、加100Hz、减100Hz操作,分别由1号键、2号键、3 号键、4号键控制。如果按住某个键不放,便会执行连续加值或减值操作。这里的频率的最大值为15000Hz,当频率增至最大值时,还按增值键,此时频率会自 动跳到1Hz开始继续增加。同理,频率的最小值为1Hz,当减频率减至最小值时, 再按减频率键,则频率会跳到15000Hz(2)

23、占空比调节:当状态值flag= = 2时,此时频率保持不变,进行占空比调节。只可进行加1与减1操作,分别由1号键、2号键控制。要注意的是占空比的初值是50%,我们定义的ZKB为50 (百分比的分子部 分,为一整数),故调节占空比时,ZKB会进行加1,减1操作。ZKB的最大值为 99,当增到最大值时,便会返回到值 1,如此循环。(3)为了减轻单片机的工作量,在软件设计中采取了这样的措施,在修改参 数确定后才进行定时器初值TC0 TC1的计算。键盘中断处理子程序流程图与键处理流程图分别如图4-3、图4-4所示:EA=0定时中断子程序部中断0键处理YN定时器件断子程序中有定时否为抖中断流程图i=1

24、PL+i=2-PL-流程图分别如图 4-5、图4-6所示键盘扫描,得到键码N(1) 定时器0遇中断执行的操作有复位,启动自身进行频率定时,同时启动 定时器1,进行占空比定时,输出高电平。(2) 定时器1遇中断,停止自身的计时,输出低电平。定时器0中断入定时器1中断入汇编程序TR1=1CISHU EQU 31H重装定时初LOW0 EQU 32H输出高电HIGH0 EQU 33HBILI EQU 34H1f重装定时初1r输出低由,束_丿TR1=0图4-5频率定时器0中断流HL EQU 35H图4-6占空比定时器1中断流UP EQU 16HDOWN EQU 15HCP EQU 0CHDP EQU 0

25、DHORG 0000HLJMP MAINORG 000BHLJMP TIN0ORG 0040HZHONGDUAN:DB 100 50 20 10ZHANKONG:DB 8,6,5,4,2MAIN:MOV TMOD,#02HSETB EASETB ET0MOV PINLV,#00HMOV BILI,#02HLCALL GOONLJMP MLOOPZHUANGRU:RU1:MOV TH0,#06HMOV TL0,#06HJISHU:SETB HLSETB TR0SETBMOV CISHU,#01HMOV DPTR,#ZHANKONGMOV A,BILIMOVC A,A+DPTRMOV LOW0,A

26、MOV B,#10XCH A,BSUBB A,BMOV HIGH0,ARETOUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HLEDPINLVMAP:DB 00H,00H,06H,3FHDB 00H,00H,5BH,3FHDB 00H,00H,6DH,3FHDB 00H,06H,3FH,3FHLEDZHANKONGMAP:DB 7FH,3FHDB 7DH,3FHDB 6DH,3FHDB 66H,3FHDB 5BH,3FHDELAY:MOV R7, #0DELAYLOOP:DJNZ R7, DELAYLOOPDJNZ R6,

27、 DELAYLOOPRETDISPLAYLED:MOV R0, #LEDBUFMOV R1, #6MOV R2, #00100000BLOOP:MOV DPTR, #OUTBITMOV A, #0MOVX DPTR, AMOV A, R0MOV DPTR, #OUTSEGMOV DPTR, #OUTBITMOV DPTR, #OUTBITMOV A, R2MOVX DPTR, AMOV R6, #1CALL DELAYMOV A, R2RR AMOV R2, AINC R0DJNZ R1, LOOPMOV DPTR, #OUTBITMOV A, #0MOVX DPTR, ARETTESTKEY

28、:MOV A, #0MOVX DPTR, AMOV DPTR, #INMOVX A, DPTRCPL AANL A, #0FHRETKEYTABLE:DB 16H, 15H, 14H, 0FFHDB 13H, 12H, 11H, 10HDB 0DH, 0CH, 0BH, 0AHDB 0EH, 03H, 06H, 09HDB 0FH, 02H, 05H, 08HDB 00H, 01H, 04H, 07HGETKEY:MOV P2, DPHMOV R0, #LOW(IN)MOV R1, #00100000BMOV R2, #6KLOOP:MOV A, R1CPL AMOVX DPTR, ACPL

29、ARR AMOV R1, AMOVX A, R0CPL AANL A, #0FHJNZ GOON1DJNZ R2, KLOOPMOV R2, #0FFHSJMP EXITGOON1:MOV R1, AMOV A, R2DEC ARL ARL AMOV R2, A; R2 = (R2-1)*4MOV A, R1MOV R1, #4LOOPC:RRC AJC EXITINC R2DJNZ R1, LOOPCEXIT:MOV A, R2MOV DPTR, #KEYTABLEMOVC A, A+DPTRMOV R2, AWAITRELEASE:MOV DPTR, #OUTBITCLR AMOVX DP

30、TR, AMOV R6, #5CALL DELAYCALL TESTKEYJNZ WAITRELEASEMOV A, R2RETMOV B,#2MOV DPTR, #LEDPINLVMAPMOV B,#4MOV A,PINLVMUL ABMOV R2,AMOV R1,#4GOONLOOP:MOV A,R2MOVC A, A+DPTRMOV R0, AINC R2INC R0DJNZ R1,GOONLOOPGOON2:MOV DPTR,#LEDZHANKONGMAPMOV A,BILIMUL ABMOV R2,AMOV R1,#2GOONLOOP2:MOV A,R2MOVC A, A+DPTRM

31、OV R0, AINC R2INC R0DJNZ R1,GOONLOOP2RETKEYPRESSED:CALL GETKEYMOV B, AXRL A, #DOWNJNZ KEY0MOV A, PINLVXRL A, #0JZ KEY3DEC PINLVSJMP KEY3KEY0:MOV A, BXRL A, #UPJNZ KEY1MOV A, PINLVXRL A, #3JZ KEY3INC PINLVKEY1:MOV A,BXRL A,#CPJNZ KEY2MOV A,BILIXRL A,#0JZ KEY3DEC BILIKEY2:MOV A,BXRL A,#DPJNZ KEY3MOV A

32、,BILIXRL A,#4JZ KEY3INC BILIKEY3: LCALL ZHUANGRUSJMP MLOOP1MLOOP:CALL ZHUANGRUMLOOP1: CALL TESTKEYJNZ KEYPRESSEDCALL GOONCALL DISPLAYLEDSJMP MLOOP1TIN0:PUSH PSWPUSH APUSH BDJNZ CISHU,FANHUICPLCPL HLMOV DPTR,#ZHONGDUANMOV A,PINLVMOVC A,A+DPTRMOV B,#5DIV ABJB HL,HIGHLEVELMOV B,LOW0LJMP FUZHIHIGHLEVEL:MOV B,HIGH0FUZHI:MUL ABMOV CISHU,AFANHUI:POP BPOP APOP PSWRETIEND第 6 章 系统调试与测试结果分析硬件调试硬件的测试首先是检查电路的逻辑线路是否正确, 如果正确再检查原理图的 线路连接是否正确, 电路的布局安排是否合理等等。 软件的测试只要是检查程序 的语法是否正确, 数据结构安排是否妥当, 时序是否正确, 整体流程安排

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论