课程设计(论文)-基于单片机的共阴极数码管显示电路.doc_第1页
课程设计(论文)-基于单片机的共阴极数码管显示电路.doc_第2页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物理与电子工程学院14级接本课程设计物理与电子工程学院单片机原理与接口技术课程设计报告书设计题目: 基于单片机的led数码管共 阴极动态显示电路设计 专 业: 自动化 班 级: 14级 接本1班 学生姓名: 学 号: 指导教师: 2015年6月14日物理与电子工程学院课程设计任务书专业: 自动化 班级: 14级接本1班 学生姓名李超学号20140343108课程名称单片机原理与接口技术设计题目基于单片机的led数码管共阴极动态显示电路设计设计目的、主要内容(参数、方法)及要求设计目的:掌握由单片机控制的硬件电路和软件程序的设计方法。掌握keil uvision编程软件和proteus professional仿真软件的使用方法。设计主要内容及要求:硬件电路主要由电源部分、单片机主控部分、显示部分构成。画出系统电路原理图,软件设计(系统流程图、编写源代码程序),最后对系统进行仿真调试。1、电源部分:采用稳压直流电源对系统进行供电,设计三端稳压电源电路。2、主控部分:对单片机进行选型,并设计单片机最小系统电路。3、显示部分:采用4个共阴极led数码管作为显示电路,并采用动态驱动方式进行显示。实现功能为:第一个数码管显示2,时间为0.5s,然后关闭它;立即让第二个数码管显示0,时间为0.5s,再关闭它;立即让第三个数码管显示1,时间为0.5s,再关闭它;立即让第四个数码管显示5,时间为0.5s,再关闭它;关闭第四个数码管后回来显示第一个数码管,一直循环下去。工作量2周时间,每天3学时,共计42学时进度安排第1天:明确课程设计的目的和意义,根据课程设计要求查找相关资料第2-3天:学习课程设计中用到的单片机相关知识第4-5天:根据课程设计的要求完成硬件主要芯片选型及硬件电路设计。第6-7天:学习proteus professional仿真软件,绘制硬件电路原理图。第8-10天:学习keil uvision编程软件,完成软件系统设计。第11-12天:通过proteus professional仿真软件,进行仿真调试。第13-14天:撰写课程设计报告。主要参考资料1郭天祥编著,51单片机c语言教程入门、提高、开发、拓展全攻略m.北京:电子工业出版社,2014.112宋雪松,李冬明,催长胜.手把手教你学51单片机(c语言版)m. 北京:清华大学出版社,2014.4 3汤嘉立,李林,胡羽等.单片机应用技术实例教程m. 北京:人民邮电出版社,2014.114徐爱钧.单片机原理实用教程-基于proteus虚拟仿真(第2版)m. 北京:电子工业出版社,2012.125徐爱钧,徐阳.keil单片机高级语言应用编程与实践m.电子工业出版社,2013.12指导教师签字教研室主任签字摘 要随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、i/o接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(single chip microcomputer)。正是由于单片机技术的发展,才能使led七段数码管能够在减少驱动器的情况下能够直接被驱动。由于led数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。本论文重点介绍了led(light emission diode)数码管显示技术,并且编写了这种显示技术在单片机中实现的关键编码以及提供了参考原理简图。关键词:led技术; 计算机硬件; 单片机; 数码管目 录1 引言12 设计的目的及要求12.1设计目的12.2 设计要求13 硬件电路的分析13.1 at89c51芯片的功能介绍13.2 单片机最小工作模式43.3 显示电路的设计53.4 数码管的控制显示64 系统软件程序的设计74.1 数码管共阴极显示字符与十六进制转换74.2 主程序设计85调试及运行结果分析95.1 调试及运行95.2 结果分析115.3 总电路仿真原理图116 心得体会11参 考 文 献12附 录131 引言用单片机驱动led数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的cpu时间。动态显示需要cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多。led数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。led数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。实际上不上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。2 设计的目的及要求2.1设计目的在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4x4键盘的操作和led数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。2.2设计要求采用4个共阴极led数码管作为显示电路,并采用动态驱动方式进行显示。实现功能为:第一个数码管显示2,时间为0.5s,然后关闭它;立即让第二个数码管显示0,时间为0.5s,再关闭它;立即让第三个数码管显示1,时间为0.5s,再关闭它;立即让第四个数码管显示5,时间为0.5s,再关闭它;关闭第四个数码管后回来显示第一个数码管,一直循环下去。3 硬件电路的分析3.1 at89c51芯片的功能介绍at89c51是一种带4k字节闪存可编程可擦除只读存储器,俗称单片机。at89c51是一种带2k字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-1所示。图3-1芯片模型at89c51主要功能特性:(1) 4k字节可编程闪烁存储器。 (2) 32个双向i/o口;1288位内部ram 。(3) 2个16位可编程定时/计数器中断,时钟频率0-24mhz。 (4) 可编程串行通道。 (5) 5个中断源。(6) 2个读写中断口线。 (7) 低功耗的闲置和掉电模式。(8) 片内振荡器和时钟电路。89c51单片机多采用40只引脚的双列直插封装(dip)方式,下面分别简单绍。(1)电源引脚电源引脚接入单片机的工作电源。vcc(40引脚):+5v电源。gnd(20引脚):接地。(2)时钟引脚xtal1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。xtal2(20引脚):片内振荡器反相放大器的输出端。时钟引脚的两种电源接入方式如图3-2所示。图3-2 电源接入方式(3)复位rst(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。(4)/vpp(31引脚)为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在pc值超过0fffh后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000hffffh。vpp为该引脚的第二功能,为编程电压输入端。(5)ale/(30引脚)ale为低八位地址锁存允许信号。在系统扩展时,ale的负跳沿江p0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。(6)(29引脚)片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。(7) pin39-pin32为p0.0-p0.7输入输出脚,称为p0口。p0是一个8位漏极开路型双向i/o口。内部不带上拉电阻,当外接上拉电阻时,p0口能以吸收电流的方式驱动八个lsttl负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,p0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。(8)pin1-pin8为p1.0-p1.7输入输出脚,称为p1口,是一个带内部上拉电阻的8位双向i/0口。p1口能驱动4个lsttl负载。(9)pin21-pin28为p2.0-p2.7输入输出脚,称为p2口。p2口是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,p2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 (10)pin10-pin17为p3.0-p3.7输入输出脚,称为p3口。p3口是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接控制信息。3.2单片机最小工作模式单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。在mcs-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚xtal1,其输出端为引脚xtal2 。而在芯片的外部,xtal1和xtal2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。一般地,电容c1和c2取30 pf左右,晶体的振荡频率范围是1.212 mhz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。如图3-3所示。图3-3 时钟电路复位是单片机的初始化操作,其主要红能是把程序计数器pc内容初始化为0000h,也就是使单片机从0000h单元开始执行程序,同时使cpu和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。8051单片机采用两种复位方式:一种是加电自动复位,另一种为手动按键复位。如图3-4所示。图3-4 复位电路3.3显示电路的设计本设计采用共阴极led数码管作为显示电路。led即发光二极管,英文全称为light emitting diode。单独的发光二极管便是一个最简单的led,通过控制其的亮灭来作为信号指示,一般用于电源指示灯、工作状态指示等。单个的发光二极管使用比较简单。led数码管是由若干个发光二极管组成的显示字段的显示器件,一般简称为数码管。当数码管中的某个发光二极管导通的时候,相应的一个字段便发光,不导通的则不发光。led数码管可以根据控制不同组合的二极管导通,来显示各种数据和字符。单片机应用系统中使用最多的是7段led,其可以显示十进制数字以及一些英文字符。7段led显示模块可以分为共阴极和共阳极两种。共阴极数码管原理:共阴极7段led数码管和共阳极led数码管结构类似,其引脚配置,如图3-5所示。从图中可以看出7段led数码管同样由8个发光二极管组成,其中7个发光二极管构成字形“8”,另一个发光二极管构成小数点。共阴极7段led数码管的内部结构,如图所示。其中所有发光二极管的阴极为公共端,接gnd。如果发光二极管的阳极极为高电平的时候,发光二极管导通,该字段发光;反之,如果发光二极管的阳极为低电平的时候,发光二极管截止,该字段不发光。图3-5共阴极led引脚级内部结构3.4数码管的控制显示led数码管模型如图3-6所示。p0为输出端口,p2口为位选端口,led 的段码端口ag分别接at89c51的p2.0p2.7口,位选端14分别接至p2.4、p2.3、p2.1、p2.0,如图3-7所示。图3-6数码管模型图3-7 led与at89c51的硬件连线4 系统软件程序的设计4.1数码管共阴极显示字符与十六进制转换把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5v。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。为了显示数字或符号,要为led显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给led显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即d0、d1、d2、d3、d4、d5、d6、d7,则用共阴极led数码管显示十六进制数时所需的字形代码如表4-1所示。字型共阴极字形代码字型共阴极字形代码字型共阴极字形代码03fh67dhc39h106h707hd5eh25bh87fhe79h34fh96fhf71h466ha77h灭00h56dhb7ch表4-1 8段数码管字形代码4.2 主程序设计主程序包含初始化部分、调用延时子程序delay初始化时00h位设置为0,默认为循环显示。初始时将数据2、0、1、5数据送入30h、31h、32h、33h存储单元,随后调用延时子程序,比较是否为零,顺序执行。流程图:开始初始化调用延时子程序查表循环次数加1判断是否为0yn显示数值5调试及运行结果分析5.1调试及运行本设计应用proteus9及keil51软件,首先根据自己设计的电路图用proteus9软件画出电路模型,关于这个软件的使用通过查一些资料和自己的摸索学习;然后我们用keil51软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行。如图5-1所示。图5-1keil工作模式在proteus仿真软件中加载在keil里生产的hex文件,加载无误后确认点击开始仿真按钮,运行结果。(1)延时0.5秒后,显示数字2,如图5-2所示。图5-2(2)延时0.5秒后,显示数字0,如图5-3。图5-3(3)继续延时0.5秒后,显示数字1,如图所示5-4。图5-4(4)继续延时0.5秒后,显示数字5,如图所示5-5。图5-55.2结果分析接通电源后数码管可以按要求间隔0.5秒后,依次循环显示出数字2、0、1、5然后又依次显示出数字2、0、1、5如此周而复始,不断循环。并且打开电源自动复位,从自然数列开始显示。实现了预期的设计要求。5.3总电路仿真原理图如图5-6所示图5-66心得体会回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这努力的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力。 参 考 文 献1徐爱钧,徐阳.keil单片机高级语言应用编程与实践m.电子工业出版社,2013.122张国勋.缩短icl7135a/d采样程序时间的一种方法j.电子技术应用.1993.第一期3高峰.单片微型计算机与接口技术m.北京科学出版社,2003.4刘伟,赵俊逸,黄勇.一种基予c8051f单片机的soc型数据采录器的设计与实现5宋雪松,李冬明,催长胜.51单片机(c语言版)m.清华大学出版社,2014.4 6汤嘉立,李林,胡羽等.单片机应用技术实例教程m.人民邮电出版社,2014.117徐爱钧.单片机原理实用教程-基于proteus虚拟仿真(第2版)m,2012.128徐爱钧,徐阳.keil单片机高级语言应用编程与实践m.电子工业出版社,2013.12附 录课程设计中的程序如下:org 0000h mov 30h,#2mov 31h,#0mov 32h,#1 mov 33h,#5 ;预置显示数据为2015 mov dptr,#tab ;段选码表首地址start: mov r0,#30h ;数据缓冲区首址 mov r1,#01h ;共阴初始位选码 mov r2,#4 ;数码管个数loop: mov a,r0 ;取待显示数据 movc a,a+dptr;查显示码 mov p2,r1 ;送出显示段码 mov p0,a ;送出位选码 lcall delay ;延时200us左右 inc r0 ;修改地址指针 mov a,r1 rl a mov r1,a ;移位位选码 djnz r2,loop ; 四位未显示完,继续 sjmp start ;显示完4位,进入下一轮delay: mov r6,#250hdl0: mov r4 ,#60dl1: mov r5, #60 djnz r5,$ djnz r4,dl1 djnz r6,dl0 rettab: db 0c0h, 0f9h, 0a4h, 0b0h, 99h , 92h db 82h, 0f8h, 80h, 90h, 88h , 83h end课程设计成绩评定表 院系: 物理与电子工程学院 班级: 接本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论