基于AT89C51单片机的16x16点阵LED显示器设计.doc_第1页
基于AT89C51单片机的16x16点阵LED显示器设计.doc_第2页
基于AT89C51单片机的16x16点阵LED显示器设计.doc_第3页
基于AT89C51单片机的16x16点阵LED显示器设计.doc_第4页
基于AT89C51单片机的16x16点阵LED显示器设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计报告书设计题目:基于AT89C51单片机的16*16点阵LED显示器设计姓 名: 院 系: 专 业: 学 号: 指导教师: 教师职称: 2012年11月25日目录摘要 1第1章 引言 11.1 LED及LED显示屏 11.2 功能要求 21.3 方案论证 2第2章 系统总体方案及硬件设计 32.1 AT89C51的原理及说明 32.2 显示屏总体设计方案 32.3 列驱动电路 42.4 行驱动部分 4第 3 章 系统硬件电路的设计 83.1 单片机系统及外围电路 83.2 列驱动电路 83.3 行驱动电路 9第 4 章 系统程序的设计 104.1显示驱动程序 104.2系统主程序 114.3单片机汇编程序 11第5章 系统调试 22第6章 设计心得 22参考文献 22附录 23摘要:本设计使用简单单片机AT89C51作为主控制模块,利用简单的外围电路来驱动1616的点阵LED显示屏。在本设计中主要用两个74HC595来驱动1616点阵显示屏的列,用AT89C51来驱动1616点阵显示屏的行,可以最终实现“十六乘十六点阵可调速显示屏设计” 十五个汉字的自动左移,而且它们的“进”和“出”是以滚动形式设计的。也就是说,硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。从而可以实现一个室内用的1616点阵LED图文显示屏,在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。最后,利用烧录器可以很方便的实现单片机与PC机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变化,另一方面,LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成。进行了单片机AT89C51的软件仿真并成功完成了仿真验证。结果表明包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。具有在负载范围内, 只需通过简单的级连就可以对显示屏进行扩展,是一种成本低廉的图文显示方案意义。它在实际生活中具有广泛的应用。关键词:单片机、16*16点阵、滚动显示 第1章 引言1.1 LED及LED显示屏LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。LED 就是Light Emitting Diode(发光二极管)的缩写。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。1.2 功能要求设计一个室内用1616点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。1.3 方案论证1616的点阵显示屏共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就1616的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭; 第十六行之后又重新燃亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。第2章 系统总体方案及硬件设计2.1 AT89C51的原理及说明AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和蔼可亲128 bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多较为复杂控制应用场合。AT89C51引脚图2.2 显示屏总体设计方案 列驱动器 单片机 行驱动器LED显示点阵2.3 列驱动电路列驱动电路有集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。74HC595的外形及内部结构如图所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。2.4 行驱动器由于4点阵显示器有16行,为充分利用单片机的接口,本电路中运用了单片机AT89C51的P1口和P2口,其输入是一个16进制码,解码输出为低态扫描信号,单片机P1口和P2口输出生产16条行选通讯信号线,再经过驱动器驱动对应的线。74LS241三态八缓冲器/线驱动器/线接收器(3S,两组控制)简要说明:241为三态输出的八组缓冲器和总线驱动器,其主要电器特性的典型值如下(不同厂家具体值有差别):型号tPLHtphlPD54LS241/74LS24112ns12ns110mW引出端符号:1A11A4,2A12A4输入端/1G, /2G三态允许端(低电平有效)1Y11Y4,2Y12Y4输出端逻辑图:双列直插封装极限值:电源电压 .7V输入电压.5.5V输出高阻态时高电平电压.5.5V工作环境温度54XXX.-5512574XXX.070存储温度.-65150功能表:推荐工作条件:54LS244/74LS244单位最小额定最大电源电压Vcc544.555.5V744.7555.25输入高电平电ViH2V输入低电平电ViL540.7V740.8输出高电平电流IOH54-12mA74-15输出低电平电流IOL5412mA7424动态特性(TA=25)参 数测 试 条 件LS244单位最 大tPLH输出由低到高传输延迟时间Vcc =5VCL=45pFRL=667 18nstPHL输出由高到低传输延迟时间18nstPZH输出由高阻态到高允许时间23nstPZL输出由高阻态到低允许时间30nstPHZ输出由高到高阻态禁止时间Vcc=5V CL=5pFRL=90 18nstPLZ输出由低到高阻态禁止时间25ns静态特性(TA为工作环境温度范围)参 数测 试 条 件【1】LS244单位最小最大VIK输入嵌位电压Vcc=最小,Iik=-18mA-1.5VVT滞后电压Vcc最小0.2VVOH输出高电平电压Vcc最小,VIL最大,VIH=2V,IOH3mA2.4VVOL输出低电平电压Vcc=最小,VIL最大, IOL=最大540.4V740.5II最大输入电压时输出电流Vcc最大,VI=7V0.1mAIIH输入高电平电流Vcc最大,VIH=2.7V20uAIIL输入低电平电流1A,2AVcc最大,VIL=0.4V-0.2mAIOS输出短路电流Vcc最大-40-225mAIOZH输出高阻态时高电平电流Vcc最大,VIH=2VVIL=最大,VO=2.7V20uAIOZL输出高阻态时低电平电流Vcc最大,VIH=2V,VIL最大,VO=0.4V-20uAIcc电源电流Vcc最大1Y,2Y均为高电平27mA1Y,2Y均为低电平461Y,2Y均为高阻态54测试条件中的“最小”和“最大”用推荐工作条件中的相应值。第 3 章 系统硬件电路的设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。3.1AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器,(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。(1)AT89C51引脚图如图所: AT89C51单片机引脚图(2)AT89C51单片机P口的特点:P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。3.2单片机系统及外围电路单片机采用89C51或其兼容系列的芯片,采用24M或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。单片机的串口与列驱动器相连,用来送显示数据。P1口与P2口为行驱动器,送出行信号;P3.5P3.7口则用来发送控制信号。P0口空着,在有必要时可以扩展系统的ROM和RAM。1616点阵显示屏的硬件原理图如图3-1图3-1 1616点阵显示屏硬件原理图3.3列驱动电路列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。74HC595的外形及内部结构如图7.3所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。SCLR信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级联输出。图3-2 74HC595外形及内部逻辑结构图3.4行驱动电路单片机P1口与P2口为行驱动器,送出行信号;P3.5P3.7口则用来发送控制信号。74LS154译码后生成16条行选通信号线,一条行线上要带动16列的LED进行显示。第 4 章 系统程序的设计显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,我们可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。4.1显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值以保证显示屏刷新率的稳定,1/16扫描的显示屏的刷新率(帧频)的计算公式如下:其中fosc为晶振频率,t0为定时器T0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4-1为显示驱动程序(显示屏扫描函数)流程图。系统初始化“滚动出”显示效果“加速”显示效果“减速”显示效果“默认”显示效果开始图4-2系统主程序流程图定时器赋初值读取行号并增1送新行显示数据消隐切换显示数据送新行号、打开显示进入中断退出中断图4-1显示驱动程序流程图4.2系统主程序系统主程序开始以后首先是对系统环境初始化,包括设置串口、定时器、中断和端口。然后以“滚动出”效果显示一个字,停留约3秒,接着向左滚动显示“十六乘十六点阵可调速显示屏设计”十五个汉字,停留约3秒,再向左滚动显示“十六乘十六点阵可调速显示屏设计”这十五个汉字,循环重复,由于单片机没有停机指令,所以我们可以设置系统程序不断地循环执行上述显示效果。图4-2是系统主程序的流程图。4.3单片机汇编程序#include sbit SET=P35;sbit ADD=P36;sbit SUB=P37;sbit LOCK=P32;sbit DAT=P30;sbit CLK=P31; unsigned char cnt,cnt2,line,*p,*old,shift,t4;char speed,i;bit sec,key_mark;unsigned char code Matrix00132=/*-转换字符 十 -*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,;unsigned char code Matrix00232=/*-转换字符 六 -*/0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00, ;unsigned char code Matrix00332=/*-转换字符 乘 -*/0x00,0xF8,0x3F,0x00,0x01,0x00,0x7F,0xFC,0x01,0x00,0x09,0x24,0xF9,0x38,0x09,0x22,0x39,0x22,0xCB,0x9E,0x05,0x40,0x09,0x20,0x31,0x18,0xC1,0x06,0x01,0x00,0x01,0x00,;unsigned char code Matrix00432=/*-转换字符 十 -*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, ;unsigned char code Matrix00532=/*-转换字符 六 -*/0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00,;unsigned char code Matrix00632=/*-转换字符 点 -*/0x02,0x00,0x02,0x00,0x02,0x00,0x03,0xFC,0x02,0x00,0x02,0x00,0x3F,0xF0,0x20,0x10,0x20,0x10,0x20,0x10,0x3F,0xF0,0x00,0x00,0x24,0x88,0x22,0x44,0x42,0x44,0x80,0x04,;unsigned char code Matrix00732=/*-转换字符 阵 -*/0x00,0x40,0x7C,0x40,0x44,0x40,0x4B,0xFE,0x48,0x80,0x50,0xA0,0x49,0x20,0x49,0xFC,0x44,0x20,0x44,0x20,0x44,0x20,0x6B,0xFE,0x50,0x20,0x40,0x20,0x40,0x20,0x40,0x20,;unsigned char code Matrix00832=/*-转换字符 可 -*/0x00,0x00,0x7F,0xFE,0x00,0x10,0x00,0x10,0x1F,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x1F,0x10,0x11,0x10,0x00,0x10,0x00,0x10,0x00,0x50,0x00,0x20,;unsigned char code Matrix00932=/*-转换字符 调 -*/0x00,0x00,0x47,0xFC,0x24,0x44,0x24,0x44,0x05,0xF4,0x04,0x44,0xE4,0x44,0x27,0xFC,0x24,0x04,0x25,0xF4,0x25,0x14,0x2D,0x14,0x35,0xF4,0x24,0x04,0x04,0x14,0x08,0x08,;unsigned char code Matrix01032=/*-转换字符 速 -*/0x00,0x40,0x20,0x40,0x17,0xFC,0x10,0x40,0x03,0xF8,0x02,0x48,0xF2,0x48,0x13,0xF8,0x10,0xE0,0x11,0x50,0x12,0x48,0x14,0x44,0x10,0x40,0x28,0x00,0x47,0xFE,0x00,0x00,;unsigned char code Matrix01132=/*-转换字符 显 -*/0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x04,0x40,0x44,0x44,0x24,0x44,0x14,0x48,0x14,0x50,0x04,0x40,0xFF,0xFE,0x00,0x00,;unsigned char code Matrix01232=/*-转换字符 示 -*/0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x11,0x10,0x11,0x08,0x21,0x04,0x41,0x02,0x81,0x02,0x05,0x00,0x02,0x00,;unsigned char code Matrix01332=/*-转换字符 屏 -*/0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x3F,0xF8,0x24,0x10,0x22,0x20,0x2F,0xF8,0x22,0x20,0x22,0x20,0x3F,0xFC,0x22,0x20,0x42,0x20,0x44,0x20,0x84,0x20,0x08,0x20,;unsigned char code Matrix01432=/*-转换字符 设 -*/0x00,0x00,0x21,0xF0,0x11,0x10,0x11,0x10,0x01,0x10,0x02,0x0E,0xF4,0x00,0x13,0xF8,0x11,0x08,0x11,0x10,0x10,0x90,0x14,0xA0,0x18,0x40,0x10,0xA0,0x03,0x18,0x0C,0x06,;unsigned char code Matrix01532=/*-转换字符 计 -*/0x00,0x40,0x20,0x40,0x10,0x40,0x10,0x40,0x00,0x40,0x00,0x40,0xF7,0xFE,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x14,0x40,0x18,0x40,0x10,0x40,0x00,0x40,;unsigned char code Matrix01632=/*-转换字符 代 -*/0x08,0x90,0x08,0x88,0x08,0x88,0x10,0x80,0x10,0xBE,0x37,0xC0,0x30,0x80,0x50,0x40,0x90,0x40,0x10,0x40,0x10,0x20,0x10,0x22,0x10,0x12,0x10,0x0A,0x10,0x06,0x10,0x02,;unsigned char code Matrix10032=0;unsigned char code end;void SendData(unsigned char *q) unsigned char i,t; t=*q; for(i=0;i=1; LOCK=0; LOCK=1; void t0() interrupt 1 TH0=-500008;TL0=-50000;if(+cnt2speed) cnt2=0; sec=1; void t1() interrupt 3 TH1=-10008;TL1=-1000; if(+cnt=0) cnt=0; if(+line15) line=0; P1=P2=0xff; t0=*(p+(line1);t1=*(p+1+(line1);t2=*(p+32+(line1);t3=*(p+33+(line1);if(shift=7) t0=(t0(8-shift); t1=(t1(8-shift);else t0=(t1(16-shift); t1=(t2(16-shift); SendData(t); if(line8) P1=(1line); else P2=(1(line-8); void delay() unsigned char i,j;for(i=0;i4;i+) for(j=0;j100;j+) ;void key() if(!SET) p=Matrix001; shift=0; else if(!ADD) speed+=4; else if(!SUB) speed-=4; if(speed8;TL0=-50000;TMOD|=0X01;IE|=0X82;void init_t1() TH1=-10008;TL1=-1000;TMOD|=0X10;IE|=0X88;void delay500ms() char n;IE=0X88; /DISABLE T0 INTERRUPT for(n=0;n8; TL0=-50000; while(!TF0); TF0=0; IE=0X8A;main() p=Matrix001;init_t0(); init_t1();speed=1;TR0=TR1=1;delay500ms(); while(1) if(!SET | !ADD | !SUB) & !key_mark) delay(); if(!SET | !ADD | !SUB) key(); key_mark=1; else if(SET & ADD & SUB ) key_mark=0; if(sec) sec=0; shift+; if(shift=16) /移动一次 shift=0; p+=32; if(p=&end-32) p=Matrix001; delay500ms(); 第5章 系统调试硬件调试打开Proteus 7.5 Professional软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后把编程所生成的。HEX文件加载到AT89C51中,运行仿真软件,查看运行效果。如果运行出错那么就根据他相应的提示来修改错误,直到仿真成功为止。打开Topwin软件,装载CLOCKJT.HEX,通过编程器将该文件烧写入AT89C51中。将AT89C51插入实验仪相应的插座上,在实验仪上按照电路原理图连线。打开电源,观察数码管的变化。第6章 设计心得在此次课程设计中,让我巩固了单片机及以前所学的很多知识,使我从单纯的理论学习上升到了实践应用学习这一环节。同时还用到了C+编程,以前只是在课堂上应用过,从来没有认真用它做过什么实在的东西。我们学东西就要学以致用,在这里我深刻的感觉到理论和实践的差别性,学得好不一定做得好,但要做得好就一定要学得好。通过两个星期的课程设计,我的理论知识和动手能力在一定程度上都得到了提高,也学到很多新知识。此次实训主要是让我们进一步深入理解单片机系统的工作原理,对接口电路的设计及调试方法;同时在实训中我们设计的单片机仿真正常,但进过老师的讲解我们发现了一些不足,进过我组成员思考讨论最终验证了老师讲解的问题,单片机的输出功耗太小无法带动16*16个LED灯所以在我组成员共同的努力下进行了深刻的反思,在以后的实验或实训中要以理论为前提。理论联系实际,结合专业知识来分析解决问题;掌握用单片机进行实际产品开发的基本过程,加强模块化设计思想的培养,增加对专业的兴趣,从而为我们以后的工作打下基础。 【参考文献】1 谢辉.单片机原理及应用. M.北京:化学工业出版社2010.52 李全利.单片机原理及接口技术. M.北京:高等教育出版社,20093 苏家健.单片机原理及应用技术. M.北京:高等教育出版社.2004.14 楼然苗.51系列单片机设计实例. M.北京:北京航空航天大学出版社,2003.5 赵晓安. MCS-51单片机原理及应用. M.天津:天津大学出版社,2001.3 附录1. 硬件原理图2. 元器件清单表编号名称型号单位数量备注1芯片AT89C51片12轻触开关只33万能电路板块14芯片座8脚块45芯片74HC595块26LED点阵显示器8*8块4芯片74LS241块2袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃

温馨提示

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

评论

0/150

提交评论