74LS164串转并实验

74LS164串转并实验
74LS164串转并实验

74LS164串转并实验

一、实验目的

1、掌握89C51串行口方式0工作方式及编程方法

2、掌握89C51的P1口的I/O 功能输出

3、掌握利用串行口入I/O 口,扩展I/O 通道的方法 二、实验说明

本实验是用74LS164把输入的串行数转换成并行数输出,74LS164为串行输入并行输出移位寄存器,其引脚图及功能如下:

A 、

B :串行输入端; QA ~QH :并行输出端; CLR :清零端,低电平有效; CLK :时钟脉冲输入端,上升沿有效。

实验采用单片机串行工作方式0和P1端口两种方式串行输出

数据。串行口工作方式0时,数据为8位,从RXD 端输出,TXD 端输出移位信号,其波特率固定为Fosc/12。在CPU 将数据写入SBUF 寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI 位置1,TI 必须由软件清零。

串行口工作方式0数据/时钟是自动移位输出,用P1端口输出数据时,要编程位移数据,每输出一个数据位,再输出一个移位脉冲。 三、实验内容及步骤

本实验需要用到单片机最小系统(F1区)、十六位逻辑电平显示(I4区)和74LS164(G3区)。

1、选用89C51单片机最小应用系统模块,用八位数据线连接74LS164的并行输出JD5G 与十六位逻辑电平显示模块JD2I ,将74LS164的串行输入端A/B (1和2脚)接到RXD 上,CLK 接到TXD 上,CLR 接INT0。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 “TH23_74164 .ASM ”源程序,进行编译,直到编译无误。

4、全速运行程序,观察发光二极管亮灭情况,先右移动两次,再左移动两次,然后闪烁两次。

5、也可以把源程序编译成可执行文件,用ISP 烧录器烧录到89S52/89S51芯片中。(ISP

烧录器的使用查看附录二)

四、实验程序(见光盘中的程序文件夹)

五、电路图

CLR 9CLK

8

A 1B

2

QA 3QB 4QC 5QD 6QE 10QF 11QG 12QH

13

VCC 14GND 7

74LS164

CLR 9CLK 8A 1B 2QA 3QB 4QC 5QD 6QE 10QF 11QG 12QH

13

VCC 14GND 7

U3G

SN74LS164N

VCC XTAL1A 12MHz

C3A

33pF C2A

33pF

P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.7

8

RST

9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/RD 17XTAL218XTAL119VSS

20

P2.0

21P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN 29ALE/PROG

30EA

31P0.032

P0.133P0.234P0.335P0.436P0.537P0.638P0.739VCC 4089C51

U1F

VCC P3.0P3.1P1.0

P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0

P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA

ALE PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

P3.2P3.3P3.4P3.5P3.6P3.7

510*8

VCC

P3.0

P3.2

P3.1L0L1L2L3

L4L5L6L7

C3F

10uF

VCC

RESET

R2F

100R1F

1K

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运行程序;

74LS164动态扫描数码管与proteus传真及C程序

74ls164 为8 位移位寄存器,其主要电特性的典型值如下: 当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。 引脚功能: CLOCK :时钟输入端 CLEAR:同步清除输入端(低电平有效) A,B :串行数据输入端 QA-QH:输出端

极限值 电源电压7V 输入电压…… 5.5V 工作环境温度74164….. -55~125℃74164…… -0~70℃储存温度….. -65℃~150 真值表:

时序图: 建议操作条件:

应用实例: C程序: #include #include #define uchar unsigned char #define uint unsigned int sbit DA T=P2^3;//A,B端接一块后接入DA T sbit CLK=P2^2; sbit W A1=P2^4; sbit W A2=P2^5; uchar code table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; //共阴数码管无小数点void delayms(uint time) { uchar i,k; for(k=time;k>0;k--) for(i=110;i>0;i--); } void sendchar(ch)

串转并转换器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 (); } }

I0口驱动74LS164数码管静态显示程序

74LS164 1、器件功能作用 8 位串入,并出移位寄存器 2. 概述 74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 3. 特性 ?门控串行数据输入 ?异步中央复位 ?符合 JEDEC 标准 no. 7A ?静电放电 (ESD) 保护: ·HBM EIA/JESD22-A114-B 超过 2000 V ·MM EIA/JESD22-A115-A 超过 200 V 。 ?多种封装形式 ?额定从 -40 °C 至+85 °C 和 -40 °C 至+125 °C 。 4. 功能图

图 1. 逻辑符号 图 2. IEC 逻辑符号 图 3. 逻辑图

图 4. 功能图 5. 引脚信息 图 5. DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚配置引脚说明 6. 功能表(真值表)

H = HIGH(高)电平 h = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 HIGH(高)电平L = LOW(低)电平 l = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 LOW(低)电平q = 小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referenced input) 的状态 ↑ = 低-至-高时钟跃变 7. 电器特性

74LS164在单片机中的使用

74LS164在单片机中的使用 作者:huqin 来源:本站原创点击数:406 更新时间:2014年02月15日【字体:大中小】 在单片机系统中,如果并行口的IO资源不够,那么我们可以使用74LS164来扩展并行IO口,节约单片机IO资源。74LS164是一个串行输入并行输出的移位寄存器,并带有清除端。 74LS164的引脚可以查看数据手册。 proteus仿真图和代码附上。

#include #define HIGH 1 #define LOW 0 #define SEG_PORT P0 sbit DATA = P0^4; sbit CLK = P0^5; unsigned char Timer0IRQEvent = 0; unsigned char Time1SecEvent = 0; unsigned int TimeCount = 0; unsigned char SegCurPosition = 0; code unsigned char SegCode[10] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x 07,~0x7F,~0x6F}; code unsigned char SegPosition[4] = {0xFE,0xFD,0xFB,0xF7}; unsigned char SegBuf[4] = {0}; void LS164_DATA(unsigned char x) { if(x) { DATA = 1; } else { DATA = 0; }

void LS164_CLK(unsigned char x) { if(x) { CLK = 1; } else { CLK = 0; } } /********************************************************** *函数名称:LS164Send *输入:byte单个字节 *输出:无 *功能:74LS164发送单个字节 ***********************************************************/ void LS164Send(unsigned char byte) { unsigned char j; for(j=0;j<=7;j++) { if(byte&(1<<(7-j))) {

单片机控制74LS164驱动数码管

单片机控制74LS164驱动数码管 利用74LS164驱动数码管, 我们首先来弄清74LS164的工作方式,然后学习如何在自己板子上连接线路。 我们来讲一讲数码管的基础知识: 使用数码管时,要注意区分这两种不同的接法:共阴极和共阳极。共阴极时,为1则亮;共阳极时,为0则亮。

为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。 比如共阴极的方式接数码管,显示“1”,则编码为0x3f,即00111111(dp g f e d c b a )。 ================================================================================================== 静态显示程序如下: /*----------------------------------- 功能:数码管静态显示0-F 单片机:AT89S52 ------------------------------------*/ #include "reg52.h" #define uint unsigned int #define uchar unsigned char sbit DAT=P0^3; sbit CLK=P0^2; void sendbyte(uchar byte); void delay(uint z); uchar code tab[]={ 0xed,0x09,0xbc,0x9d,0x59,0xd5, 0xf5,0x0d,0xfd,0xdd,0x7d,0xf1, 0xe4,0xb9,0xf4,0x74,0x00} ; //0-F, 全灭 /*======================== 主函数 =========================*/ void main() { unsigned char h; while(1) { for(h=0;h<17;h++) { delay(500); //延时大约是0.5s sendbyte(h); delay(500); } h=0;

实验四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、参考

(完整版)74ls164动态驱动多位数码管

74ls164 能否动态驱动多位数码管void display() //数码显示 { SCON=0; //初始化串行口方式SBUF=dispcode[ge]; while(!TI); TI=0; led4=0; delay(2); led4=1; SBUF=dispcode[shi]; while(!TI); TI=0; led3=0; delay(2); led3=1; SBUF=dispcode[bai]; while(!TI); TI=0; led2=0; delay(2);

SBUF=dispcode[qian]; while(!TI); TI=0; led1=0; delay(2); led1=1; SBUF=dispcode[wan]; while(!TI); TI=0; led0=0; delay(2); led0=1; } 74ls164数码管驱动(第二个程序) #define clock PORTD.1 #define date PORTD.0 #define clock_en DDRD.1 #define date_en DDRD.0 unsigned char lab[2][10]={ 0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09, 0x02,0x9E,0x24,0x0C,0x98,0x48,0x40,0x1E,0x00,0x08}; void send(unsigned char w) { unsigned char i; for(i=0;i<8;i++) { clock=0; date=w&1;

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

贵州大学实验报告纸 实验八串转并与并转串实验 一、实验目的 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

74ls164串行输出扩展运用课程设计

单片机课程设计报告74ls164串行输出扩展运用 班级:09移动1班 姓名:王家树、黄志豪 学号:09112002、09112003 指导老师: 陈海松 一、课题的提出 选择这个课程设计,是由于陈老师在课程上曾提到过74ls164芯,并且对串口通信比较喜欢,通过老师的咨询,便提出做一个关于74ls164的串行通信程序应用设计的报告。 二、设计任务和要求 任务:设计一个能够由数码管显示,编写一个关于74ls164的串输入并行输出一串数字。

要求:利用单片机的并行串行I/O口,利用C语言中的指针函数,编写一段好用又简洁的设计代码。 三、设计方案的论证 1、首先从参考文献中可以查到54/74164是 8 位移位寄存器(串行输入,并行输出),是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 2、功能图 图 1. 逻辑符号

3、引脚说明 符号引脚说明 DSA 1 数据输入 DSB 1 数据输入 Q0~Q3 3~6 输出 GND 7 地 (0 V) CP 8 时钟输入(低电平到高电平边沿触发) /M/R 9 中央复位输入(低电平有效) Q4~Q7 10~13 输出 四、硬件资源及其分配 关键元件:89C51芯片,74ls164芯片、数码管、复位电路 主要用到的硬件:P3口、数码管、串行输出输入口; 硬件分配: 1.串行输出输入口(单片机51的10、11脚)分别接第一个74ls164的8脚1、2脚,第二第三第四第五第六个进行级联; 2. 74ls164的9脚复位端接高电平; 3.每个数码管(a、b、c、d、e、f、g)接74ls164并行输出口(3、4、5、6、10、 11、12、13); 五、硬件图

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)

单片机串口连接两个74LS164驱动两个LED数码管

单片机应用设计 课题:串口连接两个74LS164驱动2个LED 数码管显示 班级学号:xx 姓名:xx

1设计要求 设计内容 设晶体为12MHz,将拨码开关数据串行输入到74LS164,并行输出到2个LED 数码管进行相应的数码显示。 设计包括:系统设计分析、系统原理图设计、程序流程图设计、源程序设计、系统调试与仿真及调试结果分析、对本课程学习的感想与收获、对老师的意见与建议、期望成绩等。 学习目的 该作业具有较强的实用性,许多同学已经认识到自己完全有能力设计一个实用的单片机应用系统,对单片机设计由感兴趣已经变为爱好了,为后面的实际应用系统设计奠定了较好的基础。 2 系统设计分析 单片机最小系统+串口+74LS164+LED数码管 单片机的最小系统是单片机能够工作的最小硬件组合,对于8051系列单片机,其电路的最小系统大致相同,主要包括电源、晶体振荡电路、复位电路等。 串口 数据通信方式包括并行通信和串行通信两种。并行通信就是多条数据线上同时传送,其优点:速度快,只适于近距离通信。串行通信就是数据以为以为的顺序传送,其优点:线路简单,成本低,适合远距离通信。 串行通信方式包括:异步串行通信和同步串行通信。异步方式,数据传送不连续,时间间隔任意。同步方式,发送与接收同步。数据传送方式:单工、半双工、全双工、多工。常见的串行通讯有:RS-232、RS-485、CAN总线等。 串行口控制寄存器包括:串行口控制寄存器SCON(控制工作方式)、电源控制寄存器PCON(控制波特率)。SM0、SM1选择工作方式,SM2用于多机通信,REN允许接收控制位,TB8/RB8发送/接收数据D8位,TI/RI为发送/接收中断标志位。

串并转换

实验五串并转换实验 一、实验目的 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 ;脉冲

使用74LS164制作流水灯

使用74LS164制作流水灯 单片机初学者对于流水灯实验一定特别的熟悉,这个实验逻辑清晰,效果明显,在各类单片机以及微机控制相关材料中都会进行讲解。当我们学习了一段时间单片机之后,或者在进行单片机系统设计时,会发现51单片机的引脚有时并不是很够用,有时候需要尽量节省单片机I/O引脚。如何节省I/O引脚是我们在设计单片机系统时,经常需要考虑的一个问题。 下面以8个LED组成的流水灯效果的实现为例,讲解如何节省单片机的I/O引脚。 通常我们会采用如图1所示的电路图,通过单片机直接驱动8个LED,但是这种控制方式消耗了8个单片机引脚。 图1 常规流水灯电路

我们也可以使用三八译码器来完成流水灯的效果。其控制电路图如图2所示(这种控制方式在我之前上传的文档中有详细介绍,感兴趣读者可以查看)。这种控制方式虽然可以在一定程度上可以节省单片机I/O接口的使用,如下图所示,最少只需要使用3个I/O口。但是这种方式也存在一定的缺点,这种控制方式只能同时点亮1个LED 灯,如果想实现两个以及以上的LED灯点亮的效果,那么这种电路将无法直接实现效果。 图2 三八译码器拓展I/O口 下面我们看一下能够使用其他的芯片,来进一步降低单片机I/O 口的消耗。使用串行转并行芯片74LS164来制作流水灯效果,其控制原理图如图3所示。从原理图中可以看出,使用了74LS164芯片控制流水灯之后,只占用了单片机的两个I/O口。一个用于输出时钟脉冲,另外一个用于输出串行数据。

图3 74LS164控制流水灯原理图 与前面采用译码器控制的流水灯相比,使用74LS164控制的流水灯效果具有如下两个显著优点: 1.占用单片机I/O口少,最少仅为2个。 2.控制功能强大,74LS164驱动的流水灯点亮的个数没有限制,可以任意数量点亮。 编程思路:单片机以最快的速度通过串口控制8个LED灯的点亮状态,由于此过程极短,人眼无法分辨,通过延时函数稳定输出效果,并延时一定时间,再次以最快的速度通过串口控制8个LED灯的亮灭状态,并执行延时函数实现等待效果,如此反复,就可以实现流水灯的效果,且可以实现任意的流水灯的效果。 编程技巧:由于需要反复执行“单片机通过串口控制8个LED灯”的程序,可以将该程序通过子函数来实现简化程序的效果。 下面给出笔者编写的程序参考,读者可以根据自己的编程思路,完成不同的控制程序的编写。

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

单片机课程设计——74LS164实现串入并出

目录 1. 题目设计要求.................................................................. 2.系统的硬件设计.................................................................. 2.1系统采用的元器件.......................................................... 2.2器件选择.................................................................. 2.2.1 AT89C51概述及引脚功能.............................................. 2.2.2 74164的技术指标及工作原理.......................................... 3.系统硬件电路图设计.............................................................. 3.1振荡电路及复位电路设计.................................................... 3.2电路原理图................................................................ 4.系统的软件设计................................................................. 4.1编程语言选择.............................................................. 4.2发送字符串模块设计........................................................ 4.4源代码.................................................................... 4.5编译结果.................................................................. 5.系统仿真调试 ................................................................... 5.1仿真调试的过程............................................................ 5.2仿真调试的结果............................................................ 6.总结 ........................................................................... 7参考文献........................................................................

相关文档
最新文档