分频器的设计2014-1-10 10.29.8

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
break;
case 0x7e:
key=3;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
P1=0xfe;
}
}
P3=0xfd;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
89C51单片机分频器原理图如图3-3:
图3-3 分频器原理图
3.2.1 8086CPU简介
8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。
8086CPU引脚图如图3-4:
图3-4 8086CPU引脚图
8086CPU由于引脚的使用不同,可工作在两种工作模式下,即最小模式和最大模式。最小模式用于由8086单一微处理器构成的小系统。在这种方式下,由8086CPU直接产生小系统所需要的全部控制信号。器系统特点是:总线控制逻辑直接由8086CPU产生和控制。若有CPU以外的其他模块想占用总线,则可以向CPU提出请求,在CPU允许并响应的情况下,该模块才可以获得总线控制权,使用完后,又将总线控制权还给CPU。最大模式用于实现多处理机系统,其中,8086CPU被称为主处理器,其他处理器被称为协处理器。在这种方式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信号进行译码产生相应控制信号。最大模式系统的特点是:总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号。协处理器只是协助主处理器完成某些辅助工作,即被动的接受并执行来自主处理器的命令。和8086配套使用的协处理器有两个:一个是专用于数值计算的协处理器8087,另一个是专用于输入输出操作的协处理器8089。8087通过硬件实现高精度整数浮点数运算。8089有其自身的一套专门用于输入输出操作的命令系统,还可带局部存储器,可以直接为输入输出设备服务。增加协处理器,使得浮点运算和输入输出操作不再占用8086时间,从而大大提高了系统的运行效率。
最优设计方案为外部信号源将信号送给51单片机计数输入引脚T0(P3.4),通过设置内部的16进制计数器的计数初值来达到计数分频的效果,当计数器计满后产生中断,通过I/O产生高低电平来模拟产生方波信号,达到了预期分频的效果。
关键词:STC89C51 分频器 计数器 16进制计数器 方波信号
分频信号发生器的分析与设计
8253计数器的引脚图如图3-5:
图3-5 8253计数器引脚图
根据分频器原理,系统原理图如图3-6所示:
图3-6 系统原理
3.3方案比较与选择
方案一:利用89C51的计数功能,实现分频的功能,电路简单,芯片相对较常用,掌握较熟练,相比之下,更利于完成本次课设。唯一的缺点就是,输出不是那么精确。
方案二:用8086作为CPU,利用8253的计数方式3的计数功能,以及8255来实现分频的功能,但是,此方案用到了三个需编程芯片,而这些芯片都相对较复杂。
为了更好的完成本次课设,在小组成员讨论后,最终我们选择了方案一。即利用89C51来实现分频的功能。
4.
4.1
软件流程图如图1-1所示:
4.2源程序
#include<reg51.h>
sbit beep=P2^3;
sbit dula=P2^6;
sbit wela=P2^7;
unsigned char i=100;
ALE:地址锁存使能信号,输出,高电平有效。是用来作为地址锁存器的锁存控制信号
3.2.2 8255并行I/O 芯片
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分
图3-1 AT89C51引脚图
AT89C51是标准的40引脚双列直插式集成电路芯片,其各个引脚功能如下:
VCC:+5V电源。 VSS: 接地。
RST:复位信号。当输入的复位信号延续两个周期以上的高电平时即为有效,用来完成单片机的初始化操作。
XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
display(unsigned char num)
{
P0=table[num];
dula=1;
dula=0;
P0=0xc0;
wela=1;
wela=0;
}
void keyscan()//键盘检测函数
{
while(1)
}
}
P3=0xf7;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
3.2.3 8253计数器
8253是可编程计数器/定时器,8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
P1=0xfc;
}
}
P3=0xfb;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P3;
switch(temp)
学 号:
0121105830129
课 程 设 计
题 目
分频信号发生器的分析与设计
学 院
自动化学院
专 业
电气工程及自动化
班 级
电气1107班
姓 名
成涛
指导教师
陈静 教授
2014

01

09Fra Baidu bibliotek

课程设计任务书
学生姓名:成涛专业班级:电气1107班
指导教师:陈静 教授工作单位:自动化学院
题 目:分频信号发生器的分析与设计
3.1方案一:基于51单片机的分频器设计
3.1.1
(1)51单片机
根据原理,我们知道需要一个计数器,而AT89C51具有计数功能,所以我就想到了利用AT89C51来完成。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,即单片机。
AT89C51单片机引脚图如图3-1所示:
3.1.2 51单片机分频器原理图
输入信号源通过计数输入引脚To(P3.4)将信号送给51单片机,而此时键盘输入分频系数,数码管显示分频系数,而通过输入的分频系数,来设置16进制计数循环的循环初值,以实现控制计数周期的功能。当计数一个周期时,通过I/O端口产生高低电平模拟产生方波信号,实现分频的功能。
unsigned char j,k,temp,key;
void delay(unsigned char i)//延时函数定义
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
{
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;
{
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)
1设计任务及要求
1.1设计任务
(1)设计一个能对1MHZ以下的脉冲信号进行分频的器件。
(2)分频系数由51单片机的小键盘输入(2-1000)
(3)由4位7段数码管显示分频系数
1.2设计要求
(1)画出简要的硬件原理图,编写程序。
(2)撰写课程设计说明书
2.分频信号发生器原理
2.1系统原理框图的设计
依课设要求,需要设计一个对1MHZ以下的脉冲信号进行分频的器件,分频系数由键盘键入,并用数码管显示分频系数,在方案选取以后,我们决定用89C51的计数功能,来实现分频的功能,所以设计的分频发生器包括89C51单片机,输入信号、输出信号、键盘输入电路、分频显示电路、供电电路。
部分引脚功能
GND:接地线
TEST:测试信号,输入低电平有效
BHE:为0时,总线高字节允许传送;为1时,总线高字节禁止传送
DT/R:数据驱动器数据流向控制信号。
当DT/R#=1时,数据驱动器进行数据发送;DT/R#=0时,数据驱动器进行数据接收
DEN:数据使能信号,输出,三态,低电平有效。 用于数据总线驱动器的控制信号。为0时,数据输出有效,与DT/R#配合,用于控制双向数据总线收发器的开与关
让8253工作在方式3,就可以作为分频器使用。8253根据输入的分频系数,把从clk口输入的高频率脉冲进行分频。分频的具体方法是,先输入分频系数,保存起来,开始时,out输出的是高电平,向wr输入一个负脉冲后,从该负脉冲上升后,clk第一个下降沿开始,每过一个clk输入波形的周期将输入的分频系数减一,当减到分频系数的一半时,out输出低电平,分频系数减到0时,再输入高电平,并重复,这样,设分频系数为n,out就输出周期为clk周期的n倍,换句话说,就是把clk方波的频率分成了原来的1/n。
{
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;
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.设:有一输入方波信号f0(<1MHz)。要求输出信号:f1=f0/N,N通过键盘输入。
2.画出简要的硬件原理图,编写程序。
3.撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
时间安排:
12月26日----- 12月28 日查阅资料及方案设计
12月29日----- 01 月0 2日编程
01月03日-----0 1月07 日调试程序
01月08日----- 01月09日撰写课程设计报告
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
摘要
利用89C51的计数功能,按输出要求,通过计数功能实现分频的功能。采用这种方法,简单实用。原理相对简单,可操作性强。其中还简单的介绍了如何利用8253实现分频的功能。通过对比介绍,突出利用89C51实现分频器的优越性。
P2口:内部有上拉电阻的8位I/O口, 本次设计选用P2^0作为时钟电路的输出。
(2)最小系统原理图
单片机最小系统或者称为最小应用系统是指用最少的元件组成的单片机可以工作的系统,对51系列单片机来说最小系统一般应该包括:单片机、晶振电路、复位电路。
89C51最小系统原理图如3-2:
图3-2 单片机最小系统原理图
分频信号发生器系统原理框图如图2-1所示:
图2-1 原理框图
2.2分频器原理说明
首先了解到,分频就是受外部周期信号激励的震荡,使得到的频率恰为激励信号频率的纯分数,都叫做分频。所以,只要一个一个周期信号的震荡,理所当然的就想到了计数器。计数器的选取不同,分频频率就不同。每隔一个计数周期输出一次输入信号,就实现了需要的功能。
相关文档
最新文档