毕业论文_基于单片机1621564点阵设计(编辑修改稿)内容摘要:

根据显示系统的功能特点确定系统硬件由显示屏部 分,控制部分,通信系统三部分组成。 单片机通过通信部分发送控制指令和显示内容代码,执行显示指令并将显示代码处理后控制显示部分的显示内容和显示方式。 图 21 系统硬件组成框图 显示屏主控制器 控制部分是整个系统的核心部分,其功能为发送数据和控制指令处理后控制显示部分显示内容。 其常用的电子设计方法有单片机、 DSP、及 EDA 技术。 几种设计方法比较各有其特点: 1. 单片机 单片机是集成了 CPU, ROM, RAM 和 I/ O 口的微型计算机。 它有很强的接 口性能,非常适合于工业控制,因此又叫微控制器 (MCU)。 单片机品种齐全 ,型号多样 CPU 从 8,16, 32到 64位,多采用 RISC 技术,片上 I/O 非常丰富,有的单片机集成有 A/ D,“ 看门狗”, PWM,显示驱动,函数发生器,键盘控制等。 它们的价格也高低不等,这样极大地满足了开发者的选择自由。 除此之外单片机还具有低电压和低功耗的特点。 随着超大规模集成电路的发展, NMOS 工艺单片机被 CMOS 代替,并开始向 HMOS 过渡。 供电电压由 5V 降到 3V, 2V甚至到 1V,工作电流由 mA 降至μ A ,这在便携式产品中大有 用武之地。 2. DSP 芯片 DSP 又叫数字信号处理器。 顾名思义, DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。 现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域, DSP 具有修正的哈佛结构,多总线技术以及流水线结构。 将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。 DSP 区别于一般微通信部分 控制部分 显示部分 处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。 而 DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如 TM320 系列的 FIRS , LMS, MACD 指令等。 3. EDA EDA(即 Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在 EDA 软件平台上,对用硬件描述语言 HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。 设计者只需用 HDL 语言完成系统功能的描述,借助 EDA 工具就可得到设计结果,将 编译后的代码下载到目标芯片就可在硬件上实现。 由于 FPGA/CPLD 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。 而且 MCU 和 DSP 都是通过串行执行指令来实现特定功能,不可避免低速,而 FPGA/CPLD则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样, 十分可靠。 三种设计方式相比较各有优点且都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。 现在市场上常用的单片机主要有MCS5 AVR、 ARM、 PIC 等。 其中应用最广泛的单片机首推 Intel 的 51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。 且 51系列的 I/O 脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 I/O 口均置高电平)。 当该脚作输出脚使用时,则为高电平或低电平均可。 所 以在控制部分方案的选择中选定 51系列单片机作为控制部分的核心器件。 通信系统 通信部分要满足的设计要求就是稳定、快速、简单易实现。 计算机数据通信主要采用并行通信和串行通信两种方式。 1. 并行通信 并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。 并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。 2. 串行通信 串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。 在串行发送时,数据是一位一位按顺序进行的,而计 算机内部的数据是并行的。 因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。 反之,又必须将串行数据转换为并行数据输入计算机中。 这种转换即可以用硬件实现也可以用软件实现。 单由软件实现会增加CPU 负担,降低其利用率,故目前常采用硬件实现。 通用的通用异步接收 /发送器,简称 UART( Universal Asynchromous Receeiver Trabsnitter)是完成这一功能的硬件电路。 在单片机芯片中, UART 已经集成在其中,作为其组成部分,构成一个串行口。 综上所述,题目设计已经选定了单片 机为开发方式而单片机的 UART 已经集成在单片机内,所以通信系统选择串行通信为通信方式。 硬件设计方案 最终方案如图 22所示,以单片机机作为核心控制器件存储和处理显示内容,用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据传输来的内容和指令通过端口译码扩展后驱动 16块 8 8LED 点阵模块构成的 16 64的 LED 点阵显示屏。 题目将以此方案为指导思想展开具体的硬件电路设计。 图 22 硬件设计方案 系统软件方案 软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。 设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。 具体结构如图 23所示。 串行通信 单片机 译码电路 显示驱动电路 16 64LED显示屏 图 23 软件功能结构框图 软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。 编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。 最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执 行。 单片机编程语言 现在主要运用的单片机编程语言为汇编语言和 C 语言。 两种语言相比较各有优点。 汇编语言 (Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。 其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。 C 语言是一种源于编写 UNIX 操作系统的语言,它是一种结构化语言,可产生压缩代码。 C 语言结构是以括号 { }而不是子和 特殊符号的语言。 C 可以进行许多机器级函数控制而不用汇编语言。 与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对 51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。 这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。 C 语言作为一种非常方便的语 言而得到广泛的支持, C 语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。 基于以上理由决定采用 C 语言为该显示系统的编程语言。 静态显示程序 主程序 控制程序 特效显示程序 通信程序 系统软件编译器介绍 C 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。 因此在系统软件设计中,编译器必不可少。 支持 MCS- 51用 C 语言编程的编译器主要有两种: Franklin C51编译器和 KEILC51编译器。 目前在单片机开发中普遍都是使用 KEIL C51来进行编译。 第三章 硬件设计 硬件系统的总体设计 本设计采用 STC89S52RC 单片机为核心控制器件,用 16块 8*8点阵相连组成 16*64点阵屏,作为显示部分。 用 74LS154作为行驱动控制,控制点阵屏的行控制信号,有十六根数据线接在点阵屏的十六个行控制信号端上,用 74HC595作为列驱动控制,控制点阵屏的列控制信号,同样有三根数据线接在点阵屏的十六个列控制信号端。 系统方框图如图 31所示。 图 31 系统方框图 单片机系统设计 STC89S52RC 简介 本设计使 用的是 STC89S52RC 单片机,原因是此款单片机具有众多优点。 加密性强,难解密 超强抗干扰 超低功耗 掉电模式: A 空闲模式: 2mA 正常工作模式: 4mA~ 7mA 提供 STCISP 在线编辑系统,无需编辑器,无需仿真器,可省去购买编辑器,仿真器的昂贵资金,适合大众使用 内置看门狗 STC89S52RC 的基本结构与 8051相同,但是比传统的 8051单片机拥有更多的内部Flash,最高可达 64KB。 片内 SRAM 容量同样是非常吸引的数字,最高可拥有 1280Byte的 SRAM。 而且还内置 EEPROM 存储器、 AD 转换等功能。 另外它还可以用串口直接仿真程序,不需要另外加用仿真器或者下载线。 单 片 机 列驱动 行驱动 点阵模块 时钟电路 复位电路 STC89S52RC 单片机引脚功能 VCC: 接电源正极,一般输入电压为 5V。 GND:接 电源 地 端。 P0口: P0口为一个 8位漏级开路双向 I/O 口,每 个 脚可吸收 8TTL 门电流。 当 P1口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 P1口: P1口是一个内部提供上拉电阻的 8位双向 I/O 口, P1口缓冲器能接收输出 4TTL门电流。 P1口管脚写入 1后,被内部上 拉为高,可用作输入, P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口: P2口为一个内部上拉电阻的 8位双向 I/O 口, P2口缓冲器可接收,输出 4个TTL门电流,当 P2口被写 “ 1” 时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址 “ 1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的 内容。 P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL门电流。 当 P3口写入 “ 1” 后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0( 计数 器 0外部输入) T1( 计数 器 1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读 选通) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 F。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。