单片机课程设计 - 占空比可调的方波发生器 下载本文

内容发布更新时间 : 2024/5/18 15:28:10星期一 下面是文章的全部内容请认真阅读。

占空比可调的方波发生器

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

5.1 使用的仪器仪表

单片机 AT89C51 示波器 OSCILLOSCOPE 上拉电阻 RESPACK-8 LED七段码显示器 7SEG-DIGITAL

5.2 系统调试

根据系统设计方案,本系统的调试为软件调试和仿真调试。 5.2.1软件调试

用Keil C编译此次课程设计所用的汇编语言程序,查看是否有语法错误,当没有语法错误之后,编译生成hex文件。 5.2.2仿真调试

软件调试结束后会生成一个hex文件。用Proteus画仿真电路图,画完电路图后将hex文件写入单片机AT89C51,然后仿真[8]。

5.3 测试结果

此次系统设计结果较好,在仿真图上进行仿真时,可以发现,LED显示屏上的初始值为50,示波器输出方波占空比为1/2。按动拨码开关K1,LED显示屏上显示的数值加1,按动拨码开关K2,LED显示屏上显示的数值加5,直到达到99后跳回50。

12

占空比可调的方波发生器

结 论

本次的单片机课程设计较为成功,我采用单片机AT89C51为占空比可调方波发生器的控制核心,通过两个按键实现占空比的不同幅度的调节,按动K1时变化幅度为1,按动K2时按动幅度为5。通过按键控制占空比的比值可在1:99:-99:1之间变化。

系统主要包括单片机最小系统、LED七段码显示、脉冲输出方波、按键电路、时钟电路、复位电路以及示波器显示模块。最终制作出一个可以调节占空比的方波发生器。

系统采用单片机编程的方法来实现,通过编程的方法控制信号的占空比,而且在硬件电路不变的情况下,通过改变程序来实现占空比的变换。此外,由于通过编程的方法产生的是数字信号,因此信号的精度很高,避免了采用单片函数发生器的信号频率不稳定以及采用锁相式频率合成器的电路复杂,频率覆盖系数难以达标等缺点。

通过软硬件的仿真调试,实现了本次设计的基本功能:占空比可调方波发生器。但在实际应用中,功能不仅仅于此,通过对程序的稍做修改,还可以实现频率与占空比都可调的方波,正弦波,三角波等波形的发生器。

13

占空比可调的方波发生器

参考文献

[1] 李正发.电工电子技术基础实验[M].北京:科学出版社,2005.110-115.

[2] 李群芳,张士军,黄建.单片微型计算机与接口技术(第2版)[M].北京:电子工 业出版社.2005.68-76.

[3] 周永金.模拟电子技术与应用[J].西安:陕西国防学院电子教研室.2005.34-

56.

[4] 朱志伟,刘湘云.单片机及嵌入式系统的应用[J].北京:北京航空航天大学出版 社,2010.(06).

[5] 张毅刚.单片机原理及应用[M].高等教育出版社.2003:160-190. [6] 陈文峰.基于虚拟仪器检测系统[J].单片机应用.2005,23(10).78-80.

[7] 边春远,王志强.MCS-51单片机应用开发实用子程序[M].北京:人民邮电出版 社,2005.396-398.

[8] 周润景.基于Proteus的电路与单片机仿真系统设计与仿真[J].北京航空航天 大学出版社.2006.27-32. .

14

占空比可调的方波发生器

附录1 程序

COUNT AS M ORG LJMP

ORG LJMP ORG LJMP START: SETB SETB SETB SETB CLR SETB SETB CLR MOV MOV MOV MOV SETB SETB MOV MOV MOV MOV

MOV TOP:SETB EQU 30H EQU 30H EQU 35H 0000H START 0003H INT00 0013H INT11 EX0

PX0 IT0 EX1 PX1 IT1 EA P1.5

TMOD,#21H TH1,#38H TH0,#0B1H TL0,#0E0H TR0 TR1

DPTR,#TABLE M,#50 P0,#3FH P2,#6DH AS,#0

TR1

14

占空比可调的方波发生器

SETB P1.0 CLR P1.1 MOV TH0,#0B1H MOV TL0,#0E0H

MOV AS,#0

MOV B,#10 MOV A,M MOV B,#100 DIV AB JZ TIME1 MOV B,#10 CLERK:SETB P1.5

LCALL DELAY CLR P1.5 LCALL DELAY SETB P1.5 LCALL DELAY CLR P1.5 MOV M,#50 LCALL SHOW LJMP TOP TIME1:JBC TF1,NEXT

SJMP TIME1 NEXT:INC AS

MOV A,M CJNE A,AS,TIME1 CLR P1.0 SETB P1.1 CLR TR1 TIME0:JBC TF0,TOP

SJMP TIME0 INT00:JNB P1.2,LOOP1

INC M LCALL SHOW RETI

LOOP1:DEC M

LCALL SHOW

15