倍频信号发生器的设计.docx

上传人:b****1 文档编号:1655108 上传时间:2022-10-23 格式:DOCX 页数:13 大小:156.98KB
下载 相关 举报
倍频信号发生器的设计.docx_第1页
第1页 / 共13页
倍频信号发生器的设计.docx_第2页
第2页 / 共13页
倍频信号发生器的设计.docx_第3页
第3页 / 共13页
倍频信号发生器的设计.docx_第4页
第4页 / 共13页
倍频信号发生器的设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

倍频信号发生器的设计.docx

《倍频信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《倍频信号发生器的设计.docx(13页珍藏版)》请在冰豆网上搜索。

倍频信号发生器的设计.docx

倍频信号发生器的设计

学号:

课程设计

 

题目

倍频信号发生器的设计

学院

专业

班级

姓名

指导教师

 

课程设计任务书

学生姓名:

专业班级:

指导教师:

工作单位:

自动化学院

题目:

倍频信号发生器的分析与设计

 

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.设:

有一输入方波信号f0(50Hz~100Hz),时钟信号1MHz。

要求输出信号:

f1=2f0,f2=4f0(自动跟踪)。

2.画出简要的硬件原理图,编写程序。

3.撰写课程设计说明书。

内容包括:

摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:

设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

 

时间安排:

12月26日-----12月28日查阅资料及方案设计

12月29日-----1月2日编程

1月3日-----1月7日调试程序

1月8日-----1月9日撰写课程设计报告

 

指导教师签名:

年月日

系主任(或责任教师)签名:

年月

课程设计小结10

参考文献11

本科生课程设计成绩评定表

摘要

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。

在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。

这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。

于是汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。

汇编程序把汇编语言翻译成机器语言的过程称为汇编。

汇编语言对机器语言进行改进的第一步是用一些助记符号代替用0和1描述的某种机器的指令系统,如八进制数、十六进制数以及英语单词的缩写等,称为机器语言的助记符形式。

汇编语言就是在此基础上完善起来的。

它改善了机器语言的可读性、可记性,汇编语言指令与机器语言指令一一对应。

汇编语言是能够利用计算机所有硬件特征且能直接用来控制硬件的一种程序设计语言,是计算机能够提供给用户的最快的且最有效的编程语言。

它要求程序设计者必须掌握计算机的硬件知识,它对那些仅对问题感兴趣的用户无疑是一个极大的障碍。

AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。

这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

关键词:

汇编语言汇编程序汇编流程框图

1硬件电路的设计思路

1.1主电路的设计

intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异。

8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。

工作方式3被称作方波发生器。

任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:

1的方波。

进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。

如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。

这时OUTi端输出的周期为n×CLKi周期,占空比为1:

1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。

如果在操作过程中,GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。

如果要求改变输出方波的速率,则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。

用8086作为系统的CPU,与8253连接作为主电路部分,8253工作在方式3,作为方波发生器,将输入信号f0输入到通道0的GATE端,GATE1和GATE0分别作为二倍频和四倍频方波信号的输出端。

A1A0:

端口选择信号,由CPU输入。

8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。

这4个端口地址由最低2位地址码A1和A0来选择。

CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成,

RD#、WR#——读/写控制命令,由CPU输入,低电平有效。

RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。

WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。

CPU对8253的读/写操作。

数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道,读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。

接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能。

8253的控制字的格式如表1.1所示,8253的引脚图如图1-1所示。

表1.18053控制字的格式

CS#

 RD#

WR#

A1

A0

操作

0

1

0

0

0

写计数器0

0

1

0

0

1

写计数器1

0

1

0

1

0

写计数器2

0

1

0

1

1

写控制计算器

0

0

1

0

0

读计数器0

0

0

1

0

1

读计数器1

0

0

1

1

0

读计数器2

0

0

1

1

1

无操作

1

X

X

X

X

非选中

0

1

1

X

X

无操作

图1-18253引脚图

1.2中断辅助电路的设计

8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器,其主要功能如下:

①一片8259A可以接受并管理8级可屏蔽中断请求,通过9片8259A级联可扩展至64级可屏蔽中断优先控制。

②对每一级中断都可以通过程序来屏蔽或允许。

③在中断响应周期,8259A可为CPU提供相应的中断类型码。

④具有多种工作方式,并可通过编程来加以选择。

单个8259A能管理8级向量优先级中断。

在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。

8259A有多种工作方式,能用于各种系统。

各种工作方式的设定是在初始化时通过软件进行的。

在总线控制器的控制下,8259A芯片可以处于编程和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。

8259A有4个初始化命令字ICW1~ICW4,它们按照一定的顺序送入,用于设置8259A的初始状态。

无论何时,当微处理器向8259A发送一条A0=0和D4=1的命令时,这条命令就译码为ICW1。

A0=0和D4=1是ICW1的标识位!

利用A0=0,D4=1对ICW1寻址。

在对8259A用初始化命令字进行初始化后,就进入工作状态,准备好接收IR输入的中断请求信号。

在8259A工作期间,可通过操作命令字来使它按不同的方式进行操作。

操作命令字是在应用程序内部设置的。

操作命令字共有三个,可以独立使用。

中断辅助电路主要用可编程中断控制器8259A与8086CPU配合实现,8259采用最简单的连接方式,当输入信号到下跳沿时通过8259A向CPU发出中断请求,中断服务程序读出CTC2的计数值。

8259A的引脚图如图1-2所示。

图1-28259A引脚图

1.3存储器设计

HM6116是一种2K*8位的高速静态CMOS随机存取存储器ROM存储器用27256(32K*8),其引脚图如图1-3所示。

RAM存储器用6116(2K*8),引脚图如图1-4所示。

图1-327256引脚图

图1-46116引脚图

1.4总体设计电路图

将主电路、中断辅助电路、储存器电路等部分连接起来,运用AltiumDesigner 软件画出,构成系统原理图,其中,8086CPU工作在最小工作模式下,8253的通道2输入时钟信号,系统实现倍频信号发生的功能。

倍频信号发生系统原理图如图1-5所示。

图1-5倍频系统原理图

2软件部分的设计思路

2.1系统工作原理

由于8253计数器工作在方式2或者方式3时均只能作为分频器,所以要想8253能够实现倍频信号发生的功能,不能将8253按常规方式使用,联想到计数通道门级(GATE)的作用,可以将8253计数器设置为工作方式3,然后将输入信号f0输入通道2的门级,时钟信号正常输入三个计数通道的CLK端。

于是,在f0上升沿的时候通道2正常计数,下降沿的时候,输入信号通过8259向8086CPU发出中断请求,中断服务程序读出CTC2的计数值,设为a,该值等于f0的T/2,由于时钟频率为1MHz,故每个计数脉冲代表1us。

于是可以算出f0的周期为2*(FFFFH-a),于是f1的周期为1/2To,f2的周期为1/4To,将T1,T2分别设置到CTC1和CTC0中,再配合其他的一些器件,即可使得通道1和通道0分别输出两倍频和四倍频信号的设计要求。

2.2初始化程序的设计

开机及复位入口的地址设置为7FF0H,编程时可用ORG伪指令定位。

中断向量表设置在0000:

0000H~0000:

03FFH区间内,可用其中的任何一个类型号,在初始化程序段中对其进行设置(CS:

IP)。

8253的初始化编程内容:

一是首先向控制寄存器写入控制字,以选定计数通道(三个中之一),规定该计数的工作方式和计数方式以及计数初值的长度和装入顺序(初值写入方式);二是向已选定的计数器按控制字的要求写入计数初值,8253在初始化程序段忠全部设置成工作方式3。

其中CTC2的计数初值为:

FFFFH。

中断服务程序需要先锁存CTC2的计数值,再读取CTC2的计数值。

2.3主程序的设计

主要包含以下四点

(1)获得f0的二分之一周期T0/2=FFFFH-CTC2的计数值

(2)获得f1的周期T1=1/2(FFFFH-CTC2的计数值)

(3)获得f2的周期T2=1/4(FFFFH-CTC2的计数值)

(4)将T1,T2分别设置到CTC1和CTC0中。

3程序源码

DATASEGMENT

INTA00DW6000

INTA01DW6001

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

ORG7FF0H

START:

MOVAX,DATA

MOVDS,AX

MOVAL,13H

MOVDX,INTA00

OUTDX,AL

MOVAL,08H

MOVDX,INTA01

OUTDX,AL

MOVAL,01H

MOVDX,INTA01

OUTDX,AL

MOVAL,0B6H

MOVDX,4003H

OUTDX,AL

MOVAX,0FFFFH

MOVDX,4002H

OUTDX,AL

MOVAL,AH

MOVDX,4002H

OUTDX,AL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1