模拟开关灯的单片机系统资料文档格式.docx
《模拟开关灯的单片机系统资料文档格式.docx》由会员分享,可在线阅读,更多相关《模拟开关灯的单片机系统资料文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
1、熟练掌握PROTEUS软件的使用;
2、按照设计要求绘制电路原理图;
3、能够按要求对所设计的电路进行仿真;
【基本要求及说明】:
1、按照设计要求自行定义电路图纸尺寸;
2、设计任务如下:
利用51单片机,按键和发光二级管,构成一个模拟开关灯的单片机系统,按下按钮,灯亮,松开按钮,灯灭。
3、按照设计任务在Proteus6Professional中绘制电路原理图;
4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】
成绩:
_____
一.任务说明
根据设计任务中要求,本次训练要利用51单片机,按键和发光二级管,构成一个模拟开关灯的单片机系统,按下按钮,灯亮,松开按钮,灯灭。
并在Proteus6Professional中绘制电路原理图,进行仿真,用WAVA6000对单片机进行编程,实现相应的功能。
根据单片机原理课程所学,要想检测开关状态,可以有两种方式:
查询方式和中断方式。
本次训练选用查询方式来实现要求,用51单片机P1.6端口来实现查询。
P1.6口是一个准双向I/0口,其输入的信号分别为高电平和低电平。
按钮按下时,输入为低电平;
按钮松开时,输入为高电平。
可以采用JBBITREL指令或JNBBITREL指令来完成对开关状态的检测。
二.系统流程图以及说明
由设计任务可以画出系统的流程图,如图1所示。
图1系统流程图
系统开始后,51单片机不断查询P1.7口的状态,当按钮松开时,P1.7为高电平,P1.0被置为高电平,灯灭并返回开始处;
当按钮按下时,P1.7为低电平,P1.0被清零,灯亮并返回开始处。
三.原理图绘制过程以及说明
由上述系统流程图可设计出这个系统有五个部分:
晶振电路部分、复位电路部分、LED灯电路部分、开关电路部分和AT89C51单片机部连接而成,因此原理框图如图2所示。
图2系统原理框图
1.晶振电路
51单片机内部由一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
将电容C1和C2的值设定为30PF,则晶体振荡器的振荡频率就可以得到12MHz,这样能更好的与51单片机所匹配。
打开Proteus软件后,新建设计如图3所示。
图3新建设计
选择第一个,再点击确定。
在网格表空白处点鼠标右键,点击放置元件,这时会弹出一个元件搜索方框。
左上角输入元件名称,例如电容C,则输入CAP,就会出现如图4所示的结果。
图4元件搜索
点击确定后只要在原来网格表中点击左键就可以将元件放置到网格表中了,双击元件可以改变元件的大小和放置的方向、位置等。
其他类型的元件放置方法与这个步骤一样。
晶振电路如图5所示。
图5晶振电路
2.复位电路
51单片机的复位通过外部复位电路来实现。
通常复位电路采用上电自动复位和按钮复位两种方式,本次训练我采用了上电自动复位的方式。
上电自动复位是通过外部复位电路的电容充电来实现的,单片机的RST引脚接一个电阻再接地,并上一个电容接高电平并且单片机的EA引脚接高电平,具体连接方式如图6所示。
图6复位电路
3.LED灯电路
LED灯电路由一个绿色LED灯和一个限流电阻组成,具体电路连接如图7所示。
LED灯左边接高电平,电阻右边接单片机P1.0口。
当P1.0口为高电平时,灯灭;
当P1.0为低电平时,灯亮。
图7LED灯电路
4.开关电路
在本次训练中,开关电路味P1.6口提供高电平和低电平。
由于电压源电压为5V,因此要连接一个限流电阻控制电压。
具体连接如图8所示。
图8开关电路
当开关闭合时,给P1.6端口输入为低电平;
当开关断开时,给P1.6端口输入为高电平。
5.单片机AT89C51
AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器。
在功能上与80C51单片机并无多大区别,运行速度上略优于80C51,本次训练采用的就是AT89C51单片机。
在Proteus软件中,其引脚图如图9所示
图9AT89C51单片机引脚图
AT89C51单片机的引脚名称及功能如表1所示。
表1引脚及功能
RST
复位输入
EA
外部访问允许
XTAL1
振荡器反相放大器输入端
P1.0-P1.7
带内部上拉电阻的8位双向I/O口
XTAL2
振荡器反相放大器输出端
P0.0-P0.7
8位漏极开路型双向I/O口
PSEN
选通信号
P2.0-P2.7
同P1口
ALE
访问外部程序存储器锁存低8位字节
P3.0-P3.7
选定好单片机后,接下来就应该对单片机进行编程。
相应的程序在仿真部分是会介绍。
整个电路的连接图在附录I。
表2是这个电路所用的各个元件名称、数量和数值大小。
表2元件名称数量及大小
元件名称
数值大小
数量
电容C1、C2
30pF
2
电容C3
10uF
1
晶振
——
电阻R1、R2、R3
100Ω
3
绿色LED灯
开关
AT89C51单片机U1
四.仿真步骤以及过程结果
1.仿真步骤
连接完原理图后,保存到一个文件夹中,这是文件夹会出现一个后缀为“DSN”的文件。
打开WAVE6000软件,将要给单片机编的程序输入后,保存到刚才新建的那个文件夹中,文件后缀为“ASM”,然后再编译,程序如下:
org00h
start:
jbp1.6,h1
clrp1.0
sjmpstart
h1:
setbp1.0
end
上述过程如图10所示。
图10程序编译过程
编译完后,在上述那个文件夹中会产生一个名为“01.HEX”的文件。
此时打开原理图,双击单片机元件后会弹出如图11所示的对话框,对单片机的属性进行设定。
在“ClockFrequency”中输入12MHz,将单片机频率设置为12MHz。
图11设置单片机属性
点击“ProgramFile”空栏后类似文件夹一样的图标,找到刚才那个文件夹,选择“01.HEX”文件打开。
如图12所示
图12选择单片机程序
2.仿真结果
选择完成后点击确定,至此单片机的设定就完成了。
接下来进行原理图的仿真过程,双击文件夹中的“DSN”文件,默认打开了proteus软件,点击软件界面左下角的那个三角形标志,开始仿真。
闭合开关,灯亮。
如图13所示。
图13闭合开关
断开开关,灯灭,如图14所示
图14断开开关
五.总结及训练体会
本次课程训练,锻炼了我的实践动手能力,对单片机的原理和应用更加得心应手。
首先的感谢老师以及同学们的热心帮助。
使我对单片机在生活中的实际应用有了更加深刻的了解,并且对于单片机各个引脚的名称和左右,输入输出状态的应用熟练了不少,掌握了对单片机I/O口相应的操作和如何对单片机进行编程,以及如何为一个要求设计具体程序,如何分析这个要求中各个相关细节等等。
还有就是对Proteus软件和WAVE6000软件的应用愈发熟练。
六.参考文献
1.张毅刚.《单片机原理及应用》.第三版,哈尔滨工业大学出版社,2008年9月.P9-P27、P31-P52。
2.陈涛.《单片机应用及C51程序设计》.北京:
机械工业出版社,2008年1月.P201-P202、P344-345。
3.张齐.《单片机原理与应用系统设计》.北京:
电子工业出版社,2010年2月.P45-P48。
4.薛小铃,刘志群,贾俊荣.《单片机接口模块应用与开发实例详解》.北京:
北京航空航天大学出版社,2010年1月.P364-P370、P380-P381。
5.陈骏莲,倪云峰.《单片机原理与应用》.北京:
清华大学出版社,2009年8月.P150-P153。
6.王守中,聂元铭.《51单片机开发入门与典型实例》.北京:
人民邮电出版社,2009年10月.P49-P50。
7.瓮嘉民.《单片机应用开发技术:
基于Proteus单片机仿真和C语言编程》.北京:
中国电力出版社,2010年1月.P100-P102。
8.谢维成,杨加国.《单片机原理与应用及C51程序设计》.第二版,北京:
清华大学出版社,2009年7月.P69-P72。
9.田立,马鸣鹤.《51系列单片机开发实例精解》.北京:
中国电力出版社,2009年6月.P123-P124、P209-P212。
附录I.电路原理图