点阵显示汉字 测控专业毕业论文.doc
西安邮电学院测控仪器课程设计报告书题目:点阵显示汉字院部名称:自动化学院学生姓名: 专业名称:测控技术与仪器班 级:测控0802班时间:2011年5月23日至6月 5日 Led点阵显示汉字的设计一、设计目的 通过本次课程设计让我们学习单片机,运用C语言编写程序对单片机下层接口进行控制。并且通过自行设计硬件电路,并焊接点阵显示汉字的系统。熟悉单片机与各种片子之间的协同工作,并熟悉它们的各个引脚的功能和应用方法。二、设计要求设计一个由4片8*8点阵组合成的16*16点阵的图文LED显示屏,要求能显示图文或文字,显示图文或文字应稳定、清晰,图文或文字显示,以卷帘形式向上滚动显示“西安邮电大学”,要求是循环显示的。三、设计器材AT89C51(单片机)1片RP1(排阻)1片74LS1382片MATRIX-8*8-GREEN(8*8点阵显示器)4块33PF电容2个47uf电解电容5个MAX2321个STC_ISP_V4.80 下载软件1个9针串口公头1个串口下载线1根弹性按键2个开关1个发光二极管2个单排插针3排杜邦线30根单排插座2排四、设计方案及分析(包含设计电路图)(1)LED的8*8点阵LED的8*8点阵显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。本设计是基于ATS52单片机的16x16显示屏,其中包含了硬件电路设计并焊接、软件程序编写、调试电路等方案的设计。在使用的8*8点阵中,行标是二极管的正极,列标是二极管的负极,所以只要正极的电压比负极的电压大,就能够通过电流点亮点阵。 图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中1616的点阵共有256个发光二极管,显然单片机没有这么多的端口来单独控制。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套驱动器。具体就1616的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据,然后进行列的扫描,通过列产生的低电平进行扫描点亮二极管,最后熄灭。以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快,由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形或是汉字了。8*8点阵 引脚图如下:焊接和连线的时候一定要看好管脚和Proteus isis仿真软件中的管脚是不同的。(2)单片机系统及其管脚本实验采用内部时钟方式,将XTAL1与XTAL2之间跨接一个石英晶振和微调电容,从而构成一个稳定的自激震荡器。电容值取33pF左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。 另一部分是复位部分。上电自动复位电路是最简单的复位电路,只需要一个1K左右电阻、一个30pF左右的电容及12MHZ的晶振。有时还需要按键手动复位,此时只要在电容上并联一个按键即可。单片机信号输出采用串行输出,因此在下一模块的移位寄存器要与该部分的串行口P3.0(RXD)及P3.1(TXD)相连连线如图,下一幅图是单片机的引脚图(3)方案对比与选取方案一: 该方案以AT89C52单片机作为微处理器,74LS138作为对点阵扫描芯片。以下为此方案的整体设计电路图。74LS138作为列驱动部分列驱动部分用74LS138控制,74LS138引脚图和功能如下同样要控制列需要用到两片138,因为一片138不能控制16位,一片138只能控制000111,就是8位,当给它000的时候及会输出01111111,使能端接单片机的P3.4和P3.5端口,控制和行对应的8位。硬件设计电路部分截图:点阵连接设计图: 74LS138与单片机连接图:点阵与单片机连接图:功能实现与描述: 该方案的实现是利用74LS138译码器作为点阵的列驱动来完成。由以上部分电路图中可以得知,单片机的P0与P2口为点阵行输出的控制端,有这16个引脚对点阵16个行进行一一对应进行驱动。 点阵的列驱动根据74LS138的真值表进行逐列扫描,每变化一次输入端000111,其输出端就由Y0Y7相应取非。 点阵行驱动由P0与P2输出对应行代码,进行选通,当列驱动扫描过程中,就可以在每一个点的两端形成压差,从而点亮点阵显示汉字或图案。方案一程序编写部分#include <reg51.h>#define uint unsigned int #define uchar unsigned char#define ulong int unsigned long intsbit Row = P36;sbit Row1 = P37;/*以下三个是38译码器的输入变量*/sbit A1 = P10;sbit B1 = P11;sbit C1 = P12;/*以下两个是38译码器的使能端,EN1是第一块138的使能,EN2是第二块。*/sbit EN1 = P34;sbit EN2 = P35; unsigned long code table=0x00,0x00,0x04,0x00,0xFE,0xFF,0x40,0x04,0x40,0x04,0x44,0x04,0xFE,0x7F,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x34,0x48,0x04,0x50,0x04,0x40,0xFC,0x7F,0x04,0x40, /西 0x00,0x00,/空0x00,0x02,0x00,0x01,0xFE,0x7F,0x02,0x40,0x04,0x82,0x00,0x02,0x04,0x02,0xFE,0xFF,0x20,0x04,0x20,0x08,0x20,0x18,0x40,0x06,0x80,0x01,0x40,0x02,0x30,0x0C,0x10,0x30, /安0x00,0x00,/空0x00,0x08,0x00,0x08,0x7C,0x09,0xC4,0x7F,0x48,0x49,0x48,0x49,0x50,0x49,0x48,0x49,0x44,0x7F,0x42,0x49,0x42,0x49,0x62,0x49,0x54,0x49,0x48,0x7F,0x40,0x41,0x40,0x00, /邮0x00,0x00,/空0x00,0x02,0x00,0x02,0x10,0x02,0xF8,0x7F,0x10,0x42,0x10,0x42,0xF0,0x7F,0x10,0x42,0x10,0x42,0xF0,0x7F,0x10,0x42,0x00,0x02,0x04,0x02,0x04,0x02,0xFC,0x01,0x00,0x00, /电0x00,0x00,/空0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x01,0xFE,0xFF,0x00,0x01,0x80,0x02,0x80,0x02,0x40,0x02,0x40,0x04,0x20,0x04,0x10,0x08,0x0E,0x10,0x04,0x60,0x00,0x00,/大0x00,0x00,/空0x08,0x22,0x08,0x11,0x10,0x11,0x20,0x00,0xFE,0x7F,0x02,0x40,0x04,0x80,0xE0,0x1F,0x40,0x00,0x84,0x01,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02, /学 0x00,0x00,/空0x80,0x00,0x80,0x00,0x80,0xFC,0xFC,0x04,0x04,0x45,0x48,0x46,0x40,0x28,0x40,0x28,0x40,0x10,0x40,0x28,0xA0,0x24,0xA0,0x44,0x10,0x81,0x08,0x01,0x0E,0x02,0x04,0x0C, /欢0x00,0x00,/空0x00,0x00,0x84,0x41,0x7E,0x26,0x44,0x14,0x44,0x04,0x44,0x04,0x44,0xF4,0xC4,0x14,0x44,0x15,0x54,0x16,0x48,0x14,0x40,0x10,0x40,0x10,0x46,0x28,0xFC,0x47,0x00,0x00, /迎0x00,0x00,/空0x00,0x09,0x00,0x09,0xFC,0x13,0x04,0x12,0x48,0x34,0x40,0x59,0x50,0x91,0x4C,0x12,0x44,0x14,0x40,0x11,0x80,0x10,0x00,0x02,0x84,0x51,0x92,0x50,0x12,0x90,0xF0,0x0F, /您0x00,0x00,/空0x00,0x00,0x80,0x01,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0x80,0x01,0x80,0x01,0x80,0x01,0x00,0x00,0x80,0x01,0xC0,0x03,0x80,0x01,0x00,0x00,0x00,0x00, / ! 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x00,0x00,0x00,;uint i,shu,change,add; void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=20;y>0;y-);void main() P0 = 0;P2 = 0;P3 = 0;while(1) EN1 = 1; EN2 = 0; for(i = 0;i < 16; i+) P1 =i/2; P0 = 0; P2 = 0; delay(1);P2 = tablei+add;delay(1);if(EN1 = 1) EN1=0;EN2 =1;else EN1=1;EN2=0; EN1 = 1; EN2 = 0; for(i = 0;i < 16; i+) P1 =i/2; P2 = 0; P0 = 0; delay(1);P0 = tableadd+16+i;delay(1);if(EN1 = 1) EN1=0;EN2 =1; else EN1=1;EN2=0; change+; if(change=10) change=0;/ shu=0; add+=2; if(add>350) add=0; 方案二:该方案使用74LS138译码器作为列扫描驱动,HCF4094位移位存储总线寄存器作为行驱动。以下为该方案整体电路设计图:74LS138作为列驱动部分列驱动部分用74LS138控制,74LS138引脚图和功能如下同样要控制列需要用到两片138,因为一片138不能控制16位,一片138只能控制000111,就是8位,当给它000的时候及会输出01111111,使能端接单片机的P3.4和P3.5端口,控制和行对应的8位。硬件设计电路部分截图:74LS138与单片机连接图: 点阵链接图:点阵与单片机和4094总线寄存器的连接图: 功能实现与描述:延续方案一中继续使用74LS138进行列驱动,行驱动使用了4094移位总线寄存器来控制。通过单片机IO口进行对4094芯片的CLK,STB,OE,D等端口相应控制,再进行两片4094芯片的级联,从而实现对点阵行驱动的实现。138译码器不停的进行列驱动扫描,行驱动由4094的D数据端串行输入数据,并行从输出端输出。在这里实现了两片HCF4094的级联,则第一片HCF4094的Qs端连接着第二片HCF4094的D端,从而实现了数据信息的传递。每个16进制代码都在us级别时间内传递到点阵上,由于传递停顿时间很短,将会对人眼睛产生余辉暂留效应,实现了动态点阵信息扫描。仿真实现的电路设计演示图:五、问题分析与解决方法方案一: 问题1:我们在第一次焊接时由于以前未焊过单片机,将51芯片焊的过于靠近边缘总线,导致晶振无处可焊。解决方法:我们将晶振焊在了51底座的下边,并且在焊好后第一次应用时,晶振起振良好。问题 2: 当我们在焊接完电路的时候,我们下载完程序后,仿真的是对的,我们实体运行的时候出现了不能正确显示“西安邮电大学欢迎您!”,这几个点阵汉字,出现的是乱码, 汉字的笔画还是能够看清,只是出现不规律。第一次,我们怀疑程序出来问题,我们改了程序并不断通过我们的仿真软件去测试软件修改后是否正确。一次次的我们的仿真都是正确的,但是实物展示却是错误的。解决方法:我们遇到难题了,4个8*8组合成一个16*16点阵的焊接电路很复杂,小面积的焊接电路问题很多,我们怀疑这部分出现了焊接错误。于是拿来万用表进行没个行、列引脚进行检测。令我们困惑的是,很细心的检查以后还是没发现连线错误。重新安装点阵并测试显示,更大的麻烦来了!不知哪个地方出了问题,74HC573芯片被击穿了,VCC和GND击穿了,电路不工作了。这个打击很大,一时间眼看后天(星期四)就要验收,今晚(星期二)马上就过去了,现在烧了芯片,电路还存在问题,恐怕第二天焊接电路来不及了。并且51芯片周围电路焊接复杂,在外的线头较多,不安全,于是我们决定将51移至其它板子。在这十分紧张的时刻,吕海斌同学冷静的思考了问题,提出了几个补救方法。方法1:没有了74HC573芯片,也不向老师要了,为了省时间,我们可以不要74HC573来驱动,直接驱动,对电路进行部分改动。方法2:换用4094芯片进行串入并出的方式,修改电路设计。方法3:在没有检查是问题是什么之前,耗时间太多不行,争取分秒只能马上焊接新的电路板,但是元器件不够了。 经过大家半个小时的思考和讨论,最终决定选用方案一。很快,完成了新电路的改造和焊接完成,现在电路问题解决了,剩下的就是针对这时候的电路设计来编写相应的控制程序了。问题3 :针对方案一进行程序修改以后,发现新问题了。问题就是,点阵显示的过程中,有半屏显示出来的结果很让人怀疑是不是其中一片74LS138没有工作,或是烧坏了。 解决办法:这时候,修改程序,用单片机直接对74LS138控制输入和输出。 根据74LS138的特性,输入从000111变化,输出逐位为0。用万能表直接对所控制的检查是否为高低电平。例如:令输入为001,则输出的2号引脚肯定输出为低电平(小于0.2V)。实际检查后,发现的确是我们想要的结果,从而排除了74LS138不工作的可能性。问题4 : 因为问题3已经检查出来,可还是不能够好好显示点阵信息啊。 这一次,我们怀疑是程序运行方式和硬件的连线扫描方式不一样,导致每次读取信息都会发生顺序错误。解决办法:编写程序对点阵进行控制。给我们人为的定一个行、列标准。我们运行的程序必须按我们的行列标准进行工作。于是,通过程序控制74LS138进行某列选中,行线就人为的调动,观察亮灯的情况。最后我们发现问题所在了,原来仿真情况下即使标了行和列电气连接,实际中也不能一一对应上。 现在硬件已经定型,程序上得想办法进行改变。我们花了一些时间对硬件电路去编写程序,弄清楚扫描板块的顺序,一步步来,先对某个字模进行程序运行,我们成功了!硬件电路上实现了第一个“西” 字的显示成功,接下来修改程序代码,实现了所有汉字的循环移位显示。方案二: 方案二无论从硬件设计电路还是编程序的思想上,都沿用了方案一的思想。这为我们方案二的实现奠定了基础。 方案二中我们遇到的第一个困难是:如何看懂HCF4094英文资料的功能表。我们从对芯片资料最初理解来一步一步编程序模拟实现,用发光二极管来测验。输出二极管显示不是我们想要的值,则我们理解资料功能表错误。第一天弄到很晚,也仅仅是弄明白芯片的一个锁存功能而已,知道我们该用程序去控制它。在解决这个难题过程中,一改最初我们用单片机定时器产生Clock来控制芯片不停产生PWM波,明白一点:在适合时候IO口直接控制Clock的高低即可产生不同的跳变沿。 遇到的第二个难题是:想要让两个HCF4094实现级联,但无从下手。在这时候,我们知道我们第一天并没有搞明白芯片资料内容。于是不断的通过自己理解的想法,来编写程序,看芯片输出的结果来判断理解对错与否。忙了很久才弄明白了Qs端可以用来对下一片HCF409的输入端产生级联。这回,我们理解了原来HCF4094级联以后,输出值传递能够一直传递到最后一片HCF4094并输出到该芯片控制的点阵列中去。这时候产生了一个疑问,当扫描很快的时候,真的会显示出我们想要的汉字显示结果吗?这种感觉不如方案一认同感强烈。这时,我们抱着试一试的心态,写程序再说。 遇到的第三个难题是:我们如何让输出的结果暂停住,能够对输出结果进行观察并检验。毕竟最终点阵显示需要让人眼分辨出来。这一个难题困了我们好久一个日夜,已经是第三天下午了,大家都有些灰心了。渐渐的,我们发现了一个细节,就是锁存时间过短了,在Clock过了以后,代码已经有效,可是测试结果没有让我们观察到。可是结果似乎给我们开玩笑,测试一个数组,总是在最后一两个就发生顺序的变化,错了!但是我们看到一点儿希望,就是我们检查数组输出的前部分结果都是正确的,这时候问题一定在程序里面。一定出在最后变量归零(按程序走,要返回到数组第二个元素,读程序即可明白)。再次拿出纸和笔进行变量跟踪,经过两次变量跟踪我们发现错误了,经过程序修改并在LED灯上进行程序跟踪,我们成功了!实现了数据传递并正确显示输出。只剩下最后一步了,就是连接点阵电路图和下载程序。当然,这后面我们也没有遇到麻烦和困难了,因为连接点阵的麻烦和困难在方案一时候已经遇到了解决了。 方案对比:从节省资源角度看,方案二比方案一要好。 理由1: 方案二使用了HCF4094进行串入并出控制点阵,输入端只需要一根数据线,一个微控制器的IO口。方案一实现一样的功能却需要16个微控制器的IO引脚,在芯片功能的使用利用率上来看,方案二要比方案一节省资源更加实现低碳理念。 理由2: 方案二使用了HCF4094以后,实现串入并出大大节省了微控制器IO口的使用,这就为了在此系统中进行对扩展功能的实现带来了极大的便利,无需过多的布置微控制器系统而使得系统复杂程度上升,也降低了系统的不稳定性等负面因素。 最终决定,方案二比方案一更理想,更适合在现实中使用!方案二程序编写: #include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit Clock = P21;sbit Data = P20;sbit Hold =P30;sbit Stop =P31;/sbit Stop2 =P24;sbit a = P10;sbit b = P11;sbit c = P12;sbit E1 = P36;sbit E2 = P37;/程序扫描顺序遵从"邮"字代码顺序读取并显示uchar code temp = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/空0x00,0x01,0x00,0x01,0x04,0x01,0xFE,0x7F,0x04,0x41,0x04,0x41,0x04,0x41,0x04,0x41,0xFC,0x7F,0x04,0x41,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,/中0x04,0x00,0xFE,0x7F,0x24,0x40,0xF4,0x5F,0x04,0x41,0x04,0x41,0x44,0x41,0xE4,0x4F,0x04,0x41,0x44,0x41,0x24,0x41,0x04,0x41,0xF4,0x5F,0x04,0x40,0xFC,0x7F,0x04,0x40, /国 0x00,0x00,0x04,0x00, 0xFE,0xFF,0x40,0x04, 0x40,0x04,0x44,0x04, 0xFE,0x7F,0x44,0x44, 0x44,0x44,0x44,0x44, 0x44,0x44,0x34,0x48, 0x04,0x50,0x04,0x40, 0xFC,0x7F,0x04,0x40,/西0x00,0x00,/空0x00,0x02,0x00,0x01,0xFE,0x7F,0x02,0x40,0x04,0x82,0x00,0x02,0x04,0x02,0xFE,0xFF,0x20,0x04,0x20,0x08,0x20,0x18,0x40,0x06,0x80,0x01,0x40,0x02,0x30,0x0C,0x10,0x30, /安0x00,0x00,/空待添加的隐藏文字内容10x00,0x08,0x00,0x08,0x7C,0x09,0xC4,0x7F,0x48,0x49,0x48,0x49,0x50,0x49,0x48,0x49,0x44,0x7F,0x42,0x49,0x42,0x49,0x62,0x49,0x54,0x49,0x48,0x7F,0x40,0x41,0x40,0x00, /邮0x00,0x00,/空0x00,0x02,0x00,0x02,0x10,0x02,0xF8,0x7F,0x10,0x42,0x10,0x42,0xF0,0x7F,0x10,0x42,0x10,0x42,0xF0,0x7F,0x10,0x42,0x00,0x02,0x04,0x02,0x04,0x02,0xFC,0x01,0x00,0x00,/电0x00,0x00,/空0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x01,0xFE,0xFF,0x00,0x01,0x80,0x02,0x80,0x02,0x40,0x02,0x40,0x04,0x20,0x04,0x10,0x08,0x0E,0x10,0x04,0x60,0x00,0x00,/大0x00,0x00,/空0x08,0x22,0x08,0x11,0x10,0x11,0x20,0x00,0xFE,0x7F,0x02,0x40,0x04,0x80,0xE0,0x1F,0x40,0x00,0x84,0x01,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,/学0x00,0x00,/空0x80,0x00,0x80,0x00,0x80,0xFC,0xFC,0x04,0x04,0x45,0x48,0x46,0x40,0x28,0x40,0x28,0x40,0x10,0x40,0x28,0xA0,0x24,0xA0,0x44,0x10,0x81,0x08,0x01,0x0E,0x02,0x04,0x0C,/欢0x00,0x00,/空0x00,0x00,0x84,0x41,0x7E,0x26,0x44,0x14,0x44,0x04,0x44,0x04,0x44,0xF4,0xC4,0x14,0x44,0x15,0x54,0x16,0x48,0x14,0x40,0x10,0x40,0x10,0x46,0x28,0xFC,0x47,0x00,0x00,/迎0x00,0x00,/空0x00,0x09,0x00,0x09,0xFC,0x13,0x04,0x12,0x48,0x34,0x40,0x59,0x50,0x91,0x4C,0x12,0x44,0x14,0x40,0x11,0x80,0x10,0x00,0x02,0x84,0x51,0x92,0x50,0x12,0x90,0xF0,0x0F,/您0x00,0x00,/空0x00,0x00,0x80,0x01,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0x80,0x01,0x80,0x01,0x80,0x01,0x00,0x00,0x80,0x01,0xC0,0x03,0x80,0x01,0x00,0x00,0x00,0x00,/!0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;void delay(uint t) uint i,j;for(j=t;j>0;j-) for(i=5;i>0;i-);void main(void)uchar i,CF,Xian,col,change;uint signal=0,shu=0;Stop=0;E1=1;E2=0;dofor(change=0;change<6;change+)for(col=0;col<16;)P1=col/2;Xian = tempsignal+shu;for(i =0;i<8;i+) Clock= 0;CF = Xian%2;if(CF=0)Data = 0;elseData = 1;Clock = 1;Xian/=2;if(signal/2<8)signal+=16; elsesignal-=14; if(signal/2>=8)Stop=0;Hold=1;ElseStop=1;Hold=0;delay(20);col+;if(col=16)Stop=1;delay(20);break;if(signal=16)signal=1;if(signal=17)signal=0;E2=E1; E1=E1;shu+=2;if(shu>420)shu=0; while(1);六、设计结果 下面是仿真的结果截图下面是实物图:单片机最小系统:点阵显示汉字模块:MAX232 串口下载模块:七、设计心得组员吕海斌(06082042):在本次实验中,我学到即不仅仅是有关仿真、电路布局、焊板子、编程序、检查电路、软硬件联调等等多方面的知识。还学到了其他一些为人做事方面的道理,有以下几方面:² 我学会了应用keil软件进行C语言的编程以及用它与proteus 7 进行联调仿真。² 学回了51单片机片机进行电路布局一些基本注意点,以及电路布局连线的一些注意事项,如:可以两面布线,减少布线复杂度。两点之间怎样连线可以使电路既美观又实用。² 学回了联调中,充分运用程序和各种硬件电路,使电路的连接显示更美观。并且只有软硬件进行联调才能发现具体硬件的运行过程,我们在进行仿真后就照仿真进行连接电路,结果问题却越练越多,什么问题呢,仿真重视的是怎样方便仿真软件的各个器件引脚之间的连接,怎样是仿真电路看起来美观有时不惜改变引脚位置,这样给真正电路连接带来了巨大麻烦,照仿真连最有可能错了,因此要清楚各器件功能,总体实现什么功能后,充分利用板子,器件之间关系进行总体规划之后再进行连线,才能保证不错。而软硬件的联调,则是具体深化各部分关系的关键。² 编程心得是,程序就是处理过程,只有你自己清楚明白,整个过