摇摇棒项目报告.docx
- 文档编号:8008471
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:238.26KB
摇摇棒项目报告.docx
《摇摇棒项目报告.docx》由会员分享,可在线阅读,更多相关《摇摇棒项目报告.docx(14页珍藏版)》请在冰豆网上搜索。
摇摇棒项目报告
生产实习报告
实习课题:
摇摇棒的制作与调试
学院专业:
信息科学与工程学院电子信息工程专业
小组成员:
指导教师:
陈老师
实习时间:
2014、9、01-2014
一:
绪论
1、前言
人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用
按键对所显示内容进行切换。
学习了protel软件的用法,初步了解以单片机为核心的电子系统体系,对将要学习的单片机技术有了初步的认识。
2.实习目的
1.非常重要的实践教学环节
2.培养理论知识与生产实际相结合的能力
3.了解单片技术
4.锻炼实际动手能力,掌握电子线路焊接、装配的基本技能
5.了解并掌握本专业软硬件设计的一些基本问题
3.实习时间、进程安排、地点
9月12日:
介绍实习的具体情况和各个项目的要求,选定所做项目:
摇摇棒。
进行需求分析、自由分组。
选定项目及分组后,进行资料收集、查找及学习。
9月14日:
根据所选项目,选择器件类型(我们选择的是AT89s52芯片),初步了解原理图的分析与设计,提交需求报告。
9月15日:
确定最终的原理图设计方案,并确定多需元器件的具体类型和数量,同时初步了解相应的设计程序。
参考硬件电路绘制原理图及PCB绘制,进行了proteus仿真,进一步了解软件设计程序。
9月16日:
参照原理图及开发板进行焊接,尚未对焊接好的PCB版进行程序的写入和调试,芯片中的程序演示正常。
利用ISP下载端口进行程序的写入,总结实习报告。
实习地点:
湖南电子集信息实训基地
二:
实习内容
1、系统原理框图
2、视觉暂留原理
人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。
原因是由视神经的反应速度造成的.其时值是二十四分之一秒。
是动画、电影等视觉媒体形成和传播的根据。
视觉实际上是靠眼睛的晶状体成像,感光细胞感光,并且将光信号转换为神经电流,传回大脑引起人体视觉。
感光细胞的感光是靠一些感光色素,感光色素的形成是需要一定时间的,这就形成了视觉暂停的机理。
2、AT89S52单片机介绍
89s52是一种可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89s52是它的一种精简版本。
89s单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
89C51主要特性:
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
3、点阵字体介绍
点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示。
这种文字显示方式于较早前的电脑系统被普遍采用。
一般我们使用点阵显示汉字是用16*16的点阵宋体字库,所谓16*16就是每一个汉字在纵、横各16点的区域显示,然后用每个点的虚实来表示字符的轮廓。
4、LED发光二极管
发光二极管简称为LED。
由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。
在电路及仪器中作为指示灯,或者组成文字或数字显示。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
发光二极管的特点是:
工作电压很低;工作电流很小;抗冲击和抗震性能好,发光均匀稳定、响应速度快,可靠性高,寿命长。
发光二极管的反向击穿电压约5伏。
它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。
5、PCB板
印制电路板,又称印刷电路板、印刷线路板,简称印制板,英文简称PCB或PWB,以绝缘板为基材,切成一定尺寸,其上至少附有一个导电图形,并布有孔(如元件孔、紧固孔、金属化孔等),用来代替以往装置电子元器件的底盘,并实现电子元器件之间的相互连接。
由于这种板是采用电子印刷术制作的,故被称为“印刷”电路板。
习惯称“印制线路板”为“印制电路”是不确切的,因为在印制板上并没有“印制元件”而仅有布线。
采用印制板的德可以减少了布线和装配的差错,节省了设备的维修、调试和检查时间有利于设计上的标准化,利于互换,并且布线密度高、体积小、重量轻,利于电子设备的小型化,此外也有利于机械化、自动化生产,提高了劳动生产率并降低了电子设备的造价。
6、电路原理图
Proteus仿真电路图
电路原理图
芯片引脚图:
7、元件清单
AT89s52芯片及芯片座
印刷PCB板
5mm高亮发光二极管17个
晶振12M
30p瓷片电容3个
电阻10K
电解电容10uF
二极管IN4007
按键开关
弹簧开关
排阻10K*8
排针
8、电路分部功能原理
8.1显示部分
每个汉字的显示需要16*16点阵,所以本次所设计系统显示部分由16个灯组成,由于人的视觉暂留,16个灯在摇动下形成一个类似于扇形的点阵,通过中央控制器的控制,16个灯分时亮灭,可以在此扇形点阵上显示设定的内容。
16个灯分时亮灭闪动频率较高,而发光二极管具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,可用各种直流、交流、脉冲等电源驱动点亮等优点,所以可选用发光二极管作为显示灯。
发光二极管的反向击穿电压约5伏。
它的正向伏安特性曲线很陡,使用时串联了电阻以控制通过管子的电流。
其中16个LED为组成点阵的灯,1个LED为背景指示灯。
8.2驱动部分
单片机的时钟由一个12MHz的晶振和两个30pF的电容组成。
单片机内各部件之间有条不紊协调工作,其控制信号是在基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序,而产生这种基本节拍的电路就是振荡器和时钟电路。
此振荡器由XTAL1端向内部时钟电路提供12MHz的时钟源信号。
8.3电源部分
电路原理图如下图所示,系统电源D5V为5-6V,由两节CR2032的纽扣电池串联组成。
此外在电路输入输出端并联了一个10uF的电容,可改善系统瞬态响应和稳定性。
8.4切换按键
按键开关可以控制显示内容切换,从而实现系统可以不同的显示内容检切换。
8.5水银开关
棒在摇动时,只能朝某一个方向摇动时显示,否则会出现重影,所以通过接一个弹簧开关来控制。
弹簧开关一端连接89s52的INT0中断和电源,一端接地,通过摇晃使得弹簧开关的两引脚短接或断开,交叉输出高低电平,以此控制使摇摇棒从左向右摇动时将内容显示出来。
8.6ISP扩展接口
该扩展接口有5个端口,其中VCC接相应的5V电源端,GND、RX、TX分别于相应的端口连接,实现程序的擦除与烧写。
8.7PCB板的安装和调试
1.检查元器件数量与质量,并将元器件归类
2.对元器件的引脚进行整形以方便焊接时使用。
3.对烙铁镀锡,并清洁焊接部位。
4.焊接。
焊接的顺序是先低后高、先小后大、先轻后重、先易后难、先一般元件后特殊元件,且上道工序安装后不影响下道工序。
5.检查焊接质量,对不符合要求的进行修整。
6.剪去多余的引脚。
7.下载程序进行调试。
9、源程序代码
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineKEYP1_0
ucharKY;
uchardisp;
ucharpic=0,num=0;
ucharcodelove[]={
0x00,0x08,0x40,0x08,0x40,0x04,0xFE,0x07,
0x20,0x02,0x00,0x02,0x60,0x00,0x10,0x00,
0x10,0x1F,0x12,0x22,0x14,0x21,0x88,0x21,
0x28,0x20,0x18,0x20,0x00,0x18,0x00,0x00,
0x00,0x08,0x40,0x08,0x40,0x04,0xFE,0x07,
0x20,0x02,0x00,0x02,0x60,0x00,0x10,0x00,
0x10,0x1F,0x12,0x22,0x14,0x21,0x88,0x21,
0x28,0x20,0x18,0x20,0x00,0x18,0x00,0x00,
0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,
0x10,0x02,0x52,0x02,0x54,0x02,0xF8,0x7F,
0x2C,0x01,0x2B,0x01,0x09,0x01,0x00,0x01,
0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,
};
ucharcodeloveyou[]={
0x00,0x10,0x00,0x08,0x10,0x04,0x10,0x22,
0x90,0x21,0x70,0x11,0x0F,0x0A,0x08,0x04,
0xC8,0x03,0x08,0x06,0x08,0x09,0x88,0x11,
0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x00,
0x00,0x00,0x00,0x20,0x40,0x10,0x40,0x08,
0x40,0x04,0x40,0x03,0xFF,0x08,0x20,0x11,
0x20,0x02,0x20,0x04,0x20,0x08,0x20,0x10,
0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x00,
0x00,0x04,0x44,0x02,0x28,0x11,0x90,0x20,
0xE8,0x1F,0x06,0x00,0x00,0x00,0xF8,0x3F,
0x55,0x11,0x56,0x0A,0x44,0x05,0xBC,0x08,
0x00,0x18,0x00,0x10,0x00,0x10,0x00,0x00,
};
ucharcodehehe[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,
0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,
0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,
0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,
0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,
0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
unsignedcharcodehanzi[]={
0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0xF8,0x07,0x08,0x00,0xFF,0xFF,
0x08,0x04,0xF8,0x87,0x00,0x60,0xFE,0x1F,
0xC2,0x00,0x82,0x01,0x02,0x01,0xFE,0x3F,
0x00,0x40,0x00,0x40,0x00,0x78,0x00,0x00,
0x00,0x40,0x00,0x20,0x00,0x18,0xFE,0x07,
0x02,0x10,0x12,0x08,0x22,0x04,0x42,0x02,
0x82,0x01,0x62,0x02,0x12,0x0C,0x02,0x10,
0xFE,0x0F,0x00,0x30,0x00,0x7C,0x00,0x00,
0x00,0x20,0xFE,0x1F,0x00,0x00,0xFC,0x0F,
0x00,0x00,0xFE,0x7F,0x00,0x00,0xF2,0x47,
0x12,0x20,0x1A,0x10,0x96,0x0F,0x12,0x10,
0x12,0x20,0xF2,0x67,0x00,0x00,0x00,0x00,
0x08,0x00,0x08,0x00,0xE8,0x7F,0xA8,0x04,
0xA9,0x24,0xAE,0x44,0xEA,0x3F,0x08,0x00,
0x08,0x00,0xC8,0x1F,0x0C,0x40,0x0B,0x80,
0xEA,0x7F,0x08,0x00,0x08,0x00,0x00,0x00,
0x10,0x04,0x12,0x03,0xD2,0x00,0xFE,0xFF,
0x91,0x00,0x11,0x41,0x80,0x44,0xBF,0x44,
0xA1,0x44,0xA1,0x7F,0xA1,0x44,0xA1,0x44,
0xBF,0x44,0x80,0x44,0x00,0x40,0x00,0x00,
0x80,0x00,0x40,0x00,0xFC,0x7F,0x0F,0x00,
0x00,0x00,0xF8,0x1F,0x00,0x48,0x02,0x44,
0x1C,0x22,0x08,0x21,0x00,0x10,0x00,0x0C,
0xFF,0x03,0x00,0x0C,0x00,0x70,0x00,0x00,
0x40,0x01,0x30,0x01,0x2F,0x01,0xE4,0x7F,
0x24,0x21,0x24,0x11,0x00,0x00,0x7C,0x3F,
0x54,0x01,0x56,0x01,0xD5,0xFF,0x54,0x01,
0x54,0x11,0x7C,0x21,0x00,0x1F,0x00,0x00,
0x00,0x20,0x40,0x20,0x40,0x10,0x48,0x0C,
0x48,0x03,0xC8,0x40,0x09,0x80,0xFA,0x7F,
0x46,0x00,0x80,0x00,0x40,0x03,0x20,0x04,
0x30,0x08,0x00,0x10,0x00,0x10,0x00,0x00,
0x00,0x00,0x02,0x08,0x02,0x04,0x02,0x02,
0x02,0x01,0x82,0x00,0x42,0x00,0xFE,0x7F,
0x06,0x00,0x42,0x00,0xC2,0x00,0x82,0x01,
0x02,0x07,0x03,0x02,0x02,0x00,0x00,0x00,
0x00,0x00,0x02,0x08,0x02,0x04,0x02,0x02,
0x02,0x01,0x82,0x00,0x42,0x00,0xFE,0x7F,
0x06,0x00,0x42,0x00,0xC2,0x00,0x82,0x01,
0x02,0x07,0x03,0x02,0x02,0x00,0x00,0x00,
0x00,0x02,0x04,0x02,0x04,0x82,0x44,0x42,
0x64,0x32,0xD4,0x0F,0x4C,0x02,0x45,0x02,
0x26,0x02,0x24,0x02,0xAC,0xFF,0x74,0x02,
0x24,0x02,0x06,0x02,0x04,0x02,0x00,0x00,
};
voiddisplay1(void);
voiddisplay2(void);
voiddisplay3(void);
voiddisplay4(void);
voidDelayUs(uintN)
{
uintx;
for(x=0;x<=N;x++);
}
voidintersvr0(void)interrupt0using1
{
KY=~KY;
if(KY==0)
{
num++;
switch(pic)
{
case0:
{display1();}break;
case1:
{display2();}break;
case2:
{display3();}break;
case3:
{display4();}break;
default:
{display1();}
}
}
}
voiddisplay1(void)
{
uchari;
if(num>10){disp++;num=0;}
if(disp>2)disp=0;
DelayUs(5200);
for(i=0;i<64;i++)
{
P0=~hanzi[disp*128+i*2];
P2=~hanzi[disp*128+i*2+1];
DelayUs(100);
}
}
voiddisplay2(void)
{
uchari;
DelayUs(4000);
for(i=0;i<64;i++)
{
P0=~love[i*2];
P2=~love[i*2+1];
DelayUs(120);
}
}
voiddisplay3(void)
{
uchari;
DelayUs(4000);
for(i=0;i<64;i++)
{
P0=~loveyou[i*2];
P2=~loveyou[i*2+1];
DelayUs(120);
}
}
voiddisplay4(void)
{
uchari;
DelayUs(4000);
for(i=0;i<64;i++)
{
P0=~hehe[i*2];
P2=~hehe[i*2+1];
DelayUs(120);
}
}
voidmain(void)
{
IT0=1;
EX0=1;
EA=1;
KY=0;
while
(1)
{
if(KEY==0)
{
DelayUs(10000);
if(KEY==0);
pic++;}
if(pic>3)pic=0;
}
}
总结:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 摇摇 项目 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)