虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

线性反馈<b>移位寄存器</b>

  • PC机之间串口通信的实现

    PC机之间串口通信的实现一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下:(1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据;(2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据;(3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A异步工作方式:如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号通知CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案根据系统设计的要求,对系统设计的总体方案进行论证分析如下:1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。4:显示和键盘输入均使用DOS功能调用来实现。设计思路框图,如下图所示: 六、硬件设计硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。1.8位开关量数据获取电路该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。2.串行通信电路串行通信电路本设计中8253主要为8251充当频率发生器,接线如下图所示。

    标签: PC机 串口通信

    上传时间: 2013-12-19

    上传用户:小火车啦啦啦

  • 清华版labview教程,下载(12.25)

    第一章   虚拟仪器及labview入门 1.1       虚拟仪器概述 1.2       labview是什么? 1.3       labview的运行机制 1.3.1 labview应用程序的构成 1.3.2 labview的操作模板 1.4 labview的初步操作 1.4.1 创建VI和调用子VI 1.4.2 程序调试技术 1.4.3 子VI的建立 1.5 图表(Chart)入门 第二章   程序结构 2.1       循环结构 2.1.1 While 循环 2.1.2 移位寄存器 2.1.3 For循环 2.2       分支结构:Case 2.3       顺序结构和公式节点 2.3.1       顺序结构 2.3.2       公式节点 第三章   数据类型:数组、簇和波形(Waveform) 3.1 数组和簇 3.2  数组的创建及自动索引 3.2.1 创建数组 3.2.2 数组控制对象、常数对象和显示对象 3.2.3       自动索引 3.3       数组功能函数 3.4       什么是多态化(Polymorphism)? 3.5 簇 3.5.1 创建簇控制和显示 3.5.2       使用簇与子VI传递数据 3.5.3       用名称捆绑与分解簇 3.5.4       数组和簇的互换 3.6 波形(Waveform)类型 第四章   图形显示 4.1       概述 4.2       Graph控件 4.3       Chart的独有控件 4.4       XY图形控件(XY Graph) 4.5       强度图形控件(Intensity Graph) 4.6       数字波形图控件(Digital Waveform Graph) 4.7       3D图形显示控件(3D Graph) 第五章   字符串和文件I/ 5.1 字符串 5.2 文件的输入/输出(I/O) 5.2.1 文件 I/O 功能函数 5.2.2 将数据写入电子表格文 5.3       数据记录文件(datalog file) 第六章   数据采集 6.1       概述 6.1.1       采样定理与抗混叠滤波器 6.1.2       数据采集系统的构成 6.1.3       模入信号类型与连接方式 6.1.4       信号调理 6.1.5       数据采集问题的复杂程度评估  6.2 缓冲与触发 6.2.1 缓冲(Buffers) 6.2.2 触发(Triggering) 6.3 模拟I/O(Analog I/O) 6.3.1 基本概念 6.3.2 简单 Analog I/O 6.3.3       中级Analog I/O 6.4 数字I/O(Digital I/O) 6.5 采样注意事项 6.5.1 采样频率的选择 6.5.2        6.5.3       多任务环境 6.6 附:PCI-MIO-16E-4数据采集卡简介 第七章   信号分析与处理 7.1 概述   7.2 信号的产生 7.3 标准频率 7.4 数字信号处理 7.4.1 FFT变换 7.4.2 窗函数 7.4.3 频谱分析 7.4.4 数字滤波 7.4.5 曲线拟合 第八章    labview程序设计技巧 8.1    局部变量和全局变量                    8.2              属性节点 8.3              VI选项设置 第九章   测量专题 9.1       概述 9.1.1       模入信号类型与连接方式 9.1.2       信号调理 9.2 电压测量 9.3  频率测量 9.4 相位测量 9.5 功率测量 9.6       阻抗测量 9.7       示波器 9.8       波形记录与回放 9.9       元件伏安特性的自动测试 9.10 扫频仪 9.11 函数发生器 9.12 实验数据处理 9.13 频域分析 9.14 时域分析 第十章   网络与通讯 第十一章              仪器控制

    标签: labview 12.25 清华 教程

    上传时间: 2013-11-06

    上传用户:15070202241

  • 一种用GAL器件实现的可编程计数器

    摘要:介绍用一片GAL16V8实现的模≤2n可编程计数器。它是基于“最大长度移位寄存器式计数器”的原理设计而成的.电路简单可靠.同时介绍一种由它组成的实用电路——由GAL实现时、分、秒计时的数字钟电路。 关键词:GAL   最大长度移位寄存器式计数器

    标签: GAL 器件 可编程计数器

    上传时间: 2013-11-12

    上传用户:comua

  • 利用8031串行口

    利用8031串行口,和并行输出串行移位寄存器74LS164,扩展一位数码显示在数码显示器上循环显示0-9这10个数字

    标签: 8031 串行口

    上传时间: 2014-01-20

    上传用户:三人用菜

  • 设f(x)=1+x+x2+x5+x27

    设f(x)=1+x+x2+x5+x27,试分别写出实现下列移位寄存器的程序: 以f(x)为联接多项式的DSR; 以f(x)为联接多项式的LFSR。 可供选择的联接多项式: f1(x)=1+x+x4+x6+x30; f2(x)=1+ x3+ x31; f3(x)=1+ x6+ x31; f4(x)=1+ x7+ x31; f5(x)=1+ x13+ x31;

    标签: 27

    上传时间: 2015-07-13

    上传用户:xiaodu1124

  • 产生L=31的GOLD序列

    产生L=31的GOLD序列,它由两个移位寄存器输出的模2相加而产生

    标签: GOLD 序列

    上传时间: 2015-08-16

    上传用户:agent

  • 基于MCS-51单片机的数字钟设计 [摘要] III [ABSTRACT] IV 引言 1 1绪论 2 1.1 集成电路 2 1.2 主要技术的背景 2 1.2.1 发展历史 2 1.

    基于MCS-51单片机的数字钟设计 [摘要] III [ABSTRACT] IV 引言 1 1绪论 2 1.1 集成电路 2 1.2 主要技术的背景 2 1.2.1 发展历史 2 1.2.2 现状 3 1.2.3 发展趋势 3 2器件简介 4 2.1 LED显示器 4 2.1.1 LED显示器的结构 4 2.1.2 LED的接线形式 5 2.2 AT89C52简介 5 2.2.1 AT89C52主要性能参数: 5 2.2.2 AT89C52单片机的功能特性概述: 6 2.3 DS1302芯片 9 2.3.1 DS1302的性能特性: 9 2.3.2 DS1302数据操作原理 10 2.4 74LS164-八位移位寄存器 14 2.4.1 74LS64简介 14 2.4.2 74LS164逻辑介绍: 15 3硬件电路 17 3.1 线路的设计 17 3.1.1 电源转换模块 18 3.1.2 主控制模块 18 3.1.3 显示模块 19 3.1.4 键盘接口设计 20 3.2 电路图的绘制 20 3.3 电路板的焊接 20 3.4 打开电源前应注意的问题 20 4软件设计部分 21 4.1 阳历程序的设计 21 4.2 时间调整程序设计 21 4.3 阴历程序设计 23 5调试 28 6小结 29 7致谢 30 8参考文献 31 9附录 32

    标签: ABSTRACT MCS 1.1 1.2

    上传时间: 2015-10-17

    上传用户:xuan‘nian

  • 100个经典vhdl编程实例

    100个经典vhdl编程实例, 第1例 带控制端口的加法器 第2例 无控制端口的加法器 第3例 乘法器 第4例 比较器 第5例 二路选择器 第6例 寄存器 第7例 移位寄存器 第8例 综合单元库 第9例 七值逻辑与基本数据类型 第10例 函数 第11例 七值逻辑线或分辨函数 第12例 转换函数 第13例 左移函数 第14例 七值逻辑程序包 第15例 四输入多路器......

    标签: vhdl 100 编程实例

    上传时间: 2014-01-20

    上传用户:agent

  • ---实现的部分VHDL 程序如下。   --- elsif clk1x event and clk1x = 1 then ---if std_logic_vector(length_no)

    ---实现的部分VHDL 程序如下。   --- elsif clk1x event and clk1x = 1 then ---if std_logic_vector(length_no) >= “0001” and std_logic_vector(length_no) <= “1001” then -----数据帧数据由接收串行数据端移位入接收移位寄存器---rsr(0) <= rxda --- rsr(7 downto 1) <= rsr(6 downto 0) --- parity <= parity xor rsr(7) --- elsif std_logic_vector(length_no) = “1010” then --- rbr <= rsr --接收移位寄存器数据进入接收缓冲器--- ...... --- end if

    标签: clk1x std_logic_vector length_no elsif

    上传时间: 2015-10-28

    上传用户:cainaifa

  • dsp的串行外设接口SPI SPI是一个高速同步串行输入/输出端口,传送速率可编 程

    dsp的串行外设接口SPI SPI是一个高速同步串行输入/输出端口,传送速率可编 程,应用:外部移位寄存器、D/A转换器、A/D转换器、 串行EEPROM、LED显示驱动器等外部设备进行扩展。

    标签: SPI dsp 串行 外设接口

    上传时间: 2014-11-24

    上传用户:fandeshun