文档库 最新最全的文档下载
当前位置:文档库 › 串转并和并转串实验

串转并和并转串实验

串转并和并转串实验
串转并和并转串实验

实验五串转并与并转串实验

一、实验目的

1.掌握使用74LS164 扩展输出的方法。

2.掌握使用74LS165 扩展输入的方法。

二、实验内容

使用74LS165 扩展输入数据,使用74LS164 扩展输出数据。74LS165 的并行口接八位逻辑电平输出(开关),CPU 使用P1.0、P1.1 和P1.2 串行读入开关状态;74LS164 的并行口接一只数码管,CPU 使用P1.3 和P1.4 串行输出刚读入的开关状态,使之在数码管上显示出来。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图

1)74LS165 为8 位移位寄存器,其引脚功能如下:

S/L:移位/置数端,低电平有效。

P0~P7:并行数据输入端。

QH、QH:串行数据输出端。

CLK、CKLINH:时钟信号输入端。

2)74LS164 为串行输入并行输出移位寄存器,其引脚功能如下:

A、B:串行输入端;

Q0~Q7:并行输出端;

MR:清零端,低电平有效;

CLK:时钟脉冲输入端,上升沿有效。

3)用P1 端口输出数据时,要编程位移数据,每操作一个数据位,对应一个移位脉冲。

4)本实验需要用到CPU 模块(F3 区)、八位逻辑电平输出模块(E4 区)和静态数码管显示模块(B4 区)。74LS165 电路原理图参见图5-1,74LS164 电路原理图参见图8-2。

注:74LS164 集成电路芯片在主板反面。

图5-1 74LS165 电路

图5-2 74LS164电路

五、实验步骤

1)系统各跳线器处在初始设置状态。

用导线对应连接八位逻辑电平输出模块的QH165、CLK165、SH/LD 到CPU 模块的P10、P11、P12。用导线对应连接静态数码管显示模块的DIN、CLK 到CPU 模块的P13、P14。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)观察数码(八段码)管的亮灭与拨动开关的状态是否一致。拨动开关拨下输出为低电平,段码点亮。

QH165 BIT P1.0 ;位定义

CLK165 BIT P1.1

SH_LD BIT P1.2

DAT164 BIT P1.3 CLK164 BIT P1.4

MEMORY EQU 30H

ORG 0000H

AJMP START

ORG 00B0H

START: SETB CLK165 ;开关数据置入165

CLR SH_LD ;低电平置数

SETB SH_LD ;高电平移位

MOVR7, #8

Input: RRA

MOVC, QH165 ;读数

MOV ACC.7, C ;把C送到累加器最高位

CLR CLK165 ;脉冲

NOP ;延时

SETB CLK165 ;置高电平移位

DJNZR7, Input

MOV MEMORY,A ;把A存入30单元

MOV A,MEMORY

MOV R6,#8

Output:

RRC A

MOV DAT164,C

CLR CLK164

SETBCLK164

DJNZR6, Output

ACALL DELAY

SJMP START

DELAY:

MOV R0,#5

DD2: MOV R1,#0FFH

DJNZR1,$

DJNZ R0,DD2

RET

END

六、实验结果分析及小结:

(1)实验结果:

①拨动开关K,可控制数码管不同段的亮灭K0-K6分别控制数码管的a-g,k7控制dp

②K往下拨,数码管相应段灭,K往上拨,数码管相应段亮。

③拨动不同的开关K,可以显示不同字符。

(2)分析:

该实验使用74LS165 扩展输入数据,使用74LS164 扩展输出数据。74LS165 的并行口接八位逻辑电平输出(开关),CPU 使用P1.0、P1.1 和P1.2 串行读入开关状态;74LS164 的并行口接一只数码管,CPU 使用P1.3 和P1.4 串行输出刚读入的开关状态,使之在数码管上显示出来。实验时用导线对应连接八位逻辑电平输出模块的QH165、CLK165、SH/LD 到CPU 模块的P10、P11、P12,同时用导线对应连接静态数码管显示模块的DIN、CLK 到CPU 模块的P13、P14。从而可以实现K0-K6分别控制数码管的a-g,k7控制dp。

(3)实验小结:

通过该实验,我了解了使用74LS164扩展输出的方法和使用74LS165 扩展输入的方法。掌握了串转并与并转串的具体操作。实验中74LS165是并入串出,74LS164是串入并出。该实验的程序并不长,但想弄懂也并非易事,我也是通过向同学请问才弄懂的。

DA转换实验

实验九 D/A转换实验 一、实验目的 1、熟悉D/A转换的基本原理; 2、掌握AD7303的技术指标和常用方法; 3、熟悉DSP的SPI的应用方法; 4、掌握并熟练使用DSP和AD7303的接口及其操作。 二、实验设备 计算机,CCS 2.0版软件,DSP仿真器,EXP4实验箱,F2812CUP板,示波器。 三、实验原理 DA转换芯片采用Analog Devices公司的AD7303。该芯片是单极性、双通道、串行、8位DA转换器,操作串行时钟最快可达30M,DA转换时间1.2μs采用SPI串行接口和DSP连接。DA 输出通过放大电路,可以得到0~5V的输出范围。DA输出接口在“CPLD单元”的左上角,两个2号孔“D/A输出1、D/A输出2”分别对应AD7303的“OUTA、OUTB”。下面是AD7303的功能框图: 引脚说明: 1、VOUTA:模拟输出A 2、电源 +2.7~+5.5V 3、地 4、REF:参考电压 5、SCLK:数字接口位时钟 6、DIN:数字接口数据 7、SYNC:数字接口片选 8、VOUTB:模拟输出B 接口时序:

输入的数字量和输出电压的关系: 四、实验步骤与内容 1、开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;运行CCS软件,加载示 范程序; 2、按F5运行程序,用示波器检测“D/A转换单元的的2号孔接口“输出1”输出一个 正弦波;

3、填写实验报告。 4、样例程序实验操作说明 启动CCS 2.0,打开EXP4_09_da目录下面的工程文件“Example_281x_da.pjt”,并加载Example_281x_da.out文件,双击“Source”,可查看源程序。 5、在源文件中“SpiaRegs.SPITXBUF=curve1[p];”处设断点,点击RUN运行程序;

串转并转换器1

一、题意分析及解决方案 1、课程设计名称及内容 应用STAR ES598PCI单板开发机系列接口芯片设计一个串转并转换器,熟悉串转并转换原理,掌握使用串并转换芯片扩展I/O口的实现方法。设计编写程序,循环点亮8个指示灯瞬间只有一个灯亮。观察实验结果,验证串并转换数据的正确性。 2、题意需求分析 根据题目给定的内容与要求可得:本实验需要用到的主要是控制数据输入的芯片、实现串并转换的芯片和用于显示的发光管。 本实验的核心部分是8位移位寄存器74HC164,它可以实现数据的串行输入和并行输出,达到数据从串行转换为并行的目的。为了方便控制74HC164的输入,考虑运用可编程接口芯片8255连接CPU和74HC164,实现数据的串行输入和CP脉冲的变化。同时,为了方便观察实验结果,使用74HC164移位寄存器输出接口连接8位发光二极管,显示并行输出结果。 3、解决问题的思路与方法 (1)硬件部分 程序用到的硬件芯片有8255、74HC164、发光二极管: 使用8255作为CPU和移位寄存器之间的接口电路来控制8位串行数据的输入,其本身的接口就可以支持输出的操作。而且8255的可编程并行接口,具有传输速度快效率高等优点,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便。 74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B) 可完全控制输入数据。一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。虽然不管时钟处于高电平或低电平时,串行输入端的数据都可以被改变,但只有满足建立条件的信息才能被输入。时钟控制发生在时钟输入由低电平到高电平的跃变上。为了减小传输线效应,所有输入端均采用二极管钳位。时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的

单片机串并口转换实验定稿版

单片机串并口转换实验 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

我也是刚入手单片机,今天编了一段小程序,就是关于单片机串口转并口和并口转串口的一个小实验,本程序在PTOTUES中完美运行。在单片机开发试板上也是完美运行。今天贴出来供大家分享,看完本历程,有助于提高您对单片机IO口的基本操作,锁存器的用法以及串并转换的使用技能 #include 本例程的电路连接图如上,在电路中使用了AT89C51单片机一块,74HC595八路串/并转换器,74HC165八路并串转换器和一片74HC573 锁存器。实验者请按上图连接好实验电路。

#include #include< intrins.h > #define uchar unsigned char #define uint unsigned int #define ulong unsigned long code uint a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; sbit SO=P1^0; //定义165的输出 sbit STCP=P1^1; sbit DS=P1^2; sbit SHCP=P1^3; sbit SHLD=P1^4; sbit CLK=P1^5; sbit cs573=P1^6; /**************************************************/

void delay(ulong X) //延时函数,采用了形参传递函数{ while(X--); } /**************************************************/ void LED(); //函数声明 /**************************************************/ void main() //主函数 { while(1) { LED (); } }

实验四AD转换与串行通信实验(2016)

实验四、A/D转换与串行通信实验 1、实验目的 熟悉Freescale 68HC08的程序设计和调试方法,掌握CodeWarrior IDE、ProEmulator、DP-01多MCU实验平台等开发工具的使用,理解微控制器 A/D转换模块、异步串行通信接口(SCI)的基本原理和应用方法。 2、实验环境 PC机 DP-01多MCU实验平台 CodeWarrior 集成开发环境 ProEmulator模拟软件 3、硬件接线 (1)PTA0-7接LED1-8指示灯,即用8位排线把实验平台A2区J61插口(B0-B7)与D1区J52插口相连。 (2)拔下B3区LCD模块。D2区10K电位器右端接C1区VCC(+5V),左端接GND,中间端用专用实验导线连接到B3区J106插座的第14引脚(从右端倒数第3引脚,PTB7)作为模拟量输入口,PTC0(A11)接开关SW1。 (3)DP-01实验平台串行口与微机串行口相接(已连好)。 4、实验内容 完成硬件连线,用Freescale 68HC08汇编语言编写程序完成以下功能: (1)通过开关SW1的闭合与断开控制A/D采样的开始和停止,当开始A/D转换后,每秒对PTB7脚的模拟量采样一次,采样结果求反后送指示灯LED1-8显示。 (2)采样结果同步通过SCI串行接口发送到PC机(19200bps,N,8,1),在PC端用超级终端或串口调试助手查看收到的数据(16进制),看是否与LED显示的内容一致。 (3)调节D2区10K电位器旋扭,观察采样值的变化。 5、实验要求 (1)通过CW IDE、ProEmulator调试程序并查看运行结果。(预习时完成) (2)利用CW IDE Mon08接口把程序下载到DP-01多MCU实验平台,通过单步、断点、全速等多种调试方式运行程序并查看运行结果。 (3)掌握HC08模块串行接口的调试方法,程序下载时跳线分别设置为JP4(MON)、COM_SEL1(RD-M)、COM_SEL2(TD-M),下载后断电。跳线需设置为JP4(RUN)、COM_SEL1(TXD)、COM_SEL2(RXD),上电复位全速运行程序进行串行通信。 (4)完成实验报告的撰写。 6、思考题(选做内容) (1)如何实现开关SW1合上后,MCU与PC先建立握手信号,如握手信号为$AB(MCU端发送)、$CD(PC端回送),当握手成功后再开始A/D转换和串口发送工作? (2)如何把采样结果转换成对应电压值并通过SCI送到PC显示(ASCII码),格式为“My Sample is x.xx V”? (3)如何用C语言编程完成上述实验内容? (4)如何实现每秒对模拟量采样三次,进行简单中值滤波处理后再送指示灯和SCI? (5)如何在MSP430、MCS-51和PIC16F87x MCU上实现实验内容? (6)如何使用Proteus仿真调试实验内容? 7、参考

实验八 串转并与并转串实验

贵州大学实验报告纸 实验八串转并与并转串实验 一、实验目的 1.掌握使用74LS164扩展输出的方法。 2.掌握使用74LS165扩展输入的方法。 二、实验内容 1、使用74LS165扩展输入数据,使用74LS164扩展输出数据。74LS165的并行口 接八位逻辑电平输出(开关),CPU使用P1.0、P1.1和P1.2串行读入开关状态;74LS164的并行口接一只数码管,CPU使用P1.3和P1.4串行输出刚读入的开关状态,使之在数码管上显示出来。 2、拨动开关,在数码管显示0~9,A~F。 三、实验要求 1、根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验说明和电路原理图 1)74LS165为8位移位寄存器,其引脚功能如下: S/L:移位/置数端,低电平有效。 P0~P7:并行数据输入端。 QH:串行数据输出端。 CLK、CKLINH:时钟信号输入端。 2)74LS164为串行输入并行输出移位寄存器,其引脚功能如下: A、B:串行输入端; Q0~Q7:并行输出端; MR:清零端,低电平有效; CLK:时钟脉冲输入端,上升沿有效。 3)用P1端口输出数据时,要编程位移数据,每操作一个数据位,对应一个移位脉冲。 4)本实验需要用到CPU模块(F3区)、八位逻辑电平输出模块(E4区)和静态数码管显示模块(B4区)。74LS165电路原理图参见图8-1,74LS164电路原理图参见图8-2。 注:74LS164集成电路芯片在主板反面。

图8-1 74LS165电路 五、实验程序 ;//**************************************************************** ;//*文件名:164165 串转并,并转串实验程序 ;功能:把开关量通过74**165串行输入到内存,并通过74**164串行输出到数; 码管上显示。 ;接线:P1.0接QH165,P1.1接CLK165,P1.2接SH_LD, ; P1.3、P1.4接静态数码显示的DIN、CLK。 ;//**************************************************************** QH165 BIT P1.0 CLK165 BIT P1.1 SH_LD BIT P1.2 DAT164 BIT P1.3 CLK164 BIT P1.4 MEMORY EQU 30H

verilog实现串并并串转换的代码和仿真结果

题目:串并互换电路的设计 系(部):*** 专业班:*** 姓名:*** 学号:*** 指导教师:*** 完成比例:** 2011年12 月

摘要 本文主要讲述用verilog实现串并互换电路,在同步时钟的控制下,四位的并行数据和串行数据相互转换,通过一位的控制信号来控制该电路为串并或并串转换,最后由串并有效位来表示串并互换成功。 关键词:串转并并转串移位寄存器

Abstract This paper deals with verilog realize string and swap circuit, in synchronous clock under the control of four parallel data and serial data transformation, through a control signals to control the circuit for the series and or and string of conversion, finally by string and effective to say a string and swap success. Key W ords:Parallel turns to serial serial turns to parallel Shift register

目录 摘要.............................................................................................................................................................................. I ABSTRACT ..................................................................................................................................................................... II 1 选题背景. (1) 1.1本课题的意义 (1) 2 方案论证 (2) 2.1串并并串选择的分析 (2) 2.2串并并串转换是否成功的标志位及表达 (2) 3、程序的具体实现及仿真结果 (3) 4、本人完成部分及对该部分的理解 (9) 5结论或总结 (9) 致谢 (10) 参考文献 (10)

串并转换

实验五串并转换实验 一、实验目的 1、掌握串并行转换的原理及采用74LS164扩展端口的方法。 2、掌握数码管显示的原理及方法。 3、学习用任意两根I/O口线进行数据传输的方法。 二、实验要求 利用实验箱的显示电路,在数码管上循环显示0-9这10个数,每个数显示1秒。完成后修改程序,仅在一个数码管上显示0-F这16个数(其它三个数码管不显示)。 三、实验原理 实验设备中数码管为共阴接法,接线确定了各段从左 至右的排列顺序为:abcdefgh。如果要显示数字1,应该 是b c段发光,所以b c段对应的位写1,其它不发光的位写0。因此1的显示码为 60H。其它显示码可按此规律得出。 实验原理图见图二,串并转换芯片74LS164的A、B端为串行数据输入端,将其接到数据线P1.0上,CLK为时钟端接到时钟线P1.1上,Q0~Q7为并行输出端接数码管。在P1.1产生的时钟脉冲的作用下,数据的显示码从74LS164输入端一位一位的输入,经164转换后,串行数据变为8位并行数据经其输出端Q0~Q7加到数码管上,数码管就能显示相应的数字。 下面是数据60H的传输及显示过程: 1、将A中数据的最低位送到串口的数据线P1.0上。 2、在时钟线P1.1上产生一个脉冲。 3、在这个脉冲的作用下,P1.0上的数据被打入164的Q0输 出端,原来Q0上的数据移到Q1,Q1的数移到Q2…, 完成一位数的传输。 4、第1步到第3步重复8次,这样一个字节的数据就输出 完毕,同时74LS164将接收到的串行数据转换成并行数据 在数码管上显示出来。 四、实验框图 实验框图见图一。 五、实验连线及步骤 1、DIN接P1.0,CLK接P1.1,打开实验箱电源,打开串并 转换数码管显示模块上的开关。 2、启动KEIL软件界面,根据框图编程。 在初始化框中有两个内容,它们分别是: * 送表指针初值---寄存器 MOV R1,#0 * 送表首地址---DPTR 图一串并转换程序框图

串转并和并转串实验

实验五串转并与并转串实验 一、实验目的 1.掌握使用74LS164 扩展输出的方法。 2.掌握使用74LS165 扩展输入的方法。 二、实验内容 使用74LS165 扩展输入数据,使用74LS164 扩展输出数据。74LS165 的并行口接八位逻辑电平输出(开关),CPU 使用P1.0、P1.1 和P1.2 串行读入开关状态;74LS164 的并行口接一只数码管,CPU 使用P1.3 和P1.4 串行输出刚读入的开关状态,使之在数码管上显示出来。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验说明和电路原理图 1)74LS165 为8 位移位寄存器,其引脚功能如下: S/L:移位/置数端,低电平有效。 P0~P7:并行数据输入端。 QH、QH:串行数据输出端。 CLK、CKLINH:时钟信号输入端。 2)74LS164 为串行输入并行输出移位寄存器,其引脚功能如下: A、B:串行输入端; Q0~Q7:并行输出端; MR:清零端,低电平有效; CLK:时钟脉冲输入端,上升沿有效。 3)用P1 端口输出数据时,要编程位移数据,每操作一个数据位,对应一个移位脉冲。 4)本实验需要用到CPU 模块(F3 区)、八位逻辑电平输出模块(E4 区)和静态数码管显示模块(B4 区)。74LS165 电路原理图参见图5-1,74LS164 电路原理图参见图8-2。 注:74LS164 集成电路芯片在主板反面。 图5-1 74LS165 电路

图5-2 74LS164电路 五、实验步骤 1)系统各跳线器处在初始设置状态。 用导线对应连接八位逻辑电平输出模块的QH165、CLK165、SH/LD 到CPU 模块的P10、P11、P12。用导线对应连接静态数码管显示模块的DIN、CLK 到CPU 模块的P13、P14。 2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3)观察数码(八段码)管的亮灭与拨动开关的状态是否一致。拨动开关拨下输出为低电平,段码点亮。 QH165 BIT P1.0 ;位定义 CLK165 BIT P1.1 SH_LD BIT P1.2 DAT164 BIT P1.3 CLK164 BIT P1.4 MEMORY EQU 30H ORG 0000H AJMP START ORG 00B0H START: SETB CLK165 ;开关数据置入165 CLR SH_LD ;低电平置数 SETB SH_LD ;高电平移位 MOVR7, #8 Input: RRA MOVC, QH165 ;读数 MOV ACC.7, C ;把C送到累加器最高位 CLR CLK165 ;脉冲

LS164串进并出实验及165并串转换实验

2、165并串转换实验。 (1)74LS165芯片引脚图 管脚说明: D0 through D7 --Parallel in puts SI -- Serial in put Q7,/Q7 -- Data outputs CLK -- Clock CKIN -- Clock in hibit S/L --(高有效)Shift/Parallel-load 实验二 74LS164串进并出实验及165并串转换实验 一、 实验目的 1 、了解74LS164芯片的工作原理,以及与单片机的接口方法。 2、掌握单片机串行口的工作原理以及编程方法。 3 、了解74LS165芯片的工作原理。 4、掌握74LS165芯片在单片机系统中的应用及编程。 二、 实验内容 1、 用74LS164芯片扩展并行输出口,本实验中我们用 74LS164扩展两个8位输出口的 接口显示电路,两位数码管循环显示 00~99之间的数字。 2、 利用实验系统上的 74LS165芯片,编程实现8位数据并行输入,串行口串行接收, 并将接收的数据存放在 CPU 内部存储区50H~59H 中,共10个数据。(并行输入数据由P1 口 来送入) 三、 编程指南 1、74LS164串进并出实验。 (1) 本实验中MCS-51单片机串行口工作在方式 0 (移位寄存器方式,用于并行 I/O 口 扩展)的发送状态时,串行数据由 P3.0(RXD )送出,移位时钟由 P3.1( TXD 送出。在移位 时钟的作用下,串行口发送缓冲器的数据一位一位地移入 74LS164中。需要指出的是,由于 741S164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,故在某 些应用 场合,在74LS164的输出端应加接输出三态门控制, 以便保证串行输入结束后再输出 数据。 (2) 74LS164引脚功能图 管脚说明: SIA 、SIB --- Serial in puts Q0 through Q7 ---- Data outputs CLK ---- CLOCK CLR ——Clear in put 功能表: VCC Q7 08 Q5 射 CLK CLK | K I ] nJ 17 10 * | T 7ns 16^1 □J 2 jj LsJ LzJ SIA 5IB QQ QI Q? Q3 ENJ S/L CP D4 D5 D6 DT /Q7 GND

实验四(一) 串并转换实验(2学时)

湖北民族学院科技学院 信息工程学院 单片机原理实验报告 实验名称:单片机串口应用 专业班级 学号 姓名 指导教师

实验四(一)串并转换实验(2学时) 一、实验目的 ⑴掌握8031串行口方式0工作方式及编程方法。 ⑵掌握利用串行口扩展并行I/O通道的方法。 二、实验内容 (1)在实验箱上完成: 利用8031串行口和串行输入并行输出移位寄存器74LS164,扩展一个8位输出通道,用于驱动一个共阳极数码显示器,在数码显示器上循环显示8031串行口输出的0~9这10个数字。 (2)用Proteus软件参照实验电路连线并仿真运行,得出与实验箱上相同的软件仿真结果。 所用元器件:单片机AT89C51、串入并出移位寄存器74LS164、数码管7SEG-COM-CAT-GREEN(BLUE) 参考仿真电路图: 三、实验说明 串行口工作在方式0时,可通过外接移位存储器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。 共阳极数码管的0~9的显示码如下:0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09 四、实验步骤 ⑴将串并单元DATA插孔接P3.0插孔。 ⑵将串并单元CLK插孔接P3.1插孔。 ⑶将串并单元CLR插孔接地址线A9下方CLR插孔。上电时对164复位。 ⑷执行程序 ⑸在串并单元数码管上循环显示0~9这10个数字。 五、实验电路(图中粗实线)

74LS164串进并出实验及165并串转换实验

74L S164串进并出实验及165并串转换实 验 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

实验二 74LS164串进并出实验及165并串转换实验 一、实验目的 1、了解74LS164芯片的工作原理,以及与单片机的接口方法。 2、掌握单片机串行口的工作原理以及编程方法。 3、了解74LS165芯片的工作原理。 4、掌握74LS165芯片在单片机系统中的应用及编程。 二、实验内容 1、用74LS164芯片扩展并行输出口,本实验中我们用74LS164扩展两个8位输出口的接口显示电路,两位数码管循环显示00~99之间的数字。 2、利用实验系统上的74LS165芯片,编程实现8位数据并行输入,串行口串行接收,并将接收的数据存放在CPU内部存储区50H~59H中,共10个数据。(并行输入数据由P1口来送入) 三、编程指南 1、74LS164串进并出实验。 (1)本实验中MCS-51单片机串行口工作在方式0(移位寄存器方式,用于并行I/0口扩展)的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(TXD)送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。需要指出的是,由于741S164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,故在某些应用场合,在74LS164的输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。 (2)74LS164引脚功能图 管脚说明: SIA、SIB --- Serial inputs Q0 through Q7 ---- Data outputs CLK ---- CLOCK CLR ---- Clear input

LTC1196ADC输出串并转换电路

实验二 LTC1196ADC 输出串并转换电路 一、 实验要求 利用状态机等设计将LTC1196(ADC )的串行输出数据转换成并行数据的转换电路,ADC 的时钟由转换电路提供,CS 信号由转换电路处理后提供给ADC ,以保证LTC1196的时序要求。 二、 实验原理 利用状态机的方法设计,通过资料得知LTC1196的工作频率为1MHz ,同时把系统时钟也设置为1MHz ,2个片选信号之间间隔为12个工作频率,因此将状态在内的12个状态,在初始状态st0中将所有的信号量初始化,在st1-st4中为采集模拟量时间,转换电路空操作,在st5-st12状态中将ADC 转换的串行数字量保存给中间变量。 图1 LTC1196-2B 时序图 从时序图可以知道:采样时间t SMPL 至少为2.5个f CLK ,单次转换时间不少于12个f CLK ;片选下降沿离上一CLK 上升沿至少13ns ,离下一CLK 上升沿,CS 建立时间至少26ns ;时钟频率f CLK 不高于12MHz 。转换关系为 V V DATA in 5/255?= 下图为该状态机的状态图 suCS t

下面第程序中的参数作简要的介绍: enable:转换电路使能端,由FPGA控制 start:LTC1196使能端 din:LTC1196的串行数字端 dout:并行输出端 rst:异步复位端 fclk:系统时钟接入端,1MHz busy:转换工作中,当采集模拟量的时候为高电平 adok:转换结束,可以通知FPGA取数 三、实验程序 library ieee; use ieee.std_logic_1164.all; entity adc is port (fclk,enable,din,rst:in std_logic; dout:out std_logic_vector(7 downto 0); busy,start,adok:out std_logic); end entity adc; architecture behav of adc is type states is (st0,st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11); --12个状态 signal count: integer range 0 to 49; --50分频的常量 signal current_state:states; signal next_state:states; signal data:std_logic_vector(7 downto 0); --传输数据的中间量 signal rise:std_logic; --rise通知FPGA可以取数上升沿有效signal serok:std_logic; --LTC1196模拟量采样完毕信号 signal sample:std_logic; --模拟变换数字后的中间量

实验四 串行AD转换实验

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□√设计□创新实验日期:实验成绩: 实验四串行A/D 转换实验 一、实验目的 1.熟悉八位串行AD转换器TLC549的性能及转换过程。 2.掌握单片机和TLC549硬件联接及软件编程。 二、实验内容 使用TLC549 实现单片机模数转换。模拟信号为0~5V 电位器分压输出,单片机读取模拟信号,并在数码管上用十六进制形式显示出来。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验说明和电路原理图TLC549是一种采用8位逐次逼近式工作的A/D转换器。内部包含系统时钟、采样和保持、8 位A/D转换器、数据寄存器以及控制逻辑电路。TLC549每25uS重复一次“输入——转换——输出”。器件有两个控制输入:I/O CLOCK和片选(CS)。 内部系统时钟和I/O CLOCK可独立使用。应用电路的设计只需利用I/O时钟启动转换或读出转换结果。当CS为高电平时,DA TA OUT处于高阻态且I/O时钟被禁止。当CS变为低电平时,前次转换结果的?高有效位(MSB)开始出现在DA TA OUT端。在接下来的7个I/O CLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。然后再将第8 个时钟周期加至I/O CLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD 转换。在第8个I/O CLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(>17uS),否则CS的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。本实验需要用到CPU 模块(F3 区)、电位器模块(E2 区)、串行模数转换模块(D5 区)、串行静态数码显示模块(B4 区)。TLC549 串行模数转换电路原理参见下图。

并串串并转换设计

并串/串并转换电路设计 一、实验目的: 用verilog语言设计一个8:1的并串转换电路、设计一个1:8的串并转换电路。 二、实验原理: 实现8位的并行数据转换为串行的数据:并行转串行,只要把每个输入按从高到低的顺序输出即可。即每个时钟脉冲输出一个数据。 实现8位的串行数据转换为并行的数据:8位串行数据转换为并行数据,需要一个模为8的计数器,当计到8个时钟脉冲时,把之前的8个数据全部输出,然后从新接收。 三、实验内容: 用verilog实现8位的并行数据转换为串行的数据: module bingchuan(out,in,rst,clk); output out; reg out; input [7:0] in; input rst,clk; integer i=0; always@(posedge clk) begin if(rst) out<=0; else begin if(i==8) begin out<=0; end else out<=in[i]; i<=i+1; end end endmodule module textbingchuan; reg [7:0] in;

reg rst,clk; wire out; bingchuan bc(out,in,rst,clk); initial clk=1; always #5 clk=~clk; initial begin rst=1; #100 rst=0;in=8'b11101110; end endmodule 仿真后的波形: 用verilog实现8位的串行数据转换为并行的数据:module chuanbing(out,in,rst,clk); output [7:0] out; reg [7:0] out; input in,rst,clk; reg[7:0] temout; reg[2:0] cd; always@(posedge clk) begin if(rst) cd=3'b111; else begin temout[cd]<=in; cd<=cd-1'b1; if(cd==3'b111) begin out<=temout; end

单片机串并转换实验报告

实验五串并转换实验 姓名:赵新专业:通信工程(401)学号:2011412547 成绩: 一、实验目的 1、掌握8051串行口方式0工作方式及编程方法; 2、掌握利用串行口扩展I/O通道的方法; 二、实验内容 1、用Proteus画出仿真电路图。利用8051串行口和串行输入并行输出移位寄存器74LS164 可以进行I/O的扩展,要求以级联的形式用2片74LS164扩展两个8位I/O,驱动两个数码管,电路自行设计。 2、按流程图编写程序,在数码管上循环显示从8051串行口输出的0--9这10个数字。 3、编写程序,利用定时器T0产生1S的定时,通过数码管显示计时时间0~99秒,计到99 秒后再减1计时,即由99~0。 三、实验原理及步骤 1、串行口工作在方式0是时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率的1/12。由软件置位串行控制寄存器(SCON)的REN后才能启动串行接受,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输入完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。 2、74LS164:8位串入并出移位寄存器,共有14个引脚。 注意:74LS164接数码管时应接限流电阻(200欧姆左右),否则无法驱动级联的另一块74LS164。 3、实验步骤:1、用proteus设计串并转换电路; 2、在Keil C51中编写控制程序,编译通过后,与Proteus联合调试; 3、连续执行程序,在扩展的数码管上循环显示0~99这10个数字; 4、修改程序,实现加减计时功能。 四、电路设计及调试 1、实验电路

并转串的IO 口实验及8×8LED 扫描输出实验12

并转串的I/O 口实验及8×8LED 扫描输出实验 桂林电子科技大学 单片机原理实验报告 一.实验目的 熟悉并掌握并转串的I/O 口扩展方法。 二.实验设备及器件 IBM PC 机一台 DP‐51PRO 单片机综合仿真实验仪一台 三.实验内容 1.编写程序,通过单片机的P1 口控制74HC165 的串行数据输入端口,实现并串转换。 2.采用8 位的拨码开关作为输入数据,验证程序设计的正确性。 3. 编写一段程序,用P1 口控制扫描,用C5 区的74HC164 控制显示输出,使C3 区的 8×8LED 点阵显示一个“×” 四.实验要求 1.熟悉并串转换芯片的工作原理,学会使用并串转换芯片扩展单片机的I/O 口资源 2. 学会使用单片机对LED 点阵进行扫描显示。 五.实验步骤 1. 短接C4 区JP11 跳线,将C4 区J90 接口与A2 区J61 接口的P10~P15 对应相连(/PL 对应连接P10 等等)。如图 3.1 实验原理图。 2. 将D1 区的J54 接口连接到C4 区J98 并行数据输入接口,设置拨码

开关SW1~SW8 的状态。 3. 打开程序调试软件,下载运行编写好的软件程序,完成一次并串转换操作,把拨码 开关的状态读出来。 4. 查看程序运行结果是否正确。 8×8LED 扫描输出实验 1. 使用导线把A2 区的J61 接口与C3 区的J46 接口从P10~P17 到LD_1~ LD_8 对应 相连。 2. 使用导线把C5 区的J97 接口与C3 区的J47 接口从Q0~Q7 到LD_A~ LD_H对应相 连。 3. 使用导线把A2 区的J58 接口和C5 区的J43 接口从INT0 到CLK、从INT1 到DINA、 从T0 到DINB、从T1 到CLR 对应相连,另外再短接C5 区JP10 和C3 区JP2。 4. 参考实验七编写一段从74HC164 输出八位数据的程序。 5. 再编写一个完整的LED 点阵扫描程序,显示“×”。 六.实验参考程序并转串的I/O 口实验 PL EQU P1.0 CLK1 EQU P1.1 CLK2 EQU P1.2 SER EQU P1.3 Q7 EQU P1.5 ORG 8000H LJMP MAIN ORG 8100H MAIN: MOV SP,#60H ;设置堆栈指针 MOV R4,#00 ;延时 DJNZ R4,$ MOV A,#0 ;变量清零 SETB Q7 ;Q=1,端口设置为输入状态 CLR SER ;SER=0 CLR CLK2 ;CLK2=0 CLR PL ;/PL=0 NOP ;锁存并行输入数据 SETB PL ;/PL=1 NOP MOV R4,#08H ;设置循环变量 CLR CLK1 PLCHG:

串并转换实验

一、实验内容: (1)在实验箱上完成:利用8031串行口和串行输入并行输出移位寄存器74LS164,扩展一个8位输出通道,用于驱动一个共阳极数码显示器,在数码显示器上循环显示8031串行口输出的0~9这10个数字。 (2)用Proteus软件参照实验电路连线并仿真运行,得出与实验箱上相同的软件仿真结果。 所用元器件:单片机AT89C51、串入并出移位寄存器74LS164、数码管7SEG-COM-CAT-GREEN(BLUE) 二、实验电路及功能说明 串行口工作在方式0时,可通过外接移位存储器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的TI位置1,TI 必须由软件清零。共阳极数码管的0~9的显示码如下:0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09 三、实验程序流程图: 主程序:

子程序: 四、实验结果分析 五、心得体会 通过实验让我掌握8031串行口方式0工作方式及编程方法。同时了解和掌握了利用串行口扩展并行I/O通道的方法。 程序清单 #include unsigned char code table[]={0x03,0x9F,0x25,0x 0D, 0x99,0x49,0x41,0x1F,0 x01,0x09}; int i=0,num=0; void main() { TMOD=0X01; TH0=(65536-5000)/256 ; TL0=(65536-5000)%25 6; EA=1; ET0=1; TR0=1; SCON=0x00; while(1); } void timer0() interrupt 1 { TH0=(65536-50000)/25 6; TL0=(65536-50000)%2 56; num++; if(num==10) {

串并转换

利用状态机等设计将LTC1196(ADC)的串行输出数据转换成并行数据的转换电路,ADC 的时钟由转换电路提供,CS 信号由转换电路处理后提供给ADC ,以保证LTC1196的时序要求。 1 有限状态机 有限状态机(Finite State Machine )主要用于顺序逻辑电路的建模,在顺序逻辑电路设计中,因不同阶段具有明确的顺序状态,所以其显得非常有用。图1是一个状态机的基本结构。有限状态机的主要功能是用来实现一个数字电路设计的控制部分,其功能和CPU 的功能十分相似。在进行数字系统的电路设计时,如果考虑实现一个控制功能,通常会选择状态机或者是CPU 来实现,但是在执行耗费时间和执行时间的确定性方面,状态机要比CPU 好。 有限状态机可以有多种不同的描述方式。描述状态机的VHDL 代码必须遵守一定的规则。 (1) 至少要包括一个用来指定状态机状态的状态信号; (2) 状态转移指定和输出指定,它们对应于控制单元中与每个控制步有关的 转移条件; (3) 用来进行同步的时钟信号; (4) 复位信号。 使用枚举数据类型来定义状态机的状态,并使用多进程方式来描述状态机的内部逻辑,可以得到高效、可综合的VHDL 状态机描述。状态变量不能是接口或端口信号,而且状态变量的操作只限于等于或不等于的比较操作。在描述有限状态机的过程中常使用的描述方式有单进程方式、双进程方式和三进程方式。三进程方式就是将有限状态机的次态逻辑、状态寄存器和输出逻辑分别使用三个进程来描述。这种描述方式可以把状态机的组合逻辑部分和时序逻辑部分分开,有利于对状态机的组合逻辑部分和时序逻辑部分分别进行测试。双进程描述方式是将有限状态机的次态逻辑、状态寄存器和输出逻辑分别用两个进程来描述。同样一个单进程描述方式就是将有限状态机的次态逻辑、状态寄存器和输出逻辑使用一个进程来描述。 2.LTC1196(ADC) 状态译码器 (组合逻辑) 状态寄存器 (时序逻辑) 输出译码器 状态 图1 状态机的基本结构

单片机串并口转换实验

我也是刚入手单片机,今天编了一段小程序,就是关于单片机串口转并口和并口转串口的一个小实验,本程序在PTOTUES中完美运行。在单片机开发试板上也是完美运行。今天贴出来供大家分享,看完本历程,有助于提高您对单片机IO口的基本操作,锁存器的用法以及串并转换的使用技能 #include 本例程的电路连接图如上,在电路中使用了AT89C51单片机一块,74HC595八路串/并转换器,74HC165八路并串转换器和一片74HC573 锁存器。实验者请按上图连接好实验电路。 #include

#include< intrins.h > #define uchar unsigned char #define uint unsigned int #define ulong unsigned long code uint a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; sbit SO=P1^0; //定义165的输出 sbit STCP=P1^1; sbit DS=P1^2; sbit SHCP=P1^3; sbit SHLD=P1^4; sbit CLK=P1^5; sbit cs573=P1^6; /**************************************************/ void delay(ulong X) //延时函数,采用了形参传递函数

{ while(X--); } /**************************************************/ void LED(); //函数声明 /**************************************************/ void main() //主函数 { while(1) { LED (); } } /****************************************************/

相关文档