分享

8*8LED点阵简单图形显示的单片机课程设计完整资料

 求知881 2019-01-20
《单片机原理及应用》课程设计任务书
系(部):电信系   专业:2014级电子信息工程     

  
课题名称
  
点阵LED简单图形显示设计

设计内容及要求
(1)以单片机为核心,用一个8*8点阵LED点阵显示屏,显示“●、○、♥”图形,通过按键来选择要显示的图形。
  
(2)要求:完成该系统的硬件和软件设计,在自己焊接好的单片机开发板上调试通过后,提交一篇课程设计说明书。

设计工作量
1、汇编或C51语言程序设计;
  
2、程序调试;
  
3、在自己焊接好的单片机开发板上调试通过;
  
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、调试过程,参考文献、设计总结等。
进度安排
起止日期(或时间量)
设计内容(或预期目标)
备注

第一天
课题介绍,答疑,收集材料,焊接



第二天
51单片机开发板焊接调试



第三天
设计方案论证,练习编写C51程序



第四天
程序调试、仿真



第五天
系统测试并编写设计说明书



教研室
  
意见

  
  
年    月     日  











目录

第1章 课题概述
1.1 课题意义
1.2课题目的
1.3课题内容
1.4设计方案
第2章 硬件实现及单元电路设计
2.1 硬件元器件的选择
2.1.1 单片机型号选择
2.1.2 单片机IO扩展电路芯片选择
2.1.3  8*8LED点阵模块选择
2.2 硬件电路设计
2.2.1主控电路的设计
2.2.2 LED点阵模块电路设计
2.2.3 按键电路设计
第3章 软件设计
3.1 程序流程图
3.2主程序的设计
3.3 显示程序设计
第4章 调试及分析
心得体会
参考文献


1 课题概述
1.1 课题意义
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
1.2课题目的
通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。
(1)利用74HC595扩展单片机IO口间接控制LED点阵使其显示。
(2)综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力,加深对单片机课程的全面认识。
(3)通过本次课程设计能够对程序进行编写和调试。
(4)通过本次系统设计,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。
1.3课题内容
      以AT89C51单片机为控制器,用一个8*8点阵LED点阵显示屏,显示“●、○、♥”图形,通过按键来选择要显示的图形。


1.4设计方案
点阵LED一般采用扫描式显示,实际运用分为三种方式: 一、点扫描;二、行扫描;三、   列扫描。 若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即 可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
所以本设计采用列扫描的方式,行由单片机向74HC595送串行数据,然后74HC595并行输出到LED点阵模块,利用外部中断检测按键控制切换显示图像数据输出,以达到设计要求的目的。


2 硬件实现及单元电路设计
2.1
硬件元器件的选择
硬件元器件:AT89C51单片机、两个8位位移寄存器74HC595、一块8*8LED点阵、一个按键。
2.1.1 单片机型号选择

AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。
                      图2.1.1  AT89C51引脚图
2.1.2  单片机IO扩展电路芯片选择
74HC595具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器有相互独立的时钟。利用它可以将8线IO缩小到3个IO使用即可满足设计需求。


                     图2.1.2   74HC595引脚图
2.1.3   8*8LED点阵模块选择
如下图一为8×8点阵LED外观及引脚图,图二为其等效电路图,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。满足设计需求。



         图(一)                                        图(二)


2.2 硬件电路设计2.2.1主控电路的设计
  • 晶振电路设计:该电路晶振采用11.052MHz晶振,为单片机提供机械脉冲源。


  • 复位电路设计:在单片机的RST端给高电平可使得单片机复位。



    (3)电源电路设计:该电路采用VS1838b稳压三极管,使得系统电源稳定在5V。


(4)单片机IO:引脚如图所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。 P0口作输入口使用时,应先向口锁存器写入1。P1口是一个带有内部上拉电阻的8 位双向I/O端口。P1的输出缓存可驱动4个TTL输入。P2口是一个带有内部上拉电阻的8位双向I/O端口。P3口也是一个带有内部上拉电阻的8位双向I/O端口, P3端口还用于一些复用功能。

2.2.2 LED点阵模块电路设计

74HC595的输入端连接单片机的P2.2,P3.3,P2.3,输出端控制LED点阵模块引脚。
2.2.3 按键电路设计
如图为按键电路,采用上拉电阻式设计,使得按键初始状态稳定在高电平,抗干扰能力得到加强。
其中按键接口为单片机外部中断引脚。
3 软件设计
3.1
程序流程图
第4章  调试及分析
本次设计是我第一次接触LED点阵显示设计,在经过老师简介LED点阵工作原理后,我在电脑仿真上先利用电源和地简单的测试理论,然后在一次次动手过程中最终理解了LED点阵的工作原理,在书写程序时,我分为以下几个步骤:
  • 学会使用74HC595输出预设的数据。
  • 结合74HC595点亮LED点阵里面的任意LED灯。
  • 将点亮LED点阵单个LED函数封装成整体显示函数,显示预设简单图案如图一。
  • 调通按键部分,使其工作正常,并可随意控制。
  • 将按键和LED显示结合起来,利用按键改变LED显示图案。
  • 将设计要求的图案替换原先简单图形,如图二至四。



         图一                                       图二


      
                   图三                                      图四

心得体会
              本次课程设计分为两个部分,单片机开发板焊接、调试与程序设计。我们花了一天的时间焊接,调试单片机。看似简单的一件事,需要耐心和细心。其中贴片元件是最难焊的。最后还是顺利完成了。
程序设计部分,之前参考例程,把一个简单的图形显示了出来,获得了不少的成就感,然后按照例程里面的图形数组的数据,自己修改,把自己设想的图案显示出来。之后一直在努力实现按键切换功能的实现,但一直都没有思路,后来想到用三个普通按键实现三种图形切换,发现这种方法实现起来很简单,之后想起应该要尽量减少硬件的使用以降低成本和工艺复杂度,用一个按键结合外部中断来实现图形切换的功能,反应速度要比之前显著提高。
改进的思路如下:之前采用一个一维数组储存一个图形的数据,如果要增加多个图形,则明显增加变量,然后我就想到了用一个二维数组来储存多个图形数据,因为其本身就已经保留了图形编号,便于调用。关于图形切换,采用按键触发中断,当按键按下时,其中断服务函数里面的变量自增一次,而在主函数里面查询这个变量的值,不同的值显示不同的图案。
最终实现了一个按键切换三个图形的功能,但主体程序完成后,我发现之前的图形取模不规范,然后利用软件取模的方法,使得模组数据规范化,使得最终的显示达到标准。     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多