摇摇棒课程设计02.docx

上传人:b****6 文档编号:7080374 上传时间:2023-01-17 格式:DOCX 页数:10 大小:242.97KB
下载 相关 举报
摇摇棒课程设计02.docx_第1页
第1页 / 共10页
摇摇棒课程设计02.docx_第2页
第2页 / 共10页
摇摇棒课程设计02.docx_第3页
第3页 / 共10页
摇摇棒课程设计02.docx_第4页
第4页 / 共10页
摇摇棒课程设计02.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

摇摇棒课程设计02.docx

《摇摇棒课程设计02.docx》由会员分享,可在线阅读,更多相关《摇摇棒课程设计02.docx(10页珍藏版)》请在冰豆网上搜索。

摇摇棒课程设计02.docx

摇摇棒课程设计02

第1章绪论

1.1单片机定义

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

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

自动化、数字化和智能化是现代科技发展的潮流,而凡是需要自动化、数字化和智能化的产品和设备等都离不开单片机。

1.2单片机介绍

单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

随着现代电子技术的发展,人们正处在一个信息时代。

每天都要通过电视,广播,通信,互联网等多种媒体获取大量的信息。

而现代信息的储存,处理和传输越来越趋于数字化。

在人们的日常生活中,常用的那个计算机,电视机,音响系统,视频记录设备,长途电信等电子设备或电子系统,无一不采用数字电路或数字系统。

因此,数字电子技术的应用越来越广泛。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。

随着INTEL.i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。

目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。

而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!

它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!

但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!

只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?

很多高级的语言已经达到了可视化编程的水平为什么不用呢?

原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!

对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。

单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。

一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

1.3单片机的工作过程

单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。

为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。

存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

 

第2章摇摇棒原理与设计

2.1摇摇棒原理

“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。

输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。

当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。

2.2摇摇棒介绍

摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。

可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。

本设计要求制作完成一个LED的显示棒。

要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:

“电”、“A”、五环之类的汉字或图案且可以使用按键对显示内容进行切换。

2.3系统设计要求及思路

1写出课程设计过程的运行结果、现象、体会与收获(较深的经验或教训);

2画出系统硬件电路图,并说明各部分原理及功能;

3写出主程序流程图;

4写出原程序清单;

摇摇棒制作有关的各种原理以及汇编代码,实现摇棒所期望现实的内容,

第一步:

根据摇棒的工作原理构思源程序的模块和相关编程。

第二步:

根据摇棒的原理搭接电路原理图,并准备好实物进行焊接。

第三步:

将写好后的程序原代码进行编译确认无误将源代码导入STC89S52

第四步:

反复调试摇棒来达到预期值。

本系统要求设计一个LED显示棒,,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,LED显示棒系统,单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。

本设计的难点在于送数据的时间间隔以及较长画面或文字的完整显示。

LED灯的选择为传统LED发光二极管。

颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。

单片机的字模读取是通过在水银开关闭合的次数上来取设计子的代码(即设变量N,水银开关每闭合一次,N加一,数组指向下一个字模代码)。

使用水银开关。

通过摇晃使得水银开关与焊接的左右两个触点接触,利用这种接触产生的电平变化来改变数组指向,结合软件控制显示,制作简单,使用方便。

为了方便起见如图一所示。

图一主程序流程图

2.4系统硬件设计

2.4.1.单元电路设计

图二复位电路图三时钟电路

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。

89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。

当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响应并将系统复位。

单片机系统的复位方式有:

手动按钮复位和上电复位。

手动按钮复位需要人为在复位输入端RST上加入高电平(图二)。

一般采用的办法是在RST端和正电源Vcc之间接一个按钮。

当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。

手动按钮复位的电路如所示。

由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。

89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。

当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。

单片机系统的复位方式有:

手动按钮复位和上电复位。

时钟在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式(如图三)。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

内部振荡方式的外部电路如下图所示。

外部振荡方式是把外部已有的时钟信号引入单片机内。

这种方式适宜用来使单片机的时钟与外部信号保持同步。

外部振荡方式的外部电路如下图所示。

图三中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。

晶振频率的典型值为12MH2,采用6MHz的情况也比较多。

内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。

2.4.2LED显示模块

首先,我们根据LED点阵屏的显示原理:

点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。

它的顺序可以总结为:

行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取依次循环下去,一幅完整的图案就显示在了显示屏上。

而本次设计的LED显示棒数据传输原理与LED点阵屏相似。

可以把LED显示棒看成是LED点阵屏中的一列。

为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行×1列。

数据传输时我们同样使用行送数据、列扫描。

在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。

 

第三章总结

在本设计的过程中,虽然我们花去了很多功夫在硬件电路上的焊接与硬件检查中,下了很大的功夫,但设计的结果最终达到了预想的效果。

本次设计综合运用了字模转换软件。

同时查阅了大量相关资料,包括查阅相关书籍和网上的资料,获得了一些相关信息。

在设计方面,采用了在变量自加的原理,在经过逐个读取的方法来显示要显示的内容。

最后还得出以下几点

1.准备越充分,实验越顺利。

在做设计前了解相关知识、材料、方法可以避免许多没有必要的麻烦,一步一个脚印,就不必“从头再来”。

最不能容忍的是在开始的几步偷懒,造成后面总有一些无法排除的障碍。

2温故而知新。

课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感知识的不够,便重拾教材对知识系统而全面进行了梳理,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识。

3思路即出路。

当初没有思路,诚如举步维艰,茫茫大地,不见道路。

在对理论知识梳理掌握之后,茅塞顿开,柳暗花明,思路如泉涌,高歌“条条大路通罗马”。

顿悟,没有思路便无出路,原来思路即出路

 

参考文献(References):

[1]蔡美琴,MSC-51系列单片机系统及其应用[M].北京:

高等教育出版社,2004:

[2]冯博琴,单片微型计算机原理及应用.清华大学出版社].2007:

 

附录1:

整体电路图

注:

1、LED直径3MM2、S1为水银开关3、CON4为USB口

 

附录2:

原程序清单

#include

#include

sbitK1=P3^2;

voiddelay(unsignedinti);

unsignedcharcodeyu[]=

{

/*--文字:

俞--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x20,0x20,0xD0,0x50,0x58,0x54,0xD2,0x11,0x12,0x94,0x18,0x10,0xB0,0x60,0x20,0x00,

0x10,0x60,0x01,0xF6,0x00,0x10,0xF8,0x17,0x34,0x54,0x14,0x14,0xF4,0x04,0x04,0x00,

};

unsignedcharcodehai[]=

{

/*--文字:

海--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x7F,0x09,0x29,0x49,0x3F,0x00,0x00,0x0F,0x20,0x40,0x3F,0x00,0x00,0x00,

0x04,0x04,0xFF,0x00,0x01,0x01,0x1F,0x11,0x13,0x15,0x51,0x91,0x7F,0x11,0x11,0x00,

};

voiddelay(unsignedinta)

{

unsignedinti,j;

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

for(j=0;j

}

 

main()

{

unsignedinti;

P0=0xff;

P2=0xff;

while

(1)

{

delay(10);

if(K1==0)

{

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

{

P0=~yu[i];

P2=~hai[i];

delay(5);

};

}

}

}

 

附录3:

元器件清单

序号

元件名称

型号与规格

单位

数量

1

电阻

470Ω

16

10KΩ

1

2

电解电容

10Uf

1

3

瓷片电容

0.03uF

2

4

晶振

12MHZ

1

5

发光二极管

Ψ5红色

16

6

单片机

STC89C51

1

7

集成电路插座

20脚

1

8

按钮

1

9

水银开关

1

10

线路板

1

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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