欢迎来到天天文库
浏览记录
ID:18432519
大小:692.50 KB
页数:14页
时间:2018-09-17
《单片机课程设计-基于51单片机的led数码管动态显示》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机课程设计全部数码管0—F显示专业:_________________姓名:__________________学号:_______________指导老师:14摘要:基于51单片机的LED数码管动态显示LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8
2、位时,只需两个8位I/O口。14目录1引言.........................................................................................................42硬件设计……附电路原理图.……………………………..………...53软件设计……………………………...………………………………6附流程图与程序清单4硬件调试…………………………………….…………………….95软件部分的调试…………………………………………………106总结与展望…………………………………………………………..116.1工作总
3、结………………………………………...……….…..116.2工作展望……………………………………………………..12致谢…………………………………………………………………12附硬件实物图……………………………………………………13参考文献……………………………………………………………...14141引言:自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,提别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。而LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及
4、LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。现在各种广告牌上用了丰富多彩的LED电子产品,为城市的增添了一道靓丽的风景。而且它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、发光效率高、故障少、视角大、可视距离远、可靠耐用、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以及对室内外环境适应能力强等特点。近年来LED显示屏市场得到了迅猛的发展,已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其它交易市场、医院、电力、海关、体育场等需要进行多种公告、宣传的场合。因此,学习LED
5、系统原理与工程技术很有必要。通过设计一个基于51单片机的LED数码管动态显示来学习和熟悉LED的使用。142硬件设计其电路原理图如下所示。143软件设计LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。LED数码管动态显示的流程如下所示。14LED数码管动态显示的详细C51程序如下#includetypedefun
6、signedcharuint8;typedefunsignedintuint16;uint8number[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xa7,0xa1,0x86,0x8e};sbitENLED=P1^4;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitLED=P0^0;voidrefresh();main(){uint8i;uint16counter;ENLED=0;ADDR3=1;TMOD=0x01;TH0=0x
7、FC;14TL0=0x67;TR0=1;while(1){if(1==TF0){TF0=0;TH0=0xFC;TL0=0x67;counter++;refresh();}if(1000==counter){P0=number[i++];counter=0;}if(i==16){i=0;}}}voidrefresh(){staticuint8j=0;switch(j){case0:ADDR0=0;ADDR1=0
此文档下载收益归作者所有