分频器的设计_第1页
分频器的设计_第2页
分频器的设计_第3页
分频器的设计_第4页
分频器的设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学微机原理与接口技术课程设计报告书学 号: 课 程 设 计题 目分频信号发生器的分析与设计学 院自动化学院专 业电气工程及自动化班 级姓 名指导教师月日课程设计任务书学生姓名: 专业班级: 题 目: 分频信号发生器的分析与设计 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 设:有一输入方波信号f0(1MHz)。要求输出信号:f1=f0/N,N通过键盘输入。2. 画出简要的硬件原理图,编写程序。 3. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想

2、,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。时间安排:12月26日- 12月28 日 查阅资料及方案设计12月29日- 01 月0 2日 编程01月03日-0 1月07 日 调试程序01月08日- 01月09日 撰写课程设计报告指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录1设计任务及要求2 1.1设计任务2 1.2设计要求22.分频信号发生器原理3 2.1系统原理框图的设计3 2.2分频器原理说明43.系统方案设计与论证5 3.1方案一:基于51单片机的分频器设计53.1.1 51单片机最小系统设计5 3.2方案二:基于8086CPU的

3、分频器的设计83.2.1 8086CPU简介83.2.2 8255并行I/O 芯片93.2.3 8253计数器10 3.3方案比较与选择114软件设计124.1 软件流程图12 4.2源程序13总结体会19参考文献20附录21摘要利用89C51的计数功能,按输出要求,通过计数功能实现分频的功能。采用这种方法,简单实用。原理相对简单,可操作性强。其中还简单的介绍了如何利用8253实现分频的功能。通过对比介绍,突出利用89C51实现分频器的优越性。最优设计方案为外部信号源将信号送给51单片机计数输入引脚T0(P3.4),通过设置内部的16进制计数器的计数初值来达到计数分频的效果,当计数器计满后产生

4、中断,通过I/O产生高低电平来模拟产生方波信号,达到了预期分频的效果。关键词:STC89C51 分频器 计数器 16进制计数器 方波信号分频信号发生器的分析与设计1设计任务及要求1.1设计任务(1)设计一个能对1MHZ 以下的脉冲信号进行分频的器件。(2)分频系数由51单片机的小键盘输入(2-1000)(3)由4位7段数码管显示分频系数1.2设计要求(1)画出简要的硬件原理图,编写程序。(2)撰写课程设计说明书2.分频信号发生器原理2.1系统原理框图的设计依课设要求,需要设计一个对1MHZ 以下的脉冲信号进行分频的器件,分频系数由键盘键入,并用数码管显示分频系数,在方案选取以后,我们决定用89

5、C51的计数功能,来实现分频的功能,所以设计的分频发生器包括89C51单片机,输入信号、输出信号、键盘输入电路、分频显示电路、供电电路。分频信号发生器系统原理框图如图2-1所示:图2-1 原理框图2.2分频器原理说明首先了解到,分频就是受外部周期信号激励的震荡,使得到的频率恰为激励信号频率的纯分数,都叫做分频。所以,只要一个一个周期信号的震荡,理所当然的就想到了计数器。计数器的选取不同,分频频率就不同。每隔一个计数周期输出一次输入信号,就实现了需要的功能。3.系统方案设计与论证3.1方案一:基于51单片机的分频器设计3.1.1 51单片机最小系统设计(1)51单片机根据原理,我们知道需要一个计

6、数器,而AT89C51具有计数功能,所以我就想到了利用AT89C51来完成。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,即单片机。AT89C51单片机引脚图如图3-1所示:图3-1 AT89C51引脚图AT89C51是标准的40引脚双列直插式集成电路芯片,其各个引脚功能如下:VCC:+5V电源。 VSS: 接地。RST:复位信号。当输入的复位信号延续两个周期以上的高电平时即为有效,用来完成单片机的初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信

7、号。P2口:内部有上拉电阻的8位I/O口, 本次设计选用P20作为时钟电路的输出。(2)最小系统原理图单片机最小系统或者称为最小应用系统是指用最少的元件组成的单片机可以工作的系统,对51系列单片机来说最小系统一般应该包括:单片机、晶振电路、复位电路。89C51最小系统原理图如3-2:图3-2 单片机最小系统原理图3.1.2 51单片机分频器原理图输入信号源通过计数输入引脚To(P3.4)将信号送给51单片机,而此时键盘输入分频系数,数码管显示分频系数,而通过输入的分频系数,来设置16进制计数循环的循环初值,以实现控制计数周期的功能。当计数一个周期时,通过I/O端口产生高低电平模拟产生方波信号,

8、实现分频的功能。89C51单片机分频器原理图如图3-3:图3-3 分频器原理图3.2方案二:基于8086CPU的分频器的设计3.2.1 8086CPU简介8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。8086CPU引脚图如图3-4:图3-4 8086CPU引脚图8086CPU由于引脚的使用不同,可工作在两种工作模式下,即最小模式和最大模式。最小模式用于由8086单一微处理器构成的小系统。在这种方式下,由8086CPU直接产生小系统所需要的全部控制信号。器系统特点是:总线控制逻辑直接由8086CPU产生和控制。若有CPU以外的其他模块想占

9、用总线,则可以向CPU提出请求,在CPU允许并响应的情况下,该模块才可以获得总线控制权,使用完后,又将总线控制权还给CPU。 最大模式用于实现多处理机系统,其中,8086CPU被称为主处理器,其他处理器被称为协处理器。在这种方式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信号进行译码产生相应控制信号。最大模式系统的特点是:总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号。协处理器只是协助主处理器完成某些辅助工作,即被动的接受并执行来自

10、主处理器的命令。和8086配套使用的协处理器有两个:一个是专用于数值计算的协处理器8087,另一个是专用于输入输出操作的协处理器8089。8087通过硬件实现高精度整数浮点数运算。8089有其自身的一套专门用于输入输出操作的命令系统,还可带局部存储器,可以直接为输入输出设备服务。增加协处理器,使得浮点运算和输入输出操作不再占用8086时间,从而大大提高了系统的运行效率。部分引脚功能GND:接地线TEST:测试信号,输入低电平有效BHE:为0时,总线高字节允许传送;为1时,总线高字节禁止传送DT/R:数据驱动器数据流向控制信号。当DT/R#1时,数据驱动器进行数据发送;DT/R#0时,数据驱动器

11、进行数据接收DEN:数据使能信号,输出,三态,低电平有效。 用于数据总线驱动器的控制信号。为0时,数据输出有效,与DT/R#配合,用于控制双向数据总线收发器的开与关ALE:地址锁存使能信号,输出,高电平有效。是用来作为地址锁存器的锁存控制信号3.2.2 8255并行I/O 芯片8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分3.2.3 8253计数器8253是可编程计数器/定时器,8

12、253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。让8253工作在方式3,就 可以作为分频器使用。8253 根据输入的分频系数,把从clk 口输入的高频率脉冲进行分频。分频的具体方法是,先输入分频系数,保存起来,开始时,out 输出的是高电平,向wr 输入一个负脉冲后,从

13、该负脉冲上升后,clk 第一个下降沿开始,每过一个clk 输入波形的周期将输入的分频系数减一,当减到分频系数的一半时,out输出低电平,分频系数减到0 时,再输入高电平,并重复,这样,设分频系数为n, out就输出周期为clk周期的n倍,换句话说,就是把clk 方波的频率分成了原来的1/n。8253计数器的引脚图如图3-5:图3-5 8253计数器引脚图 3.2.4 系统原理图根据分频器原理,系统原理图如图3-6所示:图3-6 系统原理3.3方案比较与选择方案一:利用89C51的计数功能,实现分频的功能,电路简单,芯片相对较常用,掌握较熟练,相比之下,更利于完成本次课设。唯一的缺点就是,输出不

14、是那么精确。方案二:用8086作为CPU,利用8253的计数方式3的计数功能,以及8255来实现分频的功能,但是,此方案用到了三个需编程芯片,而这些芯片都相对较复杂。为了更好的完成本次课设,在小组成员讨论后,最终我们选择了方案一。即利用89C51来实现分频的功能。4软件设计4.1 软件流程图软件流程图如图1-1所示:开启To计数器等待计数中断P1.5口取反是否有信号输入设置To计数器计数初值等待键盘输入分频系数开始NY结束初始化51单片机4.2源程序#includesbit beep=P23;sbit dula=P26;sbit wela=P27;unsigned char i=100;uns

15、igned char j,k,temp,key;void delay(unsigned char i) /延时函数定义 for(j=i;j0;j-) for(k=125;k0;k-);unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;display(unsigned char num) P0=tablenum; dula=1; dula=0; P0=0xc0; wela=1; wela=0;void keyscan() /键盘检测函数

16、 while(1) P2=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=0; break; case 0xde: key=1; break; case 0xbe: key=2; break; case 0x7e: key=3; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P1=0xfe; P3=0xfd; te

17、mp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xed: key=4; break; case 0xdd: key=5; break; case 0xbd: key=6; break; case 0x7d: key=7; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P1=0xfc; P3=0xfb; temp=P3; temp=temp&0xf0

18、; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xeb: key=8; break; case 0xdb: key=9; break; case 0xbb: key=10; break; case 0x7b: key=11; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; P1=0xf8; P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(te

19、mp!=0xf0) temp=P3; switch(temp) case 0xe7: key=12; break; case 0xd7: key=13; break; case 0xb7: key=14; break; case 0x77: key=15; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P1=0xf0; void main() TMOD=0x01; /模式设置,00000001,设置定时器0工作在模式1(M1=0,M0=1)。TR0=1; /打开定时器TH0=0Xff; /定时器设置,每隔100微秒发起一次中断。TL0=0Xa4;ET0=1; /开定时器0中断EA=1; /开总中断5总结体会通过为期十余天的微机原理课程设计分频信号发生器的设计与分析,我首先了解到了分频、倍频之间的定义和区别,构思和设计过程中,了解分频原理后,通过原理,很快就制定了这个设计的框图,而下一步,自然而然的就是,通过框图每个区域的功能,选择正确的芯片和电路。最终构思了两个截然不同的方案,通过方案的操作性,复杂度,和效果对比,最终选择了我们的主方案。完成了此次课程设计。在本次课设中,我重新认识了89C51,20个引脚的功能,以及各个引脚组合所能实现的功能。

温馨提示

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

评论

0/150

提交评论