4x4单片机89C51彩灯控制设计.docx
- 文档编号:10194408
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:11
- 大小:248.05KB
4x4单片机89C51彩灯控制设计.docx
《4x4单片机89C51彩灯控制设计.docx》由会员分享,可在线阅读,更多相关《4x4单片机89C51彩灯控制设计.docx(11页珍藏版)》请在冰豆网上搜索。
4x4单片机89C51彩灯控制设计
一.实验目的:
3
二.实验内容和要求:
3
1.内容:
3
2.要求3
三.实验主要的仪器设备和材料:
3
1.设备:
PC机,电烙铁等。
3
2.单片机最小系统和下周线购物清单:
3
四.方案设计与选择4
1.方案的设计:
4
2.方案的选择:
4
3.硬件方案:
4
4.软件方案7
五.调试过程:
9
六.运行结果:
9
七.实验思考题:
10
八.实验心得体会:
10
九.实验实物照片:
………………………………………………...11
实验项目名称:
材料成型计算机应用综合实验
实验项目性质:
综合性
一.实验目的:
1.掌握单片机的开发和应用
2.巩固和加深单片机和计算机控制原理这些已学过的知识
3.掌握自身动手能力和解决实际问题的能力
4.提高学生的创新和综合能力。
二.实验内容和要求:
用AT89S52芯片控制彩灯(流水灯)图形。
AT89S52单片机上电时控制由发光二极管组成的图形有规律地不停闪烁;当按下按钮时彩灯图形全灭,而继电器工作吸合(控制~220V30W灯泡亮)5秒。
5秒后返回彩灯闪烁。
1.要求
(1)设计并绘制硬件电路图(包括含强电控制部分,做实物板时强电部分可省略);
(2)焊接元器件;
(3)编写程序并将调试好的程序固化到单片机中。
硬件(电路图,元器件布置,排线,焊接)及硬件(程序设计,编写)均由同学们自己完成。
程序编写进行调试,调试成功后将程序烧录到单片机内。
通过检查你的系统是否正确运行,如果不行,要找出问题并解决之。
三.实验主要的仪器设备和材料:
1.设备:
PC机,电烙铁等。
2.单片机最小系统和下周线购物清单:
表3—001单片机最小系统和下载线购物清单
名称
数量
名称
数量
AT89S52
1
1K排阻
6
40针IC座
1
10K1K电阻
各5只
晶振12MHz
1
104电容
2
20PF电容
2
按键
2
4148二极管
1
继电器(线圈额定电压DC5V触点负载3A220VAC)
1
电解电容10uF25V
1
万能印刷电路板160x125mm
1
三极管C8550(NPN型)
1
锡焊丝
1扎
10针插座(与USPISP下载器插头配接)
1
6V五号电池电池盒
1
连接线
若干
发光二级管
自定(30只,多不限、需要不同的颜色)
USBISP下载器
2
5号电池
4
四.方案设计与选择
3.方案的设计:
本设计思路是:
利用单片机对整个系统进行总体控制,进行显示要显示的图形。
即AT89S52单片机上电时控制由发光二极管组成的图形有规律地、反复地不停闪烁,以引脚输出来控制彩灯的亮灭,并由程序控制不同形式。
方案:
使用发光二级管围成4X4阵列,通过延时1S显示1个图形的设计,总共显示8个图形然后反复循环,此间没有进行音乐添加。
4.方案的选择:
根据我们的能力和时间及目前的实际条件,由于时间和工具有限,我们选择了比较简单的方案,就时间来说,因为只有不足的4天,对于在这方面没什么概念的学生来说难度有点大,还有程序都花了两天来想,就这一点所以我们选择比较简单的方案。
5.硬件方案:
1).设计思想
硬件方案的设计思想主要是根据我们所需的效果设计的,还综合考虑了各元器件的排布和实物板的大小和我们的实际,再就是为了符合本次实验的要求最终确定的。
2).阐述工作原理:
本彩灯显示采用AT89C52单片机作控制器,12MHZ晶振,4X4彩灯点阵,其中P1口作为图形数据输出口,第31脚(EA)接电源,P2.1口接晶体管控制继电器,P3.2口接按钮开关。
XTAL1、XTAL2晶振。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常第规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位
(1)二极管发光(彩灯)电路;
从上图中可以看出,4X4点阵共需要16个发光二级管组成,且每个发光二级管是放置在行线和列线的交叉点上,两个二级管并联,总共有8个并联分别接P0的相应接口。
当某一P0口置0低电平时,则相应的两并联的二级管就亮;因此实现相应的亮法。
(2)AT89S52的时钟电路;
从图上可知AT89S52芯片内有一个高增益的放大器,用于构成振荡器。
放大器的输入为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
电容可稳定频率并对振荡器有微调作用。
震荡脉冲频率范围为fosc=12MHz,震荡信号从XTAL2端输入到片内时钟发生器上,来协助单片机各个部件正常协调地工作。
(3)继电器控制电路
当AT89S52单片机的P2.1引脚输出低电平时,三极管T饱和导通,+5V电源加到继电器线圈两端,继电器吸合,同时状态指示的发光二极管也点亮,继电器的常开触点闭合,相当于开关闭合。
2、当AT89S52单片机的P2.1引脚输出高电平时,三极管T截止,继电器线圈两端没有电位差,继电器衔铁释放,同时状态指示的发光二极管也熄灭,继电器的常开触点释放,相当于开关断开。
(4)硬件电路图
6.软件方案
4.1程序流程图;
4.2程序清单;
ORG0000H
AJMPMAIN
ORG0003H
LJMPSERVE0;按钮按下后延长时间5S
ORG0060H
MAIN:
SETBEX0
SETBEA
MOVDPTR,#TABLE;将图形数据存入ROM中
LOOP1:
MOVR0,#00H;R0存放TABLE的偏移值,每次加1
LOOP:
CLRA
MOVA,R0
MOVCA,@A+DPTR
CJNEA,#01H,LOOP2
SJMPLOOP1
LOOP2:
MOVP1,A;将数据写入P1口中显示图形
LCALLDELAY
INCR0;R0;加1转到下一个图形
AJMPLOOP
DELAY:
MOVR7,#64H;DELAY;彩灯每个图形延长时间为1S
L3:
MOVR5,#14H
L1:
MOVR6,#0FFH
L2:
DJNZR6,L2
DJNZR5,L1
DJNZR7,L3
RET
SERVE0:
PUSHACC
PUSHPSW
CLRP2.1
MOVP1,#0FFH
MOVR7,#050H;晶振12MHZ,延时
DELAY1:
MOVTMOD,#01H;设置定时器的工作方式为方式1
MOVTL0,#0B0H;给定时器设置计数初始值
MOVTH0,#3CH
SETBTR0;启动定时器
HERE:
JBCTF0,NEXT1
SJMPHERE
NEXT1:
MOVTL0,#0B0H
MOVTH0,#3CH
DJNZR7,HERE
CLRTR0;定时器要软件清零
SETBP2.1;关闭继电器
POPPSW
POPACC
TABLE:
DB0F0H,0FH,0AH,05FH;图形数据
DB0F5H,0FAH,0F6H,0F9H
DB00H,01H
END
五.调试过程;
1.原材料的选择与采购
单片机我们采用了AT89C52,此单片机的使用和外围连接见硬件系统的电路设计原理说明。
三极管驱动采用PNP型的,晶振是12MHZ,电源为+5V的电压。
外中断的等待用的是单片机的P3.2口,按键是轻触开关。
1).原理图的构思。
首先在草稿纸上画好原理图,然后准备好各种元件,准备组装电路板。
2.元件的焊接。
元件焊接的时候要先查看跳线,首先焊接所有的跳线,其次再焊接分离元件,最后焊接集成块和外接的引线。
4).电路的整体组装。
焊接好各元件和导线之后,完善导线布局,完成电路板的整体组装。
3).整体检查。
查看是否有断线和虚焊,控制部分功能是否正常等。
2.软件的调试
首先把设计好的程序在KEIL软件编译无误完成之后,为了保险,我们还用Proteus7.5来设计仿真实验,通过修改和验证,最终在Proteus上面也成功实现了设想的功能。
图4-Proteus软件调试界面
3.硬件系统的调试
电路系统接上电源之后,对各个电路用万用表进行全面检查,首先检查单片机的电源供电情况,供电正常。
再检查显示部分的电源供电情况,LED两端的电压也是正常的。
六.运行结果:
当我们把程序烧入芯片是发现灯全亮而且没有跳动,按下复位键灯的图形没有变化,按下控制继电器按钮,与继电器相连的灯没有亮,且5S前后灯一直亮。
对上这种问题,我们就判断是电路问题,于是我们就依次发现RST键接错、三极管e极和b极接反、继电器端没有接地,于是我们就将错的电路修正,在4X4彩灯点阵中依次显示所要显示的图形,当按下按钮式,继电器工作5S同时彩灯熄灭5S,5S后继电器停止工作同时彩灯再次显示图形,显示正常。
七.思考题:
1.P0口作为输出口使用时应注意哪些问题?
答:
当P0口作为输出口使用时,来自CPU的"写入"脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出.但要注意,由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出.
2.若单片机I/O口控制强电设备(例如控制220V的电灯)应如何处理?
答:
利用继电器或者是使用双向可控硅来控制强电设备,如过直接控制强电设备肯定会烧坏芯片,只有通过I/O口直接控制继电器或者双向可控硅间接控制强电设备,避免烧坏芯片。
八.实验心得体会
为期五天的材料成型计算机应用综合实验的课程设计,不仅考验我们的动脑能力,还考验了我们的动手能力。
有了idea,还得有实施的可能性,务实,给了我们最深的感触。
课程设计有序的进行,分工也较明确,大家主动参与的积极性也高。
结合设计内容和要求,通过熟悉各个元件,了解他们的使用,功能,型号等等,我们商讨了总的方案:
软件编写由黄华海和陈仲瑞负责,并用keil生成程序文件,电路图由陈泽雄用autoCAD规划,电路板焊接由陈铭福负责,proteus仿真由陈远扬和陈群完成。
心得和实验报告分别由一个人书写,如果哪一方有问题都是集体商榷讨论完成。
由于考虑到电路板的空间布局,彩灯程序的复杂程度和实验时间等等因素,我们决定了一个比较容易上手的方案,彩灯的布局为4*4方阵,闪烁规律为交叉,圆圈,对边闪烁,单边闪烁,共三种彩灯。
实验过程也遇到了较多的问题,程序中主程序用的是调用延时子程序软件定时的方法,中断用的是硬件定时方法,主程序编写较顺利,遇到瓶颈的是终端定时程序的书写和keil软件的熟悉,在这方面,我们耗掉了较多的时间。
画电路图,连线问题较纠结,毕竟焊接电路图是以这为参照的,也会遇到CAD制图问题,仿真proteus软件使用较复杂,焊接遇到的主要是操作不是很规范,会烧坏连接线表皮和电路板等等,通过温故课本知识,结合老师给的资料,链接网上资源,以上问题都得以解决,多渠道多角度多多方位思考,让我们得以最终完成。
每一次实验,每一次集体的合作都会让我们收获颇多,协调,分工,参与度等等都会考验着我们。
相信,每一次的学习都会让们成长很多。
很感动的就是,指导老师还早早来到我们宿舍,为我们解答疑问,这更是激发了我们的热情。
我们的疑问,市场上有单色的点阵彩灯,单片机输出口接的彩灯数形成的布局几分不会有太大区别,形成移位闪烁等等,都叫方便,但如果是多种颜色组成的点阵,想要得到规律闪烁等等,输出口接彩灯数,和每种颜色彩灯的布局,加上编写程序的规律,是不是都要结合起来考虑,这种负责程度是不是很大?
基于这种原因,我们选择了以上简单的方案。
对于不熟悉这些软件和器材的我们在短短的五天内完成所有的事有点难,如果时间充足一点,我们会做得更好吧,还有就是,希望能多点参与类似的实验,多加锻炼自己的实际操作能力。
九.实验实物照片:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- x4 单片机 89 C51 彩灯 控制 设计