分频信号发生器的分析与设计_第1页
分频信号发生器的分析与设计_第2页
分频信号发生器的分析与设计_第3页
分频信号发生器的分析与设计_第4页
分频信号发生器的分析与设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

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

2、软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。时间安排:12月 26日- 12月 28日 查阅资料及方案设计12月 29日- 01月 02日 编程01月 03日- 01月 07日 调试程序01月 08日- 01月 09日 撰写课程设计报告目录1课程设计的目的及意义21.1 课程设计的目的21.2 课程设计的意义22设计任务32.1 课程设计的题目32.2 课程设计的要求32.3 课程设计的时间33总体设计方案43.1 对分频信号发生器的认识43.2 设计的总体思路43.3 原理框图54硬件设计54.1 选用的芯片及其工作原理54.1.1 选用的芯片54.

3、1.2 选用芯片的工作原理84.2原理图85软件设计95.1 软件设计流程图95.2 源程序106比较方案146.1 比较方案的原理146.2 比较方案选用的芯片及其工作原理156.2.1 8255并行I/O 芯片156.2.2 8253计数器166.2.3 LED显示器186.3 原理图186.4 比较方案,得出结论197收获与体会207.1 设计过程遇到的难题207.2 课程设计的收获与体会20参考文献21附录21摘要利用89C51的计数功能,按输出要求,通过计数功能实现分频的功能。采用这种方法,简单实用。原理相对简单,可操作性强。其中还简单的介绍了如何利用8253实现分频的功能。通过对比

4、介绍,突出利用89C51实现分频器的优越性。关键词:STC89C51 分频器 计数器 16进制计数器 方波信号1课程设计的目的及意义1.1 课程设计的目的 课程设计的目的主要是通过设计环节的实际训练,加深学生对该课程基础知识和基本理论的理解和掌握,培养学生综合运用所学知识的能力,使之在理论分析、设计、计算、制图、运用标准和规范、查阅设计手册与资料以及计算机应用能力等方面得到初步训练,促进学生养成严谨求实的科学态度。1.2 课程设计的意义 通过课程设计要进一步锻炼同学们在微型计算机应用方面的实际工作能力。 计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更

5、要强调解决实际问题的能力。同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。2设计任务2.1 课程设计的题目 有一输入方波信号f0(<1MHz)。要求输出信号:f1=f0/N,N通过键盘输入。2.2 课程设计的要求 画出简要的硬件原理图,编写程序2.3 课程设计的时间 12月26日- 12月28日 查阅资料及方案设计 12月29日- 01月02日 编程 01月03日- 01月07日 调试程序 01月07日- 01月09日 撰写课程设计报告3总体设计方案3.1 对分

6、频信号发生器的认识 分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器,即使在输入输出信号均为正弦波时也往往采用模数转换数字分频数模转换的方法来实现分频。正弦分频器除在输入信噪比低和频率极高的场合已很少使用。对于任何一个N次分频器,在输入信号不变的情况下,输出信号可以有N种间隔为2/N 的相位。这种现象是分频作用

7、所固有的,与分频器的具体电路无关,称为分频器输出相位多值性。3.2 设计的总体思路 该设计包括硬件设计和软件设计两部分 1 硬件设计:89C51单片机引脚接法 2 软件设计:激活89C51工作的程序3.3 原理框图图3-1 系统原理框图4硬件设计4.1 选用的芯片及其工作原理4.1.1 选用的芯片 (1) 51单片机简介本次设计选用AT89C51单片机,它是一种8位单片机,该单片机有·4kbytes程序存储器(ROM) (52为8K)、128bytes的数据存储器(RAM) (52有256bytes的RAM)、32条I/O口线·111条指令,大部分为单字节指令、21个专用寄

8、存器、2个可编程定时/计数器·5个中断源,2个优先级(52有6个)一个全双工串行通信口AT89C51单片机引脚图如图3-14所示。图4-1 AT89C51引脚图该单片机是标准的40引脚双列直插式集成电路芯片,其各个引脚功能如下:VCC:+5V电源。VSS: 接地。RST:复位信号。当输入的复位信号延续两个周期以上的高电平时即为有效,用来完成单片机的初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。P2口:内部有上拉电阻的8位I/O口, 本次设计选用P20作为时钟电路的输出。2)最小

9、系统原理图单片机最小系统或者称为最小应用系统是指用最少的元件组成的单片机可以工作的系统,对51系列单片机来说最小系统一般应该包括:单片机、晶振电路、复位电路 图4-2 51单片机最小系统原理图4.1.2 选用芯片的工作原理外部信号源将信号送给51单片机计数输入引脚T0(P3.4),通过键盘输入分频系数,分频系数送数码管显示,根据输入的分频系数来设置内部的16进制计数器的计数初值来达到计数分频的效果,当计数器计满后产生中断,通过I/O产生高低电平来模拟产生方波信号,达到预期分频的效果。4.2 原理图 图4-3 单片机构成分频器的原理图5软件设计5.1 软件设计流程图 图5-1 程序流程图 5.2

10、 源程序#include<reg51.h>sbit beep=P23;sbit dula=P26;sbit wela=P27;unsigned char i=100;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, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;di

11、splay(unsigned char num) P0=tablenum; dula=1; dula=0; P0=0xc0; wela=1; wela=0;void keyscan() /键盘检测函数 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

12、=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) 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; wh

13、ile(temp!=0xf0) 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) case 0xeb: key=8; break; case 0xdb: key=9; break; case 0xbb: key=10; break; case 0x7b: key=11; break; while(temp!=0

14、xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; P1=0xf8; P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=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

15、&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; /开总中断6比较方案6.1 比较方案的原理 分频器就是将输出频率通过器件的作用变为输入频率的1/N。要想达到分频的目的,需要一个降数值输入的借口,设计要求中需要的是二进制逻辑开关;同时考虑到硬件芯片接口问题,这里我们用8255来

16、完成。利用8253芯片在方式3下的工作特点来实现硬件分频。 在整个分频过程中,同样要求有一个输出接口,设计需求中需要用LED完成。这个输出数值是分频器的分频系数。所以本设计中需要至少两个可编程接口芯片,输入频率需要产生,输出频率需要显示。6.2 比较方案选用的芯片及其工作原理6.2.1 8255并行I/O 芯片1)简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与

17、主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分2)引脚功能:RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许825

18、5通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。3)工作方式8255有三种基本的工作方式为: 方式0基本的输入输出,方式1选通输入输出方式, 方式2双向传送方式。(1) 工作方式0(基本输入输出方式)功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高

19、四位和低四位),C口的两个部分也可分别定义为输入或输出。(2) 工作方式1(选通输入输出方式)功能:A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,组成B组。在方式1下,C口的某些位被占用。(3) 工作方式2 (双向输入输出方式)功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。图6-1 8255A 引脚图6.2.2 8253计数器intel8253是NMOS工艺制成的可编程计数器/定时器, 8253内部有三个计数器,分别称为计数器0、计

20、数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的可编程定时器/计数器8253 可以作为分频器使用。让其工作在方式3,在这种方式下,8253 可以根据输入的分频系数,把从clk 口输入的高频率脉冲进行分

21、频。分频的具体方法是,先输入分频系数,保存起来,开始时,out 输出的是高电平,向wr 输入一个负脉冲后,从该负脉冲上升后,clk 第一个下降沿开始,每过一个clk 输入波形的周期将输入的分频系数减一,当减到分频系数的一半时,out输出低电平,分频系数减到0 时,再输入高电平,并重复,这样,设分频系数为n, out就输出周期为clk周期的n倍,换句话说,就是把clk 方波的频率分成了原来的1/n。 图6-2 8253引脚图 注:8253需要一个频率发生器为之提供固定的频率从而进行分频工作。这个工作由频率发生器74LS16来完成。它可以产生固定的脉冲频率,并可以改变发生脉冲频率的值。6.2.3

22、LED显示器 LED显示器在本设计中作为输出频率的观察,需要以段位码判断各位输出的二进制数,并且做出相应的输出。从而验证设计接口实验是否成空。 LED是一种当外加电压超过额定电压发生击穿,并因此产生可见光的器件。这种数码管是由7段或者8段(含有小数点)笔画显示器组合成的一个字符形成的。当段组合发亮时,则可以显示一个数码或字符。7段代码的各位用a-g或DP的输入.。LED分为共阴极和共阳极。两种情况下的字符编码不一样。6.3 原理图详细设计: 首先,输入数值,之前要做的,是初始化8255芯片。使其以PC口为输入,PB口输出段选,PA口输出位选,控制字为10001001b。然后输入PC口的值,判断

23、PC口的第八位是否等于1,如果等于1,则设置初值,否则循环,继续判断PC口的第八位。这样,把PC7扳倒1,就表示开关的数值写到内存力了。  前面已经说道了,PC口的前四位,即PC0,PC1,PC2,PC3是用二进制表示要输入的数,第五六位,即PC4,PC5用来表示这个数是真个四位十进制数的哪一位,所以,要把这两个数分开,分别放到两个寄存器中。这里用到的方法是,先把PC口的数字送到AL中,然后把AL复制到AH,它们组成了AX。然后把AX和二进制0000111100110000进行与运算,这样,AH中保留了原先PC口的前四位数据,AL中保留了PC口的第五六位数,这样,就可以把AH中的数按

24、照AL的数值把它放到四位十进制计数值的相应的位。这里说下PC6即PC口第七位的作用,这一位是用来显示数据的。把PC6扳倒1,则调用显示函数。  输入完数据以后,计数值的四位数字还是分散的四个数,要把它们结合成一个四位数。之前输入的四个数分别在以BEGINT为首地址的四个单元内,这里调用together函数,先去第四位数(左边第一位数),把它乘以10,再加上第三位数,然后把它们的和乘以10,再加上第二位数,再乘以10,再加上第一位数,这样就成了一个整的十进制数number。在程序设计中,这个过程用三个循环来实现,具体见后面的程序。 上面的步骤完成后,8253计时器开始分频,要

25、分两次,先使用计数器T0,把它进行初始化,让它工作再模式3,BCD码计数,控制字为00110101B(35),然后输入计数初值number,这是第一次分频。然后初始化计数器T1,也让其工作再模式3,BCD码计数,然后输入计数初值,完成第二次分频。分频之后,判断PC6是否等于1,如果等于0,从新读取计数初值。  前面提到了数码管显示子程序,这里介绍它执行的过程。前面再PC口输入的数据,一一存到以BEGINT为首地址的四个单元内。再这里,按位一次再LED数码管上显示这四个数。先显示第一位(右边第一位),此时位选吗位11111110,(要显示右边第二位就是11111101,依次类推)由PA口送出。程序将BEGINT的第一位数据和数码管显示数组相结合,生产相应的段选码,送到PB口进行段选,即再数码管显示屏上的第一位显示BEGINT的第一位数字。然后,将位选吗循环左移一位,来显示第二位数。这样,循环执行,知道显示四个数。 图6-3 8086CPU构成的分频器系统原理图6.4 比较方案,得出结论 C51芯片方案简洁易懂,而8086的方案选用芯片较多且较复杂,从经济角度出发,也是前者更优。 7收获与体会7.1 设计过程遇到的难题对单片机学习和认识尚比较肤浅,设计过程中编程环节费劲脑

温馨提示

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

评论

0/150

提交评论