并行输入及输出实验

合集下载

第3章1节并行口的输入输出操作

第3章1节并行口的输入输出操作

• void main( ) • { while(1) • { K0=1;K1=1;K2=1;K3=1; • LED0=K0; LED1=K1; • LED2=K2; LED3=K3; • } • }
2、请修改:
Байду номын сангаас
• (1)开关闭合时灯灭 D2L2A.C • (2)K0控制L3,„„.. D2L2B.C • (3)只有K0K1两个开关,编程: D2L2C.C • K1 K0 D3 D2 D1 D0
3.1.2
输入操作(D31\D31-2)
• 1、例子
• • • • • • • • •
#include<reg51.h> sbit LED0=P1^0; sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit K0=P1^4; sbit K1=P1^5; sbit K2=P1^6; sbit K3=P1^7;
• • • • • • • • • • • • • •
9 10 11 12 13 14 15 16 17 18 19 20 21 22
#include<reg51.h> //寄存器定义 #include<stdio.h> //一般I/O口定义 /***以下是全局变量定义*********/ sbit LED=P1^0; //LED灯连接在P1.0上 int data i; //定义一个整型全局变量 /*********主程序开始***************/ void main(void) { while(1) { LED=1; //LED灯点亮 for(i=0;i<1000;i++); //延时 LED=0; //LED灯熄灭 for(i=0;i<1000;i++); //延时 } }

d a转换器实验报告

d a转换器实验报告

d a转换器实验报告DA转换器实验报告引言:DA转换器(Digital-to-Analog Converter)是一种将数字信号转换为模拟信号的设备。

在现代电子技术中,DA转换器被广泛应用于各种领域,如通信、音频处理、自动控制等。

本实验旨在通过搭建DA转换器电路并进行实际测试,来深入了解其工作原理和性能特点。

一、实验目的本实验的目的是通过搭建DA转换器电路,了解其工作原理以及性能特点,并通过实际测试来验证其转换准确性和稳定性。

二、实验原理DA转换器的基本原理是将输入的数字信号转换为模拟信号输出。

常见的DA转换器有两种类型:并行式和串行式。

并行式DA转换器将输入的二进制数字信号同时转换为相应的模拟信号,而串行式DA转换器则是逐位地将二进制数字信号转换为模拟信号。

在本实验中,我们将使用串行式DA转换器。

串行式DA转换器由一个计数器和一个数字模拟转换器组成。

计数器用于逐位地将二进制数字信号输出,而数字模拟转换器则将二进制数字信号转换为相应的模拟信号输出。

三、实验步骤1. 搭建DA转换器电路:按照实验指导书上的电路图,连接计数器和数字模拟转换器。

2. 设置输入信号:通过调节计数器的输入信号,设置所需的二进制数字信号。

3. 测试输出信号:将数字模拟转换器的输出信号连接到示波器上,并观察输出信号的波形和幅度。

4. 记录实验数据:记录不同输入信号对应的输出信号波形和幅度,并进行分析。

四、实验结果与分析通过实验,我们得到了不同输入信号对应的输出信号波形和幅度数据。

根据实验数据,我们可以得出以下结论:1. 准确性:通过比对输入信号和输出信号的对应关系,可以发现DA转换器在转换过程中几乎没有误差,转换准确性非常高。

2. 稳定性:在实验过程中,我们发现无论输入信号如何变化,输出信号始终保持稳定,没有明显的波动或漂移现象。

五、实验总结通过本次实验,我们深入了解了DA转换器的工作原理和性能特点。

DA转换器在现代电子技术中起着重要的作用,广泛应用于各个领域。

2.4.1 并行输入串行输出

2.4.1 并行输入串行输出

2.4.1 并行输入串行输出移位寄存器实验1.步骤:(1)新建工程SHIFT8R;(2)新建VHDL文件SHIFT8R.vhd,编写程序如下:--带有同步并行预置功能的8位右移移位寄存器:SHIFT8R.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHIFT8R ISPORT( CLK , LOAD : IN STD_LOGIC ; --CLK是移位时钟信号、LOAD是并行数据预置使能信号DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --DIN是8位并行预置数据端口QB : OUT STD_LOGIC ); --QB是串行输出端口END ENTITY SHIFT8R;ARCHITECTURE BEHAV OF SHIFT8R ISBEGINPROCESS(CLK,LOAD)VARIABLE REG8 : STD_LOGIC_VECTOR( 7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF LOAD='1' THENREG8 := DIN; --装载新数据ELSEREG8(6 DOWNTO 0):= REG8(7 DOWNTO 1);-- 此语句表明:一个时钟周期后将上一时钟周期移位寄存器中的高7位-- 二进制数赋给此寄存器的低7位END IF;END IF;QB <= REG8(0);END PROCESS; -- 输出最低位END ARCHITECTURE BEHAV;(3)保存后编译;(4)新建波形图SHIFT8R.vwf,编辑输入波形;(5)进行功能仿真;(6)进行时序仿真;(7)资源分配;(8)编译后,生成可以配置到CPLD的POF文件。

2.功能仿真结果及分析:输入:DIN[7:0]8为并行输入信号输出:QB为串行输出信号控制:CLK为时钟信号LAOD并行数据预置使能信号(1)功能仿真:波形分析:LOAD=1,CLK=1,输入并行信号“01001101”LOAD=0,每输入一个脉冲,右移一位并从QB 端输出,依次为“01001101” 因此,该设计可以实现并行输入串行输出的右移移位功能。

微机原理实验---并行接口实验

微机原理实验---并行接口实验

微机原理实验---并行接口实验
并行接口(Parallel Port)是一种广泛使用的计算机外围设备接口。

它通常用于连接打印机、扫描仪、摄像头等设备,以实现数据的传输和控制。

本实验旨在教授学生使用并行接口实现数据输入和输出的基本功能,以提高学生对计算机外围设备的理解和应用能力。

具体实验步骤如下:
材料及设备:
1. 一台计算机
2. 并行数据线(Parallel Data Cable)
3. 并口测试器(Parallel Port Tester)
4. 8位开关(8-bit Switch)
5. LED 灯(LED Light)
实验步骤:
1. 将并行数据线连接至计算机的并行接口,并将另一端连接至并口测试器。

2. 使用并口测试器测试并行接口是否正常。

若测试失败,可检查并行接口是否损坏或驱动程序是否正确安装。

3. 将 8 位开关连接至并口测试器的数据输出端,连接正确后,将 8 位开关的位置设置为 0。

4. 运行实验程序,将数据从计算机输出至并口测试器。

5. 将 LED 灯连接至并口测试器的数据输入端,将计算机输入的数据传输至 LED 灯并输出。

寄存器实验报告

寄存器实验报告

寄存器实验报告一、实验目的1. 了解寄存器的分类方法,掌握各种寄存器的工作原理;2. 学习使用Verilog HDL 语言设计两种类型的寄存器。

二、实验设备PC 微机一台,TD-EDA 实验箱一台,SOPC 开发板一块。

三、实验内容寄存器中二进制数的位可以用两种方式移入或移出寄存器。

第一种方法是以串行的方式将数据每次移动一位,这种方法称之为串行移位(Serial Shifting),线路较少,但耗费时间较多。

第二种方法是以并行的方式将数据同时移动,这种方法称之为并行移位(Parallel Shifting),线路较为复杂,但是数据传送的速度较快。

因此,按照数据进出移位寄存器的方式,可以将移位寄存器分为四种类型:串行输入串行输出移位寄存器(Serial In- Serial Out)、串行输入并行输出移位寄存器(Serial In- Parallel Out)、并行输入串行输出移位寄存器(Parallel In- Serial Out)、并行输入并行输出移位寄存器(Parallel In-Parallel Out)。

本实验使用Verilog HDL 语言设计一个八位并行输入串行输出右移移位寄存器(Parallel In- Serial Out)和一个八位串行输入并行输出寄存器(Serial In- Parallel Out),分别进行仿真、引脚分配并下载到电路板进行功能验证。

四、实验步骤1.并行输入串行输出移位寄存器实验步骤1). 运行Quartus II 软件,选择File New Project Wizard 菜单,工程名称及顶层文件名称为SHIFT8R,器件设置对话框中选择Cyclone 系列EP1C6Q240C8 芯片,建立新工程。

2.) 选择File New 菜单,创建Verilog HDL 描述语言设计文件,打开文本编辑器界面。

3.) 在文本编辑器界面中编写Verilog HDL 程序,源程序如下:module SHFIT8R(din,r_st,clk,load,dout);input [7:0]din;input clk,r_st,load;output dout;reg dout;reg [7:0]tmp;always @(posedge clk)if(!r_st)begindout<=0;endelsebeginif(load)begintmp=din;endelsebegintmp[6:0]=tmp[7:1];tmp[7]=0;enddout<=tmp[0];endendmodule4). 选择File Save As 菜单,将创建的VHDL 设计文件保存为工程顶层文件名SHIFT8R.V。

实验七 8255 并行IO扩展实验

实验七 8255 并行IO扩展实验

实验七8255 并行I/O扩展实验一、实验要求利用8255 可编程并行口芯片,实现输入、输出实验,实验中用8255PA 口作读取开关状态输入,8255PB 口作控制发光二极管输出。

二、实验目的1、了解8255 芯片结构及编程方法。

2、了解8255 输入、输出实验方法。

三、实验电路及连线1、Proteus 实验电路2、硬件验证实验硬件连接表四、实验说明1、8255A 芯片简介:8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式2、使8255A 端口A 工作在方式0 并作为输入口,读取Kl-K8 个开关量,PB 口工作在方式0作为输出口。

五、实验程序流程图六、实验步骤1、Proteus 仿真a.在Proteus 中打开设计文档8255_STM.DSN;b.建立实验程序并编译,仿真;c.如不能正常工作,打开调试窗口进行调试。

参考程序:CODE SEGMENTASSUME CS:CODEIOCON EQU 8006HIOA EQU 8000HIOB EQU 8002HIOC EQU 8004H START:MOV AL,90HMOV DX,IOCONOUT DX,ALNOPSTART1:NOPNOPMOV AL,0MOV DX,IOAIN AL,DXNOPNOPMOV DX,IOBOUT DX,ALJMP START1 CODE ENDSEND START2、实验板验证a.通过USB 线连接实验箱b.按连接表连接电路c.运行PROTEUS 仿真,检查验证结果。

实验六---8255并行输入输出

实验六---8255并行输入输出

实验六---8255并行输入输出一、实验目的1.了解并熟悉8255并行输入输出控制器的功能和工作原理;二、实验原理1.8255芯片介绍8255是一种常用的并行输入/输出接口芯片,可用于微处理机系统中的输入/输出控制输出,根据中文名可以看出,8255有三种工作方式即口A、口B和控制口。

8255所有的输入/输出都是双向的,它可以通过输入输出口的命令字来在不同的模式下工作。

在输出模式下,82555可以通过端口A、B控制外围设备的输出操作,在输入模式下,8255可以通过端口A、B实现对外围设备的输入操作。

控制口是用来控制8255写作模式或读作状态字,并对端口进行初始化操作。

8255在不同的模式下有不同的编程方法和操作方法,因此需要在实际应用中选择不同的工作模式。

8255有三个I/O端口A、B、C,每个端口都有8位。

这里解释一下控制端口的意义,地址为0B4H的控制端口是连续读或写8255内部状态寄存器的地址,而后面的一个读或写就表示读或写操作的类型,如果该端口被写入了“控制字”则8255按照控制字工作,否则会在该端口读出输入状态字。

在读或写操作的时候向控制端口写入的二进制数在图3-8中给出了。

表3-2:8255访问口定义地址口分类名称端口A0B0H输出Port A输入ControlCout端口Cin端口2.8255的编程方式方式0:即I/O挂接方式,这种方式下A、B、C三个端口为并行I/O口时,其与MCU的接线和编程方式与单片机内部I/O端口的连接和编程方式相同。

方式1:即输入输出口不一样。

在这种片内Ram中的地址空间0~7地址单元内写入相应的端口或方式的控制字后,该8255工作在相应的方式。

即:方式0:读出的是8位端口A的状态,写操作为将数据送到端口A;方式2:是把C口分配为两部分——高4位为输入,低4位为输出,它与方式1类似。

端口C的所有状态和很多控制功能都由C口寄存器存储。

方式2:“端口C字符型输入输出方式”,在这种方式下,端口C的8个位分成两部分,4个位作为输入的,4个位作为输出的。

并行输入串行输出移位寄存器原理

并行输入串行输出移位寄存器原理

并行输入串行输出移位寄存器原理移位寄存器是一种常见的数字电路元件,用于将数据进行移位操作。

它具有并行输入和串行输出的特点,可以将多个输入同时加载到寄存器中,并按照一定的顺序输出。

本文将介绍并行输入串行输出移位寄存器的原理及其工作方式。

一、移位寄存器的基本原理移位寄存器是由一组触发器组成的,每个触发器都具有数据输入D、时钟输入CLK和数据输出Q。

在并行输入串行输出移位寄存器中,触发器的数据输入D与并行输入数据相连,时钟输入CLK相连,数据输出Q与下一个触发器的数据输入D相连,最后一个触发器的数据输出Q为寄存器的串行输出。

当时钟信号到达时,触发器会将输入数据加载到自身,并将输出作为下一个触发器的输入。

通过多个触发器的串联,数据可以在寄存器中进行移位操作。

当所有输入数据加载完成后,通过寄存器的串行输出可以得到移位后的结果。

二、移位寄存器的工作方式1. 并行输入:将要移位的数据同时输入到寄存器的多个触发器中。

每个触发器都会将输入数据保存到自身。

这样可以实现一次性输入多个数据,提高了数据输入的效率。

2. 串行输出:通过触发器的串行输出将移位后的数据输出。

每当时钟信号到达时,触发器将自身的数据输出,并将输出作为下一个触发器的输入。

这样数据就会从一个触发器传递到下一个触发器,最终得到移位后的结果。

3. 移位操作:通过时钟信号的不断触发,移位寄存器中的数据可以进行移位操作。

每当时钟信号到达,数据会从一个触发器传递到下一个触发器,实现数据的移位。

当所有数据都完成移位后,可以通过最后一个触发器的串行输出得到移位后的结果。

三、应用场景并行输入串行输出移位寄存器常用于串行通信中的数据传输。

在串行通信中,数据需要按照一定的顺序进行传输,而移位寄存器可以实现数据的有序移位,保证数据的正确传输。

例如,在串行通信中,发送端需要将要发送的数据按照一定的格式进行编码,并通过串行方式发送出去。

接收端则需要将接收到的数据进行解码并按照相应的格式进行处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习情景四并行输入与输出
学习目标:
了解并行通信的基本概念;
掌握键盘的基本组成及工作原理;
掌握七段LED显示器的基本组成及工作原理。

技能目标:
能够正确在AT89S52外连接键盘和显示设备。

能够灵活应用典型键盘、显示电路构成各种实际电路。

在数据通信与计算机领域中,有两种基本的数据传送方式,即串行数据传送方式与并行数据传送方式,也称串行通信与并行通信。

串行通信将在以后介绍。

数据在多条并行传输线上各位同时传送的方式,称为并行传送方式,多用于近距离传送,如图4.1(a)所示;而数据在单条一位宽的传输线上按时间先后一位一位地传送,称为串行数据传送方式,常用于远距离传送,如图4.1(b)所示。

在单片机应用系统中,通常都有操作面板。

操作人员通过操作面板实现与应用系统的信息交流,包括下达命令、修改程序和参数、干预应用系统的状态、显示运行状态和运行结果。

本学习环境主要介绍人机对话通道中常用的输入设备――键盘,输出设备――LED 显示器。

a)并行通信方式
(b)串行通信方式
第一部分项目要求
设计一个4×4矩阵键盘与AT89S52接口电路。

要求用查询法读取行列键盘键码,并将键码存入内部RAM 32H单元。

第二部分相关知识
键盘是由若干个按键组成的开关矩阵,它是最简单的单片机输入设备,操作员可以通过键盘输入数据或命令,实现简单的人机通信。

若键盘闭合键的识别是由专用硬件实现的,则称为编码键盘;若用软件实现闭合键识别的,则称为非编码键盘。

非编码键盘又分为行列式和独立式两种。

本项目主要讨论,非编码键盘的工作原理、接口技术和程
序设计。

键盘接口应有以下功能:
✓ 键扫描功能,即检测是否有键闭合;
✓ 键识别功能,确定被闭合键所在的行列位置;
✓ 产生相应的键值功能;
✓ 消除按键抖动功能。

一、 键盘工作原理
1.按键去抖动
常用键盘的按键是一个
机械开关结构,被按下时,由
于机械触点的弹性及电压突
跳等原因,在触点闭合或断开的瞬间会出现电压抖动,如图4.2所示。

抖动时间长短与按键的结构和机械特性有关,一般为5~10 ms 。

而按健的闭合时间和操作者的按键动作有关,大约为十分之几秒到几秒不等。

去抖动有硬件和软件两种方法。

硬件方法就是在键盘中附加去抖动电路,从根本上消除抖动产生的可能性,图4.3为利用双稳电路的去抖动电路;而软件方法则是采用时间延迟以躲过抖动(大约延时20-30ms 即可),待行线上状态确定之后,再进行状态输入。

一般为简单起见多采用软件方法。

图4.3去抖动电路 2.按键连接方式
键盘和CPU 的连接方式可分为独立式键盘和矩阵式键盘。

① 独立式键盘
独立式是一组相互独立的按健,这些按键可直接与单片机的I/O 口连接,即每个按键独占一条口线,接口简单。

独立式键盘因占用单片机的硬件资源较多,只适合按键较少的场合。

图4.4(a)是一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接AT89S52的I/O 口。

从图中可以看出,独立式键盘每一按键都需要一根I/O 线,占用AT89S52的硬件资源较多。

② 矩阵式键盘 也称行列式键盘,因为键的数目较多,所以按键按行列组成矩阵。

图7.4(b)是由4根行线和4根列线组成的16个按键的键盘。

与独立式键盘相比,16个按键只占用了8个I/O 口线,因此适用于按键较多的场合。

矩阵式键盘接口处理的内容:
图4.2 键闭合和断开时的电压抖动 图4.4独立式键盘和矩阵式键盘
A.键扫描
键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。

为判定有无键被按下(闭合健)以及被按键的位置,可使用扫描法说明查找闭合健的方法。

首先是判定有没有键被按下。

如图4.5所示,键盘的行线一端经电阻接+5V 电源,另一端接单片机的输入口线。

各列线的一端接单片机的输出口线,另一端悬空。

为判定有没有键被按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。

若行线状态皆为高电平,则表明无健按下;若行线状态中有低电平,则表明有健被按下。

图4.5键扫描示意图
然后再判定被按键的位置。

判定键位置的扫描是这样进行的:先使输出口输出0FEH,即Y0为低电平“0”,其它列线为高电平“1”,然后输入行线状态,测试行线状态中是否有低电平的。

如果没有低电平,再使输出口输出0FDH,即Y1为“0”,其它列线为“1”,再测试行线状态。

以次类推,直检测到行线中有低电平,则闭合健找到,通过此次扫描的列线值和行线值就可以知道闭合健的位置。

B.去抖动
判断有键按下后,延时一段时间,再判断键盘状态,如果仍为有键按下状态,则认为有键按下,否则按抖动处理。

C.确定按键的键值
如图4.6所示,以键的排列顺序安排健号,则键值的计算公式为:
键值=行首号+列号
图4.6键值表
D.判断闭合键是否释放
计算键值之后,等待键释放是为了保证键的一次闭合仅进行一次处理。

二、键盘接口的控制方式
在单片机的运行过程中,扫描键盘只是CPU的工作任务之一,何时执行键盘扫描和处理,可以有两种方式:程序扫描方式和中断扫描方式。

程序扫描是指CPU空闲时执行键盘扫描,或每隔一定时间执行一次键
盘扫描,定时可由单片机的定时器完成。

中断扫描是指,当有键闭合时才向CPU
发出中断请求,中断响应后执行键盘扫
描程序。

三、应用举例
【例4.1】硬件连接如图4.7所示,
编程完成如下功能:按键按下后,对应的小灯亮,再按下,对应的小灯灭。

图4.7硬件连接示意图89S52。

相关文档
最新文档