定时器实现方波发生器Word文档格式.docx
- 文档编号:19144618
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:17
- 大小:154.13KB
定时器实现方波发生器Word文档格式.docx
《定时器实现方波发生器Word文档格式.docx》由会员分享,可在线阅读,更多相关《定时器实现方波发生器Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
计数器1,方式3
MOVD*,04A2H
MOVA*,32H
MOVA*,0;
计数值32H
MOVA*,0B6H;
计数器2,方式3
MOVD*,04A4H
MOVA*,04H
计数值04H
由于8086微处理器在生产生活中并不是最为常见的,所以此方案实现起来并不十分方便,因此不采取此方案。
2、方案2的原理图如图1下:
图1方案2原理图
原理图中,利4*4矩阵键盘用以输入调节的频率。
从而实现频率可调,程序如下:
ORG0BB0H
AJMPMAIN
MAIN:
CLRP1.0;
使GATE为低电平,制止计数
MOVDPTR,*0FF2BH;
送控制存放器地址到数据指针存放器
MOVA,*36H;
送工作方式字到累加器00110111
MOV*DPTR,A;
工作方式字送到控制存放器
MOVDPTR,*0FF28H;
送通道0地址
MOVA,*16H;
计数器/定时器初始值
初始值送入通道0存放器
SETBP1.0;
使GATE为高电平,允许计数
LOOP:
JNBP1.5,SUBFUNC;
查询按键是否被按下
JNBP1.6,SUBFUNC
JNBP1.7,SUBFUNC
AJMPLOOP;
返回子程序,继续扫描按键
SUBFUNC:
LCALLSCAN;
按键被按下,调用子程序
AJMPLOOP
SCAN:
JNBP1.7,MAIN;
复位键按下,执行复位操作
JNBP1.6,FADD;
频率加操作
JNBP1.5,FSUB;
频率减操作
FADD:
MOVR0,*100
LOOP1:
DJNZR0,LOOP1
MOVSP,*60H
SUBBA,*1;
频率加步长
PUSHACC
AJMPINIT;
中断处理
FSUB:
LOOP2:
DJNZR0,LOOP2
ADDA,*1;
频率减步长
INIT:
CLRP1.0
中断处理程序
MOVA,*36H
MOV*DPTR,A
MOVDPTR,*0FF28H
POPACC
SETBP1.0
RET
END
方案2原理图中是数码管局部未画出。
由于使用此方案,系统组成复杂,不利于实验的调试。
因此不使用此方案。
3、方案3中的方波实现局部与方案2一样,区别在于频率调节局部,方案2是利用键盘直接键入新的频率值,而本方案是利用模拟信号输入来控制频率的改变,由于模拟信号连续,因此可以实现在要求的频率*围内连续调节。
其原理图如图2所示:
图2方案3原理图
在本方案中,参加了AD转换环节,是系统的复杂性大大提高,不利于实际的实现,因此,也不采用此方案。
4、方案4的方波实现与前者一样,区别是频率调节环节的变化。
此方案中,只用了三个按钮来实现频率的调节。
原理图如图3所示
图3方案4原理图
在此方案中,使用按钮来控制频率的改变,这样的设计,使系统得到了大大的简化,同时,硬件软件的实现十分简便,因此,在此课程设计中,选用方案4来完成课题的设计。
2.3、方案可行性研究
相比之下,方案4有着比拟明显的优势。
因为方案4的硬件设计简单,频率的调节是用按钮实现,同时,8253芯片与单片机的接口使用的是74HC373地址锁存器,可以在送地址的时候保持地址有效电平,使地址与数据的传输分开。
而且对于方案4的软件的设计,只需要有初始化8253芯片,以及对按键的处理程序即可,因此可行性最高。
3、课题方案阐述
3.1、硬件设计
硬件的设计方框图如图4所示
图4硬件设计框图
硬件设计方案原理如下:
1、时钟发生电路由C1、C2和*1〔晶振〕产生脉冲给*LAT1、*LAT2作为外部振荡信号,复位信号由开关和RC电路构成;
由于系统要对外部接口送数据,所以EA端始终为高电平;
单片机P0口接8253的数据端口,由于单片机内部无上拉电阻,当作为输入或者输出时应在外部接上拉电阻,因此P0口需要外接上拉电阻。
系统的设计需要使用P0口的高2位作为地址线,同时P0口作为数据线使用,因此,需要加地址锁存器;
频率调节电路是用按钮组成的,当按钮按下时,可以对频率进展等步长的递增或者递减,从而实现输出500到1000Hz频率可调的方波。
2、硬件设计原理图如方案4原理图所示。
3.2、各个部件功能描述
1、8253芯片的引脚图及功能
〔1〕8253芯片的引脚图如图5所示
图58253芯片引脚图
〔2〕8253芯片内部组成局部:
1〕数据总线缓冲器(8位、三态、双向)。
数据中线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成。
2〕读/写控制逻辑。
读/写控制逻辑接收系统控制总线送来的输入信号,经组合后形成控制信号,对各局部操作进展控制。
可接收的控制信号有:
:
片选信号,低电平有效;
读信号,低电平有效;
写信号,低电平信号;
端口选择信号。
=00时,选中0通道;
=01时,选中1通道;
=10时,选中2通道;
=11时,选中控制存放器。
8253的输入信号组合功能表如表1所示。
表18253输入信号组合的功能表
功能
1
00
写计数器0
01
写计数器1
10
写计数器2
11
写入控制字存放器
读计数器0
读计数器1
读计数器2
11
无操作
×
制止使用
3〕计数器0~2。
三个完全一样的16位减计数器。
每个通各有3个引脚,它们是:
CLK0~CLK2计数器0~2的输入时钟脉冲此引脚输入;
OUT0~OUT2计数器0~2的输出端;
GATE0~GATE2计数器0~2的门控脉冲输入端。
4〕控制字存放器。
控制字存放器是一种只写存放器,在对8253编程时,由CPU用输出指令向它写入控制字,来选定计数器通道,规定各计数器的工作方式,读写格式和数制。
其格式如图6所示:
BCD
图68253控制字格式
控制字的位值及意义如上图。
5〕8253芯片的工作方式:
工作方式0:
计数完毕中断方式;
工作方式1:
可编程单稳态输出方式;
工作方式2:
比率发生器;
工作方式3:
方波发生器;
工作方式4:
软件触发选通;
工作方式5:
硬件触发选通;
其中,本课程设计用到的是方式3,——方波发生器。
工作在方式3的8253芯片的工作过程参看相关文献。
2、AT89C51的引脚及功能
〔1〕AT89C51单片机的引脚图如图7所示
图7AT89C51的引脚图
〔2〕各引脚的功能:
1〕、主电源引脚
和
〔40脚〕:
主电源接+5V
〔20脚〕:
接地
2〕、时钟电路引脚*TAL1和*TAL2
*TAL2〔18脚〕:
接外部晶体振荡器的一端。
片内是一个振荡电路反相放大器的输出端。
*TAL1〔19脚〕:
接外部晶体振荡器的另一端。
片内是一个振荡电路反相放大器的输入端
3〕、控制信号RST/
、ALE/
、
/
RST/
〔9脚〕
复位端。
高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。
该引脚有复用功能,
为备用电源输入端,防止主电源掉电。
ALE/
〔30脚〕
地址锁存信号端。
片外存贮器时,ALE作低八位地址的锁存控制信号。
平时不片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。
ALE端负载驱动能力为8个TTL门电路。
该引脚有复用功能,为片内程序存贮器编程〔固化〕的编程脉冲输入。
〔29脚〕
片外程序存贮器读选通信号端。
负载能力为8个TTL门电路。
〔31脚〕
端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。
端接低电平时,CPU仅从片外程序存贮器取指令。
为片内程序存贮器编程时的编程电压。
4〕输入/输出引脚P0、P1、P2和P3口
P0.0~P0.7〔39~32脚〕:
片外存贮器时作为低八位地址线和八位数据线〔复用〕。
负载能力为8个LSTTL门。
P1.0~P1.7〔1~8脚〕:
8位准双向I/O口。
负载能力为3个LSTTL门
P2.0~P2.7〔21~28脚〕:
片外存贮器时作为高八位地址线
P3.0~P3.7〔10~17脚〕:
8位准双向I/O口。
负载能力为3个LSTTL门。
另外还有专门的第二功能
P3口的第二功能
P3.0〔10脚〕:
R*D〔串行口输入端〕
P3.1〔11脚〕:
T*D〔串行口输出端〕
P3.2〔12脚〕:
/INT0〔外部中断0输入端〕
P3.3〔13脚〕:
/INT1〔外部中断1输入端〕
P3.4〔14脚〕:
T0〔定时器/计数器0外部输入端〕
P3.5〔15脚〕:
T1〔定时器/计数器1外部输入端〕
P3.6〔16脚〕:
/WR〔片外数据存贮器写选通信号输出端〕
P3.7〔17脚〕:
/RD〔片外数据存贮器读选通信号输出端〕
3、74HC373的引脚及功能
〔1〕74HC373的引脚图〔图8〕:
图874HC373引脚图
〔2〕74HC373的功能
1〕输出使能引脚OE和锁存控制引脚LE
1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(O0)、5(O1)、6(O2)、9(O3)、12(O4)、15(O5)、16(O6)、19(O7)全部呈现高阻状态(或者叫浮空状态);
当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(O0)、5(O1)、6(O2)、9(O3)、12(O4)、15(O5)、16(O6)、19(O7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。
当三态门使能信号OE为低电平时,三态门导通,允许O0~O7输出,OE为高电平时,输出悬空。
当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端LE为高电平时,输出O0~O7状态与输入端D0~D7状态一样;
当LE发生负的跳变时,输入端D0~D7数据锁入O0~O7。
51单片机的ALE信号可以直接与74HC373的LE连接。
2〕74HC373与单片机接口
D0~D7为8个输入端。
O0~O7为8个输出端。
G是数据锁存控制端;
当G=1时,锁存器输出端同输入端;
当G由“1〞变为“0〞时,数据输入锁存器中。
OE为输出允许端;
当OE=“0〞时,三态门翻开;
当OE=“1〞时,三态门关闭,输出呈高阻状态。
在MCS-51单片机系统中,常采用74HC373作为地址锁存器使用,其连接方法如上图所示。
其中输入端1D~8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。
输出允许端OE接地,表示输出三态门一直翻开。
3.3、程序设计流程图
程序设计流程图如图9所示
图9程序设计流程图
3.4、程序设计
根据程序设计的流程图,可以编写如下程序代码:
ORG0000H
MOVR1,*09H
CLRP1.0;
MOVDPTR,*0FF2BH;
送控制存放器地址器中
MOVA,*36H;
送工作方式字
MOV*DPTR,A;
MOVDPTR,*0FF28H;
MOVA,R1;
SETBP1.0;
JNBP1.7,MAIN
JNBP1.6,FADD
JNBP1.5,FSUB
AJMPLOOP;
MOVA,R1
SUBBA,*01H;
MOVR1,A
LCALLDELAY
AJMPINIT;
ADDA,*01H;
处理
DELAY:
NOP
NOP
MOVR0,*1
DJNZR0,DELAY
END
4、仿真与调试
4.1、Proteus环境下的仿真调试
根据设计的原理图,在Proteus环境中,绘制出仿真电路图,如图10所示
图10仿真电路图
4.2、仿真结果
正确连接各部件线路,将源程序代码参加Keil编译环境中,编译调试程序,然后将正确编译、连接后生成的HE*文件,参加Proteus环境下的单片机中,是单片机可以仿真实际电路工作。
仿真的结果如图11、图12所示
图11输出波形图
图12输出方波的频率
5、设计中的问题
5.1、硬件连接的假设干问题
在硬件连接过程中,遇到了一些问题,现做阐述如下:
1、由于P0口内部没有上拉电阻,所以在外接数据时要外加上拉电阻,用来保护电路不被损坏;
2、地址锁存器74HC373是连接单片机和8253芯片之间的用以锁
存地址。
这样的设计是由于数据线和地址线使用同样的P0端口,在输出地址时,由于需要对地址保持,从而需要对地址锁存,确保数据的正确传送。
3、由于仿真软件中,可以对8253芯片设置时钟频率,故无需外加时钟电路。
而在实际电路中,则需要正确接入时钟电路。
8253芯片对输入时钟脉冲有着固定的要求,因此,在实际电路中,需要根据手册,正确选择输入时钟信号。
5.2、软件调试的假设干问题
程序设计的流程图列出来以后,就可以按照流程图的思路来编写程序。
当源程序编写好了之后,可以进展编译。
在编译的时候,遇到一些问题,现做阐述如下:
1、由于程序的编写是根据硬件的设计对应而来的,因此,在写程序的时候,要特别注意对各个引脚的操作一定要正确,否则,将会出现不能实现功能的问题。
如在对8253芯片写入初始化控制字和通道初值后,需要给8253芯片所选通道的门控信号一个上升沿脉冲,则对应的程序里,就要根据硬件的接法来给相应引脚送出上升沿脉冲。
2、由于硬件电路中,调节频率的电路是由按钮组成的,因此,在实现功能的时候,需要对电路加上去抖动环节。
在程序编写的时候,可以考虑使用软件去抖动。
在参加的去抖动的延时程序中,要注意延时时间选择要适当,保证功能实现的可靠性。
3、仿真环境中,需要使用HE*文件,因此,在编译源程序时,必须在编译环境Keil中,在输出选项中,选择创立HE*文件。
如果不选择此项,则即使编译成功,也不会产生仿真或者实际电路中所需要的HE*程序文件,不能到达所要实现的功能。
4、频率的是变化是按一定的规律的,8253芯片的输出方波的频率与其时钟输入的脉冲的频率以及输入的初始值有关,其规律如下:
其中,
是芯片的输出频率,
是时钟脉冲输入频率,n是输入初始值。
6、总结
6.1、设计心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术开展的日新日异,单片机已经成为当今计算机应用中空前活泼的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回忆起此次单片机课程设计,至今我仍感慨颇多,确实,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不够深刻,掌握得不够结实,比方说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
6.2、致谢
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在教师的辛勤指导下,终于游逆而解。
同时,在教师的身上我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所有同学和各位指导教师再次表示忠心的感谢!
7、参考文献
1、*迎新?
单微型计算机原理、应用及接口技术?
国防工业1993
2、戴梅萼,史嘉权?
微型计算机技术及应用?
清华大学2003
3、仇玉章?
32位微型计算机原理与接口技术?
清华大学2001
4、*学坚,周斌?
微型计算机原理及应用?
清华大学1998
5、李博成,侯伯亨?
电子科大1998
6、邓元庆,贾鹏?
数字电路与系统设计?
电子科大2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时器 实现 方波 发生器