zoukankan      html  css  js  c++  java
  • C51 静态数码管 个人笔记

    显示器介绍

    单片机系统中常用的显示器有:

    • LED(Light Emitting Diode):发光二极管显示器
    • LCD(Liquid Crystal Display)液晶显示器
    • TFT 液晶显示器等。

    LED显示器有两种显示结构:

    • 段显示(7段、米字型等)
    • 点阵显示(5×8、8×8点阵等)

    我们这里用八段led数码管,静态数码管
    LED数码管根据LED的不同接法可以分为2类

    • 共阴
    • 共阳

    共阴共阳电路图

    显示数字和字母表

    共阳

    0 1 2 3 4 5 6 7 8 9 A B C D E F 无显示
    0xC0 0xF9 0xA4 0xB0 0x99 0x92 0x82 0xF8 0x80 0x90 0x88 0x83 0xC6 0xA1 0x86 0x8E 0xFF

    共阴

    0 1 2 3 4 5 6 7 8 9 A B C D E F 无显示
    0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f 0x77 0x7c 0x39 0x5e 0x79 0x71 0x00

    例如共阴的数字1 :
    0000 0110
    hgfe dcba

    代码

    #include <reg51.h>
    typedef unsigned int u16;		 
    typedef unsigned char u8;
    #define delaytime 50000000
    #define led P0
     
    //这里用的静态数码管是共阳的
    
     //RAM 占用少,存在flash 里面:code
     //共阴的表,main中取反用
    u8 code ledSegment  [16] = {	0x3f,	0x06,	0x5b,	0x4f,	0x66,	0x6d,
    						0x7d,	0x07,	0x7f,	0x6f,	0x77,
    						0x7c,	0x39,	0x5e,	0x79,	0x71};
    void delay(u16 i)
    {
    	while(i--);
    }
    
    
    void main(void)
    {
    	int i=0;
    	while(1)
    	{
    	 	led = ~ledSegment[i];
    		delay(delaytime);
    		i = (i+1)%16;
    	}
    }
    
  • 相关阅读:
    mysql 获取字符串的长度
    mysql 字符类以及重复元字符
    mysql 字段拼接
    mysql 去除字符串中的空格
    mysql 正则表达式
    mysql 选出前五个元素
    mysql regexp 表达式
    mysql 选择所有同学名字
    mysql 获取数学成绩最高以及最低的同学
    mysql 获取单个科目的平均分
  • 原文地址:https://www.cnblogs.com/YuQiao0303/p/9907614.html
Copyright © 2011-2022 走看看