单片机实验报告花样流水灯.docx

上传人:b****5 文档编号:11751441 上传时间:2023-03-31 格式:DOCX 页数:18 大小:852.99KB
下载 相关 举报
单片机实验报告花样流水灯.docx_第1页
第1页 / 共18页
单片机实验报告花样流水灯.docx_第2页
第2页 / 共18页
单片机实验报告花样流水灯.docx_第3页
第3页 / 共18页
单片机实验报告花样流水灯.docx_第4页
第4页 / 共18页
单片机实验报告花样流水灯.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

单片机实验报告花样流水灯.docx

《单片机实验报告花样流水灯.docx》由会员分享,可在线阅读,更多相关《单片机实验报告花样流水灯.docx(18页珍藏版)》请在冰豆网上搜索。

单片机实验报告花样流水灯.docx

单片机实验报告花样流水灯

电子工艺学

考试作品报告

 

作品名称:

花样流水灯

姓名:

专业班级:

电信1105

学号:

中南大学物理与电子学院

 

第一章系统整体概述…………………………………………………………

第二章硬件设计………………………………………………………………

第三章软件设计………………………………………………………………

第四章调试与分析……………………………………………………………

第五章制作感受………………………………………………………………

 

【摘要】

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。

制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。

本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于单片机AT89C52和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C52为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。

本设计用AT89C52单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。

该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。

关键字:

AT89C52单片机流水灯数码管

AT89C52单片机概述

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程。

 

第一章、系统整体概述

设计内容和目的

1)简单I/O引脚的输出

2)掌握软件延时编程方法

3)简单按键输入捕获判断

在AT89S52-Ⅰ开发板上实现16个发光LED“流水”的现象,并通过编写程序控制流水现象。

硬件设计电路的元件清单

器件名称

数量

AT89C52

1

开关

1

USB接口

1

10K电阻

1

1K电阻贴片

16

电容10uF

1

电容22pF

2

LED灯

16

晶振

1

 

第二章、硬件设计

2.1系统硬件总电路构成及原理

实现本设计要求的具体功能,可以选用STC89C52单片机及外围器件构成最小控制系统,16个发光二极管按一定顺序点亮。

2.2主控制部分――STC89C52单片机简介

1STC89C52实物图,管脚图

 

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

2特性分析

STC89C52RC单片机:

8K字节程序存储空间;

512字节数据存储空间;

内带2K字节EEPROM存储空间;

可直接使用串口下载;

AT89S52单片机:

8K字节程序存储空间;

256字节数据存储空间;

没有内带EEPROM存储空间;

3参数

1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[2]

2.工作电压:

5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3.工作频率范围:

0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz

4.用户应用程序空间为8K字节

5.片上集成512字节RAM

6.通用I/O口(32个),复位后为:

P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片

8.具有EEPROM功能

9.共3个16位定时器/计数器。

即定时器T0、T1、T2

10.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒

11.通用异步串行口(UART),还可用定时器软件实现多个UART

12.工作温度范围:

-40~+85℃(工业级)/0~75℃(商业级)

13.PDIP封装

 

2.2.251单片机的串行接口工作方式

51单片机的串行接口有四种工作方式。

方式0是将SBUF作为8位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。

       

图3.2 串行接口与单片机的连接

2.3其它器件

晶体振荡器

简介

器件,它的基本构成大致是:

从一块石英晶体上按一定方位角切下薄片(简称为晶片,石英晶体谐振器,简称为石英晶体或晶体、晶振[1];而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。

其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。

主要参数

参数

基本描述

频率准确度

在标称电源电压、标称负载阻抗、基准温度(25℃)以及其他条件保持不变,晶体振荡器的频率相对与其规定标称值的最大允许偏差,即(fmax-fmin)/f0;

温度稳定度

其他条件保持不变,在规定温度范围内晶体振荡器输出频率的最大变化量相对于温度范围内输出频率极值之和的允许频偏值,即(fmax-fmin)/(fmax+fmin);

频率调节范围

通过调节晶振的某可变元件改变输出频率的范围。

调频(压控)特性

包括调频频偏、调频灵敏度、调频线性度。

①调频频偏:

压控晶体振荡器控制电压由标称的最大值变化到最小值时输出频率差。

②调频灵敏度:

压控晶体振荡器变化单位外加控制电压所引起的输出频率的变化量。

③调频线性度:

是一种与理想直线(最小二乘法)相比较的调制系统传输特性的量度。

负载特性

其他条件保持不变,负载在规定变化范围内晶体振荡器输出频率相对于标称负载下的输出频率的最大允许频偏。

电压特性

其他条件保持不变,电源电压在规定变化范围内晶体振荡器输出频率相对于标称电源电压下的输出频率的最大允许频偏。

杂波

输出信号中与主频无谐波(副谐波除外)关系的离散频谱分量与主频的功率比,用dBc表示。

谐波

谐波分量功率Pi与载波功率P0之比,用dBc表示。

频率老化

在规定的环境条件下,由于元件(主要是石英谐振器)老化而引起的输出频率随时间的系统漂移过程。

通常用某一时间间隔内的频差来量度。

对于高稳定晶振,由于输出频率在较长的工作时间内呈近似线性的单方向漂移,往往用老化率(单位时间内的相对频率变化)来量度。

日波动

指振荡器经过规定的预热时间后,每隔一小时测量一次,连续测量24小时,将测试数据按S=(fmax-fmin)/f0式计算,得到日波动。

开机特性

在规定的预热时间内,振荡器频率值的最大变化,用V=(fmax-fmin)/f0表示。

相位噪声

短期稳定度的频域量度。

用单边带噪声与载波噪声之比£(f)表示,£;(f)与噪声起伏的频谱密度Sφ(f)和频率起伏的频谱密度Sy(f)直接相关,由下式表示:

f2S(f)=f02Sy(f)=2f2£;(f)

f—傅立叶频率或偏离载波频率;f0—载波频率。

工作原理

计算机都有个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器(timer)可能更恰当一点。

计算机的计时器通常是一个精密加工过的石英晶体,石英晶体在其张力限度内以一定的频率振荡,这种频率取决于晶体本身如何切割及其受到张力的大小。

有两个寄存器与每个石英晶体相关联,一个计数器(counter)和一个保持寄存器(holdingregister)。

石英晶体的每次振荡使计数器减1。

当计数器减为0时,产生一个中断,计数器从保持计数器中重新装入初始值。

这种方法使得对一个计时器进行编程,令其每秒产生60次中断(或者以任何其它希望的频率产生中断)成为可能。

每次中断称为一个时钟嘀嗒(clocktick)。

晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率为并联谐振。

由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。

这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。

晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。

一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。

一般的晶振的负载电容为15p或12.5p,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。

2.4最小系统介绍

1.51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。

2.51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

3.51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好

4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。

其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。

设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。

计数值N乘以机器周期Tcy就是定时时间t。

5.设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。

在每个机器周期的S5P2期间采样T0、T1引脚电平。

当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。

当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。

6.标识符号地址寄存器名称P30B0HI/O口3寄存器

7.PCON87H电源控制及波特率选择寄存器

8.SCON98H串行口控制寄存器

9.SBUF99H串行数据缓冲寄存器

10.TCON88H定时控制寄存器

11.TMOD89H定时器方式选择寄存器

12.TL08AH定时器0低8位

13.TH08CH定时器0高8位

14.TL18BH定时器1低8位

15.TH18DH定时器1高8位

原理图

Pcb图

实物图

 

第三章软件设计

源程序

/*名称:

花样流水灯

说明:

16只LED分两组

按预设的多种花样变换显示

*/

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodePattern_P1[]=

{

0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,

0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,

0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,

0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff

};

ucharcodePattern_P2[]=

{

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,

0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,

0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,

0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,

0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,

0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff

};

//延时

voidDelayMS(uintx)

{

uchari;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

voidmain()

{

uchari;

while

(1)

{//从数组中读取数据送至P0和P2口显示

for(i=0;i<136;i++)

{

P1=Pattern_P1[i];

P2=Pattern_P2[i];

DelayMS(100);

}

}

}

 

四、调试与分析

此次实验我经过了多次修改才最终取得成功。

首先,我先查阅了大量的书籍,及XX了一些前人的设计作为参考,然后完成了自己的原理图。

然后用电脑画pcb板,尝试了好几种布线,由于是双面板,所以布线相对比单面要容易一些。

画好pcb板,然后去604洗板子,由于时值期末高峰期,人非常之多,等了大约30分钟,才轮到我洗。

由于洗的次数不多,不知道显影剂的量,导致最后洗的板子上面的绿线有好多缺口,十分不美观,而且在连接电路时,我见其中有好多处的铜线好像是断裂的,为了实验能够一步成功,我用万用表把自己的线一个一个的检测了一遍,结果果然发现了有两块断路。

最终用烙铁小心翼翼的把它焊接好。

之后在焊接元器件时,由于有几条线非常密集,导致焊接后连到一起了,形成了新的连通,这是肯定会出错的。

而且稍有不慎,可能会烧到器件,甚至可能有安全方面的问题。

于是我找来了那个吸焊器,找旁边的同学配合了一下,成功地把不该有的连同弄断了。

之后在把程序导入到单片机后,第一次调试时发光2级管一个都没亮,这时,我料想肯定是设计图失误了,而且肯定是一个比较大的失误,要不然不可能一个灯都不亮,于是我仔细检查,发现原来是发光二极管正负极全接反了,于是我仔细把锡吸走,把灯全部变过来,最终试验成功了,完成了预期的变化。

 

第五章、制作感受

这次期末设计让我受益匪浅。

通过这次设计我对自己在本学期里所学的知识得到了回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了这份实验报告。

撰写实验的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。

培养了我运用所学知识解决实际问题的能力。

通过这次设计我发现,只有理论水平提高了,才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。

这个设计十分有意义我获得很深刻的经验。

通过这次毕业设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,,也从中得知了很多书本上无法得知的知识。

我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。

学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。

这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。

这次花样流水灯的设计作为自己在大学里做的第二件实际的东西,使自己受益很多。

以前总是感觉单片机的书本设计都是很简单的样子,以为实际很简单,但是当自己做的时候才发现,自己动起手来并不是那么的容易。

首先为了使画出来的板子美观。

只是画图布局就思考了好久。

最头疼的是电路的调试过程,真的需要很大的耐心,当看着自己辛辛苦苦做出的作品没有它本来应有的功能时,有很大的挫败感。

但这更培养了自己的耐心与决心。

另外这次的设计还让我明白了,不能闭门造车,要多向学长、同学请教,勤于查资料,勤于实践,才能提高自己动手能力,考虑问题、思考问题的能力,这次交通信号灯的制作使自己各方面的能力都有所提高,很高兴这门课程的开设,给了我这么一个机会,我相信自己在以后的日子里会再接再励。

这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。

于是,我坚持了下来。

当然最终,这个设计很成功,主要体现在,这一整个系统,程序由自己独立完成。

通过单片机课程设计,我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜别人,超越前人。

同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

参考文献

【1】张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998.

【2】余锡存曹国华.单片机原理及接口技术.西安电子科技大学出版社,2000.

【3】雷丽文等.微机原理与接口技术.电子工业出版社,1997.

【4】吴黎明,王桂棠,洪添胜,等.单片机原理及应用技术.科学出版社,2005.

【5】韩克,柳秀山,等.电子技能与EDA技术.暨南大学出版社,2004.

【6】周润景.张丽娜.基PROTEUS的电路及单片机系统设计与仿真.航空航天大学出版社,2006.

【7】张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998

【8】李鸿恩,熊国奎.数字电子技术.重庆大学出版社,1994

【9】胡宴如.模拟电子技术.高等教育出版社,2004

【10】《单片机原理与应用技术》主编:

苏家健等高等教育出版社出版

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1