8X8LED点阵显示的设计_课程设计论文.doc_第1页
8X8LED点阵显示的设计_课程设计论文.doc_第2页
8X8LED点阵显示的设计_课程设计论文.doc_第3页
8X8LED点阵显示的设计_课程设计论文.doc_第4页
8X8LED点阵显示的设计_课程设计论文.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

8x8led点阵显示的设计单片机课程设计论文设计课题:8x8 led点阵显示的设计目录第1章 系统概述1. 计任务及目的2第 2章 系统硬件设计与分析2.1 电源电路32.2 复位电路32.3 主体电路42.4 硬件电路连线42.5 显示部分4第3章 单片机的配置及简介3.1 单片机介绍63.2 单片机系统设计83.3 单片机的发展趋势9第4章 系统软件设计4.1 数字的编码104.2 字母的编码114.3 程序流程图134.4 完整程序14第5章 有关软件的介绍5.1 prote电路设计及pcb图制作 175.2 keil c51 介绍及使用 185.3 烧录器的使用19第6章 结束语 20参考文献 20附图一 原理图21附图二 pcb图 22第1章 系统概述 led点阵显示系统中 各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂, 在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱 动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。本文将介绍一种采用单片机at89s51进行控制的8*8led点阵。该点阵可实现动态显示数字09及字符az的功能。1.1设计任务及目的利用8*8led点阵显示数字09和26个英文字符的字样。采用at89s51单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。第2章 系统硬件设计与分析本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机at89s51、电阻10k和100欧、三极管8550、按钮开关、共阳8*8led点阵显示块、稳压块7805。2.1 电源电路本设计实验所需电源为直流五伏电压源,采用的是固定式三端稳压器7805还实现。其线路接线图如图1所示:图1 电源电路2.2 复位电路单片机在启动运行时需要复位,使cpu以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,复位电路如图2所示:图2 复位电路2.3 主体电路通过单片机at89s51的p0口和p1口去驱动点阵led芯片块。电路如图3所示:图3 主体电路2.4 硬件电路连线 1. 把“单片机系统”区域中的p0.0p0.7端口分别通过八个100欧电阻连接到“点阵模块”区域中的“l1l8”端口上;2. 把“单片机系统”区域中的p1.0p1.7端口通过三极管8550和10k电阻连接到“点阵模块”区域中的“s1s8”端口上。2.5 显示部分1. 8x8点阵led工作原理说明图4为88点阵led外观及引脚图,其等效电路如图(2)所示,只要其对应的x、y轴顺向偏压,即可使led发亮。例如如果想使左上角led点亮,则y0=1,x0=0即可。应用时限流电阻可以放在x轴或y轴。图4 88点阵led外观及引脚图其等效电路图如下:图5 88点阵led等效电路2. 点阵led扫描法介绍点阵led一般采用扫描式显示,实际运用分为三种方式:(1)点扫描; (2)行扫描;(3)列扫描。若使用第一种方式,其扫描频率必须大于1664=1024hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于168=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三种机型 52子系列包括8032,8052二种主要机型。 51子系列的配置如下:(1)8位cpu;(2)振荡频率1.212mhz;(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系列的引脚也完全兼容。89s51单片机结构如图3-1所示: 图3-1 89s51单片机结构框图51系列单片机的引脚功能:主电源引脚 vss、vcc vss:接地,vcc:接+5v电源外接晶振引脚 xtal1、xtal2 xtal1:片内反向放大器输入端,xtal2:片内反向放大器输出端输入/输出引脚 p0、p1、p2、p3p0.0p0.7:p0口的8个引脚,p0口是8位漏极开路型双向i/0端口,在接有片外存储器或i/0扩展接口时,p0.0p0.7分时复用,作低8位地址总线与双向8位数据总线p1.0p1.7:p1口的8个引脚,p1口是一个带内部上拉电阻的8位双向i/o口,对于52子系列,p1.0还可用于定时器/计数器2的计数脉冲输入端2,1.1还可作定时器/计数器2的外部控制端t2ex。p2.0p2.7:p2口的8个引脚,p2口也是一个带内部上拉电阻的双向i/o口,在访问片外存储器或扩展i/o接口时,还用于提供高8位地址。p3.0p3.7:p3口的8个引脚,p3口也是一个带上拉电阻的i/o口,除可以作双向的输入输出口外,还具有第2功能。见表3-1表3-1 p3口第二功能表引脚第二功能p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7rxd(串行口输入)txd(串行口输出)int0(外部中断0输入)int1(外部中断1输入)t0(定时器0的外部中断)t1(定时器1的外部中断)wr(片外数据存储器写控制信号)rd(片外数据存储器读控制信号)控制线(4条):ale/prog:双功能引脚。由于p0口的8个引脚是低8位地址总线与数据总线分时复用,因此必须将p0口输出的低8位地址进行锁存。在访问片外存储器时,每机器周期该信号出现2次。其下降沿用于控制锁存p0口输出的低8 位地址。即使不访问片外存储器,该引脚上仍出现上述频率的周期性信号,因此也可作为对外输出的时钟脉冲,频率为振荡器频率的1/6,必须注意的是:在访问片内外存储器时,ale脉冲会跳空1个。对片内含有eprom的机型,此引脚在编程时可作为编程脉冲prog的输入端。 psen: 片外程序存储器读选通信号输出端,在cpu从片外程序存储器取指期间,此信号每个机器周期两次有效,以通过p0口读入指令,在访问片外数据存储器时,该信号不出现。ea/vpp: 双功能引脚,为片外程序存储器选用端。当该引脚信号有效时,选择片外程序存储器,即ea/vpp=1时,访问片内程序存储器。 对片内含有eprom的机型,此引脚在编程期间用于施加+21v的编程电压。rst/vpo: 双功能引脚,在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时可实现复位操作。 在vcc掉电期间,若该引脚接备用电源(+5v),可向片内ram供电,以保存片内ram中的信息。3.2 单片机系统设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统和典型应用系统等。(1)最小应用系统:能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常常构成一些简单的控制系统,如开关状态的输入/输出控制等。对于片内有rom/eprom/flash ram的单片机,构成最小应用系统时,只要将单片机接上时钟电路、复位电路和电源即可,如图3-2(a)所示。xtal1 p2.72.0xtal2 89s51 rst ale p0.70.0地址锁存epromxtal1 p0 p1xtal2 p2 p3rst 89s51 图3-2 89s51单片机最小应用系统由于集成度的限制,这种最小应用系统只能用作一些小型的控制单元。其应用特点是:有可供用户使用的大量i/o口线,p0、p1、p2、p3都可用作用户i/o口用。由于没有外部存储器扩展,应接高电平。内部存储器容量有限(只有4kb地址空间)。应用系统开发具有特殊性。由于这类应用系统应用程序量不大,外电路简单,因而采用模拟开发手段较好。对于片内无rom/eprom/flash ram的单片机,其最小系统除了外部配置时钟电路、复位电路和电源外,还应在片外扩展eprom、eeprom作为程序存储器用,如图3(b)所示,应接地。(2)最小功耗应用系统最小功耗应用系统是指为了保证正常运行,系统的功率消耗最小。这是单片机应用系统中的一个引人入目的构成方式。在单片机芯片结构设计时,一般为构成最小功耗应用系统提供了必要条件,例如,各种系列的单片机都有cmos工艺类型,而且在这类单片机中都设置了低功耗运行的wait和stop方式。设计最小功耗应用系统时,必须使系统内的所有器件、外设都有最小的功耗,而且能充分运用wait和stop方式运行。最小功耗应用系统常用在一些袖珍式智能仪表、野外工作仪表以及在无源网络、接口中的单片机工作子站。3.3 单片机的发展趋势今后单片机的发展趋势,将是进一步向着多功能、高性能、高速度、低功耗、低价格、存储容量扩大和增强i/o功能及结构兼容等方面发展。其发展趋势主要有以下几个方面: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. 低电压、低功耗 允许使用的电压范围越来越宽,一般在36v范围内工作,有的已能在1.2v或0.9v电压下工作。几乎所有的单片机都具有省电运行方式。单片机的功耗已从ma级降到a级,甚至1a以下,在一粒钮扣电池下就可长期工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。4. 低价格 单片机应用的另一显著特点是量大面广。促使世界各国公司在提高单片机性能的同时,也十分注意降低价格。如z-8系列的z8600、80c51系列的80c31每片仅售1-1.5美元。提高性能价格比是各公司竞争的主要策略和不懈追求的目标。第4章 系统软件设计利用数组将各数字字符的编码存放在寄存器中,在执行显示过程中从寄存器中将对应数字或字符编码的数组一一轮流调出即可实现动态。4.1数字的编码各个数字对应的编码如下:0x0c,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,/*0,0*/ /显示数字0/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/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/tho ,tlo装入初值开始4.3 程序流程图调用数组赋给p0cnta+cntb+tr0置1 启动t0tmod初始化tf0=1吗?有复位键按下?tf0=0nyycnta=8?nyncntb=57?y4.4 完整程序#include at89s51.hunsigned char code tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code digittab8=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*/0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/*|,0*/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*/0x10,0x10,0x10,0x10,0x12,0x12,0x0c,0x00,/*j,9*/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 th0=(65536-2000)/256; tl0=(65536-2000)%256; p1=0xff; /消除显示重影问题 p0=digittabcntbcnta; p1=(0x01cnta); 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板图 图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命令进行进行自动布线了,自动布线之后再进行手工的修改。3. 印制板的制作用转印纸打印出pcb图,将pcb图熨烫到电路板上,熨烫时要注意受热均匀完整,然后用三氯化铁溶液腐蚀电路板,为加快速度可以加少量热水和适当的进行晃动;用天那水把油墨洗干净,最后焊接元件。焊接前涂上酒精松香溶液,以便到时候焊接板子更容易和防止铜线被腐蚀。制作好电路板以后要仔细检查电路,看看有没有虚焊、漏焊、短路、断路等等常见问题,为以后的总体调试打好基础。5.2 keil c51 介绍及使用本设计中源程序程序的编写与调试是在keil c51集成环境uvision中进行的。keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面,界面友好,操作简单。另外重要的一点是只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(1)建立一个新的工程::单击“ptoject”菜单,在弹出的下拉菜单中选择“new project”选项。然后选择你要保存的路径,输入工程的名字然后点击保存。这时会弹出一个对话框,要求你选择单片机的型号,根据你所用的单片机来选择,keil c51几乎支持所有的51内核的单片机,在本设计中选择的是at89s51。(2)编写程序:单击“file”菜单,在下拉菜单中选择“new”,这时编辑窗口会出现一个text1窗口,光标在该窗口中闪烁,首先保存该空白文档,单击菜单上的“file”, 在弹出的下拉菜单中选择“save as”选项,在出现的对话框中键入欲使用的文件名并同时键入正确的后缀名(本设计中为.asm),然后保存。回到编辑界面后,单击“target 1”前面的“+”,然后在“source group 1”上单击右键,在弹出菜单中选择“add files to group source group 1”,选中设计所需要的源程序文件,然后单击“add”,这时注意到“source group 1”文件夹中多了若干个子项,子项的多少跟所增加的源程序的多少相同。这时就可以键入应用程序了。keil c51 会自动识别关键字,并以不同的颜色提醒用户加以注意,这样会使用户少犯错误,有利于提高编程效率。(3) 编译并生成hex文件:程序编写完成以后,单击“ptoject”菜单,在下拉菜单中选择“built target”选项,或者使用快捷键f7。编译成功后右击“target 1”在弹出菜单中选择“options for target target 1”,在弹出的对话框中选择“output”选项中的“creat hex file”选项使程序编译后产生hex代码,供下载器软件使用。5.3 烧录器的使用本设计中程序是用easy 51pro编程器烧写的。easy 51pro编程器是一款操作简单、容易自制、容易扩充、非常稳定、灵活的isp编程器。它支持hex文件,有重载的文件对话框,让你不必到处去找文件而且有热键支持,让我们调试程序时效率更高。接好编程器的硬件电路后,在最上方选择你要编程的器件后点击“检测器件”,如果检测到了器件,左边的状态栏就会显示“检测到器件”并显示该器件的rom与编程电压的大小特性。检测到器件以后单击“操作”中的“自动打开文件”选项,在弹出的对话框中打开要烧录的程序的hex文件,然后单击“自动完成”选项,烧写完毕后如果显示“0个单元不对”就说明程序烧写成功了。当然在烧录过程中会碰到一些问题,比如检测器件时,时有时无,这是下载线不稳定的表现,如果不能检测到器件,但是却可以正常读写,并且效验无误,这个就是单片机的问题了,可能单片机已经坏了,如果写器件时总是写到某个地址就停顿,然后报告失败;或者可以顺利写完,但效验时显示有单元不正确,最可能的原因是电源不稳定,电缆太长,线路没焊好,器件质量问题等,也可能与电脑性能有关,特别是开启了很多程序的时候。当遇到问题的时候就要根据这些来判断问题的根源并想办法解决,这样程序烧写就没有问题了。第6章 结束语本文详细介绍了基于单片机控制的8*8led点阵显示字形的设计,其基本思路比较简单,文中分别介绍了其系统硬件的设计和软件程序的设计。通过自身的努力,本次设计算是圆满成功,但是限于时间和条件方面的限制,还存在一些不足之处,有待进一步完善。本次设计经近一周,在老师同学的指导下,我查阅了许多相关资料,综合运用了大学中所学相关知识,基本上完成了点阵显示字形的设计。在此之间,也遇到了许多难题,通过自学、请教老师、请教同学、耐心思考、上网查询等方式,终于解决了一个又一个难题,完成了设计。此过程中,我受益颇丰。参考文献 :1刘瑞新主编、单片机原理及应用教程,北京:机械工业出版社,2006.72.徐士良编著、c语言程序设计教程,北京:人民邮电出版社,2003年8月第二版3.陈明义主编、电子技术课程设计实用教程s 2002年05第1版.4高鹏主编、protel实用教程s 1999年第1版.5陆坤等、 电子设计技术. s 成都:电子科技大学出版社,19976. 彭介华主编 蔡明生等编,电子技术课程设计指导,索书号:tn/53 出版日期:1997年10月第1版.7及力主编、protel 99 se原理图与pcb设计教程,北京:电子工业出版社,2004.1附录一:原理图附录二:pcb图include#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code tabp0=0x00,0x00,0x7c,0x82,0x82,0x82,0x7c,0x00, 0x00,0x00,0x00,0x00,0x84,0xfe,0x80,0x00, 0x00,0x00,0xe4,0xa2,0xa2,0xa2,0x9c,0x00, 0x00,0x00,0x44,0x92,0x92,0x92,0x6c,0x00, 0x00,0x00,0x30,0x28,0x24,0xfe,0x20,0x00, 0x00,0x00,0x5e,0x92,0x92,0x92,0x62,0x00, 0x00,0x00,0x7c,0x92,0x92,0x92,0x64,0x00, 0x00,0x00,0x02,0x02,0x02,0xf2,0x0e,0x00, 0x00,0x00,0x6c,0x92,0x92,0x92,0x6c,0x00, 0x00,0x00,0x4c,0x92,0x92,0x92,0x6c,0x00;unsigned char code tabp2=0xfe,0xfd,0x0fb,0xf7,0xef,0x0df,0xbf,0x7f;unsigned char code tabp0s=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;unsigned char code tabp2s=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x97,0x51,0x17,0xef,0x01,0xef,0xef,0xff,0xff,0xff,0xef,0xff,0x07,0xf7,0xf7,0xf7,0xfb,0xfd,0xff,0xff,0xff, 0xef,0xef,0x01,0xef,0xd7,0xbb,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;unsigned char code tabp0z=

温馨提示

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

评论

0/150

提交评论