1、洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 单片机原理与应用 设计题目 基于 STC89C52 单片机的实验平台开发设计专 业 计算机科学与技术 班 级 B110503 学 号 B11050322 姓 名 郭鹏鸽 完成日期 2013 年 6 月 20 日 课 程 设 计 任 务 书设计题目: 基于 STC89C52 单片机的实验平台开发设计 设计内容与要求:一、设计内容利用 STC 系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:1. 电路原理图设计,主要包括集 LCD 显示模块、串口通信模块、数码管显示模块、LED 发光二极管、键盘等接口电路的设计
2、;2. 学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;3. 在 Keil C 环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD 字符显示、键盘的控制等功能程序设计;4. 针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。二、设计要求1. 完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;2. 独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;3. 结合 Keil C 软件在焊接无误的单片机实验平台上开发出流水灯、LCD 显示模块,通信模块等程序设计;4. 按照
3、要求撰写课程设计论文。指导教师: 舒云星、李传锋2013 年 5 月 30 日课 程 设 计 评 语成绩: 指导教师:_年 月 日I基于 STC89C52 单片机的实验平台开发设计摘 要近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机即单片微型计算机。 (Single-Chip Microcomputer ),是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
4、它体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。本次基于 51 系列单片机实验平台开发课程设计,是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。实验主要包括,以 STC89C52RC 单片机作为核心板,实现电路原理图设计, LCD 显示模块、串口通信模块、数码管显示模块、LED 流水灯、按键操作等电路的设计、焊接与仿真。编程软件采用 keil 4 及 proteus 7.8 仿真软件进行仿真。关键词: STC 单
5、片机,实验平台,数码管,流水灯,串口通信IIBased on the STC89C52 single-chip microcomputer experimental platform development and designABSTRACTIn recent years, with the rapid development of electronic technology and microcomputer, increasing the grade of the single chip, its application field has been expanded, has been
6、 in the industrial control, advanced science, intelligent instruments and meters, daily household appliances, automobile electronic systems, office automation equipment, information terminal, and has been widely used in communications products, become the most important intelligent modern electronic
7、 system at the core of the parts.SCM the single chip microcomputer. (Single - Chip Microcomputer), is a set of CPU, RAM, ROM, timing, count and various interface, which integrates the micro controller. It has small volume, low cost, the function is strong, widely used in industrial automation and in
8、telligent products.Based on the 51 series single-chip microcomputer experimental platform development curriculum design, is based on single-chip computer courses, we have studied a course according to the outline requirements for our inspection, is the need for training course tasks, also master mic
9、rocontroller application has a great help to us. Master microcontroller technology is a indispensable technology, for our future work and life and learning are very closely linked. Experiments mainly include, with STC89C52RC single-chip microcomputer as the core board, realize the circuit principle
10、diagram design, LCD display module, serial communication module, digital tube display module, LED running lights, buttons operation such as circuit design, welding and simulation. Programming software adopts keil 4 and 7.8 simulation software simulation proteus.KEYWORDS: STC microcontroller, compreh
11、ensive experimental board, software and hardware combined with, and the program development designIII目 录摘 要 .I目 录 III前 言 1第 1 章 系统概述 .21.1 设计题目 .21.2 系统设计目的和内容 .21.2.1 设计目的 21.2.2 设计内容 21.2.3 设计要求 21.2.4 设计步骤 2第 2 章 整体设计方案 .32.1 开发板整体外观 .32.2 整板电路 PROTUES 仿真电路 .42.3 软件功能描述 .42.4 仿真软件 PROTUES 中的效果图 .
12、4第 3 章 硬件电路设计 .93.1 两位一体共阴数码管 .93.1.1 数码管概述 93.1.2 数码管内部结构 103.1.3 两位一体共阴数码管和 74LS374 锁存器接口电路 .103.2 LCD1602 液晶 103.2.1 LCD1602 液晶简介 .113.2.2 LCD1602 液晶引脚介绍 .113.2.3 LCD1602 液晶外围接口电路 .123.3 串口通信 123.3.1 串口通讯概述 123.3.2 MAX232 接口电路 13第 4 章 软件设计 .144.1 程序整体流程图 .144.2 程序清单 .14第 5 章 调试及故障分析 .225.1 焊接准备阶段
13、元器件测试、电路原理图故障分析 225.2 电路焊接过程中的故障分析 235.3 程序编写过程中的故障分析 235.4 实物演示效果 24结论 30谢辞 31参考文献 32附 录 331前 言单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit) ,单片机芯片常用英文字母的缩写 MCU 表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利
14、条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有 CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。Intel 的 Z80 是最早按照这种思想设计出的处理器,当时的单片机都是 8 位或4 位的。其中最成功的是 Intel 的 8031,此后在 8031 上发展出了 MCS51 系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管 2000 年以后 ARM 已经发展出了 32 位的主频
15、超过 300M 的高端单片机,直到目前基于 8031 的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有 1-2部单片机。 汽车上一般配备 40 多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过 PC 机和其他计算的总和,甚至比人类的数量还要多。2第 1 章 系统概述1.1
16、设计题目基于 51 系列单片机的实验平台开发设计1.2 系统设计目的和内容1.2.1 设计目的 通过本次课程设计,学生学会通过进行查阅资料、方案设计、焊接,提高学生的查阅 、动手能力、独立设计能力、分析问题并解决问题等。增加学生对单片机的兴趣。1.2.2 设计内容利用 STC 系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:电路原理图设计,主要包括集 LCD 显示模块、串口通信模块、数码管显示模块、LED 发光二极管、键盘等接口电路的设计;学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;在 Keil C 环境下,进行软件设计。主要包括流
17、水灯、计数器、定时器、LCD 字符显示、键盘的控制等功能程序设计;针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。1.2.3 设计要求1. 完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;2. 独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;3. 结合 Keil C 软件在焊接无误的单片机实验平台上开发出流水灯、LCD 显示模块,通信模块等程序设计;4. 按照要求撰写课程设计论文。1.2.4 设计步骤(1)首先预习老师邮箱所发的电路设计原理图,了解各个模块的具体功能,掌握各种元器件的识别方法、
18、封装和功能。 (2)然后进行实物焊接,李老师将各种元器件已经提前发给了大家,告知了一些注意事项后,就是在李老师和舒主任的指导下,开始进行焊接,电路板是已经设计好的 PCB 板,只需照着将各元器件插入焊牢固即可。(3)焊接好后,用万用表对焊好的电路板进行测量,检测电路是否有短路或虚焊,并且通过舒主任的检查。(4)最后就是程序设计,要根据电路,进行程序设计,用模块化编程将会更加3方便、清晰、可读。(5)下载验证,将编写好的程序生产的 hex 文件下载到 proteus 仿真电路进行验证,能正常实现功能后再将文件下载到开发板中进行仿真测试。(6)答辩,各组的同学要带上本组焊接的电路板,到老师的办公室
19、进行答辩,大家要根据自己设计的程序回答老师提出的问题,并当场在电路板上进行验证。(7)书写课程设计报告,总结本次课程设计的收获与以及问题,从中吸取经验,为以后的学习强化自己基础理论知识以及实践能力。第 2 章 整体设计方案开发板整体外观图 2-1 开发板整体外观42.2 整板电路 PROTUES 仿真电路图 2-2 仿真电路图2.3 软件功能描述Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机 及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片
20、机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具( 仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。它是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil
21、 和 MPLAB 等多种编译2.4 仿真软件 PROTUES 中的效果图1. 流水灯模块:5图 2-3 流水灯(一个亮)图 2-4 流水灯(一个亮)6图 2-5 流水灯(两个亮)2. 秒表计时模块:图 2-6 099 秒自动计时7图 2-7 099 秒自动计时3. 液晶电子时钟显示模块:图 2-8 液晶电子时钟显示8图 2-9 液晶电子时钟显示4. 按键计数显示模块:图 2-10 按键计数显示9图 2-11 按键计数显示第 3 章 硬件电路设计3.1 两位一体共阴数码管数码管概述LED(Light Emitting Diode)数码管是由发光二极管构成的。常见的 LED 数码管为“8 ”字型的
22、,共计 8 段。每一段对应一个发光二极管。有共阳极和共阴极两种,如图 8-1 所示。共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管发光。同样,共阳极发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管发光,显示相应的段。LED 数码管中还有一个圆点型发光二极管(在图中以 dp 表示) ,用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示各种数字。图 3-1 共阴极数码管结构图103.1.2 数码管内部结构如图 1-12 为共阴极数码管结构图,下表 1-1 为其显示字模。表 3-1 共阴极数码管字模显示 0 1 2 3
23、 4 5 6 7 8 9字模 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f11图 3-2 数码管内部结构3.1.3 两位一体共阴数码管和 74LS374 锁存器接口电路图 3-3 数码管与锁存器接口3.2 LCD1602 液晶图 3-4 1602 液晶模块图123.2.1 LCD1602 液晶简介LCD1602 是工业字符型液晶,能够同时显示 16x02 即 32 个字符。 (16 列 2 行) 。1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个 5X7 或者 5X11 等点阵字符
24、位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好) 。1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)3.2.2 LCD1602 液晶引脚介绍图 3-5 1602 液晶模块显示容量:162 个字符;工作电流 2.0mA(5.0V);字符尺寸:2.954.35mm。RT-1602C 采用标准的 16 脚接口,各引脚情况如下:第 1 脚:VSS 为电源地;第 2 脚:VDD 为+5V 电源;第 3 脚:V
25、L 为液晶显示对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时,会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度。第 4 脚:RS 为数据/命令选择端,高电平时选择数据寄存器、低电平时选择命令寄存器。RS:Register Selection第 5 脚: ,读写操作选择(1读,0写) 。/RW表 3-2 操作功能表/RWRS 寄存器及操作0 0 指令寄存器写入0 1忙信号和地址计数器读出131 0 数据寄存器写入1 1 数据寄存器读出第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时(负跳变) ,液晶模块执行命令。第 714 脚:D0D7,为 8 位
26、双向数据总线,与单片机的数据总线相连,三态。第 15 脚:BLA,背光电源,通常为5V,并联一个电位器,调节背光亮度。第 16 脚:BLK,背光电源地。3.2.3 LCD1602 液晶外围接口电路 图 3-6 液晶外围电路3.3 串口通信3.3.1 串口通讯概述串行通信是一种能把二进制数据按位(逐位)进行传送的一种通信方式。计算机与外界的通信有两种基本方式:并行通信和串行通信。表 3-3 串并行口对比并行数据传送 串行数据传送原理 各位数据同时传送 数据按位顺序传送优点 传送速度快、效率高 最少需要一对传输线即可完成:成本低14RST缺点 数据位数传输线根数:成本高 速度慢,成本低应用 传送距
27、离#include#include“LED.H“#include“delay.h“void LED()char a,i;a=0xfe;while(1)for(i=0;i#include“delay.h“#include“smg.h“sbit E1=P15;char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴极断码值 09(注意此处后加分号)/ 注意不能用相同变量,以防重复定义char shi_bit,ge_bit; void display()/显示函数 P1=0xff;P0=0xff;TMOD=0x01;/
28、定时器工作方式,定时器 0 工作方式 1 最大计数 65536=216TH0=(65536-50000)/256;/定时 50msTL0=(65536-50000)%256;EA=1;/开总中断ET0=1;TR0=1;/定时器运行控制位while(1)E1=1;17P2=0x1f;P0=tablege_bit;delay(5);E1=1;P2=0x3f;P0=tableshi_bit;delay(5); SMG.H#ifndef _SMG_H_#define _SMG_H_extern char shi_bit,ge_bit;/注意 extern 的应用extern void display(
29、);#endif3. 液晶模块:LCD.c#include#include“lcd.h“#include“delay.h“#define uint unsigned int #define uchar unsigned charsbit lcdrs=P16;sbit lcdrw=P17;sbit E1=P15;char code table2=“ 2013-06-10 PM “;char code table3=“ 12:00:00“;void write_com(char com)lcdrs=0;lcdrw=0;E1=0;P0=com;delay(5);E1=1;P2=0x5f; /Y2=0
30、,即 LCD_EN=1 delay(5);E1=0;18void write_data(char date)lcdrs=1;lcdrw=0;E1=0;P0=date;delay(5);E1=1;P2=0x5f; /Y2=0,即 LCD_EN=1delay(5);E1=0;void init()E1=0;write_com(0x38);/显示模式设置write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加 1write_com(0x01);/显示清 0,数据指针清 0TMOD=0x01;/定时器工作方式,定时器 0 工作方式 1 最大计数
31、65536=216TH0=(65536-50000)/256;/定时 50msTL0=(65536-50000)%256;EA=1;/开总中断ET0=1;TR0=1;/定时器运行控制位void LCD_display()char num;init();write_com(0x80);/数据指针设置(第一行首地址为 0x80)显示第一行for(num=0;num#include#include“delay.h“#include“LED.H“#include“smg.h“#include“lcd.h“sbit key1=P32;sbit key2=P33;sbit key3=P34;sbit ke
32、y4=P35;sbit E1=P15;char code table4=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/09 显示20void main()char temp=0,ge_bit1=0,shi_bit1=0;P1=0xff;P0=0xff;write_com(0x01);/显示清 0,数据指针清 0;while(1)shi_bit1=temp/10;ge_bit1=temp%10;if(key1=0) /流水灯delay(10);if(key1=0)LED();if(key2=0)/数码管跑秒delay(10);if(key2
33、=0)display();if(key3=0) /液晶显示delay(10);if(key3=0)LCD_display();if(key4=0)/按键计数delay(40);if(key4=0)temp+;E1=1;P2=0x1f;P0=table4ge_bit1;21delay(30);E1=1;P2=0x3f;P0=table4shi_bit1;delay(30);if(temp=100)temp=0; void time0() interrupt 1char count,num1;char num=0,shi,fen,miao;TH0=(65536-50000)/256;/定时 50m
34、sTL0=(65536-50000)%256;num1+;count+;if(num1=20)num1=0;ge_bit+;if(ge_bit=10)ge_bit=0;shi_bit+;if(shi_bit=0)shi_bit=0;if(count=20)count=0;miao+;if(miao=60)22miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;write_sfm(4,shi);write_sfm(7,fen);write_sfm(10,miao);5. 延时函数:delay.c#include“delay.h“void delay(
35、int time)int t;for(;time0;time-)for(t=0;t110;t+);DELAY.H#ifndef _DELAY_H_#define _DELAY_H_extern void delay(int time);#endif第 5 章 调试及故障分析5.1 焊接准备阶段元器件测试、电路原理图故障分析(1)焊接准备阶段,对排阻的认识与检测:要找出公共端,排电阻也叫集成电阻,其外形及内部结构见图:23图 5-1 排阻图中 BX 表示产品型号,10 表示有效数字,3 表示有效数字后边加“0”的个数,103 即 10000(10K)。半字线“-”后面的 9 表示此电阻有 9 个
36、引脚,其中的一个引脚是公共引脚,一般都在两边,用色点标志。A512 是 51*100=5100 欧=5.1K;排电阻的误差表示方法:L0.01%;B0.1%;F1%;G2%;J5%;K10%; M20%(2)电容的认识与检测:电容在电路中一般用”C”加数字表示(如 C13 表示编号 13 的电容) 。电容是有两片金属膜紧靠中间用的绝缘材料隔开面组成的元件,电容特性主要是隔直流通交流。 ,电容容量的大小就是表示能贮存电能的大小,电容对交流信号的阻碍作用称为容抗,它与交流信号的频率和电容量有关。如果标值 473,即为 471000pF=0.047uF。(后面的 4、3,都表示 10 的多少次方)。
37、又如:332=33100pF=3300pF;102=10102pF=1000pF; 224=22104pF=0.22uF。在各种电子设备中,调谐、耦合、滤波、去耦、隔断直流电、旁路交流电等,都需要用到电容器。电容器通常又叫做电容。电容的种类也很多,常见的电容有以下几种:电解电容、贴片电容、铝电解电容器、电力电容器、薄膜电容器等。这些电容的外表皮上都标有其容值,而正负极一般是长引脚的是正极,短引脚的是负极,其他类型的电容正负极,一般会标在引脚附近。(3)电阻的测试:色环电阻的识别方法不是随便规定的,这个方法是科学的、严谨的。色环表示实际上是数学方法的演绎和变通;它和 10 的整数幂、乘方的指数具
38、有密切的逻辑关系;它是国际上通用的科学计数法的“色彩化” 。这个方法既是十分美妙,又是十分巧妙!(1)颜色和数字的对应关系:颜色和数字之间的对应关系是国际上公认的识别方法,记住它对进一步学习很有帮助。表 5-1 四环电阻对应表颜色 棕 红 橙 黄 绿 篮 紫 灰 白 黑数字 1 2 3 4 5 6 7 8 9 0所谓“四色环电阻”就是指用四条色环表示阻值得电阻。从左向右数,第一、第二环表示两位有效数字,第三环表示数字后面添加“0”的个数。所谓“从左到右” ,是指把电阻按照图中所画的方向放置-四条色环中,有三条相互之间的距离得比较近,而第四环距离稍微大一点。四环电阻的偏差环一般是金或银,一般不会
39、识别错误,而五环电阻则不然,其偏差还有与第一环(有效数字环)相同的颜色,如果读反,识读结果将完全错误。五环电阻阻制表示方法:第一、二、三为有效数字,第四环为倍数,第五环为误差(依颜色)例如:红棕红棕棕 阻值为 212101=2.12 K 1颜色和数字的对应关系:24首先我们向你介绍颜色和阿拉伯数字之间的对应关系,这种规定是国际上公认的识别方法,记住它对我们进一步学习很有帮助。 表 5-2 五色环对应数值颜色 数字 颜色 数字棕 1 蓝 6红 2 紫 7橙 3 灰 8黄 4 白 9绿 5 黑 0建议分两段背诵,容易记忆: 棕 红 橙 黄 绿 兰 紫 灰 白 黑 金色代表误差5,银色代表误差10
40、(4)电路原理图故障分析:在 Protues 软件仿真时,电路容易出错的地方是晶振电路、串行口电路、电源电路和 51 单片机两边的底座都不用画,只需要将其余的元器件画上即可;此外是上拉电阻的选用,要仔细地对准原理图上的符号,以免选错;还有是各引脚的符号容易出错,由于引脚较多,一定要仔细辨认,避免出错。5.2 电路焊接过程中的故障分析在焊接电路板的过程中,基本不会出现什么大的错误,有时候可能会出现二极管、电容以及排阻的公共电源端等器件的极性弄反的情况。一旦焊接错误不仅很不容易取下来,而且浪费时间,功能也实现不了,有时甚至会损坏器件。所以焊接过程中一定要专心仔细,不能只求速度,欲速则不达!焊接时不
41、能出现虚焊、短路的情况,必要时可以借助万用表检测,尽量每个模块尽可能多的焊点检测。另外焊接时一定要注意安全,避免烫伤,所以我们焊接时要一心一意,这样才能保证焊接的质量以及正确性。5.3 程序编写过程中的故障分析系统程序利用 C 语言编写,并以模块化编程思想来编写程序,程序共分为流水灯、液晶、数码管、延时函数以及主函数几个模块。模块化编程使得程序更加清晰明了,可读性强,同时我们也要注意编写过程中的问题。比如注意 extern 语句,#ifndef _XXX_H_ #define _XXX_H_等的应用, H 文件的书写定义以及头文件加入等等这些我们都应该非常重视关注。程序第一次写好编译时出现错误很正常,应该一处一处慢慢地修正,比如缺少符号,变量未定义,调用函数未声明等错误,以及比较难改的逻辑错误,都经常出现。错误修改完后,应该进一步优化程序,是程序更加节约资源,减少运行时间等等是程序更加简化优越。5.4 实物演示效果(1) 二极管流水灯模块:25图 5-2 流水灯图 5-3 流水灯