C51 静态数码管
Posted yuqiao0303
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 |
代码
#include <reg51.h>
#define u16 int
#define u8 unsigned char
#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;
}
}
以上是关于C51 静态数码管的主要内容,如果未能解决你的问题,请参考以下文章
c51语言设计数码管秒表,采用中断计数1s,实现模60的秒表
c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真
c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真
c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真