zoukankan      html  css  js  c++  java
  • 【单片机实验】6LED静态串行显示

    实验三 6LED静态串行显示
    一、实验目的
    1、掌握数字、字符转换成由数码管显示的八段码的软件译码方法及译码过程;
    2、静态显示的原理和相关程序的编写。

    二、实验电路
    静态显示 电路如图3-2所示。显示器由6个LED数码管组成。输入只有三个信号,它们是串行数据输入SER和移位脉冲信号SRCLK,锁存信号RCLK。6个串行输入/并行输出锁存移位寄存器芯片74HC595首尾相连。每片的并行输出作为LED数码管的段码。
    74HC595的引脚如图3-1

    74HC595为8位串入并出移位寄存器。
    QA--QH: 八位并行输出端,可以直接驱动数码管的8个段。
    : 级联输出端。接下一个74HC595的SER端。
    SER: 串行数据输入端。,SRCLK为移位时钟脉冲,上升沿移入一位;RCLK为锁存时钟脉冲,上升沿锁存。
    (10脚): 低电平时将移位寄存器的数据清零。通常将它接Vcc。
    :输出使能端,一般接地。

    图3-1 74HC595介绍

    三、实验内容及步骤
    内容:
    单片机的P2.0作数据串行输出接口,P2.1作移位脉冲输出,P2.2作数据锁存输出。程序功能使静态显示单元的数码管显示123456.
    步骤:
    1、 根据硬件连接电路,编写程序并编译生成*.hex文件;
    2、打开实验箱电源;
    3、参照STC12C5A60S2下载说明中STC_ISP软件使用说明,给单片机下载程序;
    4、用信号线分别将单片机最小系统单元的P2.0、P2.1、P2.2与静态显示单元的SER、SRCLK、RCLK对应相连;
    5、打开静态显示单元开关;
    6、观察数码管显示情况,静态数码管显示123456。若显示结果不正确,请修改该程序,重复以上操作。

     1 #include <reg51.h>
     2 #include <intrins.h>
     3 
     4 unsigned char buf1 [] = { 1,2,3,4,5,6 };
     5 unsigned char buf2 [6];
     6 unsigned char code table[] = { 0x3F , 0x06 , 0x5B , 0x4F , 0x66 ,
     7                                0x6D , 0x7D , 0x07 , 0x7F , 0x6F };
     8 sbit ser = P2 ^ 0 ;
     9 sbit srclk = P2 ^ 1 ;
    10 sbit rclk = P2 ^ 2 ; 
    11 void main () {
    12     unsigned char i , j , temp1 ,temp2 ; 
    13     while (1) {
    14         srclk = 0 ;
    15         rclk = 0 ; 
    16         for ( i = 0 ; i < 6 ; i++ ){
    17             buf2[i] = table[ buf1[i] ];        
    18             temp1 = buf2[i];
    19             for ( j = 0 ; j < 8 ; j++ ){
    20                 srclk = 0 ; 
    21                 temp2 = ( temp1 & 0x80 );
    22                 if ( temp2 ){
    23                     ser = 1 ;
    24                 }else {
    25                     ser = 0 ;
    26                 }
    27                 srclk = 1 ; 
    28                 _nop_();
    29                 temp1 <<= 1 ;
    30                 rclk = 0 ;
    31             }
    32         }
    33         rclk = 0; 
    34     }
    35     
    36 }
    View Code
  • 相关阅读:
    新年后的第一个学习总结
    2021/02/07周学习总结
    内网穿透
    有效的括号
    实现一个简单的模板字符串替换
    二叉树的最大深度
    前端性能和错误监控
    前端缓存
    display: none; opacity: 0; visibility: hidden;
    发布订阅模式与观察者模式
  • 原文地址:https://www.cnblogs.com/Osea/p/11083639.html
Copyright © 2011-2022 走看看