8X8 LED点阵显示的设计

更新时间:2023-09-01 18:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

设计课题:

8X8 LED点阵显示的设计

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

目录

第1章 系统概述

1.1设计任务及目的 3

第2章 系统硬件设计与分析

2.1 电源电路 3 2.2 复位电路 3 2.3 主体电路 4 2.4 硬件电路连线 4 2.5 显示部分 4

第3章 单片机的配置及简介

3.1 单片机介绍 6 3.2 单片机系统设计 8 3.3 单片机的发展趋势 9

第4章 系统软件设计

4.1 数字的编码 10 4.2 字母的编码 11 4.3 程序流程图 13

第5章 有关软件的介绍

5.1 PROTE电路设计及PCB图制作 17 5.2 Keil C51 介绍及使用 18 5.3 烧录器的使用 19

第6章 结束语 20

附图一 原理图 21

附图二 PCB图 22

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

第1章 系统概述

LED点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。本文将介绍一种采用单片机AT89S51进行控制的8*8LED点阵。该点阵可实现动态显示数字0~9及字符A~Z的功能。

1.1设计任务及目的

利用8*8LED点阵显示数字0~9和26个英文字符的字样。采用AT89S51单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。

第2章 系统硬件设计与分析

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

2.1 电源电路

本设计实验所需电源为直流五伏电压源,采用的是固定式三端稳压器7805来实现。其线路接线图如图1所示:

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

图1:电源电路

2.2 复位电路

单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,复位电路如图2所示:

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

图2:复位电路

2.3 主体电路

通过单片机AT89S51的P0口和P1口去驱动点阵LED芯片块。电路如图3所示:

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

2.4 硬件电路连线

1. 把“单片机系统”区域中的P0.0~P0.7端口通过一个10K欧排阻连接到“点阵模块”区域中的“L1-L8”端口上;

2. 把“单片机系统”区域中的P1.0~P1.7端口通过三极管8550和10K电阻连接到“点阵模块”区域中的“S1-S8”端口上。 2.5 显示部分

1. 8X8 点阵LED工作原理说明

图4为8×8点阵LED外观及引脚图,其等效电路如图5所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

图4 8×8点阵LED外观及引脚图 实心部分接正极 即三极管射极

图5 8×8点阵LED等效电路

2. 点阵LED扫描法介绍

点阵LED一般采用扫描式显示,实际运用分为三种方式: (1) 点扫描; (2) 行扫描; (3) 列扫描。

若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即 可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。

第3章 单片机的配置及简介

3.1 单片机介绍

所谓单片机,就是将CPU,RAM,ROM,定时/计数器和多种I/O接口电路都集成在一块集成芯片上的微型计算机。

MCS--51系列单片机是美国Intel公司在1980年推出的8位单片 微型计算机 ,包含51和52两个子系列。51子系列的典型产品有8031,8051和8751三

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

种机型 52子系列包括8032,8052二种主要机型。 51子系列的配置如下:

(1)8位CPU;

(2)振荡频率1.2~12MHZ;

(3)128个字节的片内数据存储器(片内RAM); (4)21个专用寄存器;

(5)4KB的片内程序存储器(8031无); (6)8位并行I/O口P0,P1,P2,P3; (7)一个全双工串行I/O口; (8)2个16位定时器/计数器; (9)5个中断源,分为2个优先级;

本系统选用ATMEL89S51系列单片机,由于它的模块化设计为适应具体的应用提供了极大的灵活性,便于扩展功能,有效的提高了系统的经济性。AT89S51是一种低工耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的八位CMOS微控制器,使用高密度、非易失存储编程器对程序存储器重复编程。

AT89S51具有以下特点:

(1)与MCS-51微控制器产品系列兼容。

(2)片内有4KB可在线重复编程的快闪擦写存储器。 (3)32条可编程I/O线。

(4)程序存储器具有三级加密保护。 (5)可编程全全双工串行通道。

(6)空闲状态维持低功耗和掉电状态保存存储内容。 (7)而且与87C51系列的引脚也完全兼容。

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

51系列单片机的引脚功能: 主电源引脚 END、Vcc

END:接地,Vcc:接+5V电源 外接晶振引脚 X1、X2

X1:片内反向放大器输入端,X2:片内反向放大器输出端 输入/输出引脚 P0、P1、P2、P3

P0.0~P0.7:P0口的8个引脚,P0口是8位漏极开路型双向I/0端口,在接有片外存储器或I/0扩展接口时,P0.0~P0.7分时复用,作低8位地址总线与双向8位数据总线

P1.0~P1.7:P1口的8个引脚,P1口是一个带内部上拉电阻的8位双向I/O口,对于52子系列,P1.0还可用于定时器/计数器2的计数脉冲输入端T2,P1.1还可作定时器/计数器2的外部控制端T2EX。

P2.0~P2.7:P2口的8个引脚,P2口也是一个带内部上拉电阻的双向I/O口,在访问片外存储器或扩展I/O接口时,还用于提供高8位地址。

P3.0~P3.7:P3口的8个引脚,P3口也是一个带上拉电阻的I/O口,除可以作双向的输入输出口外,还具有第2功能。见表3-1

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

控制线(4条):

ALE/PROG:双功能引脚。由于P0口的8个引脚是低8位地址总线与数据总线分时复用,因此必须将P0口输出的低8位地址进行锁存。在访问片外存储器时,每机器周期该信号出现2次。其下降沿用于控制锁存P0口输出的低8 位地址。即使不访问片外存储器,该引脚上仍出现上述频率的周期性信号,因此也可作为对外输出的时钟脉冲,频率为振荡器频率的1/6,必须注意的是:在访问片内外存储器时,ALE脉冲会跳空1个。对片内含有EPROM的机型,此引脚在编程时可作为编程脉冲PROG的输入端。

PSON: 片外程序存储器读选通信号输出端,在CPU从片外程序存储器取指期间,此信号每个机器周期两次有效,以通过P0口读入指令,在访问片外数据存储器时,该信号不出现。

EA/Vpp: 双功能引脚,为片外程序存储器选用端。当该引脚信号有效时,选择片外程序存储器,即EA/Vpp=1时,访问片内程序存储器。 对片内含有EPROM的机型,此引脚在编程期间用于施加+21v的编程电压。

RESET: 双功能引脚,在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时可实现复位操作。 在Vcc掉电期间,若该引脚接备用电源(+5v),可向片内RAM供电,以保存片内RAM中的信息。 3.2 单片机系统设计

按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统和典型应用系统等。

(1)最小应用系统:能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常常构成一些简单的控制系统,如开关状态的输入/输出控制等。

对于片内有ROM/EPROM/FLASH RAM的单片机,构成最小应用系统时,只要将单片机接上时钟电路、复位电路和电源即可,如图3-2(a)所示。

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

图3-2 89S51单片机最小应用系统

由于集成度的限制,这种最小应用系统只能用作一些小型的控制单元。其应用特点是:

①有可供用户使用的大量I/O口线,P0、P1、P2、P3都可用作用户I/O口用。由于没有外部存储器扩展,EA应接高电平。

②内部存储器容量有限(只有4KB地址空间)。

③应用系统开发具有特殊性。由于这类应用系统应用程序量不大,外电路简单,因而采用模拟开发手段较好。

对于片内无ROM/EPROM/FLASH RAM的单片机,其最小系统除了外部配置时钟电路、复位电路和电源外,还应在片外扩展EPROM、EEPROM作为程序存储器用,如图3(b)所示,EA应接地。 (2)最小功耗应用系统

最小功耗应用系统是指为了保证正常运行,系统的功率消耗最小。这是单片机应用系统中的一个引人入目的构成方式。在单片机芯片结构设计时,一般为构成最小功耗应用系统提供了必要条件,例如,各种系列的单片机都有CMOS工艺类型,而且在这类单片机中都设置了低功耗运行的WAIT和STOP方式。

设计最小功耗应用系统时,必须使系统内的所有器件、外设都有最小的功耗,而且能充分运用WAIT和STOP方式运行。最小功耗应用系统常用在一些袖珍式智能仪表、野外工作仪表以及在无源网络、接口中的单片机工作子站。

3.3 单片机的发展趋势

今后单片机的发展趋势,将是进一步向着多功能、高性能、高速度、低功耗、低价格、存储容量扩大和增强I/O功能及结构兼容等方面发展。其发展趋势主要有以下几个方面:

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

1. 多功能

在单片机中尽可能多地把应用所需的存储器、各种功能的I/O口都集成在一块芯片内,使单片机的功能更加强大。如把LED、LCD或VFD显示驱动器也开始集成在8位单片机中。 2. 高性能

进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性,采用精简指令系统计算机RISC(Reduced Instruction Set Computer)结构和流水线技术,大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能,使单片机的性能明显地优于同类型的微处理器。单片机集成度进—步提高,有的单片机的寻址能力已突破64 KB的限制,8位、16位的单片机有的寻址能力已达到1 MB和16 MB。片内ROM的容量可达64 KB,RAM的容量可达2 KB。 3. 低电压、低功耗

允许使用的电压范围越来越宽,一般在3 6V范围内工作,有的已能在1.2V或0.9V电压下工作。。几乎所有的单片机都具有省电运行方式。单片机的功耗已从mA级降到μA级,甚至1μA以下,在一粒钮扣电池下就可长期工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。 4. 低价格

单片机应用的另一显著特点是量大面广。促使世界各国公司在提高单片机性能的同时,也十分注意降低价格。如Z-8系列的Z8600、80C51系列的80C31每片仅售1-1.5美元。提高性能价格比是各公司竞争的主要策略和不懈追求的目标。

第4章 系统软件设计

利用数组将各数字字符的编码存放在寄存器中,在执行显示过程中从寄存器中将对应数字或字符编码的数组一一轮流调出即可实现动态。

4.1数字的编码

各个数字对应的编码如下:

{0x0C,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},/*"0",0*/ //显示数字`0`/

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

{0x04,0x06,0x04,0x04,0x04,0x04,0x0E,0x00},/*"1",1*/ //显示数字`1`/

{0x0C,0x12,0x10,0x08,0x04,0x02,0x1E,0x00},/*"2",2*/ //显示数字`2`/

{0x0C,0x12,0x10,0x0C,0x10,0x12,0x0C,0x00},/*"3",3*/ //显示数字`3`/

{0x08,0x0C,0x0C,0x0A,0x0A,0x1E,0x08,0x00},/*"4",4*/ //显示数字`4`/

{0x1E,0x02,0x02,0x0E,0x10,0x10,0x0E,0x00},/*"5",5*/ //显示数字`5`/

{0x0C,0x12,0x02,0x0E,0x12,0x12,0x0C,0x00},/*"6",6*/ //显示数字`6`/

{0x1E,0x12,0x10,0x08,0x04,0x04,0x04,0x00},/*"7",7*/ //显示数字`7`/

{0x0C,0x12,0x12,0x0C,0x12,0x12,0x0C,0x00},/*"8",8*/ //显示数字`8`/

{0x0C,0x12,0x12,0x1C,0x10,0x12,0x0C,0x00},/*"9",9*/ //显示数字`9`/

4.2字母的编码

各个字母所对应的编码如下:

{0x0C,0x12,0x12,0x12,0x1E,0x12,0x12,0x00},/*"A",0*/ //显示字母`A`/

{0x0E,0x12,0x12,0x0E,0x12,0x12,0x0E,0x00},/*"B",1*/ //显示数字`B`/

{0x0C,0x12,0x02,0x02,0x02,0x12,0x0C,0x00},/*"C",2*/ //显示数字`C`/

{0x0E,0x12,0x12,0x12,0x12,0x12,0x0E,0x00},/*"D",3*/ //显示数字`D`/

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x1E,0x00},/*"E",4*/ //显示数字`E`/

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x02,0x00},/*"F",5*/ //显示数字`F`/

{0x0C,0x12,0x02,0x1A,0x12,0x12,0x0C,0x00},/*"G",6*/ //显示数字`G`/

{0x12,0x12,0x12,0x1E,0x12,0x12,0x12,0x00},/*"H",7*/ //显示数字`H`/

{0x0E,0x04,0x04,0x04,0x04,0x04,0x0E,0x00},/*"I",8*/ //显示数字`I`/

{0x10,0x10,0x10,0x10,0x12,0x12,0x0C,0x00},/*"J",9*/ //显示数字`J`/

{0x12,0x12,0x0A,0x06,0x0A,0x12,0x12,0x00},/*"K",10*/ //显示数字`K`/

{0x02,0x02,0x02,0x02,0x02,0x02,0x1E,0x00},/*"L",11*/ //显示数字`L`/

{0x12,0x1E,0x1E,0x12,0x12,0x12,0x12,0x00},/*"M",12*/ //显示数字`M`/

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

{0x12,0x16,0x16,0x1A,0x1A,0x12,0x12,0x00},/*"N",13*/ //显示数字`N`/

{0x1E,0x12,0x12,0x12,0x12,0x12,0x1E,0x00},/*"O",14*/ //显示数字`O`/

{0x0E,0x12,0x12,0x0E,0x02,0x02,0x02,0x00},/*"P",15*/ //显示数字`P`/

{0x0C,0x12,0x12,0x12,0x16,0x1A,0x1C,0x00},/*"Q",16*/ //显示数字`Q`/

{0x0E,0x12,0x12,0x0E,0x06,0x0A,0x12,0x00},/*"R",17*/ //显示数字`R`/

{0x0C,0x12,0x02,0x0C,0x10,0x12,0x0C,0x00},/*"S",18*/ //显示数字`S`/

{0x1E,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"T",19*/ //显示数字`T`/

{0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},/*"U",20*/ //显示数字`U`/

{0x12,0x12,0x12,0x12,0x0C,0x0C,0x0C,0x00},/*"V",21*/ //显示数字`V`/

{0x12,0x12,0x12,0x12,0x1E,0x1E,0x12,0x00},/*"W",22*/ //显示数字`W`/

{0x12,0x12,0x0C,0x0C,0x0C,0x12,0x12,0x00},/*"X",23*/ //显示数字`X`/

{0x11,0x11,0x0A,0x04,0x04,0x04,0x04,0x00},/*"Y",24*/ //显示数字`Y`/

{0x1E,0x10,0x08,0x0C,0x04,0x02,0x1E,0x00},/*"Z",25*/ //显示数字`Z`/

4.3 完整程序

#include "AT89S51.H"

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},/*"|",0*/ {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},/*"|",0*/ {0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},/*"|",0*/ {0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",0*/

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},/*"|",0*/ {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},/*"|",0*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},/*"|",0*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/

{0x08,0x3E,0x7F,0x24,0x1A,0x49,0x78,0x00},/*"老",0*/

{0x72,0x24,0xFE,0xAE,0xEE,0x24,0x22,0x21},/*"师",0*/

{0x0A,0xEA,0x9F,0xFA,0x4A,0x44,0x6A,0x51},/*"好",0*/

{0x0C,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},/*"0",0*/

{0x04,0x06,0x04,0x04,0x04,0x04,0x0E,0x00},/*"1",1*/

{0x0C,0x12,0x10,0x08,0x04,0x02,0x1E,0x00},/*"2",2*/

{0x0C,0x12,0x10,0x0C,0x10,0x12,0x0C,0x00},/*"3",3*/

{0x08,0x0C,0x0C,0x0A,0x0A,0x1E,0x08,0x00},/*"4",4*/

{0x1E,0x02,0x02,0x0E,0x10,0x10,0x0E,0x00},/*"5",5*/

{0x0C,0x12,0x02,0x0E,0x12,0x12,0x0C,0x00},/*"6",6*/

{0x1E,0x12,0x10,0x08,0x04,0x04,0x04,0x00},/*"7",7*/

{0x0C,0x12,0x12,0x0C,0x12,0x12,0x0C,0x00},/*"8",8*/

{0x0C,0x12,0x12,0x1C,0x10,0x12,0x0C,0x00},/*"9",9*/

{0x0C,0x12,0x12,0x12,0x1E,0x12,0x12,0x00},/*"A",0*/

{0x0E,0x12,0x12,0x0E,0x12,0x12,0x0E,0x00},/*"B",1*/

{0x0C,0x12,0x02,0x02,0x02,0x12,0x0C,0x00},/*"C",2*/

{0x0E,0x12,0x12,0x12,0x12,0x12,0x0E,0x00},/*"D",3*/

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x1E,0x00},/*"E",4*/

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x02,0x00},/*"F",5*/

{0x0C,0x12,0x02,0x1A,0x12,0x12,0x0C,0x00},/*"G",6*/

{0x12,0x12,0x12,0x1E,0x12,0x12,0x12,0x00},/*"H",7*/

{0x0E,0x04,0x04,0x04,0x04,0x04,0x0E,0x00},/*"I",8*/

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

{0x12,0x12,0x0A,0x06,0x0A,0x12,0x12,0x00},/*"K",10*/

{0x02,0x02,0x02,0x02,0x02,0x02,0x1E,0x00},/*"L",11*/

{0x12,0x1E,0x1E,0x12,0x12,0x12,0x12,0x00},/*"M",12*/

{0x12,0x16,0x16,0x1A,0x1A,0x12,0x12,0x00},/*"N",13*/

{0x1E,0x12,0x12,0x12,0x12,0x12,0x1E,0x00},/*"O",14*/

{0x0E,0x12,0x12,0x0E,0x02,0x02,0x02,0x00},/*"P",15*/

{0x0C,0x12,0x12,0x12,0x16,0x1A,0x1C,0x00},/*"Q",16*/

{0x0E,0x12,0x12,0x0E,0x06,0x0A,0x12,0x00},/*"R",17*/

{0x0C,0x12,0x02,0x0C,0x10,0x12,0x0C,0x00},/*"S",18*/

{0x1E,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"T",19*/

{0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},/*"U",20*/

{0x12,0x12,0x12,0x12,0x0C,0x0C,0x0C,0x00},/*"V",21*/

{0x12,0x12,0x12,0x12,0x1E,0x1E,0x12,0x00},/*"W",22*/

{0x12,0x12,0x0C,0x0C,0x0C,0x12,0x12,0x00},/*"X",23*/

{0x11,0x11,0x0A,0x04,0x04,0x04,0x04,0x00},/*"Y",24*/

{0x1E,0x10,0x08,0x0C,0x04,0x02,0x1E,0x00},/*"Z",25*/ };

unsigned int timecount; unsigned char cnta; unsigned char cntb; void main(void) {

TMOD=0x01;

TH0=(65536-3000)/256; TL0=(65536-3000)%256; TR0=1; ET0=1; EA=1; while(1) {; } }

void t0(void) interrupt 1 using 0

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

{

TH0=(65536-2000)/256; TL0=(65536-2000)%256;

P1=0XFF; //消除显示重影问题 P0=~digittab[cntb][cnta]; P1=~(0x01<<cnta);

cnta++; if(cnta==8) {

cnta=0; }

timecount++;

if(timecount==500) {

timecount=0; cntb++;

if(cntb==57) {

cntb=0; } } }

第5章 有关软件的介绍

5.1 PROTEL电路设计及PCB图制作

Protel99SE是桌面环境下第一个以设计管理和协作技术为核心的全方位印刷电路板设计系统,它集强大的设计能力,复杂工艺的可生产性和设计过程管理于一体,可完整实现电子产品从概念设计到生成物理生产数据的全过程,以及中间的所有分析,仿真和验证。整个过程包括以下几个步骤: (1)构想电路模型 (2)设计电路原理图 (3)校对后输出原理图 (4)产生网络表 (5)设计印刷电路板 (6)检查后输出PCB板图

本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89S51、电阻10K、以及10K排阻、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。

图5-1 PROTEL设计流程图 1. 原理图设计

先进入PROTEL99SE主界面。执行File/New命令,进入一个新的项目设计,新建一个设计管理数据库文件。在Document 下新建一个原理图文件然后进入编辑窗口,进行原理图的设计与编辑。本设计绘制好的原理图见附录所示。

在调用元器件时,如果需要用到一些现存库中没有的元件,要对原理图设计软件包中的库做些补充,添加一些新的元件。以使原理图上的所有元件都能在库中找到。绘制完原理图需要对各个元件进行封装,一般器件封装库内都有相应的封装,没有适当的封装时应当自己进行封装图设计,并将该封装图设计调入封装库中,以便自己对元器件封装时可以用到。然后对所设计的电路图进行ERC检查,不通过检查的话根据提示进行修改,例如没有接好线,封装不当,引脚定义设定不正确等。如果通过ERC检查,则可以执行Design/Create Netlist命令生成网络表。

2. PCB图制作

对原理图生成网络表后,就可以在PCB编辑环境下进行PCB图的设计与编辑了,在PCB环境下导入网络表,这时在PCB 设计界面内将出现所有器件的封装图,将所有的元件拖入布线区进行手动布局,布局之后设定好连线宽度,单面或双面板设定(本设计仅需要单面板即可完成设计)等设定布线规则后再KEEPOUT LAYER将所有器件框在内,然后在BOTTOM LAYER进行连线。一般使用Auto Route命令进行进行自动布线了,自动布线之后再进行手工的修改。

本文来源:https://www.bwwdw.com/article/xybi.html

Top