单片机实现发光二极管的循环点亮控制.docx

上传人:b****1 文档编号:910481 上传时间:2022-10-13 格式:DOCX 页数:9 大小:82.13KB
下载 相关 举报
单片机实现发光二极管的循环点亮控制.docx_第1页
第1页 / 共9页
单片机实现发光二极管的循环点亮控制.docx_第2页
第2页 / 共9页
单片机实现发光二极管的循环点亮控制.docx_第3页
第3页 / 共9页
单片机实现发光二极管的循环点亮控制.docx_第4页
第4页 / 共9页
单片机实现发光二极管的循环点亮控制.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机实现发光二极管的循环点亮控制.docx

《单片机实现发光二极管的循环点亮控制.docx》由会员分享,可在线阅读,更多相关《单片机实现发光二极管的循环点亮控制.docx(9页珍藏版)》请在冰豆网上搜索。

单片机实现发光二极管的循环点亮控制.docx

单片机实现发光二极管的循环点亮控制

单片机实现发光二极管的循环点亮控制

桂林电子科技大学

单片机最小应用系统

指导老师:

吴兆华

学生:

钟静茹

学号:

09210202

机电工程学院

2010年6月

单片机最小应用系统设计报告

 

一、设计题目

用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

#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

for(j=0;j<1827;j++)

;

}

voidTime0_Init()

{

TMOD=0x01;

TH0=0x4c;

TL0=0x00;

TR0=1;

IE=0x82;

}

voidTime0_Int()interrupt1

{

TH0=0x4c;

TL0=0x00;

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();

while

(1)

{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)

{

Count=0;

break;

}

}

}

}

}

}

六、系统功能分析与说明

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.

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

当前位置:首页 > 解决方案 > 学习计划

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

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