工作原理:
LED显示器两种显示结构:段显示(7段,米字型)和点阵显示(58、88)
共阴接法:8个LED阴极相连(不一定要接到GND)开发板使用的是共阴数码管
共阳接法:8个LED阳极相连接(不一定要接+5V)
LED显示器提供的编码为一个字节(8位,七段数码管加小数点)dp为最高位,a为最低位
共阴数码管码表:
0:0x3f 00111111
1:0x06 00000110
2:0x5b 01011011
3:0x4f 01001111
4:0x66 01100110
5:0x6d 01101101
6:0x7d 01111101
7:0x07 00000111
8:0x7f 01111111
9:0x6f 01101111
A:0x77 01110111
B:0x7c 01111100
C:0x39 00111001
D:0x5e 01011110
E:0x79 01111001
F:0x71 01110001
无显示:0x00 00000000
共阳极的0和1与共阴极情况相反
静态数码管每个数码管的段选必须接一个8位数据线来保持现实的字形码,送入一次可一直保持,直至送入新的字形码。
P0口漏极开路,需要加上拉电阻,P1,P2,P3在单片机内部有上拉电阻,可以不加,但是为了驱动电流的需要,还是会加上拉电阻,但是P30和P31没有加上拉是因为用在串口的下载,P34根据后面的使用也没有加上拉电阻。
74H573:
当OE为低电平,开始工作,默认接地
LE为锁存器,高电平为置数,低电平为锁存状态,保持。LE默认短接到Vcc,即为高电平置数状态。
104为滤波电容
74LS138芯片的Y0输出低电平,静态数码管显示
程序如下(使最右边一个数码管即静态数码管显示为F):
#include typedef unsigned char u8; typedef unsigned int u16; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; u8 code smgduanxuan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//定义一个数组,将16个数据存入 //code使得数据存入flash,节省数据大小 void main() { P0=smgduanxuan[15];//数组中第16个数据赋值给P0口 LSA=0; LSB=0; LSC=0;//使38译码器的Y0=0以选定LED1 while(1);//只需要循环即可 } *加code与不加code都是定义一个全局变量,区别在于: 加:将数据储存到flash里,节省数据大小 不加:
推荐阅读最新更新时间:2024-11-11 12:58
推荐帖子
- AT89S51中文资料下载,下载线原理图,PCB版图!!
- 现在用51单片机搞设计都在用AT89S51,AT89C51已经停产了,淘汰的产品就不要用了。请准备学习单片机和用51单片机搞设计的朋友们首选AT89S51吧,如果选AT89C51话,你还需要购买价格比较贵的编程器啊,用不了多久还得淘汰啊,直接就从AT89S51做起吧!!!用AT89S51单片机可以在线编程,自制一个下载线就行了,只花几元钱就搞定了,这样就可以选TQFP44封装的贴片了,可以大大减小电路板的面积,何乐而不为呢?ATmel公司还定义了下载线的标准,网站上还有编程软
- 忙忙草 51单片机
- 【米尔MYS-8MMX】米尔MYS-8MMQ6-8E2D-180-C应用三——NLP词性分析与应用
- 【米尔MYS-8MMX】米尔MYS-8MMQ6-8E2D-180-C应用三NLP词性分析与应用上篇我们说到可以利用jieba进行分词,这篇我们继续研究jieba的使用。在jieba中,还有一个很重要的功能,就是对词性进行标注,支持对不同词性进行标注。现代汉语中的词性分为实词、虚词、叹词、拟声词四个大类。实词(有实际意义的词,能独立充当句子成分,即有词汇意义和语法意义),包括体词(名词、数词和量词)、谓词(动词和形容词)、加词(副词)和代词(主要作用是替代,可替代名词、数词、量词、
- tobot 嵌入式系统
- 【MicroPython】LPS25H驱动
- 周末抽空将气压计LPS25H的驱动完成了,可以很方便的读取温度、气压值。目前驱动只做了查询部分,没有处理中断部分。这个等后面有空的时候在做了。首先importLPS25H库,然后定义lps25对象,就可以使用lps25.PRESS()读取气压,lps25.TEMP()读取温度。MicroPythonv1.7on2016-04-17;CANNONwithSTM32F401xE Type"help()"formoreinformation. >>>
- dcexpert MicroPython开源版块
- 为什么我用ad10自己画的封装和用封装向导画的封装不一样?
- 我画了一个stm32f103rbt6,看数据手册,它的芯片体,也就是芯片的黑色部分是10*10的正方形。这时候我就在丝印层画一个10*10的正方形,来代表芯片体的轮廓,计算出焊盘和芯片体的距离,画上焊盘;但是用封装向导画的却不同,它是在机械层上画了个10*10的正方形,丝印层的正方形很小边长就小于10了,而且它的焊盘在丝印层上的方框外,却和机械层的方框相交。但是机械层的大小就是黑色芯片体的大小啊,按照它画出的结果,焊盘会有一部分会压在黑色芯片体底下啊,这样很不合理啊如下图,左
- 伊森亨特 PCB设计
- WinCE中OPENFILENAME,GetOpenFileName的使用
- 我在VS2005下OSDesign,SDK,使用GetOpenFile出错,不知道在WinCE下到底能不能用它们?如果能,怎么用?我这样用行吗?但出错!OPENFILENAMEEXofn;memset(&ofn,0,sizeof(ofn));//initializestructureto0/NULLszFileName=TEXT(\'\\0\');ofn.lStructSi
- tclbbq WindowsCE
- 新手用allegro画了一块板子,请求大家的意见
- 用allegro画了一块C8051F432的最小系统板,这个单片机是带USB的,对于PCB有很多细节部分不懂,希望大家提出建议新手用allegro画了一块板子,请求大家的意见画的挺好的,整体看起来不错usb部分差分等长处理不太明显新手能画成这样很不错了,赞一个。贴片的阻容元件要是能排整齐一点,再把里面的一些直角去掉就更完美了。很不错对于非高速USB,走线要求不高,随便拉。另外不明白为什么还在玩51,这货又不能调试,开发麻烦的很 这个我当时考虑了,理应用al
- flashtt PCB设计