教学科研

教学科研

当前位置: 学院首页 >> 教学科研 >> 正文

单片机实验指导——5LED静态串行显示实验..

发布日期:2012-09-05    作者:     来源:     点击:

5LED静态串行显示实验

一、实验目的

1、掌握数字、字符转换成显示段码的软件译码方法

2、静态显示的原理和相关程序的编写

二、实验电路

1、静态显示,电路图中所示。显示器由5个共阴极数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。5个串/并移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。

74LS164的引脚图如图所示;

 

74LS164

74LS164为8位串入并出移位寄存器,1、2为串行输入端,Q0~Q7为并行输出端,CLK为移位时钟脉冲,上升沿移入一位;MR为清零端,低电平时并行输出为零。

三、实验内容及步骤

   单片机的P1.0作数据串行输出,P1.1作移位脉冲输出,当然用户也可以用其他I/O口。

    1、使用单片机最小应用系统1模块,用导线连接P1.0、P1.1到串行静态显示模块的DIN、CLK端。

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

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

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。 5LED显示“80C51”。停止程序运行,显示不变,说明静态显示模块具有数据锁存功能。

四、源程序

源程序

      DBUF0  EQU    30H                    ;置存储区首址

      TEMP   EQU    40H                    ;置缓冲区首址

      DIN    BIT    P1.0                   ;置串行输出口

      CLK    BIT    P1.1                   ;置时钟输出口

      ORG    0000H

LJMP   START

ORG    0030H

START:

      MOV    30H,    #8                    ;存入显示数据

      MOV    31H,    #9

      MOV    32H,    #C

      MOV    33H,    #5

      MOV    34H,    #1

DISP: MOV    R0,     #DBUF0 

      MOV    R1,     #TEMP

      MOV    R2,     #5                     

DP10: MOV    DPTR,   #SEGTAB              ;表头地址         

      MOV    A,      @R0

      MOVC   A,      @A+DPTR              ;查表指令

      MOV    @R1,    A

      INC    R0

      INC    R1

      DJNZ   R2,     DP10

      MOV    R0,     #TEMP               ;段码地址指针

      MOV    R1,     #5                  ;段码字节数

DP12: MOV    R2,     #8                  ;输出子程序

      MOV    A,      @R0                 ;取段码

DP13: RLC    A                           ;段码左移

      MOV    DIN,  C                     ;输出一位段码

      CLR    CLK                         ;发送移位脉冲一位

      SETB   CLK

      DJNZ   R2,   DP13      

      INC    R0

      DJNZ   R1,   DP12

      SJMP   $

SEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH       ;0,1,2,3,4,5

       DB 7DH,07H,7FH,6FH,77H,7CH       ;6,7,8,9,A,b

       DB 58H,5EH,7BH,71H,00H,40H       ;C,d,E,F, ,-

DELAY:    MOV   R4,  #03H                  ;延时子程序

AA1:      MOV   R5,  #0FFH

AA:       DJNZ  R5,  AA

      DJNZ  R4,  AA1

      RET

      END