电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机课程设计-8位8段LED数码管动态扫描显示资料VIP免费

单片机课程设计-8位8段LED数码管动态扫描显示资料_第1页
1/8
单片机课程设计-8位8段LED数码管动态扫描显示资料_第2页
2/8
单片机课程设计-8位8段LED数码管动态扫描显示资料_第3页
3/8
华南理工大学广州汽车学院单片机课程设计题目:8位8段LED数码管动态扫描专业:电子信息工程班级:09电信(1)班姓名:付锦辉学号:200930062745一、内容要求:在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W和M,所以改为显示“HELLO-93”)二、目的和意义1、掌握数码管动态扫描显示原理及实现方法。2、掌握动态扫描显示电路驱动程序的编写方法。三、总体方案设计思路LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔画段A-DP同名端并联在一起,而每个显示器的公共极COM各自独立地接受I/O线控制,CPU向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。采用总线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。P2口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。四、仿真电路设计(电路原理图及关键单元说明)8位8段LED数码管动态扫描显示实验电路8位8段LED数码管动态扫描显示实验电路元件清单元器件编号元器件名称说明U1AT89C52AT89C52单片机U27445集电极开路bcd-十进制译码器/驱动器U374HC2458位总线驱动器RP1RESPACK8具有公共端得排电阻7SEG-MPX8-CC-BLUE共阴极8位7段LED蓝色显示器关键单元:(1)AT89C52AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。(2)集电极开路bcd-十进制译码器/驱动器7445:五、设计程序:#include#include#defineTURE1#definedataportP0/*定义p0为段输出口*/#defineledConPortP2/*定义p2为位输出口*/unsignedcharcodech[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x6f,0x4f};/*HELLO-93'对应的值*///unsignedcharcodech[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};/*LED灯0~8译码*/voidtime(unsignedintucMs);//延时单位:msvoidmain(void){unsignedchari,counter=0;/*各LED灯状态值数组的索引*/for(i=0;i<30;i++){//1,显示"8.8.8.8.8.8.8.8.",即点亮显示器所有段,持续约500ms;for(counter=0;counter<8;counter++){ledConPort=counter;dataport=0xff;/*点亮选中的LED灯*/time(5);/*延时5ms*/}}ledConPort=0xff;time(200);//2、灭显示器,持续约200mswhile(TURE)//3、显示"HELLO-93",保持.{for(counter=0;counter<8;counter++){ledConPort=counter;dataport=ch[counter];/*点亮选中的LED灯*/time(5);...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机课程设计-8位8段LED数码管动态扫描显示资料

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部