彩灯电路设计

北京经济管理职业技术学院

毕 业 设 计(论 文)

题 目 彩灯电路设计

姓 名 XXX

专业班级 0906251

学 号 02

指导教师 XXX

日 期 2012 年 5 月 25 日

摘 要

本次课程设计主题是基于ATMEL 公司生产的AT89S52单片机为核心设计一个彩灯系统。系统由模拟电路部分与数字电路部分组成,模拟电路由驻极体麦克风、运算放大器、二极管峰值包络检波器,实现对音频信号进行转换、滤波、放大等处理。数字电路由A/D转换器、AT89S52单片机及发光二级管组成,单片机将A/D转换后的信号对LED 的亮灭进行控制,LED 的亮灭情况由音频信号的强度进行控制,点亮的LED 的数目随音频音量的增大而增加,随音频音量的减小而减少,实现了一个简单的音乐彩灯控制系统。

关键词:AT89S52单片机;发光二极管; A/D转换器;运算放大器;驻极体麦

克风;

目录

前言 .................................................................................................................................................. 3

1设计任务要求 . ....................................................................................................................... 3

2方案设计与选择 . ........................................................................................................................... 3

2.1方案一 使用MISC 采集声音用LM386放大电路 ......................................................... 3

2.2方案二采用数字芯片构成的声控彩灯电路 . ................................................... 4

2.3方案三以A T 89S 52为核心的单片机声控彩灯系统.................................... 4

2.4方案选择 . ........................................................................................................................... 5

3相关新片介绍 . ............................................................................................................................... 6

3.1 AT89S52 . ............................................................................................................................ 6

3.1.1芯片介绍 . ............................................................................................................... 6

3.1.2主要特性 . ............................................................................................................... 6

3.1.3引脚说明 . ............................................................................................................... 7

3. 2 A D C 0809 ...................................................................................................................... 9

3.2.1芯片介绍 . ............................................................................................................... 9

3.2.2主要特性 . ................................................................................................................. 9

3.2.3引脚说明 . ............................................................................................................. 10

4 硬件设计..................................................................................................................................... 11

4.1模拟电路 . ......................................................................................................................... 11

4.1.1模拟电路原理 . ..................................................................................................... 11

4.1.2电路仿真 . ............................................................................................................... 11

4.1.3模拟电路部分原理图 . ......................................................................................... 14

5软件设计...................................................................................................................................... 20

5.1设计软件流程图 . ............................................................................................................. 20

5.2主程序代码及注释 . ......................................................................................................... 21

5.3软件调试过程及遇到的问题和解决方法 . ..................................................................... 24

参考文献......................................................................................................................................... 25

附录一 ............................................................................................................................................ 25

附录二 ............................................................................................................................................ 26

附录三 ............................................................................................................................................ 27

前言

随着科学技术发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺和现代科学技术紧密结合,将电子、建筑、机械、遥控、声学等新技术、新工艺用于彩灯的设计制作,把形、色、光、声、动相结合,思想性、知识性、趣味性、艺术性相统一,音乐彩灯的出现使人们既得到了视觉与听觉上得享受,同时也给人们紧张的现代生活带来新鲜的色彩与活力。

1设计任务要求

(1).写出你考虑该问题的基本思路,画出一个实现电路功能的大致框图。

(2).设计出框图中各部分逻辑电路,可用中、小规模集成电路,也可用中规模集成电路连 接而成。对各部分电路的工作原理应作出说明。

(3).最后,画出整个设计电路的原理电路图,并说明电路工作原理。

(4).图用仿真软件画出并仿真,各功能引脚应有标号。画出印制电路版图。

2方案设计与选择

通过书本上知识与一些相关书籍和网上的资料,我总共设计了三种方案如下。

2.1方案一 使用MISC 采集声音用LM386放大电路

使用M IC 采集声音之后用L M 386放大,之后通过比较器,最后交给AT 89S52分析处理来驱动LE D 发光。设计框图如图1. 1所示。

图 1.1

2.2方案二采用数字芯片构成的声控彩灯电路

音频在电信号中表现为多个正弦波叠加而成。音乐的大小就表现为声音的强弱起伏,它在音频信号中表现为正弦波的波峰和波谷,所以在它到达波峰时就说明它的音量大,在波谷时音量就小,根据这个原理,可以采用一个触发电路控制彩灯在音量大的时候发光,音量小的时候就熄灭。综合考虑,可以选择一个N E555时基电路中的单稳态电路,触发后驱动LE D 发光,由于音频电压过小,还需要设一个放大电路。设计框图如下图1. 2所示。

图1.2

2.3方案三以A T 89S 52为核心的单片机声控彩灯系统

此控制系统以A T89S 52为控制器,通过单片机的I /O口进行读操作,将外部经过音频信号转换而成的电压信号读取进来,再进行分析计算,对外部的发光二级管进行控制,编程控制灵活。能灵活根据音频信号的强弱范围来控制发光二级管亮灭的数目,达到声音控制灯亮灭的效果。设计框图如下如1. 3。

图1. 3

2.4方案选择

方案一中, 电路相对简单,制作相对较容易点,成本也相对较低。但LM386放大倍数最多只有200倍,实现困难。

方案二中,虽然电路比较简单,但是最终的硬件电路功能单一,不方便进行功能的修改与升级,控制不够人性化。

方案三中,以AT89S52为控制核心,AT89S52是一种低功耗、高性能

CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器, 在单芯片上, 拥有灵巧的8 位CPU 和在系统可编程Flash ,控制灵活方便,使得AT89S52 在众多控制应用系统中得到广泛应用。因此本次课题选用方案三。

3相关新片介绍

3.1 AT89S52

3.1.1芯片介绍

AT 89S52是一种低功耗、高性能CM O S8位微控制器,具有8K 在系统可编程F l as h 存储器。使用At me l 公司高密度非易失性存储器技术制造,与工业80C 51 产品指令和引脚完全兼容。片上Fl as h 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位C PU 和在系统可编程Fl a sh ,使得AT 89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

A T 89S52具有以下标准功能:8k 字节Fl as h ,256字节RA M ,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT 89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CP U 停止工作,允许RA M 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RA M 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.1.2主要特性

与MCS-51单片机产品兼容

8K 字节可在系统中编程Flash 存储器

1000次擦写周期

静态操作0H z ~33H z

三级加密程序存储器

32个可编程I /O线口

3个16位定时器/计数器

掉电中断可唤醒

双数据指针

看门狗定时器

掉电标识符

全双工UA R T 串行通道

八个中断源

低功率空闲和掉电模式

3.1.3引脚说明

图3. 1

V C C :电源电压输入端

G N D :电源地。

P 0口:P0口为一个8位漏级开路双向I /O口,每脚可吸收8T TL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P 0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FI A SH 编程时,P 0 口作为原码输入口,当F IA SH 进行校验时,P 0输出原码,此时P 0外部必须被拉P1口是一个内部提供上拉电阻的8位双向I/O 口,P 1口缓冲器能接收输出4T TL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P 1口被外部

下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在F LA SH 编程和校验时,P1口作为第八位地址接收。

P 2口:P2口为一个内部上拉电阻的8位双向I /O口,P 2口缓冲器可接收,输出4个T TL 门电流,当P 2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P 2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P 2口输出其特殊功能寄存器的内容。P 2口在F LA SH 编程和校验时接收高八位地址信号和控制信号。

P 3口:P 3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TT L 门电流。当P 3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P 3口将输出电流(IL L )这是由于上拉的缘故。P3口除了作为普通I/O 口,还有第二功能: P 3.0 RXD (串行输入口)

P 3.1 TXD (串行输出口)

P 3.2 /IN T0(外部中断0)

P 3.3 /IN T1(外部中断1)

P3.4 T0(T 0定时器的外部计数输入)

P 3.5 T1(T 1定时器的外部计数输入)

P3.6 /WR (外部数据存储器的写选通)

P3.7 /RD (外部数据存储器的读选通)

I /O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P 0、P 1、P 2、P 3口作为输入时都是准双向口。除了P1口外P 0、P2、P3口都还有其他的功能。

R ST :复位输入端,高电平有效。当振荡器复位器件时,要保持RS T 脚两个机器周期的高电平时间。

A L E/PR OG :地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 低位字节。在FLAS H 编程期间,此引脚用于输入编程脉冲。在平时,AL E 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个AL E 脉冲。如想禁止AL E 的输出可在SF R8E H 地址上置0。此时, AL E 只有在执行M OVX ,M O VC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态AL E 禁止,置位无效。

P S EN :外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

E A /VPP :外部程序存储器访问允许。当/EA 保持低电平时,则在此期间外部程序存储器(0000H -FF FF H ),不管是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为RE SET ;当/E A 端保持高电平时,此间内部程序存储器。在FL AS H 编程期间,此引脚也用于施加12V 编程电源。

X T AL1、X TA L2:片内振荡器反相放大器和时钟发生器的输入、输出端。

3. 2 A D C 0809

3.2.1芯片介绍

A D C 0809它是CM OS 器件,不仅包括一个8位的逐次逼近型的AD C 部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A /D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。

3.2.2主要特性

A D C 0809 内部带有输出锁存器,可以与AT89S 51 单片机直接相连。

初始化时,使S T 和O E 信号全为低电平。

送要转换的哪一通道的地址到A ,B ,C 端口上。 在S T 端给出一个至少有100n s 宽的正脉冲信号。 是否转换完毕,我们根据E OC 信号来判断。

当E OC 变为高电平时,这时给O E 为高电平,转换的数据就输出给单片机了。

3.2.3引脚说明

图3. 2

(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA 、ADDB 、ADDC 来选通一路。

(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。

(3)ADDA 、ADDB 、ADDC ——模拟通道选择地址信号,ADDA 为低位,ADDC 为高位。地址信号与选中通道对应关系如表11.3所示。

(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC 电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。

(5)ALE ——地址锁存允许信号,高电平有效。当此信号有效时,

A 、B 、C 三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START 信号连在一起,以便同时锁存通道地址和启动A/D转换。

(6)START ——A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。

(7)EOC ——转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU 查询的状态信号,也可作为对CPU 的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC 也可作为启动信号反馈接到START 端,但在刚加电时需由外电路第一次启动。

(8)OE ——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU 发出的中断请求响应信号。

4 硬件设计

4.1模拟电路 4.1.1模拟电路原理

首先,采用电容式麦克风对音频信号进行拾取。

其次,通过两个电容分别对音频中得高频成分进行滤波以及对直流成分进行隔直。

然后,经过一级放大器放大。因为从电容式麦克风输出的信号幅

度很小,大概几毫伏至几十毫伏左右,因此要对该信号进行放大,放大倍数选择在1000倍左右,才能满足A/D转换器的需要,由此选择两级放大电路,第一级放大倍数设置在1~454倍之间,第二级放大倍数设置在1~10倍之间。两级放大就可以达到1000倍左右。

最后,由于音频信号在电信号中表现为多个正弦波叠加而成,而

A/D转换器转换的电压范围在0~5v,所以选择采用二极管包络检波器对这些正弦波进行整流后再进行A/D转换。

通过以上分析,运用Multisim 进行电路绘制及仿真,仿真过程如下所述。

4.1.2电路仿真

图4.1

图4.2

图4.3

如上图所示,图4. 1为仿真图,图4. 2为一级放大电路仿真波形图。图4. 3为二级放大电仿真路波形图。

4.1.3模拟电路部分原理图

仿真步骤小结:经过本次仿真测试,可以看出电路的实际放大倍数并非一级放大倍数与二级放大倍数相乘,因为两级放大电路之间需要进行峰值检波,检波电路起到一定的分压作用,导致两级放大电路的理论值与实验值有所偏差。综合分析仿真电路的效果,可以确定出模拟电路部分的原理图,如下图4. 4

4.1.3.1一级放大电路原理图

图4. 4

图4.5

重要元件说明

① 驻极体电容传声器

驻极体话筒的工作原理是这样的:当驻极体膜片遇到声波振动时,就会引起与金属极板间距离的变化,也就是驻极体振动膜片与金属极板之间的电容随着声波变化,进而引起电容两端固有的电场发生变化(U =Q /C),从而产生随声波变化而变化的交变电压。由于驻极体膜片与金属极板之间所形成的“电容”容量比较小(一般为几十波法),因而它的输出阻抗值(X C=1/2πf C )很高,约在几十兆欧以上。这样高的阻抗是不能直接与一般音频放大器的输入端相匹配的,所以在话筒内接入了一只结型场效应晶体三极管来进行阻抗变换。通过输入阻抗非常高的场效应管将“电容”两端的电压取出来,并同时进行放大,就得到了和声波相对应的输出电压信号。 ②NE5532

N E5532是高性能低噪声双运算放大器(双运放)集成电路。与很多标准运放相似,但它具有更好的噪声性能,优良的输出驱动能力及相当高的小信号带宽,电源电压范围大等特点。因此很适合应用在高品质和专业音响设备、

仪器、控制电路及电话通道放大器。用作音频放大时音色温暖,保真度高,在上世纪九十年代初的音响界被发烧友们誉为“运放之皇”,至今仍是很多音响发烧友手中必备的运放之一。下图为N E5322放大电路

图4. 6

如图为NE 5532音频放大电路,3管脚接输入,双电源供电,输出经过R3和R 4构成负反馈电路。反馈增益为:A v =1+R3/R4,增益可调,最大值约

为1+10000/22=455倍

4.1.3.2二级放大电路

图4.7

4.1.3.3限幅电路

如图4.8为二极管限幅电路。为串联式二极管下限限幅电路。输入信号经二极管D 4流入V C C ,当输入电压大于V C C ,则D 4导通,其电阻非常小,所以信号电压值被拉低了,约等于V CC 。输入电压下限由D3确定,当电压为负值,则D 3导通,输入电压被拉高,相当于接地。当然,二极管有一定的压差,其电压应该为-0.7V 到5. 7V 。

图4.8

4.1.3.4上电复位电路

图4.9

上电复位电路如图所示,是利用外部复位电路实现。 振荡器启动时间不超过10ms 。在加电情况下,这个电可以使单片机复位。按键手动复位又分按键脉冲电平复位和按键电平复位,如图4.9。电平复位将复位端通过电阻与Vcc 相连,按键脉冲复位是利用RC 分电路产生正脉冲来达到复位的。在按键电平复位和按

键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。需说明的是,如复位电路中R 、C 的值选择不当,使复位时间过长,单片机将处于循环复位状态。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。电路如下图所示。

4.1.3.5时钟电路

图5.0

本系统采用单片机内部方式产生时钟信号,用于外接一个12MH z 石英晶体振荡器和2个30pF 微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。

4.1.3.6 LED 彩灯显示电路

图5.1

E D 彩灯显示电路(如图所示) 实际上是由8个发光二极管和8个电阻构成的电路。发光二极管与电阻对应串联, 然后接在与之相对应的P0口上。而P0口不能直接驱动,所以P 0口要接上拉电阻。由于发光二极管的导通电压一般为1.7V 以上,另外,他的工作电流根据型号不同一般为1mA 到30mA ,电阻选择范围100欧姆~3千欧姆在此我们这里选用1K 欧姆的电阻。

4.1.3.7下载端口

下载端口为单片提供与PC 机连接端口,为单片机提供下载程序到单片机程序存储器中。串口原理图如图所示。

下载端口也称串行通信接口,RS-232是目前最常用的一种串行通讯接口,由于其形状和针脚数量的原因,其接头又被称为DB9接头。RS-232针脚定义: 2 RXD ← Receive Data 接收数据 、3 TXD → Transmit Data 发送数据 、5 GND — System Ground 系统接地,一般就用到这几个引脚。AT89S52单片机可以通过串口下载,也可以采用USBASP 下载口进行程序烧写,可以随时在线编程,具有热拔插特性。USBASP 是一种基于ATMEL 公司的AVR 系列RISC 单片机的高速性质和一个由纯软件的USB 通信协议栈而USBASP 构成的一个可以向51系列,AVR 系列单片机下载(烧写) 程序的下载器。如图5.2

图5.2

5软件设计 5.1设计软件流程图

单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到彩灯随音量大小变化的现象,我们还需要告诉单片机怎么样进行控制,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的明灭。软件编程是实现彩灯随音量大小变化的一个重要的组成部分,是本设计的重点和难点。具体流程图如下图5.3所示。

图5.3

5.2主程序代码及注释

#i nc lu de "r eg 51.h"

#d ef in e uc ha r uns i gn ed cha r #d ef in e l e d

P 0

//控制le d 彩灯亮灭的并口 //AD 与单片机接口

#d ef in e ad _res ult P 3

s b it S T AR T = s b it O E = s b it E O C

P 1^0; //AD 开始控制端

P 1^1; //AD 输出使能端

//AD 转换结束标志位

= P 1^2;

u c ha r li gh t[9] =

{0x00, 0x 80,0xc 0,0x e0,0xf 0, 0x f8,0x f c, 0x fe , 0x ff }; //le d 显示数组 u c ha r t mp ,c ou nt = 0, vo ic e = 0; // 变量tm p 用来存放为A D 转换结束的结果,变量co un t 用来选择数组中的元素

v o id del ay (uns ign e d in t i) //de la y(1) 延时0. 2ms {

un si gn ed cha r j; fo r(i; i > 0; i--)

fo r(j = 255; j > 0; j --) ; }

v o id mai n() {

wh il e(1) {

S T AR T = 0;

沿

S T AR T = 0;

//启动A D 转换

OE = 0;

//停止A D 转换

//停止A D 输出

//给A D 的s ta r t 端口一个上升

S T AR T = 1;

d e la y(2) ; //AD C0809转换时间大约为128u s ,

延时400u s 等待其转换结束

O E =1;

//转换结束,允许A D 输出

t m p=ad _res ul t; t m p 进行处理

//转换结果由P 3口输出,存到变量

c o un t=tm p/28; //将转换范围0--255除以28(, 将255

分成9份),共有9种音量状态

s w it ch (cou nt ) { }

//将对应的le d 数组码从

c a se 0: v o ic e=0; br ea k; c a se 1: v o ic e=1; br ea k; c a se 2: v o ic e=2; br ea k; c a se 3: v o ic e=3; br ea k; c a se 4: v o ic e=4; br ea k; c a se 5: v o ic e=5; br ea k; c a se 6: v o ic e=6; br ea k; c a se 7: v o ic e=7; br ea k; c a se 8: v o ic e=8; br ea k; d e fu lt : vo ic e=0; b re ak ;

// ( 0 -- 27) /28=0 // (28 -- 55) /28=1 // ( 56 -- 83) /28=2 // (84 – 121) /28=3 // (122 -- 149) /28=4 // (150 -- 176) /28=5 // (178 -- 205) /28=6 // (206 -- 233) /28=7 // (234 -- 255) /28=8

l e d = li gh t[vo ice ]; P 0口输出

d e la y(1) ; A D 转换

} }

//让le d 亮1M S 后进入下一次

5.3软件调试过程及遇到的问题和解决方法

由于本次课程设计采用的是C 语言编程,所用采用K E ILC 编程软件工具。在安装好K EIL C 软件之后就可以通过建立工程来进行C 语言编程了。

建立的工程要选择相应的芯片,由于此次我们普遍采用A T89S 52,所以工程也选择A TME L 公司的A T89S 52芯片。

刚开始编程的时候,为了测试系统板能不能工作,先对P O 口的L E D 灯进行流水灯控制,发现无法对P 0口位操作,以为是芯片坏了,后来查了一下资料,原来要对P 0口(P1、P 2、P 3)进行位操作,必须先对它们的每一位进行位定义,例如s bi t p 10 = P 1^0,检查问题并修改后,终于可以进行位操作了,但发现P 0口的LE D 灯不能按逻辑控制,亮灭不稳定,后来检查了一下,发现,原来是P 0口要接对上拉电阻,而且要将排阻的VC C 端焊接正确,发现排阻的VC C 端反接了,改正后P0口就可以正常工作了。

最后就是将每个模块程序结合在一起调试,由于电机转动也需要时间,这样就和汽车尾灯的亮灭时间产生了冲突,所以,要调用合适的转速时间。

调试的过程遇到的问题:

1、P 0、P 1、P 2、P3口的使用时,P 字母应为大写。最好在程序开始时对这三个口进行自定义,例如:#d ef in e le d P 0,这样可以简单明了、直观,知道P 0口的作用是什么,而且修改起来可以全局改变,不用一个一个接口去修改;

2、赋值符号“=”和逻辑运算符“==”使用的错误。有时候用条件判断语句if els e 的时候,常常错误地将

i f (ke y1=1)当成i f (k ey 1==1)来使用,导致条件一直都满足,程序调试起来很难检查出这个错误。

3、有些变量没有定义或者重复定义,导致编译的时候经常出现错误。

参考文献

[1] 胡汉才编著. 单片机原理及其接口技术. 北京: 清华大学出版社,

1996年

[2] 徐爱均编著. 智能化仪表原理与设计. 北京: 北京航空大学出版社,

1996年

[3] 张其善等. 基于G P R S 的车载信息平台的研制与关键技术. 北京航

空航天大学学报, 2005, 1(1) :98-101.

[4] 厦门桑荣科技有限公司. 基于G P R S 专网系统数据采集通信解决

方. 2005, 9. h t t p ://w w w. c h i n a t r a n s o n l i n e. c o m /c o m p a n y n e w s. a s p ? c i d =6357&n i d =1071.

[5] h t t p ://o n s e m i. c o m /N L 27W Z 07. p d f.

附录一

附录二

附录三

北京经济管理职业技术学院

毕 业 设 计(论 文)

题 目 彩灯电路设计

姓 名 XXX

专业班级 0906251

学 号 02

指导教师 XXX

日 期 2012 年 5 月 25 日

摘 要

本次课程设计主题是基于ATMEL 公司生产的AT89S52单片机为核心设计一个彩灯系统。系统由模拟电路部分与数字电路部分组成,模拟电路由驻极体麦克风、运算放大器、二极管峰值包络检波器,实现对音频信号进行转换、滤波、放大等处理。数字电路由A/D转换器、AT89S52单片机及发光二级管组成,单片机将A/D转换后的信号对LED 的亮灭进行控制,LED 的亮灭情况由音频信号的强度进行控制,点亮的LED 的数目随音频音量的增大而增加,随音频音量的减小而减少,实现了一个简单的音乐彩灯控制系统。

关键词:AT89S52单片机;发光二极管; A/D转换器;运算放大器;驻极体麦

克风;

目录

前言 .................................................................................................................................................. 3

1设计任务要求 . ....................................................................................................................... 3

2方案设计与选择 . ........................................................................................................................... 3

2.1方案一 使用MISC 采集声音用LM386放大电路 ......................................................... 3

2.2方案二采用数字芯片构成的声控彩灯电路 . ................................................... 4

2.3方案三以A T 89S 52为核心的单片机声控彩灯系统.................................... 4

2.4方案选择 . ........................................................................................................................... 5

3相关新片介绍 . ............................................................................................................................... 6

3.1 AT89S52 . ............................................................................................................................ 6

3.1.1芯片介绍 . ............................................................................................................... 6

3.1.2主要特性 . ............................................................................................................... 6

3.1.3引脚说明 . ............................................................................................................... 7

3. 2 A D C 0809 ...................................................................................................................... 9

3.2.1芯片介绍 . ............................................................................................................... 9

3.2.2主要特性 . ................................................................................................................. 9

3.2.3引脚说明 . ............................................................................................................. 10

4 硬件设计..................................................................................................................................... 11

4.1模拟电路 . ......................................................................................................................... 11

4.1.1模拟电路原理 . ..................................................................................................... 11

4.1.2电路仿真 . ............................................................................................................... 11

4.1.3模拟电路部分原理图 . ......................................................................................... 14

5软件设计...................................................................................................................................... 20

5.1设计软件流程图 . ............................................................................................................. 20

5.2主程序代码及注释 . ......................................................................................................... 21

5.3软件调试过程及遇到的问题和解决方法 . ..................................................................... 24

参考文献......................................................................................................................................... 25

附录一 ............................................................................................................................................ 25

附录二 ............................................................................................................................................ 26

附录三 ............................................................................................................................................ 27

前言

随着科学技术发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺和现代科学技术紧密结合,将电子、建筑、机械、遥控、声学等新技术、新工艺用于彩灯的设计制作,把形、色、光、声、动相结合,思想性、知识性、趣味性、艺术性相统一,音乐彩灯的出现使人们既得到了视觉与听觉上得享受,同时也给人们紧张的现代生活带来新鲜的色彩与活力。

1设计任务要求

(1).写出你考虑该问题的基本思路,画出一个实现电路功能的大致框图。

(2).设计出框图中各部分逻辑电路,可用中、小规模集成电路,也可用中规模集成电路连 接而成。对各部分电路的工作原理应作出说明。

(3).最后,画出整个设计电路的原理电路图,并说明电路工作原理。

(4).图用仿真软件画出并仿真,各功能引脚应有标号。画出印制电路版图。

2方案设计与选择

通过书本上知识与一些相关书籍和网上的资料,我总共设计了三种方案如下。

2.1方案一 使用MISC 采集声音用LM386放大电路

使用M IC 采集声音之后用L M 386放大,之后通过比较器,最后交给AT 89S52分析处理来驱动LE D 发光。设计框图如图1. 1所示。

图 1.1

2.2方案二采用数字芯片构成的声控彩灯电路

音频在电信号中表现为多个正弦波叠加而成。音乐的大小就表现为声音的强弱起伏,它在音频信号中表现为正弦波的波峰和波谷,所以在它到达波峰时就说明它的音量大,在波谷时音量就小,根据这个原理,可以采用一个触发电路控制彩灯在音量大的时候发光,音量小的时候就熄灭。综合考虑,可以选择一个N E555时基电路中的单稳态电路,触发后驱动LE D 发光,由于音频电压过小,还需要设一个放大电路。设计框图如下图1. 2所示。

图1.2

2.3方案三以A T 89S 52为核心的单片机声控彩灯系统

此控制系统以A T89S 52为控制器,通过单片机的I /O口进行读操作,将外部经过音频信号转换而成的电压信号读取进来,再进行分析计算,对外部的发光二级管进行控制,编程控制灵活。能灵活根据音频信号的强弱范围来控制发光二级管亮灭的数目,达到声音控制灯亮灭的效果。设计框图如下如1. 3。

图1. 3

2.4方案选择

方案一中, 电路相对简单,制作相对较容易点,成本也相对较低。但LM386放大倍数最多只有200倍,实现困难。

方案二中,虽然电路比较简单,但是最终的硬件电路功能单一,不方便进行功能的修改与升级,控制不够人性化。

方案三中,以AT89S52为控制核心,AT89S52是一种低功耗、高性能

CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器, 在单芯片上, 拥有灵巧的8 位CPU 和在系统可编程Flash ,控制灵活方便,使得AT89S52 在众多控制应用系统中得到广泛应用。因此本次课题选用方案三。

3相关新片介绍

3.1 AT89S52

3.1.1芯片介绍

AT 89S52是一种低功耗、高性能CM O S8位微控制器,具有8K 在系统可编程F l as h 存储器。使用At me l 公司高密度非易失性存储器技术制造,与工业80C 51 产品指令和引脚完全兼容。片上Fl as h 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位C PU 和在系统可编程Fl a sh ,使得AT 89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

A T 89S52具有以下标准功能:8k 字节Fl as h ,256字节RA M ,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT 89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CP U 停止工作,允许RA M 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RA M 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.1.2主要特性

与MCS-51单片机产品兼容

8K 字节可在系统中编程Flash 存储器

1000次擦写周期

静态操作0H z ~33H z

三级加密程序存储器

32个可编程I /O线口

3个16位定时器/计数器

掉电中断可唤醒

双数据指针

看门狗定时器

掉电标识符

全双工UA R T 串行通道

八个中断源

低功率空闲和掉电模式

3.1.3引脚说明

图3. 1

V C C :电源电压输入端

G N D :电源地。

P 0口:P0口为一个8位漏级开路双向I /O口,每脚可吸收8T TL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P 0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FI A SH 编程时,P 0 口作为原码输入口,当F IA SH 进行校验时,P 0输出原码,此时P 0外部必须被拉P1口是一个内部提供上拉电阻的8位双向I/O 口,P 1口缓冲器能接收输出4T TL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P 1口被外部

下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在F LA SH 编程和校验时,P1口作为第八位地址接收。

P 2口:P2口为一个内部上拉电阻的8位双向I /O口,P 2口缓冲器可接收,输出4个T TL 门电流,当P 2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P 2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P 2口输出其特殊功能寄存器的内容。P 2口在F LA SH 编程和校验时接收高八位地址信号和控制信号。

P 3口:P 3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TT L 门电流。当P 3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P 3口将输出电流(IL L )这是由于上拉的缘故。P3口除了作为普通I/O 口,还有第二功能: P 3.0 RXD (串行输入口)

P 3.1 TXD (串行输出口)

P 3.2 /IN T0(外部中断0)

P 3.3 /IN T1(外部中断1)

P3.4 T0(T 0定时器的外部计数输入)

P 3.5 T1(T 1定时器的外部计数输入)

P3.6 /WR (外部数据存储器的写选通)

P3.7 /RD (外部数据存储器的读选通)

I /O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P 0、P 1、P 2、P 3口作为输入时都是准双向口。除了P1口外P 0、P2、P3口都还有其他的功能。

R ST :复位输入端,高电平有效。当振荡器复位器件时,要保持RS T 脚两个机器周期的高电平时间。

A L E/PR OG :地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 低位字节。在FLAS H 编程期间,此引脚用于输入编程脉冲。在平时,AL E 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个AL E 脉冲。如想禁止AL E 的输出可在SF R8E H 地址上置0。此时, AL E 只有在执行M OVX ,M O VC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态AL E 禁止,置位无效。

P S EN :外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

E A /VPP :外部程序存储器访问允许。当/EA 保持低电平时,则在此期间外部程序存储器(0000H -FF FF H ),不管是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为RE SET ;当/E A 端保持高电平时,此间内部程序存储器。在FL AS H 编程期间,此引脚也用于施加12V 编程电源。

X T AL1、X TA L2:片内振荡器反相放大器和时钟发生器的输入、输出端。

3. 2 A D C 0809

3.2.1芯片介绍

A D C 0809它是CM OS 器件,不仅包括一个8位的逐次逼近型的AD C 部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A /D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。

3.2.2主要特性

A D C 0809 内部带有输出锁存器,可以与AT89S 51 单片机直接相连。

初始化时,使S T 和O E 信号全为低电平。

送要转换的哪一通道的地址到A ,B ,C 端口上。 在S T 端给出一个至少有100n s 宽的正脉冲信号。 是否转换完毕,我们根据E OC 信号来判断。

当E OC 变为高电平时,这时给O E 为高电平,转换的数据就输出给单片机了。

3.2.3引脚说明

图3. 2

(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA 、ADDB 、ADDC 来选通一路。

(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。

(3)ADDA 、ADDB 、ADDC ——模拟通道选择地址信号,ADDA 为低位,ADDC 为高位。地址信号与选中通道对应关系如表11.3所示。

(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC 电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。

(5)ALE ——地址锁存允许信号,高电平有效。当此信号有效时,

A 、B 、C 三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START 信号连在一起,以便同时锁存通道地址和启动A/D转换。

(6)START ——A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。

(7)EOC ——转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU 查询的状态信号,也可作为对CPU 的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC 也可作为启动信号反馈接到START 端,但在刚加电时需由外电路第一次启动。

(8)OE ——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU 发出的中断请求响应信号。

4 硬件设计

4.1模拟电路 4.1.1模拟电路原理

首先,采用电容式麦克风对音频信号进行拾取。

其次,通过两个电容分别对音频中得高频成分进行滤波以及对直流成分进行隔直。

然后,经过一级放大器放大。因为从电容式麦克风输出的信号幅

度很小,大概几毫伏至几十毫伏左右,因此要对该信号进行放大,放大倍数选择在1000倍左右,才能满足A/D转换器的需要,由此选择两级放大电路,第一级放大倍数设置在1~454倍之间,第二级放大倍数设置在1~10倍之间。两级放大就可以达到1000倍左右。

最后,由于音频信号在电信号中表现为多个正弦波叠加而成,而

A/D转换器转换的电压范围在0~5v,所以选择采用二极管包络检波器对这些正弦波进行整流后再进行A/D转换。

通过以上分析,运用Multisim 进行电路绘制及仿真,仿真过程如下所述。

4.1.2电路仿真

图4.1

图4.2

图4.3

如上图所示,图4. 1为仿真图,图4. 2为一级放大电路仿真波形图。图4. 3为二级放大电仿真路波形图。

4.1.3模拟电路部分原理图

仿真步骤小结:经过本次仿真测试,可以看出电路的实际放大倍数并非一级放大倍数与二级放大倍数相乘,因为两级放大电路之间需要进行峰值检波,检波电路起到一定的分压作用,导致两级放大电路的理论值与实验值有所偏差。综合分析仿真电路的效果,可以确定出模拟电路部分的原理图,如下图4. 4

4.1.3.1一级放大电路原理图

图4. 4

图4.5

重要元件说明

① 驻极体电容传声器

驻极体话筒的工作原理是这样的:当驻极体膜片遇到声波振动时,就会引起与金属极板间距离的变化,也就是驻极体振动膜片与金属极板之间的电容随着声波变化,进而引起电容两端固有的电场发生变化(U =Q /C),从而产生随声波变化而变化的交变电压。由于驻极体膜片与金属极板之间所形成的“电容”容量比较小(一般为几十波法),因而它的输出阻抗值(X C=1/2πf C )很高,约在几十兆欧以上。这样高的阻抗是不能直接与一般音频放大器的输入端相匹配的,所以在话筒内接入了一只结型场效应晶体三极管来进行阻抗变换。通过输入阻抗非常高的场效应管将“电容”两端的电压取出来,并同时进行放大,就得到了和声波相对应的输出电压信号。 ②NE5532

N E5532是高性能低噪声双运算放大器(双运放)集成电路。与很多标准运放相似,但它具有更好的噪声性能,优良的输出驱动能力及相当高的小信号带宽,电源电压范围大等特点。因此很适合应用在高品质和专业音响设备、

仪器、控制电路及电话通道放大器。用作音频放大时音色温暖,保真度高,在上世纪九十年代初的音响界被发烧友们誉为“运放之皇”,至今仍是很多音响发烧友手中必备的运放之一。下图为N E5322放大电路

图4. 6

如图为NE 5532音频放大电路,3管脚接输入,双电源供电,输出经过R3和R 4构成负反馈电路。反馈增益为:A v =1+R3/R4,增益可调,最大值约

为1+10000/22=455倍

4.1.3.2二级放大电路

图4.7

4.1.3.3限幅电路

如图4.8为二极管限幅电路。为串联式二极管下限限幅电路。输入信号经二极管D 4流入V C C ,当输入电压大于V C C ,则D 4导通,其电阻非常小,所以信号电压值被拉低了,约等于V CC 。输入电压下限由D3确定,当电压为负值,则D 3导通,输入电压被拉高,相当于接地。当然,二极管有一定的压差,其电压应该为-0.7V 到5. 7V 。

图4.8

4.1.3.4上电复位电路

图4.9

上电复位电路如图所示,是利用外部复位电路实现。 振荡器启动时间不超过10ms 。在加电情况下,这个电可以使单片机复位。按键手动复位又分按键脉冲电平复位和按键电平复位,如图4.9。电平复位将复位端通过电阻与Vcc 相连,按键脉冲复位是利用RC 分电路产生正脉冲来达到复位的。在按键电平复位和按

键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。需说明的是,如复位电路中R 、C 的值选择不当,使复位时间过长,单片机将处于循环复位状态。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。电路如下图所示。

4.1.3.5时钟电路

图5.0

本系统采用单片机内部方式产生时钟信号,用于外接一个12MH z 石英晶体振荡器和2个30pF 微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。

4.1.3.6 LED 彩灯显示电路

图5.1

E D 彩灯显示电路(如图所示) 实际上是由8个发光二极管和8个电阻构成的电路。发光二极管与电阻对应串联, 然后接在与之相对应的P0口上。而P0口不能直接驱动,所以P 0口要接上拉电阻。由于发光二极管的导通电压一般为1.7V 以上,另外,他的工作电流根据型号不同一般为1mA 到30mA ,电阻选择范围100欧姆~3千欧姆在此我们这里选用1K 欧姆的电阻。

4.1.3.7下载端口

下载端口为单片提供与PC 机连接端口,为单片机提供下载程序到单片机程序存储器中。串口原理图如图所示。

下载端口也称串行通信接口,RS-232是目前最常用的一种串行通讯接口,由于其形状和针脚数量的原因,其接头又被称为DB9接头。RS-232针脚定义: 2 RXD ← Receive Data 接收数据 、3 TXD → Transmit Data 发送数据 、5 GND — System Ground 系统接地,一般就用到这几个引脚。AT89S52单片机可以通过串口下载,也可以采用USBASP 下载口进行程序烧写,可以随时在线编程,具有热拔插特性。USBASP 是一种基于ATMEL 公司的AVR 系列RISC 单片机的高速性质和一个由纯软件的USB 通信协议栈而USBASP 构成的一个可以向51系列,AVR 系列单片机下载(烧写) 程序的下载器。如图5.2

图5.2

5软件设计 5.1设计软件流程图

单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到彩灯随音量大小变化的现象,我们还需要告诉单片机怎么样进行控制,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的明灭。软件编程是实现彩灯随音量大小变化的一个重要的组成部分,是本设计的重点和难点。具体流程图如下图5.3所示。

图5.3

5.2主程序代码及注释

#i nc lu de "r eg 51.h"

#d ef in e uc ha r uns i gn ed cha r #d ef in e l e d

P 0

//控制le d 彩灯亮灭的并口 //AD 与单片机接口

#d ef in e ad _res ult P 3

s b it S T AR T = s b it O E = s b it E O C

P 1^0; //AD 开始控制端

P 1^1; //AD 输出使能端

//AD 转换结束标志位

= P 1^2;

u c ha r li gh t[9] =

{0x00, 0x 80,0xc 0,0x e0,0xf 0, 0x f8,0x f c, 0x fe , 0x ff }; //le d 显示数组 u c ha r t mp ,c ou nt = 0, vo ic e = 0; // 变量tm p 用来存放为A D 转换结束的结果,变量co un t 用来选择数组中的元素

v o id del ay (uns ign e d in t i) //de la y(1) 延时0. 2ms {

un si gn ed cha r j; fo r(i; i > 0; i--)

fo r(j = 255; j > 0; j --) ; }

v o id mai n() {

wh il e(1) {

S T AR T = 0;

沿

S T AR T = 0;

//启动A D 转换

OE = 0;

//停止A D 转换

//停止A D 输出

//给A D 的s ta r t 端口一个上升

S T AR T = 1;

d e la y(2) ; //AD C0809转换时间大约为128u s ,

延时400u s 等待其转换结束

O E =1;

//转换结束,允许A D 输出

t m p=ad _res ul t; t m p 进行处理

//转换结果由P 3口输出,存到变量

c o un t=tm p/28; //将转换范围0--255除以28(, 将255

分成9份),共有9种音量状态

s w it ch (cou nt ) { }

//将对应的le d 数组码从

c a se 0: v o ic e=0; br ea k; c a se 1: v o ic e=1; br ea k; c a se 2: v o ic e=2; br ea k; c a se 3: v o ic e=3; br ea k; c a se 4: v o ic e=4; br ea k; c a se 5: v o ic e=5; br ea k; c a se 6: v o ic e=6; br ea k; c a se 7: v o ic e=7; br ea k; c a se 8: v o ic e=8; br ea k; d e fu lt : vo ic e=0; b re ak ;

// ( 0 -- 27) /28=0 // (28 -- 55) /28=1 // ( 56 -- 83) /28=2 // (84 – 121) /28=3 // (122 -- 149) /28=4 // (150 -- 176) /28=5 // (178 -- 205) /28=6 // (206 -- 233) /28=7 // (234 -- 255) /28=8

l e d = li gh t[vo ice ]; P 0口输出

d e la y(1) ; A D 转换

} }

//让le d 亮1M S 后进入下一次

5.3软件调试过程及遇到的问题和解决方法

由于本次课程设计采用的是C 语言编程,所用采用K E ILC 编程软件工具。在安装好K EIL C 软件之后就可以通过建立工程来进行C 语言编程了。

建立的工程要选择相应的芯片,由于此次我们普遍采用A T89S 52,所以工程也选择A TME L 公司的A T89S 52芯片。

刚开始编程的时候,为了测试系统板能不能工作,先对P O 口的L E D 灯进行流水灯控制,发现无法对P 0口位操作,以为是芯片坏了,后来查了一下资料,原来要对P 0口(P1、P 2、P 3)进行位操作,必须先对它们的每一位进行位定义,例如s bi t p 10 = P 1^0,检查问题并修改后,终于可以进行位操作了,但发现P 0口的LE D 灯不能按逻辑控制,亮灭不稳定,后来检查了一下,发现,原来是P 0口要接对上拉电阻,而且要将排阻的VC C 端焊接正确,发现排阻的VC C 端反接了,改正后P0口就可以正常工作了。

最后就是将每个模块程序结合在一起调试,由于电机转动也需要时间,这样就和汽车尾灯的亮灭时间产生了冲突,所以,要调用合适的转速时间。

调试的过程遇到的问题:

1、P 0、P 1、P 2、P3口的使用时,P 字母应为大写。最好在程序开始时对这三个口进行自定义,例如:#d ef in e le d P 0,这样可以简单明了、直观,知道P 0口的作用是什么,而且修改起来可以全局改变,不用一个一个接口去修改;

2、赋值符号“=”和逻辑运算符“==”使用的错误。有时候用条件判断语句if els e 的时候,常常错误地将

i f (ke y1=1)当成i f (k ey 1==1)来使用,导致条件一直都满足,程序调试起来很难检查出这个错误。

3、有些变量没有定义或者重复定义,导致编译的时候经常出现错误。

参考文献

[1] 胡汉才编著. 单片机原理及其接口技术. 北京: 清华大学出版社,

1996年

[2] 徐爱均编著. 智能化仪表原理与设计. 北京: 北京航空大学出版社,

1996年

[3] 张其善等. 基于G P R S 的车载信息平台的研制与关键技术. 北京航

空航天大学学报, 2005, 1(1) :98-101.

[4] 厦门桑荣科技有限公司. 基于G P R S 专网系统数据采集通信解决

方. 2005, 9. h t t p ://w w w. c h i n a t r a n s o n l i n e. c o m /c o m p a n y n e w s. a s p ? c i d =6357&n i d =1071.

[5] h t t p ://o n s e m i. c o m /N L 27W Z 07. p d f.

附录一

附录二

附录三


相关内容

  • 基于单片机控制的节日彩灯控制课程设计
  • 课 程 设 计 题 目 学 院 专 业 班 级 姓 名 同 组 者 指导教师 基于51单片机的节日彩灯设计 物流工程学院 物流工程 月 日 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 物流工程 __ 题 目: 单片机节日彩灯控制器 初始条件: 1.Protues 7 profes ...

  • 彩灯控制器设计
  • 皖西学院电信专业课程设计 课程设计名称: 电子技术课程设计 题 目: 彩灯控制器设计 学 期:专 业:班 级:姓 名:学 号:指导教师: 2016-2017学年第1学期 电子信息科学与技术 乐庆胜 李哲爽 2014011385 余平 彩灯控制器设计 皖西学院电信专业课程设计 摘 要 近年来,由于集成 ...

  • 四花样彩灯控制器
  • 课程设计说明书 课程设计名称: 数字电路课程设计 课程设计题目: 四花样彩灯控制器 学 院 名 称 : 信息工程学院 专业: 通信工程 班级: ********* 学号: *********** 姓名: ******* 评分: 教师: ****** 20 年 月 日 数字电路 课程设计任务书 20 ...

  • 多路彩灯控制器
  • 重庆交通大学 电子设计实践报告 班 级:电子信息工程专业实验所属课程: 实验室(中心) : 指 导 教 师 : 姓 名 : 学 号 : 实验完成时间:14级 1 班 电子设计实践 语音楼406 2016 年 6月 24日 电子设计实践课程 总结报告 多路彩灯控制器 日期: 2016 年6月 24日 ...

  • 彩灯控制器的设计
  • 安 徽 工 程 大 学 机 电 学 院 课 程 设 计 说 明 书 课程设计名称:电子技术课程 课程设计题目:彩灯控制器的设计 指导老师:查君君 专业班级:自动化1404 学生姓名:张晨 学号:[1**********]1 起止日期:2016.06.20-2016.07.01 任务书 设计题目:彩灯 ...

  • 节日彩灯控制器的设计
  • 微 机 应 用 课 程 设 计 题 目: 节日彩灯控制器的设计 作 者 姓 名: 黄 涛 学 号: 2012080336 学 院: 机械与电子工程学院 专 业: 电信(2)班 指导教师姓名: 2015年5月14日 目 录 摘 要 ................................... ...

  • 四花样彩灯控制器课设报告[昌航强悍暴力版]
  • 课程设计说明书课程设计名称:数字电路课程设计课程设计题目: _______四花样彩灯控制器_学 院 名 称:____信息工程学院专业:_ 班级:_学号:姓名:评分:教师:20年月日数字电路20题目 内容及要求课程设计任务书第 周- 周-20学年 第 学期设计制作一个四花样自动切换的彩灯控制器 1)彩 ...

  • 小彩灯的连接方式调查报告
  • 小彩灯的连接方式调查报告 小彩灯的灯泡是串联的,还是并联的呢?它们是怎样连接的? 串联电路优点:串联的小灯泡比较方便,当开关闭合时,整串的小彩灯都会亮起来. 串联电路缺点:串联电路中,如果有一个用电器损坏或某一处断开,整个电 路都变成断路,所有用电器都将停止工作,所以在串联电路中,各几个用电器互相牵 ...

  • 六路彩灯循环控制器数电课程设计
  • 一.设计目的及要求 1.1 课程设计的目的 1.巩固和加强<数字电子技术>课程的理论知识. 2.掌握电子电路的一般设计方法,了解电子产品研制开发过程. 3.掌握电子电路安装和调试的方法及其故障排除方法,学会用ewb 软件或multisim软件对电路仿真. 4.通过查阅手册和文献资料,培养 ...

  • 音乐彩灯控制器
  • 毕 业 设 计 年11月25日 2011 宝鸡职业技术学院 毕业设计任务书 姓 名:齐晓琨 专 业:机电一体化 班 级:机电0903班 设计课题:音乐彩灯控制系统 指导教师:史琳芸 电子信息工程系印制 二○一一年九月 毕业设计任务书 摘 要 电力电子技术产业作为当代高新技术尤其是信息技术产业与传统产 ...