单片机课程设计.docx
- 文档编号:9117666
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:10
- 大小:657.38KB
单片机课程设计.docx
《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
单片机课程设计
单片机课程设计
全部数码管0—F显示
专业:
_________________
姓名:
__________________
学号:
_______________
指导老师:
摘要:
基于51单片机的LED数码管动态显示
LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。
当扫描速度达到一定程度时,人眼就分辨不出来了。
尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。
若数码管的位数不大于8位时,只需两个8位I/O口。
目录
1引言.........................................................................................................4
2硬件设计……附电路原理图.……………………………..………...5
3软件设计……………………………...………………………………6
附流程图与程序清单
4硬件调试…………………………………….…………………….9
5软件部分的调试…………………………………………………10
6总结与展望…………………………………………………………..11
6.1工作总结………………………………………...……….…..11
6.2工作展望……………………………………………………..12
致谢…………………………………………………………………12
附硬件实物图……………………………………………………13
参考文献……………………………………………………………...14
1引言:
自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。
在我国改革开放之后,提别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。
而LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。
现在各种广告牌上用了丰富多彩的LED电子产品,为城市的增添了一道靓丽的风景。
而且它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、发光效率高、故障少、视角大、可视距离远、可靠耐用、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以及对室内外环境适应能力强等特点。
近年来LED显示屏市场得到了迅猛的发展,已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其它交易市场、医院、电力、海关、体育场等需要进行多种公告、宣传的场合。
因此,学习LED系统原理与工程技术很有必要。
通过设计一个基于51单片机的LED数码管动态显示来学习和熟悉LED的使用。
2硬件设计
其电路原理图如下所示。
3软件设计
LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。
保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。
在程序中要合理的选择合适的保持时间和间隔时间。
而循环次数则正比于显示的变化速度。
LED数码管动态显示的流程如下所示。
LED数码管动态显示的详细C51程序如下
#include
typedefunsignedcharuint8;
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=0xFC;
TL0=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;ADDR2=0;j++;break;
case1:
ADDR0=1;ADDR1=0;ADDR2=0;j++;break;
case2:
ADDR0=0;ADDR1=1;ADDR2=0;j++;break;
case3:
ADDR0=1;ADDR1=1;ADDR2=0;j++;break;
case4:
ADDR0=0;ADDR1=0;ADDR2=1;j++;break;
case5:
ADDR0=1;ADDR1=0;ADDR2=1;j=0;break;
default:
break;
}
}
4硬件调试
根据设计的原理电路做好实验样机,便进入硬件调试阶段。
调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
(1)脱机检查:
用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。
有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。
(2)仿真调试:
暂时排除目标板的CPU和EPROM,将样机接上仿真机的芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。
这里我们采用的是宏晶科技公司生产的STC89C52RC单片机,该单片机支持ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
片内64K程序空间可以随时进行在线程序更新,可以调试长达几千行的楼宇智能控制大型程序、键盘控制汉字液晶显示大型程序。
向下完全兼容51全部系列产品。
它可以运用KEILC51编译环境,使用KEILC51中的仿真模块中的KeilMonitor-51Driver,利用USB将目标程序直接下载到单片机。
仿真调试这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。
通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。
其次是调试MONTITOR程序,只有MONTITOR程序正常工作才可以进行下面的应用软件调试。
硬件电路调试的一般顺序是:
(1)检查CPU的时钟电路。
利用示波器通过ALE测试信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。
(2)检查分时复用功能的地址锁存是否正常。
(3)检查I/O地址分配器。
一般是由部分译码或全译码电路构成,如是部分译码设计,则排除地址重叠故障。
(4)对扩展的RAM、ROM进行检查调试。
一般先后写入55H、AAH,再读出比较,以此判断是否正常。
因为这样RAM、ROM的各位均写入‘0’、‘1’过代码。
(5)用户级I/O设备调试。
如面板、显示、打印、报警等等。
5软件部分的调试
软件调试根据开发的设备情况可以有以下方法:
①交叉汇编:
用IBMPC/XT机对MSC-51系列单片机程序进行交叉汇编时,可借助IBMPC/XT机的行编辑和屏幕编辑功能,将源程序按规定的格式输入到机,生成目标代码和文件。
②用汇编语言:
现在有些单片STD工业控制机或者开发系统,可直接使用汇编语言,借助进行汇编语言调试。
③手工汇编:
这种方法是最原始,但又是一种最简捷的调试方法,且不必增加调试设备。
这种方法的实质就是对照MCS-51指令编码表,将源程序指令逐条地译成机器码,然后输入到RAM重新进行调试。
在进行手工汇编时,要特别注意转移指令、调用指令、查表指令。
必须准确无误地计算出操作码、转移地址和相对偏移量,以免出错。
以上3种方法调试完成以后,即可通过EPROM写入器,将目标代码写入EPROM中,并将其插至机器的相应插座上,系统便可投入运行。
硬件、软件仿真调试经过硬件、软件单独调试后,即可进入硬件、软件联合仿真调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试。
实验室调试工作完成以后,即可组装成机器,移至现场进行运行和进一步调试,并根据运行及调试中的问题反复进行修改。
6总结与展望
随着集微电子技术,光电子技术,计算机技术,信息技术于一体的LED显示屏在各行各业的广泛应用,对其研究逐渐成为一个重要的课题。
本文通过分析LED显示屏的技术发展现状,根据实际应用需求,完整的设计了LED显示屏控制系统。
并且,针对系统中的关键问题进行详细的分析和实现,同时在理论上对其做了系统的论述和说明。
基本符合预期设想,并在实际中得到应用。
6.1工作总结
LED显示屏控制系统涉及到操作系统、设备通讯、软件和硬件等各方面问题。
本论文主要完成了以下工作:
1、基于Windows操作系统下,软件控制系统采用Windows标准风格窗体,通过对文本区的开启,满足对应LED显示屏象素点数,实现基本功能:
如文字、字母、图形的编辑、颜色的选择、动态显示效果的添加、显示信息的豫览功能、多屏文件合并保存以及串行通讯文件的下载功能。
2、显示屏的具体应用采用脱离计算机工作方式,所有显示信息采用预先保存方式,所以下位机主控制模块采用增加存储模块方式,最多可以显示48屏图文信息。
3、通过查阅资料,了解了字模保存技术发展现状。
系统在分析设计后,采用软件控制保存方式,在文件保存时直接提取字模信息,不必再增设汉字库,从而简化了硬件模块的设计。
4、在与下位机的数据传输通讯方面,系统设计采用通过在Vc下使用控件直接调用WindowsAPI函数,下位机通过单片机控制下位机的串口,遵循串行通讯协议,完成数据的传输。
5,通过行列驱动电路完成LED点阵模块的驱动,实现在脱离计算机的模式下完成保存信息的显示功能。
通过信息预先保存,不会因上位机的故障影响信息显示,突然断电也不会丢失数据。
6.2工作展望
在本次设计工作中,通过对LED显示屏技术的发展的分析与研究,根据实际应用,采用最少的资源消耗,在系统的设计工作中得到了应用。
但是由于LED显示屏的分析、设计与实际应用环境及应用目的有很大关系,所以对其控制系统的要求也是不同的。
本系统设计着重于对单色屏的研究,对于灰度不同的真彩色LED显示屏的设计以及设备的驱动,有待于进一步的学习探讨。
致谢
本论文是在老师的悉心指导下完成的,从课题的选择到论文的最终完成的每一个环节,自始自终得到导师的精心指导和帮助。
指导老师渊博的学识、严谨的治学态度、求实创新的工作作风使我受益非浅。
这半年来,我不仅从导师那里学到许多专业知识,更重要的是学会了进行科研的学术方法,所有这些都是以后人生生活的重大财富,在此特向导师表示衷心的感谢和崇高的敬意。
在这次课程设计的研究过程中,同学在我的课程设计上给予的大力帮助,还得到了实验室各位老师和同学的关心、帮助和支持,在此对他们表示衷心的感谢。
最后,感谢我的家人,感谢我的父亲、母亲,他们的关心和鼓励给了我信心和帮助。
由衷的向所有关心和帮助我的老师、同学、朋友表示感谢!
附硬件实物图
参考文献
【1】吕正,姚和军.发光二极管的发展现状与市场前景[J].现代计量测试,2002(3):
8-11.
【2】綦声波,刘滨,马志.硬件汉字库设计原理与应用.广州周立功单片机发展有限公司
【3】诸昌铃.LED显示屏系统原理及工程技术[M].成都电子科技大学出版社,2000.12.
【4】诸昌铃.LED显示屏系统原理及工程技术[M].成都电子科技大学出版社,2000.12.
【5】周水清.LED大屏幕信息发布技术与应用研究.武汉理工大学硕士学位论文,2002.
【6】张华,樊庆文等一种经济型大屏幕LED显示系统[J].自动化信息.2002.1:
25-26.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计