单片机实现发光二极管的循环点亮控制教材Word文件下载.docx
《单片机实现发光二极管的循环点亮控制教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实现发光二极管的循环点亮控制教材Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
单片机最小应用系统设计报告
一、设计题目
用8031单片机实现发光二极管的循环点亮控制。
采用3个按键分别控制发光二极管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制。
二、设计内容与要求
用8031单片机控制8个发光二极管循环点亮。
要求用按键控制点亮时间(如每个灯点亮0.5秒或者1秒等,各灯点亮时间相同)。
按启动键开始循环点亮;
按停止键后停止。
三、设计目的意义
1、掌握单片机系统中扩展简单I/O接口的方法。
2、掌握单片机的硬件接口电路、8031单片机的内部结构及其编程方法。
3、掌握单片机的最小系统的设计。
4、掌握电路板的设计与制作。
。
5、了解程序编写与调试的方法和技巧。
6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开发。
四、系统硬件电路图
系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外电路接通显示部分、及电源显示部分。
设计硬件电路图时,其基本思想:
先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与PCB,做出电路板。
图1系统硬件图
五、程序流程图与源程序
5.1流程图
5.2源程序
5.2.1程序设计思想
单片机通入电源后,一直让单片机对8031的P1和P3口进行采集,将8031的P3口开关信号送入8031,以控制流水灯的亮灭及时间。
5.2.2源程序清单
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitKEY1=P3^2;
sbitKEY2=P3^3;
sbitKEY3=P3^4;
ucharCount=0,i,k;
ucharcodetable[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
voidDelay(uintdel)
{
uinti,j;
for(i=0;
i<
del;
i++)
for(j=0;
j<
1827;
j++)
;
}
voidTime0_Init()
TMOD=0x01;
TH0=0x4c;
TL0=0x00;
TR0=1;
IE=0x82;
voidTime0_Int()interrupt1
Count++;
voidOutside1_Init(void)
IT0=1;
EX0=1;
EA=1;
}
voidOutside1_Int(void)interrupt0
EX0=0;
Delay(3);
if(KEY1==0)
{
while
(1)
P0=table[k];
if(KEY2==0)
{
break;
}
}
Delay(30);
EX0=1;
voidMain(void)
uinti=0,j=0;
Time0_Init();
Outside1_Init();
{for(i=0;
i<
8;
i++)
{
P0=table[i];
k=i;
if(KEY3==0)
Delay
(1);
if(KEY3==0)
{
j++;
}
Delay(50);
if(j%2==1)
while
(1)
if(Count==20)
Count=0;
break;
else
while
(1)
if(Count==10)
}
}
六、系统功能分析与说明
6.1系统主要组成部分
(1)单片机的最小系统部分包括晶振电路、复位电路、主电源引脚Vss和Vcc、控制引脚/EA。
(2)晶振电路为单片机正常工作时提供的时钟信号,由两个30pf的无极性电容和晶体压电瓷片组成外部振荡电路,把单片机的XTAL1和XTAL2分别接到外晶体的两端,使电容的另外一端接地就完成了单片机的晶振电路部分的设计。
(3)复位电路,当振荡器正常工作时,在单片机的复位引脚连续保持出现两个机器周期以上的高电平时,就会使单片机复位。
AT89S51单片机复位电路主要有上电复手动复位和自动复位两种,在本次试验中我采用手动复位。
按键手动复位的工作原理是:
当按下按键时,电源对外接电容进行充电,使RST端为高电平,复位键松开后,电容通过内部下拉电阻放电,逐渐使RST端恢复低电平。
具体电路见图2复位电路。
图2手动复位电路
6.2指示灯显示部分
输入信号由3个开关提供,信号的输出采用8个发光二极管显示,相应的信号灯对应相应的开关,用共阴极的连接方法,输入低电平导通。
电源上电显示部分用一个1K的电阻串联一个发光二极管来显示,灯亮表示有电,反之,则电路板没电。
6.3电路板的制作
6.3.1PCB图的制作
采用了PROTELDXP电路绘图软件进行原理图和PCB图的制作,首先,安装此软件,安装完成后,打开该软件,新建工程(DOCUMENT)文件,而以后所建立的原理图文件(*.SCH)、PCB文件(*.PCB)及生成的网路文件(*.NET)都在此工程内。
建立原理图文件时,首先,调用库文件中常用的元器件库文件(MISCELLANEOUSDEVICES.LIB)可以调入常用的电阻、电容、开关、晶振、继电器等常用的电器元件,通过ADD/REMOVE按钮可以调入库文件(以INTEL为开头的库文件),从而调入80S51芯片以及其它电子元件。
原理图建立后,再生成网路图,这一步骤只要通过DESIGN---CREATENETLISTS即可生成网络图。
建立PCB图,首先应按照原理图的要求认真准确地填好每一个电器元件的封装,系统没有封装的,必须根据实物画出特别元件的封装,而且,注意元器件的管脚号必须与封装的管脚号相同(比如说,三极管发元器件的管脚是B、E、C,而封装库中的管脚却是1、2、3,必须改变其中之一,使两者一致),否则出错,生成的PCB图不正确。
通过检查PCB图,如果没有元器件丢失、管脚丢失和网络连接正确便可以合理地布线,最终生成和覆铜板尺寸一致的PCB图。
最终生成的PCB图如下图所示。
图3PCB电路图
6.3.2电路板的腐蚀、钻孔和元器件的焊接
将生成好的PCB图,用电熨斗印刷在基板上,再用FECL3进行腐蚀、钻孔、焊接相对应的元器件。
便完成了电路板的制作。
七、设计体会
1、通过此次单片机最小系统的应用开发,增加了我对电路控制专业的兴趣,尤其是通过单片机进行自动控制方面,在设计及单片机最小系统中,加深了对所学过的知识认识(主要是编程指令的灵活应用、单片机最小系统的理解和PROTELDXP软件的灵活使用),还提高了自己的分析问题和解决问题的能力和方法(主要是在调试程序),最后提高了动手能力(主要是在电路板的制作上面),尤为可贵的是学会了查阅相关的资料,并进行独立的原理图设计,电路板的制作和程序的独立调整,以及出现问题时候,独立思考分析解决问题的能力。
虽然很辛苦,但是最终能够达到设计课题的要求。
2、初步学会了独立设计电路图的能力。
我首先在图书馆查找并综合与课题相关的资料,在头脑中形成一个感性的认识,并渐渐地用所学过的单片机指令(主要是汇编语言)编程,然后再借助试验台,将自己编好的程序一步一步地调试出来,用能够成功程序所需要的硬件电路来返回来设计自己的电路板。
初步养成了自己独立解决问题的方法与能力。
八、参考文献
[1]张毅刚彭喜元姜守达乔立岩新编MCS-51单片机应用设计.哈尔滨工业大学出版社,2003.
[2]黄海萍汇编语言与微机接口技术实验教程.国防工业出版社,2007.
[3]何光明童爱红王国全C语言实用培训教程.人民邮电出版社,2003.