资源描述
目录
第1章 硬件电路设计 2
1、1 电路原理 2
1、2 数码管显示方案 2
1、3 键盘输入方案ﻩ2
1、4 电源 2
1、5 时钟 3
1、6 晶振电路 ﻩ3
1、7 复位电路 ﻩ3
1、8 LED灯电路 ﻩ3
第2章 软件设计ﻩ4
2、1 系统流程图ﻩ4
2、2 程序设计 4
第3章 仿真原理图ﻩ8
3、1 仿真原理图 8
3、2 pcb图 9
3、3 Pcb3D输出实物图ﻩ9
参考文献:ﻩ10
第1章 硬件电路设计
1、1 电路原理
本硬件得核心就是STC12C5A60S2单片机,我们选用AT89C51。因无需扩展外部RAM。系统采用8位共阳极数码管,用来显示循环点亮得效果。单片机时无须外扩存储器因此,本流水灯实际上就就是一个带有八个发光二极管得单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路与必要得软件组成得单个单片机。
系统采用4个按键控制,4个按键分别控制4种不同流水灯速度。
系统在P0、0到P0、8上接了8个发光二极管,在按一下调速按键得时,蜂鸣器鸣叫一声,P0、0得二极管亮,此时从P0、0到P0、8得二极管依次点亮,数码管显示其调速按键得序号。
1、2 数码管显示方案
通常数码管显示有两种方式:动态显示与静态显示。
静态显示得优点就是程序简单、显示亮度有保证、单片机CPU得开销小,节约CPU得工作时间。但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占用几个并行I/O口,比较适用于LED数量较少得场合。当然当LED数量较多得时候,可以使用单片机得串行口通过移位寄存器得方式加以解决,但程序编写比较复杂。
LED动态显示硬件连接简单,但动态显示扫描方式需要占用CPU较多得时间,在单片机没有太多实时测试任务得情况下可以采用。
本系统需要采用1位LED数码管来显示按键序号,故本系统选择静态显示方案。
1、3 键盘输入方案
单片机得键盘结构可以采用独立式按键与矩阵式键盘两种。独立式按键指直接用I/O口线构成单个按键电路。可在系统中键较少时使用。在按键比较多得时候可采用矩阵式键盘。本系统要设置4个键,这4个按键分别调节流水灯得速度,已达到调速得目得。
1、4 电源
VCC-芯片电源,接+5V。VSS - 接地端。用万用表测试单片机引脚电流一般为0v或者5v,这就是标准得TTL电平,但有时候在单片机程序正在工作时候测试结果并不就是这个值而就是介于0v-5v之间,其实这之就是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还就是保持在0v或者5v得。
1、5 时钟
XTAL1、XTAL2 - 晶体振荡电路反相输入端与输出端。
1、6 晶振电路
对于一个高可靠性得系统设计,晶体得选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)得系统。这就是因为低供电电压使提供给晶体得激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够得扰动,很容易建立振荡。在睡眠唤醒时,电路得扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体得选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。
1、7 复位电路
复位就是单片机得初始化操作。单片机启运运行时,都需要先复位,其作用就是使CPU与系统中其她部件处于一个确定得初始状态,并从这个状态开始工作。因而,复位就是一个很重要得操作方式。但单片机本身就是不能自动进行复位得,必须配合相应得外部电路才能实现
1、8 LED灯电路
LED(Light-Emitting-Diode中文意思为发光二极管)就是一种能够将电能转化为可见光得半导体,它改变了白炽灯钨丝发光与节能灯三基色粉发光得原理,而采用电场发光。据分析,LED得特点非常明显,寿命长、光效高、无辐射与低功耗。LED得光谱几乎全部集中于可见光频段,其发光效率可达80~90%。将LED与普通白炽灯、螺旋节能灯及T5三基色荧光灯进行对比,结果显示:普通白炽灯得光效为12lm/W,寿命小于2000小时,螺旋节能灯得光效为60lm/W,寿命小于8000小时,T5荧光灯则为96lm/W,寿命大约为10000小时,而直径为5毫米得白光LED为20~28lm/W,寿命可大于100000小时。有人还预测,未来得LED寿命上限将无穷大。
发光二极管串联一个510欧姆得电阻后接在5V得电压上。LED灯电路接在单片机P1口上。LED灯阳极接电源,阴极接单片机得I/O口,低电平驱动,只要在单片机相应引脚给出低电平,LED就会发亮。
第2章 软件设计
2、1 系统流程图
图2-1 程序流程图
2、2 程序设计
#include <reg51、h>
#include <intrins、h>
#define uchar unsigned char //数据类型宏定义
#define uint unsigned int
#define out P0
#defineﻩout3 P3
/*********************引脚定义********************/
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
sbit sounder=P2^0;
sbitdula=P2^7;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
voiddelayms(unit);
/*********************主函数**********************/
void main(void)
{
uchari,temp;
if(key1==0)
{
sounder=0;
delayms(1000);
sounder=1;
while(key2==1&&key3==1&&key4==1)
{
ﻩtemp=0xfe;
ﻩfor(i=0;i<8&&(key2==1&&key3==1&&key4==1);i++)
ﻩﻩ{
ﻩ out=temp; //初始化P0口
delayms(1000); //延时
ﻩﻩtemp=_crol_(temp,1);//循环左移1位,点亮下一个LED
ﻩ dula=1;
ﻩ out3=table[1];
}
}ﻩ
}
if(key2==0)
{
sounder=0;
delayms(1000);
sounder=1;
while(key1==1&&key3==1&&key4==1)
ﻩ{
ﻩtemp=0xfe;
for(i=0;i<8&&(key1==1&&key3==1&&key4==1);i++)
ﻩﻩ{
ﻩ out=temp; //初始化P0口
ﻩdelayms(700); //延时
temp=_crol_(temp,1);//循环左移1位,点亮下一个LED
ﻩﻩdula=1;
ﻩﻩout3=table[2];
}
}
}
if(key3==0)
{
sounder=0;
delayms(1000);
sounder=1;
while(key1==1&&key2==1&&key4==1)
ﻩ{
ﻩtemp=0xfe;
for(i=0;i<8&&(key1==1&&key2==1&&key4==1);i++)
ﻩﻩ{
ﻩ out=temp;ﻩ //初始化P0口
ﻩ delayms(400); //延时
ﻩﻩtemp=_crol_(temp,1);//循环左移1位,点亮下一个LED
ﻩ dula=1;
out3=table[3];
ﻩﻩ}
ﻩ}
}
if(key4==0)
{
sounder=0;
delayms(1000);
sounder=1;
while(key1==1&&key2==1&&key3==1)
{
temp=0xfe;
for(i=0;i<8&&(key1==1&&key2==1&&key3==1);i++)
ﻩﻩ{
out=temp;ﻩ //初始化P0口
ﻩ delayms(100); //延时
ﻩtemp=_crol_(temp,1);//循环左移1位,点亮下一个LED
ﻩﻩdula=1;
out3=table[4];
ﻩ}
}
}
}
/*********************延时函数********************/
voiddelayms(uint j)
{
uchari;
for(;j>0;j--)
{
i=250;
while(--i);
ﻩi=249;
ﻩwhile(--i);
ﻩ}
}
第3章 仿真原理图
3、1 仿真原理图
仿真原理图如图3-1:
图3-1 仿真原理图
3、2 pcb图
Pcb连线图如图3-2:
图3-2 Pcb连线图
3、3 Pcb3D输出实物图
Pcb3D输出实物图如图3-3:
图3-3 Pcb3D输出实物图
参考文献:
[1] 胡汉才.单片机原理与接口技术[M].北京:清华大学出版社,1995、6.
[2] 楼然苗等.51系列单片机设计实例[M].北京:北京航空航天出版社,2003、
[3] 何立民、 单片机高级教程[M].北京:北京航空航天大学出版社,2001.
[4] 赵晓安、 MCS-51单片机原理及应用[M]、 天津:天津大学出版社,2001、3.
[5] 肖洪兵 跟我学用单片机[M]、 北京:北京航空航天大学出版社,2002、8.
[6] 于凤明.单片机原理及接口技术[M].北京:中国轻工业出版社.1998
学号
天津城建大学
单片机原理及应用A
设计说明书
LED灯循环显示速度得按键控制
设计
起止日期:2015年6月29日至2015年7月10日
学生姓名
班级
成绩
指导教师(签字)
控制与机械工程学院
2015年7月10日
展开阅读全文