C51单片机03(数码管最终)PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
You Know, The More Powerful You Will Be
谢谢大家
荣幸这一路,与你同行
It'S An Honor To Walk With You All The Way
演讲人:XXXXXX 时 间:XX年XX月XX日
MCS-51 单片机
1
a
2
b
3
c
a
4
dfgb
5
e
6 7 8
e
c
f
d
g
dp
dp
GND
9
单个共阴数码管与51单片机的连接
如何实现数码管静 态显示“5”?
执行语句 P1 = 0x6d;
数码管的静态显示
完整的数码管的静态显示程序 头文件
#include<reg52.h> 主函数
void main(void)
g f COM a b
a f gb
e
c
d DP
e d COM c DP
阳极 1 +5V
0 阴极 0V
LED发光二极管的工作原理
共阳极1 CV+O5CMCV
DP g f e d c b a
DP g
0:亮 1:灭
f ed c ba
0 COM 共阴极
共阳接法
共阴接法
半导体数码显示器内部接法
0:灭 1:亮
12、延时10毫秒
13、… … … … 14、熄灭各个数码管 15、选通第8个数码管,同时禁止其他数码管 16、送第8个数码管要显示的字符的代码段 17、延时10毫秒 18、跳回第一步开始循环执行
数码管的动态显示
程序代码如下: #include <AT89X51.H> #define unchar unsigned char void Delay(unchar delaytime); sbit LED1=P2^0; sbit LED2=P2^1; sbit LED3=P2^2; sbit LED4=P2^3; sbit LED5=P2^4; sbit LED6=P2^5; sbit LED7=P2^6; sbit LED8=P2^7;
{
无限循环
while(1)
{
P1=0x6d; //显示数字“5”
}
}
练习与思考
• 练习:
– 如何在数码管上显示数字“9”?
• 思考:
– 在本电路中,按照静态显示方法,有没有可能 让两个数码管同时显示相同的数字?
3.3 单片机控制多位数码管
1
a
2
b
3
c
a
a
a
a
4
dfgb
f
b
g
f
b
g
f
b
g
5
e
6 7 8
e
c
f
d
g
dp
dp
e
c
d
dp
e
c
d
dp
e
c
d
dp
digi t_1
digi t_2
digi t_3
digi t_4
9 10 11 12
多位数码管符号图
多位数码管同样也分共阴极型和共阳极型两种。 在多位数码管中,相当于是把多个单个的数码管 的代码段对应地并联起来。
优点:节省口线,方便电路设计,提高系统 的可靠性,降低成本。
a
ba c dfgb
e ec
fd
g
dp
dp
digi t_1
a fb
g ec
d dp
digi t_2
a fb
g ec
d dp
digi t_3
a fb
g ec
d dp
digi t_4
12
11
10
29
8
6
4
A
B
C
D
P20
P21
P22
P23
P00 1 P01 2 P02 3 P03 4 P04 5 P05 6 P06 7 P07 8
a
ba c dfgb
e ec
fd
g
dp
dp
digi t_1
a fb
g ec
d dp
digi t_2
a fb
g ec
d dp
digi t_3
a fb
g ec
d dp
digi t_4
12
11
1120
9
10
4
2
E
F
A
B
P24
P25
P26
P27
3
1
13
11
9
5
3
1
单片机
注意:实际应用中应考虑数码管的驱动问题
LED5=0; //18、选通第5个数码管,同时禁止其他数码管 P0=0x92; //19、送第5个数码管要显示的字符的代码段 Delay(10); //20、延时10毫秒 P2=0xff; //21、熄灭各个数码管 LED6=0; //22、选通第6个数码管,同时禁止其他数码管 P0=0x82; //23、送第6个数码管要显示的字符的代码段 Delay(10); //24、延时10毫秒 P2=0xff; //25、熄灭各个数码管 LED7=0; //26、选通第7个数码管,同时禁止其他数码管 P0=0xf8; //27、送第7个数码管要显示的字符的代码段 Delay(10); //28、延时10毫秒 P2=0xff; //29、熄灭各个数码管 LED8=0; //30、选通第8个数码管,同时禁止其他数码管 P0=0x80; //31、送第8个数码管要显示的字符的代码段 Delay(10); //32、延时10毫秒 }//33、跳回第1步开始循环执行
void Delay(unchar delaytime) //延时函数 { unchar i=0; unchar j=0; for(i=0;i<delaytime;i++)
for(j=0;j<120;j++) ;
}
void main(void) { while(1) // 系统主循环
{ P2=0xff; //1、熄灭各个数码管 LED1=0; //2、选通第1个数码管,同时禁止其他数码管 P0=0xf9; //3、送第1个数码管要显示的字符的代码段 Delay(10); //4、延时10毫秒 P2=0xff; //5、熄灭各个数码管 LED2=0; //6、选通第2个数码管,同时禁止其他数码管 P0=0xa4; //7、送第2个数码管要显示的字符的代码段 Delay(10); //8、延时10毫秒 P2=0xff; //9、熄灭各个数码管 LED3=0; //10、选通第3个数码管,同时禁止其他数码管 P0=0xb0; //11、送第3个数码管要显示的字符的代码段 Delay(10); //12、延时10毫秒 P2=0xff; //13、熄灭各个数码管 LED4=0; //14、选通第4个数码管,同时禁止其他数码管 P0=0x99; //15、送第4个数码管要显示的字符的代码段 Delay(10); //16、延时10毫秒 P2=0xff; //17、熄灭各个数码管
8位数码管动态扫描显示电路
8位数码管动态扫描显示的程序设计思路为:
1、熄灭各个数码管 2、选通第1个数码管,同时禁止其他数码管 3、送第1个数码管要显示的字符的代码段 4、延时10毫秒 5、熄灭各个数码管 6、选通第2个数码管,同时禁止其他数码管 7、送第2个数码管要显示的字符的代码段 8、延时10毫秒 9、熄灭各个数码管 10、选通第3个数码管,同时禁止其他数码管 11、送第3个数码管要显示的字符的代码段
小数点,需要时才点亮。
七段数码管的段控制代码(共阴管)
a
dp g f e d c b afΒιβλιοθήκη b0 0111111
g
3
F
e
c
d dp
七段数码管的段控制代码(共阴管)
a
dp g f e d c b a
0 0000 110 f
b
g
0
6
e
c
d dp
七段数码管的段控制代码(共阴管)
a
dp g f e d c b a
f
b
0 1 01 1 01 1
g
5
B
e
c
d dp
七段数码管的段控制代码(共阴管)
a
f
b
g
e
c
d
0
3F
1
06
2
5B
3
4F
4
66
5
6D
6
7D
7
07
8
7F
9
6F
A
77
b
7C
C
39
d
5E
E
79
F
71
3.2 单片机控制单个数码管
P 1.0 P 1.1 P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7
实际应用中应考虑数码管的驱动问题1415171018includeat89x51hdefineuncharunsignedcharvoiddelayunchardelaytime
3.1 LED数码管的工作原理
1.七段LED数码显示器
数字设备中用得较多的为七段数码显示器,又称数码管。由 七段可发光的字段组合而成。
采用动态扫描显示,使得各位数码管轮流 地一遍一遍地显示各自的字符,人们因视 觉器官惰性而看到的是各位数码管似乎同 时显示不同的字形。
P00
P01
P02
口 P0
P03 P04
P05
P06
P07
P20
P21
P22
口 P2
P23 P24
P25
P26
P27
P00 1 P01 2 P02 3 P03 4 P04 5 P05 6 P06 7 P07 8
}
思考题
1、当延时时间不是10毫秒,而是1秒时,看到 的显示效果是怎样?
2、利用循环控制语句和数组改写上述程序的, 如何修改?
练习题1
在8个LED数码管上,按从左到右的顺序, 循环滚动显示数字“5”,每次滚动延时 500ms
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
主要优点:字形清晰、工作电压低、体积小、可靠 性高、响应速度快、寿命长和亮度高等。
主要缺点:工作电流大,每字段工作电流约 10 mA 。
公共端
段控制端
g f COM a b
每个字符将对应着 一个显示代码
aa
f gg bb
e
cc
dd DDPP
e d COM c DP
显示的数字字符 发光字段,由管脚 a ~ g 电平控制是否发光。
相关文档
最新文档