- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子时钟的设计与实现
班级:10级数码嵌入式3-2班
制作:闫泉州
老师:屈智国
LED显示原理
数码管结构与工作原理
数码管由8个发光二极管构成,通关过不通过的组合来显示数字0~9,显示字符A~F、H、L、P、R、U、Y,显示符号“-”及小数点“.”。
(数码管外形结构)
(共阴极) (共阳极)
LED显示接口方法
静态显示接口
静态显示是指数码管显示某一字符时,相应的发光二极管恒定道统或者恒定截止。
(位静态LED显示电路)
这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电路(共阳极)。
动态显示接口
动态显示时一位一位地轮流点两个为数码管,这种逐位点亮显示器数码管的方法称为位扫描。
各位数码管的段选线相应并联在一起,由一位8位的I/O口控制;各位的为选线(公共阴极或阳极)由另外的I/O口线控制。当以动态方式显示时,个数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。
数码管动态扫描显示程序的实 现
#includereg51.h
#define uchar unsigned char
#define led_data P0
#define led_bit P2
/*共阴数码管显示编码“0”~“9”,“熄灭”*/
uchar code LEDValue[]={0x3f,0x06,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
uchar data scan_con[6]={0x01,0x02,0x04,0x08,0x10,0x20};
/**************************************************;*函数名:delaylms
;*功能描述:lms延时子程序
;************************************************/
delaylms(int t)
{
int i,j;
for(i=0;it;i++)
for(j=0;j120;j++)
;
}
/**************************************************
;*函数名:display
;*功能描述:数码管显示子程序
;*************************************************/
display()
{
Uchar k;
for(k=0;k6;k++)
{
Led_data = LEDValue[k];
Led_bit = scan_con[k];
delaylms(1);
led_bit = 0x00;
}
}
/**************************************************;*函数名:main
;*功能描述:主程序
;*调用函数:display()
;*************************************************/
main()
{
While(1)
{
Display();
}
}
键盘扫描和数码管显示
键盘扫描与数码管显示电路的实现
此任务只用到一个共阴数码管,所以数码管现实的方法是P0口接数码管段选,P2接4*4矩阵键盘,以P2.0~P2.3作输入线,以P2.4~P2.7作输入线。
键盘扫描与数码管显示程序的实现
数码管动态扫描显示程序;
#includereg51.h
#define KEY P2
#define uchar unsigned char
#define uint unsigned int
Uchar k;
Uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x40};
Uchar code key_code[]={
0xee,0xed,0xed,0xe7,0xde,0xdd,0xdb,0xd7,
0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};
/********
文档评论(0)