




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11、课程设计的背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),它最早是被用在工业控制领域,其设计理念是使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。目前单片机渗透到我们生活的各个领域,几乎随处都可以看到单片机的身影。因此,对于工科生而言,学习单片机,必将成为我们在电子行业的一个重要组成部分。由于单片机系统的本身限制,要实现一些功能的扩展,才可以满足生产生活的需要,所以,单片机系统的扩展,成为单片机系统的一个重要的研究方向。我们在日常的学习中,为了能更好的运用以及巩固所学的硬件知识,运用那个课程中所学的理论知识与实践紧密结合,同时,培养我们独立地解决实际问题的能力,和锻炼运用硬件与软件结合的综合能力,学院开设此次课程设计,来满足课程的需要。1.2、课程设计的目的(1)熟练掌握单片机和8253的原理及应用(2)掌握各芯片的逻辑功能及使用方法;(3)了解面包板结构及其接线方法;(4)了解单片机的基本工作原理;(5)熟悉定时器的设计与制作。1.3、课题要求1、使用8253芯片实现方波输出;2、输出的方波频率范围为500Hz到1000Hz,在此频率范围内,可以实现频率可调;3、运用单片机,实现对定时器/计数器8253芯片的控制,来实现方波发生器的功能。2、实验方案2.1、设计思路单片机可以实现方波输出,此课题则需要利用单片机对8253芯片的控制,使芯片工作在特定的工作方式,来实现方波的发生,因此,总结课题的要求,有如下方案可以讨论: 1、利用8086微处理器,控制8253芯片,是芯片工作在工作方式3,来实现方波的输出。利用键盘,来实现对输出方波频率的调节,同时,还要加数码管,用以显示按键输入的新的频率数值。2、使用51系列单片机,控制8253芯片,同样使8253芯片工作在方式3,使8253芯片实现方波的输出,配以数码管和键盘来实现对方波的输出频率调节。3、使用51系列单片机,控制8253芯片使之工作在方式3,实现方波输出。使用AD转换芯片ADC0809,与可变电阻器,给单片机输入频率信号,用以调节频率。4、使用51系列单片机,控制8253芯片,工作在方波发生器方式,使用按钮,对频率实现等步长调节。2.2、方案选择 1、对于方案1,使用8086微处理器实现对8253芯片的控制,对8253芯片的初始化程序如下:MOV DX,04A6H ;控制寄存器MOV AX,36H ;计数器0,方式3OUT DX,AXMOV DX,04A0H MOV AX,7CHOUT DX,AXMOV AX,92HOUT DX,AX ;计数值927CHMOV DX,04A6HMOV AX,76H ;计数器1,方式3OUT DX,AXMOV DX,04A2HMOV AX,32HOUT DX,AXMOV AX,0 ;计数值32HOUT DX,AXMOV DX,04A6HMOV AX,0B6H ;计数器2,方式3OUT DX,AXMOV DX,04A4HMOV AX,04HOUT DX,AXMOV AX,0 ;计数值04HOUT DX,AX由于8086微处理器在生产生活中并不是最为常见的,所以此方案实现起来并不十分方便,因此不采取此方案。2、方案2的原理图如图1下:图1 方案2原理图 原理图中,利4x4矩阵键盘用以输入调节的频率。从而实现频率可调,程序如下:ORG 0BB0HAJMP MAINMAIN:CLR P1.0;使GATE为低电平,禁止计数MOV DPTR,#0FF2BH;送控制寄存器地址到数据指针寄存器MOV A,#36H;送工作方式字到累加器00110111MOVX DPTR,A;工作方式字送到控制寄存器MOV DPTR,#0FF28H;送通道0地址MOV A,#16H ;计数器/定时器初始值MOVX DPTR,A;初始值送入通道0寄存器SETB P1.0;使GATE为高电平,允许计数LOOP:JNB P1.5,SUBFUNC;查询按键是否被按下JNB P1.6,SUBFUNCJNB P1.7,SUBFUNC AJMP LOOP;返回子程序,继续扫描按键SUBFUNC:LCALL SCAN;按键被按下,调用子程序AJMP LOOPSCAN:JNB P1.7,MAIN;复位键按下,执行复位操作JNB P1.6,FADD;频率加操作JNB P1.5,FSUB;频率减操作FADD:MOV R0,#100LOOP1:DJNZ R0,LOOP1MOV SP,#60HSUBB A,#1;频率加步长PUSH ACCAJMP INIT;中断处理FSUB:MOV R0,#100LOOP2:DJNZ R0,LOOP2MOV SP,#60HADD A,#1;频率减步长PUSH ACCAJMP INIT;中断处理INIT:CLR P1.0MOV DPTR,#0FF2BH;中断处理程序MOV A,#36HMOVX DPTR,AMOV DPTR,#0FF28HPOP ACCMOVX DPTR,ASETB P1.0RETEND方案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所示单片机时钟脉冲发生电路以及复位电路8253芯片74LS373地址锁存器AT89C51单片机频率调节电路图4 硬件设计框图硬件设计方案原理如下:1、时钟发生电路由C1、C2和X1(晶振)产生脉冲给XLAT1、XLAT2作为外部振荡信号,复位信号由开关和RC电路构成;由于系统要对外部接口送数据,所以EA端始终为高电平;单片机P0口接8253的数据端口,由于单片机内部无上拉电阻,当作为输入或者输出时应在外部接上拉电阻,因此 P0口需要外接上拉电阻。系统的设计需要使用P0口的高2位作为地址线,同时P0口作为数据线使用,因此,需要加地址锁存器;频率调节电路是用按钮组成的,当按钮按下时,可以对频率进行等步长的递增或者递减,从而实现输出500到1000Hz频率可调的方波。2、硬件设计原理图如方案4原理图所示。3.2、各个部件功能描述1、8253芯片的引脚图及功能(1)8253芯片的引脚图如图5所示图5 8253芯片引脚图(2)8253芯片内部组成部分: 1)数据总线缓冲器(8位、三态、双向)。数据中线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成。2)读/写控制逻辑。读/写控制逻辑接收系统控制总线送来的输入信号,经组合后形成控制信号,对各部分操作进行控制。可接收的控制信号有:片选信号,低电平有效;:读信号,低电平有效;:写信号,低电平信号;:端口选择信号。=00时,选中0通道;=01时,选中1通道;=10时,选中2通道;=11时,选中控制寄存器。8253的输入信号组合功能表如表1所示。表1 8253输入信号组合的功能表功 能0100 0写计数器00100 1写计数器10101 0写计数器20101 1写入控制字寄存器0010 0读计数器00010 1读计数器10011 0读计数器20011 1无操作1禁止使用011无操作3)计数器02。三个完全相同的16位减计数器。每个通各有3个引脚,它们是:CLK0CLK2计数器02的输入时钟脉冲此引脚输入;OUT0OUT2计数器02的输出端;GATE0GATE2计数器02的门控脉冲输入端。4)控制字寄存器。控制字寄存器是一种只写寄存器,在对8253编程时,由CPU用输出指令向它写入控制字,来选定计数器通道,规定各计数器的工作方式,读写格式和数制。其格式如图6所示: BCD1 BCD码计数0 二进制计数 000 方式0 001 方式1 10 方式2 11 方式3100 方式4101 方式5 00 计数器锁存,供CPU读 01 只读/写计数器低字节10 只读/写计数器高字节11 先读/写计数器低字节,后读/写高字节00 选择通道001 选择通道110 选择通道211 无效图6 8253控制字格式控制字的位值及意义如上图。5)8253芯片的工作方式:工作方式0:计数结束中断方式;工作方式1:可编程单稳态输出方式;工作方式2:比率发生器;工作方式3:方波发生器;工作方式4:软件触发选通;工作方式5:硬件触发选通;其中,本课程设计用到的是方式3,方波发生器。工作在方式3 的8253芯片的工作过程参看相关文献。2、AT89C51的引脚及功能(1)AT89C51单片机的引脚图如图7所示图7 AT89C51的引脚图(2)各引脚的功能:1)、主电源引脚和(40脚):主电源接5V(20脚):接地2)、时钟电路引脚XTAL1 和XTAL2 XTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。XTAL1(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.0P0.7(3932脚):访问片外存贮器时作为低八位地址线和八位数据线(复用)。负载能力为8个LSTTL门。 P1.0P1.7(18脚): 8位准双向I/O口。负载能力为3个LSTTL门 P2.0P2.7(2128脚):访问片外存贮器时作为高八位地址线 P3.0P3.7(1017脚):8位准双向I/O口。负载能力为3个LSTTL门。另外还有专门的第二功能 P3口的第二功能 P3.0(10脚): RXD(串行口输入端)P3.1(11脚): TXD(串行口输出端)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):图8 74HC373引脚图(2)74HC373的功能1)输出使能引脚OE和锁存控制引脚LE1脚是输出使能(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为低电平时,三态门导通,允许O0O7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端LE为高电平时,输出O0O7 状态与输入端D0D7状态相同;当LE发生负的跳变时,输入端D0D7 数据锁入O0O7。51单片机的ALE信号可以直接与74HC373的LE连接。2)74HC373与单片机接口D0D7为8个输入端。O0O7为8个输出端。G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。在MCS-51单片机系统中,常采用74HC373作为地址锁存器使用,其连接方法如上图所示。其中输入端1D8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。3.3、程序设计流程图 程序设计流程图如图9所示程序开始8253初始化扫描键盘是否是复位键是否增减判断频率是增是减频率减步长频率减步长图9 程序设计流程图3.4、程序设计根据程序设计的流程图,可以编写如下程序代码:ORG 0000HMAIN: MOV R1,#09HINIT:CLR P1.0;使GATE为低电平,禁止计数MOV DPTR,#0FF2BH;送控制寄存器地址器中MOV A,#36H;送工作方式字MOVX DPTR,A ;工作方式字送到控制寄存器MOV DPTR,#0FF28H;送通道0地址MOV A,R1 ;计数器/定时器初始值MOVX DPTR,A;初始值送入通道0寄存器SETB P1.0;使GATE为高电平,允许计数LOOP:JNB P1.7,MAINJNB P1.6,FADDJNB P1.5,FSUBAJMP LOOP;返回子程序,继续扫描按键FADD:MOV A,R1SUBB A,#01H;频率加步长MOV R1,ALCALL DELAYAJMP INIT;中断处理FSUB:MOV A,R1ADD A,#01H;频率减步长MOV R1,ALCALL DELAYAJMP INIT;处理DELAY:NOPNOPNOPNOPNOPNOPNOPMOV R0,#1DJNZ R0,DELAYNOPRETEND4、仿真与调试4.1、Proteus环境下的仿真调试根据设计的原理图,在Proteus环境中,绘制出仿真电路图,如图10所示图10 仿真电路图4.2、仿真结果正确连接各部件线路,将源程序代码加入Keil编译环境中,编译调试程序,然后将正确编译、连接后生成的HEX文件,加入Proteus环境下的单片机中,是单片机可以仿真实际电路工作。仿真的结果如图11、图12所示图11 输出波形图图12 输出方波的频率5、设计中的问题5.1、硬件连接的若干问题在硬件连接过程中,遇到了一些问题,现做阐述如下:1、由于P0口内部没有上拉电阻,所以在外接数据时要外加上拉电阻,用来保护电路不被损坏;2、地址锁存器74HC373是连接单片机和8253芯片之间的用以锁存地址。这样的设计是由于数据线和地址线使用同样的P0端口,在输出地址时,由于需要对地址保持,从而需要对地址锁存,确保数据的正确传送。3、由于仿真软件中,可以对8253芯片设置时钟频率,故无需外加时钟电路。而在实际电路中,则需要正确接入时钟电路。8253芯片对输入时钟脉冲有着固定的要求,因此,在实际电路中,需要根据手册,正确选择输入时钟信号。5.2、软件调试的若干问题程序设计的流程图列出来以后,就可以按照流程图的思路来编写程序。当源程序编写好了之后,可以进行编译。在编译的时候,遇到一些问题,现做阐述如下:1、由于程序的编写是根据硬件的设计对应而来的,因此,在写程序的时候,要特别注意对各个引脚的操作一定要正确,否则,将会出现不能实现功能的问题。如在对8253芯片写入初始化控制字和通道初值后,需要给8253芯片所选通道的门控信号一个上升沿脉冲,则对应的程序里,就要根据硬件的接法来给相应引脚送出上升沿脉冲。2、由于硬件电路中,调节频率的电路是由按钮组成的,因此,在实现功能的时候,需要对电路加上去抖动环节。在程序编写的时候,可以考虑使用软件去抖动。在加入的去抖动的延时程序中,要注意延时时间选择要适当,保证功能实现的可靠性。3、仿真环境中,需要使用HEX文件,因此,在编译源程序时,必须在编译环境Keil中,在输出选项中,选择创建HEX文件。如果不选择此项,则即使编译成功,也不会产生仿真或者实际电路中所需要的HEX程序文件,不能达到所要实现的功能。4、频率的是变化是按一定的规律的,8253芯片的输出方波的频率与其时钟输入的脉冲的频率以及输入的初始值有关,其规律如下:其中,是芯片的输出频率,是时钟脉冲输入频率,n是输入初始值。6、总结6.1、设计心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巴彦淖尔市2024年数学三上期末学业质量监测模拟试题含解析
- 2025届谢家集区数学三年级第一学期期末复习检测试题含解析
- 2025年工程项目管理深度复习试题及答案
- 2025年中级经济师备考计划与试题及答案
- 水利水电工程续建技术试题及答案
- 2025年经济法考试重点知识分类试题及答案
- 小学生理卫生教育
- 幼儿园节日教育课程介绍
- 农业综合开发利用合同协议书
- 食品饮料生产流程及品质管理预案
- GB/T 7193-2008不饱和聚酯树脂试验方法
- GB/T 26572-2011电子电气产品中限用物质的限量要求
- GB/T 18601-2001天然花岗石建筑板材
- GB/T 16920-2015玻璃平均线热膨胀系数的测定
- GB/T 12008.2-2010塑料聚醚多元醇第2部分:规格
- 零星工程结算审定单
- 公共文化服务保障法解读课件
- 高三一轮复习生物:第8单元 植物生命活动调节思维导图
- 第五章-语言规划与语言调查课件
- 2023年海南省财金集团有限公司招聘笔试模拟试题及答案解析
- 托马斯潘恩课件
评论
0/150
提交评论