波特率发生器课程设计_第1页
波特率发生器课程设计_第2页
波特率发生器课程设计_第3页
波特率发生器课程设计_第4页
波特率发生器课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计(论文)课程名称: 微机原理与接口技术 一、课程设计(论文)题目波特率发生器设计二、本次课程设计(论文)应达到的目的通过本次课程设计,加深对微机原理基本知识的理解,逐步掌握Proteus的操作方法,并能,从而进一步提高综合运用知识的能力,同时通过实习掌握书写课程设计报告书的步骤和方法。三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)1、 分析并设计波特率发生器,并测试结果的准确性;2、设计电路,并在Proteus中进行仿真;3、运用emu8086实现方波发生器的编程和设计;4、系统综合分析,分析不同频率下的波特率发生器电路四、 应收集的资料及主要参考文

2、献:1 陈红卫.微型计算机基本原理与接口技术.第三版.北京:科学出版社,2015.2482572 顾晖,梁惺彦.微机原理与接口技术:基于8086和Proteus仿真.第一版.北京:电子工业出版社,2011.2672713 宋杰.微机原理与接口技术课程设计.第一版.北京:机械工业出版社,2005.6771五、审核批准意见教研室主任(签字)摘要在串行通信中,无论是发送或者接收数据,都必须有时钟信号对传送的数据进行定位和同步控制。发送时,待发送数据由发送缓冲器存入并串移位寄存器,然后再发送时钟的作用下通过通信线路逐位传输;接受时,在接收时钟的作用下将传输线上的数据逐位移入并串移位寄存器,组合完毕的数

3、据存入接受缓冲器.显然,波特率对于收发双方之间的数据传输的同步有着十分重要的作用。本次课设通过对波特率发生器的原理以及构成学习并分析,设计一个波特率发生器。本设计主微处理器8086与8253芯片工作方式的学习与应用,并应用Proteus仿真软件和emu8086,软件编程与硬件仿真相结合的方式模拟仿真波特率发生器。利用波特率与方波频率之间的转换关系,进而转换成为方波的显示,对汇编程序进行不同的调试,产生不同频率的方波,即得出不同的波特率仿真结果。对比理论分析与仿真结果,得出符合标准的波特率。 关键词:波特率,方波,Proteus,8253芯片 In serial communications,

4、either send or receive data, it must have a clock signal for data transfer and synchronization positioning control. When sending data to be transmitted and stored in the transmit buffer serial shift register, and then send the communication line-by-bit transmission through the role of the clock; acc

5、ept, receive clock at the role of the data by the transmission line and shift into serial shift register, a combination of complete data into the receiving buffer. Obviously, the role of the baud rate for receiving data synchronization between the two sides have very important. The course set by the

6、 principle of the baud rate generator and constitutes learning and analyzing, designing a baud rate generator. In this paper, the main microprocessor and the learning and application of Intel8253 , and application Proteus simulation software and emu8086, software programming and hardware emulation c

7、ombination of simulation baud rate generator. Baud using a conversion relationship between the frequency and the square wave, and then converted into a square wave display on the assembler debugging differently, resulting in different frequency square wave, which arrive at different baud rates simul

8、ation results. Comparison of theoretical analysis and simulation results obtained standard baud rates.Key Words:Baud,square wave,Proteus,Intel 8253目录1.绪论11.1 Proteus仿真介绍11.2汇编语言11.3 实现功能12.硬件设计原理32.1 芯片8086简介32.2 芯片8253简介42.2.1主要特性42.2.2主要功能52.3构建译码电路72.4绘制应用电路83. 软件设计原理93.1 计数初值和通道地址93.2程序和流程图104.系

9、统仿真调试115.心得体会14参考文献151.绪论1.1 Proteus仿真介绍Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它运行于Windows操作系统上,可以仿真、分析各种模拟电路与集成电路,Proteus提供了大量模拟与数字元器件、外部设备和各种虚拟仪器,特别是它具有对常用控制芯片及其外围电路组成的综合系统的交互仿真共能。此次在课程设计之初,我们先是对电路的功能进行必要而完善的分析,进行对电路连接和程序代码的确定以选择出一种最适合本次课题的方案。在达到课题要求的前提下保证最

10、经济、最方便、最优化的设计策略。然后根据电路的功能和元器件的性能进行电路设计,同时调整电路的连接和布局以达到资源最优配置,最后运用emu8086软件编译源代码,通过Proteus仿真实现波特率发生器。1.2汇编语言汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程

11、序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。1.3 实现功能 波特(Baud,单位符号:Bd)这一单位是以法国电讯工程师让·莫里斯·埃米尔·博多(1845-1903)的姓氏来命名的,他是电传与博多式电报机的发明人1,数位通信的先驱之一。在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。即波特率是指数据信号对载波调制速率,它用单位时间内载波调制状态改变次数来表示。每秒钟通过信道传输的信息量称为位传输速率,简称比特率。比特率表示有效数据的传输速率。波特率与比特率的关系是比特率=波

12、特率×单个调制状态对应的二进制位数。波特率是传输通道频宽的指标。波特率有时候会同比特率混淆,实际上后者是对信息传输速率(传信率)的度量。波特率可以被理解为单位时间内传输符号的个数(传符号率),通过不同的调制方法可以在一个符号上负载多个比特信息。每秒钟通过信道传输的信息量称为位传输速率,也就是每秒钟传送的二进制位数,简称比特率。比特率表示有效数据的传输速率,用b/s 、bit/s、比特/秒,读作:比特每秒。波特率是指单位时间内传送二进制数据的位数,以b/s或bps为单位,成为波特,它是衡量串行传输速度快慢的重要指标和参数。计算机通信中常用的波特率有110、300、600、1200、24

13、00、4800、9600、19200b/s。 本次实验的设计目的归纳为:1.掌握波特率发生器电路的设计方法;2.掌握emu8086汇编软件的使用和利用Proteus软件进行电路仿真;3.得到不同波特率下的方波;4.程序设计和电路连接的优化达到技术指标。 2.硬件设计原理本实验以8253为基础,实现初始振荡频率1.1932MHz,利用8253输出频率为1Hz的波形,以控制LED的闪烁频率。8253的使能信号由基本I/O电路给定。该电路用到的仿真原件信息表如表1-1所示。表1-1 波特率发生器实验电路原件清单元件名称所属类所属子类功能说明8086Microprocessor ICsi86Famil

14、y微处理器74LS373TTL 74LS seriesFlip-Flop&Latches三态锁存器74LS02TTL 74LSseriesGate & Inverters与非门74154TTL 74seriesDecoders4-16译码器74273TTL 74seriesFlip-Flop&LatchesD型触发器7427TTL 74seriesGate & Inverters3输入与非门LED-GOptoelectricsLEDsLED发光管NOTSimulator PrimitivesGates非门8253Microprocessor ICs定时/计数器2

15、.1 芯片8086简介Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久,Intel 8088就推出了,拥有一个外部的8位数据总线,允许便宜的芯片用途。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。Intel 808

16、6拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。Intel 8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址。图2-1 8086芯片引脚图2.2 芯片8253

17、简介可编程定时/计数器Intel8253是Intel公司为它的处理器系列设计的一种外围电路芯片,它可以通过软件方式设定不同的工作方式,产生各种形式的时间延时信号,以满足各类系统提出的不同时间要求。主要特性单一的+5V电源,N沟道MOS工艺制成。芯片内包含三个独立的16位剑法计数器,每个计数器可独立作定时/计数器使用,技术频率最高可达2MHz。主要功能计数功能:Intel8253做计数功能时,要求装入计数器计数初值,芯片中的GATE端变为高电平,外部事件信号加入CLK端,每当外部事件产生脉冲,计数值减1.当计数值减到0时,由OUT输出一个计数结束信号。定时功能:8253做定时共能时,要求装入定时

18、初值,芯片中GATE端变为高电平,CLK端接固定频率的信号,按要求触发,定时开始,CLK端每接受一个脉冲,计数值减1,当计数变为0时,由OUT端发出定时时间到信号。设计数器的计数初值为N(定时初值),则N与定时时间T及时钟CLK频率之间的关系如下: (2-1)2.2.3 工作方式8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:方式0:计数结束则中断工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUT输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR有效时,OUT仍保持低电平

19、,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUT将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUT端输出的高电平一直维持到下次再写入计数值为止。在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继续进行。方式1:单脉冲发生器工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数值n后OUT输出高电平, 不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电

20、平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUT输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUT输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLK周期的n倍。方式2:速率波发生器工作方式2被称作速率波发生器。进入这种工作方式, OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变; 待计数值减到“1”和“0”之间, OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUT将输出一定频率的负脉冲序列, 其脉冲宽度固定为一

21、个CLK周期, 重复周期为CLK周期的n倍。如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。方式3:方波发生器工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUT输出低电平, 装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时O

22、UT端输出的周期为n×CLK周期,占空比为1:1的方波序列; 若n为奇数, 则OUT端输出周期为n×CLK周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。方式4:软件触发方式计数工作方式4被称作软件触发方式。进入工作方式4,OUT输出高电平。 装入计数值n后, 如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUT输出宽度为一个CLK周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作, 必须重新置入计数初值n。如果在操作的过程中,GATE变为无效,则停止减“1”计数, 到GATE再次有效时,重新从初值开始减“1”计数。方式5

23、:硬件触发方式计数工作方式5被称为硬件触发方式。进入工作方式5, OUT输出高电平, 硬件触发信号由GATE端引入。 因此,开始时GATE应输入为0, 装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GATE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”, OUT将输出负脉冲,其宽度固定为一个CLK周期,表示定时时间到或计数次数到。这种工作方式下,当计数值计到“0”后, 系统将自动重新装入计数值n,但并不开始计数, 一定要等到由GATE端引入的正跳沿,才会开始进行减“1”计数, 因此这是一种完全由GATE端引入的触发信号控制下的计数或定时功能。如果由CLK输入的

24、是一定频率的时钟脉冲,那么可完成定时功能,定时时间从GATE上升沿开始,到OUT端输出负脉冲结束。如果从CLK端输入的是要求计数的事件,则可完成计数功能,计数过程从GATE上升沿开始,到OUT输出负脉冲结束。GATE可由外部电路或控制现场产生,故硬件触发方式由此而得名。图2-2 8253芯片引脚图2.3构建译码电路本设计中,在主电路图中搭建译码电路,如图2-3所示。选用作为8253的片选地址线、连接基本I/O电路74LS373芯片,从而可知8253的起始地址为400H,基本I/O电路地址为600H。图2-4绘制应用电路。其中振荡源直接采用Proteus提供的数字频率发生器,并利用Proteus

25、提供的示波器观察输出波形特征。图2-4 波形发生器硬件电路原理图3. 软件设计原理在使用8253作为定时/计数器之前需要对其进行初始化,确定工作方式,计数方式,以及操作类型。初始化内容包括:1. 向8253控制寄存器写入选定计数器的方式控制字2. 按设定的操作类型写入计数器初值3.1 计数初值和通道地址在本设计中,直接在主电路图中搭建译码电路,如图2-1所示。选用作为8253的片选地址线、连接基本I/O电路74LS373芯片,从而可知8253的起始地址为0400H,基本I/O电路地址为0600H。芯片8253的时钟频率都是1.19MHz,且都工作于自动重复方式。CNT0的计数初值取11932,

26、1.19MHz÷11932=99.7Hz (3-1)故它每秒输出99.7次时钟中断信号,CNT的计数初值取100,100÷1.19MHz=84s (3-1)这是用于动态存储器刷新的信号周期。IO2作为8253片选线,IO3连基本IO电路,根据74154地址线可以算出8253的初始地址为0400H,基本IO电路地址为0600H。8253是一种可编程芯片,它的操作类型、工作方式以及计数方式都由其方式控制字决定,CPU向8253控制字寄存器写入方式控制字,选定操作类型、工作方式计数方式。8253计数器有6种工作方式可供选择,在不同的工作方式下,计数的启动方式不同,OUT的输出波形

27、不同,自动重复功能、GATE的控制作用以及更新计数初值的影响也不完全相同。同一个芯片的3个计数器,可以分别通过编程选择不同的工作方式。首先初始化通道0,工作方式设置为方式2,计数初值设置为11932,然后再初始化通道0,工作方式设置为方式3即方波,计数初值为100,向IO送1,使8253使能端有效,再向8253送0,使8253无效,依次循环往复,即可产生方波信号。3.2程序和流程图io2 = 400hio3 = 600hcode segment 'code' ;定义代码段assume cs:codeStart:mov al,00110100b mov dx,io2+6 out

28、dx,al mov ax,2e9ch mov dx,io2 out dx,al mov al,ah out dx,al mov al,01010110b mov dx,io2+6 out dx,al mov ax,100 mov dx,io2+2 out dx,al mov dx,io3 mov al,01h out dx,al mov bx,500wait1:mov cx,882 loop $ dec bx jnz wait1 mov dx,io3 mov al,00h out dx,alJ1: jmp J1exit : ret;利用功能调用返回DOScodeends;代码段结束end st

29、art汇编程序和流程图如下:程序代码如下:4.系统仿真调试由于代码中设置了8253的工作时间是5s,因此仿真开始后需要及时暂停,方便查看波形。仿真启动后,单击菜单DebugDigitalOscilloscope命令,即可打开示波器面板。Proteus的数字波形示波器支持四通道,由于本例电路中仅连接了示波器引脚A,因此在面板中只需将“Channel A”拨至“DC”;同时选用复制为1V,宽度为0.1ms。收发之中频率通常满足:收发时钟频率=n×波特率 (4-1)其中n成为波特率因子,一般取值为1、16、32、64等,此时我们取波特率因子为16,当波特率为2400bps时,易得收发时钟频率38.4KHz,如图4-1所示,产生波形如图4-2所示;当波特率为300bps时,易得收发时钟频率4.8KHz,如图4-3所示,产生波形如图4-4所示。图4-1 CPU工作频率设置对话框图4-2 波特率为2400bps时产生的波形

温馨提示

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

评论

0/150

提交评论