数码管原理
共阴极
段码原理
显示字符 | 共阴极段码 |
---|---|
0 | 0x3f |
1 | 0x06 |
2 | 0x5b |
3 | 0x4f |
4 | 0x66 |
5 | 0x6d |
6 | 0x7d |
7 | 0x07 |
8 | 0x7f |
9 | 0x6f |
如何显示小数点
dp=1时,为小数点,在段码后+0x80也可以
共阳极
共阳极与共阴极相反(就不演示了)
显示字符 | 共阳极段码 |
---|---|
0 | 0xc0 |
1 | 0xf9 |
2 | 0xa4 |
3 | 0xb0 |
4 | 0x99 |
5 | 0x92 |
6 | 0x82 |
7 | 0xf8 |
8 | 0x80 |
9 | 0x90 |
单只数码管
共阴极
数码管从0-9
-
演示
-
用到的器件
数码管:7seg 然后找cat 74hc573
-
代码
#include<reg51.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char uchar code tab[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(uint xms){ uint i,j; for(i=xms;i>0;i--){ for(j=110;j>0;j--); } } void main(){ while(1){ uint i; for(i=0;i<10;i++){ P2=tab[i]; delay(500); } } }
两个单只数码管从00-99
-
演示
由于P0口比较特殊,所以不能用74hc573器件,需要用上拉电阻(pullup)或者电阻(res)
-
代码
#include<reg51.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char void delay(uint xms){ uint i,j; for(i=xms;i>0;i--){ for(j=110;j>0;j--); } } void main(){ uint i,j; uchar code tab[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; while(1){ for(i=0;i<100;i++){ P0=tab[i/10]; delay(70); P2=tab[i%10]; delay(70); } } }
共阳极
数码管从0-9
-
演示
-
器件
数码管:7seg然后找道an 2n3702
-
代码
#include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar code tab[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit s=P3^0; void delay(uint xms){ uint i,j; for(i=xms;i>0;i--){ for(j=110;j>0;j--); } } void main(){ uint i; s=0; while(1){ for(i=0;i<10;i++){ P2=tab[i]; delay(500); } } }
今天的文章led数码管proteus_c51单片机数码管分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84625.html