基于51单片机的交通信号灯系统本科毕设论文

基于51单片机的交通信号灯系统本科毕设论文
基于51单片机的交通信号灯系统本科毕设论文

毕业设计

基于单片机的交通信号的灯控制系统

一. 综合实训的主要内容 1.设计任务

设计一单片机控制的交通信号灯系统,模拟城市十字路口交通信号灯功能。

2.基本功能要求

2.1 交通信号控制

直行车道红黄绿灯控制、左行车道绿灯控制、人行横道红绿灯控制。 2.2 通行时间显示

数码管倒计时显示通行时间。 2.3 时间参数设置存储

按键实现通行时间的设置,并存储到EEPROM (24C02)芯片中。

二. 硬件方案设计与论证 1. 显示模块设计

1.1倒计时时间显示

设计思想:由于该系统要求完成倒计时显示通行时间的功能,且考虑到实际的交通系统中车辆及行人通行时间不会超过一分钟,基于以上原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位共阴极数码管进行显示。(其实物图见附录1图5.3)

图2.1 数码管原理图

原理图分析:

为了显示数字或字符,必须对数字或字符进行编码。七段数码管(a,b,c,d,e,f,g )加上一个小数点(dp),共计8段,构成一个字节,通过对这八段给予高低平使二极管

GND a

b

c

d

e f

g dp g

f e

d c b

a

(a)

导通或截止,从而显示不同的数字或字符。系统中所使用的是2位共阴数码管(实物图见附录),其管脚从左上方起顺时针依次为1,a,b,e,d,2,g,f,dp,c。

1.2 状态灯显示

设计思想:由于该系统要求完成状态灯显示的功能,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯,人行横道采用红绿灯控制,综上所述,我们共使用16个LED绿灯,12个LED红灯,4个LED黄灯来完成状态灯显示功能。

2.控制模块设计

2.1 设计思想

由于本系统结构简单,实现较容易,不需要大量的外围扩展,所以我们采用STC89C51单片机作为主控制器,STC89C51单片机具有体积小,功耗低,控制能力强,价格低、扩展灵活,使用方便等特点,其最小系统由振荡电路、复位电路构成。

2.2 最小系统原理图

图2.2 单片机最小系统原理图

原理图分析:51单片机最小系统由复位电路,振荡电路组成。振荡电路使用11.0592MHz高精度晶振,振荡电容选择30pF瓷片电容;复位电路采用RC电路。

3.存储模块

3.1 设计思想:系统掉电存储模块采用串行E2PROM,它是基于IIC总线的存储器件,遵循二线制协议,其具有接口方便,体积小,数据掉电不丢失等特点。

3.2 24C02芯片原理图

管脚描述:A0A1A2引脚器件地址选择

SDA引脚串行数据/地址

SCL引脚串行时钟

WP 写保护

VCC电源1.8~6V

VSS 地

4.系统理论分析

4.1交通灯显示时序的理论分析

依次循环共分4种状态:南北方向直行通行、南北方向左拐通行、东西方向直行通行,东西方向左拐通行。

南北方向直行:南北段直行通行(绿灯)、东西段禁止(红灯),,此时,南北段人行道通行(绿灯),东西段人行道禁止(红灯),同时南北段和东西段方向的数码管分别从20s和30s(加上南北段左拐时间)开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后南北段左拐(左拐绿灯亮)通行、东西段禁止(红灯)10s,南北段、东西段人行道都禁止(红灯),同时南北段和东西段方向的数码管都从10s开始倒计时,至最后5s时南北段左拐灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯),东西段人行道通行(绿灯),南北段人行道禁止(红灯),同时东西段和南北段方向的数码管分别从20s和30s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左拐(左拐灯亮)通行、南北段禁止(红灯)10s,东西段、南北段人行道都禁止(红灯),同时东西段和南北段方向的数码管都从10s开始倒计时,至最后5s时东西段左拐灯变成黄灯闪烁,即完成一次循环。

4.2 状态切换

系统中共设置了四种模式,分别为开始模式、延长通行时间模式、减少左拐时间模式、急停模式,这几种模式分别通过相应的按键进行切换。

开始模式:直行20s,左拐10s;

延长通行时间模式:直行40s,左拐20s;

减少左拐时间模式:直行40s,左拐10s

急停模式:当有紧急事故发生时,所有指示灯全变成红灯,禁止通行,数码管显示00.

4.3倒计时显示的具体实现

利用定时器中断,设置TH0=TH1=(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒=1秒时,使时间的计数值减1,便实现了倒计时的功能。

4.4状态灯显示的实现方法

黄灯闪烁利用定时器中断。每到第10次中断即过了10*0.05秒=0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。

4.5 状态切换的实现方法

状态切换在定时器中实现,定时器每0.05秒中断一次,完全可以检测按键的发生。考虑到实际的交通系统不可能立即切换状态,程序一个周期内检测两次状态,若在南北左拐前按键修改状态,则南北左拐结束后切换状态,若在南北左拐后修改状态,则在东西左拐后切换状态。

三.软件编程

1.程序流程图

图3.1 主程序流程图

图3.2 定时0中断流程图

2.程序

#include

#include"24C02.h"

/*************端口定义*************/

sbit EW_ShuMa2=P2^3; //EW方向低位数码管控制位sbit EW_ShuMa1=P2^2; //EW方向高位数码管控制位sbit SN_ShuMa2=P2^1; //SN方向低位数码管控制位sbit SN_ShuMa1=P2^0; //SN方向高位数码管控制位

sbit SN_Yellow=P1^1; //SN黄灯

sbit EW_Yellow=P1^5; //EW黄灯

sbit EW_ManGreen=P2^7; //EW人行道绿灯

sbit SN_ManGreen=P2^4; //SN人行道绿灯

sbit EW_ManRed=P2^6; //EW人行道红灯

sbit SN_ManRed=P2^5; //SN人行道红灯

sbit EW_Red=P1^6; //EW直行道红灯

sbit SN_Red=P1^2; //SN直行道红灯

sbit shezhi1=P3^0; //模式设置键

sbit shezhi2=P3^1; //模式设置键

sbit stop1=P3^7; //紧急情况键

bit Flag_SN_Yellow; //SN黄灯标志位

bit Flag_EW_Yellow; //EW黄灯标志位

char Time_EW; //东西方向倒计时单元

char Time_SN; //南北方向倒计时单元

uchar EW=30,SN=20,EWL=9,SNL=9; //程序初始化赋值,正常模式

uchar EW1=30,SN1=20,EWL1=9,SNL1=9;

uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0-9段选码

uchar code State[8]={0xBE,0xBD,0xB7,0xBD,0xEB,0xDB,0x7B,0xDB};

/*************函数声明***************/

void Delay_ms(uint z);

void ShuMa_Display();

void timer0_init();

void state1();

void state2();

void state3();

void state4();

/**************主函数************/

void main()

{

timer0_init(); //定时器初始化

EW1=read(10); //24c02读操作

SN1=read(11);

EWL1=read(12);

SNL1=read(13);

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

//Int_init();

while(1)

{

state1();

state2();

state3();

state4();

}

}

/*************延时函数*************/

/*void Delay_ms(uint z)

{ uint x,y;

for(x=120;x>0;x--)

for(y=z;y>0;y--);

}*/

/**************数码管显示函数*****************/ void ShuMa_Display()

{

uchar H,L;

H=Time_EW/10;

L=Time_EW%10;

P0=table[L];

EW_ShuMa2=0; //点亮EW_LED2

Delay_ms(1);

EW_ShuMa2=1; //熄灭EW_LED2

P0=table[H];

EW_ShuMa1=0; //点亮EW_LED1

Delay_ms(1);

EW_ShuMa1=1;

H=Time_SN/10;

L=Time_SN%10;

P0=table[L];

SN_ShuMa2=0; //点亮SN_LED2

Delay_ms(1);

SN_ShuMa2=1;

P0=table[H];

SN_ShuMa1=0; //点亮SN_LED1

Delay_ms(1);

SN_ShuMa1=1;

}

/***************模式函数****************/ void state1()

{

/*********SN通行SW禁止*********/

SN_ManRed=1;

SN_ManGreen=0; //SN人行道通行

EW_ManRed=0; //EW人行道禁止

EW_ManGreen=1;

Flag_SN_Yellow=0; //SN关黄灯显示信号

Flag_EW_Yellow=0; //EW关黄灯显示信号

Time_EW=EW;

Time_SN=SN;

while(Time_SN>=5)

{

P1=State[0]; //SN绿灯,EW红灯

ShuMa_Display();

}

P1=0xff;//关闭P1口所有灯

while(Time_SN>=0)

{

Flag_SN_Yellow=1; //SN开黄灯信号位

EW_Red=0;

//P1=P1 |0XB0; //保持EW红灯

ShuMa_Display();

}

}

void state2()

{

/************SN方向左拐状态**********/

SN_ManRed=0; //SN人行道禁止

SN_ManGreen=1;

EW_ManRed=0; //EW人行道禁止

EW_ManGreen=1;

Flag_SN_Yellow=0; //SN关黄灯显示信号

Flag_EW_Yellow=0; //EW关黄灯显示信号

Time_SN=SNL;

Time_EW=EWL;

while(Time_SN>=5)

{

P1=State[2]; //SN左拐绿灯亮,EW红灯

ShuMa_Display();

}

P1=0xFF;

while(Time_SN>=0)

{

Flag_SN_Yellow=1; //SN开黄灯信号位

Flag_EW_Yellow=1;

ShuMa_Display();

}

}

void state3()

{

/***********赋值*********/

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

/*******SN禁止,EW通行状态**********/

SN_ManRed=0; //SN人行道禁止

SN_ManGreen=1;

EW_ManRed=1;

EW_ManGreen=0; //EW人行道通行

Flag_SN_Yellow=0; //SN关黄灯显示信号

Flag_EW_Yellow=0;//EW关黄灯显示信号

Time_EW=SN;

Time_SN=EW;

while(Time_EW>=5)

{

P1=State[4];//EW通行,SN红灯

ShuMa_Display();

}

P1=0Xff;

while(Time_EW>=0)

{

Flag_EW_Yellow=1;//EW开黄灯信号位

SN_Red=0;

//P1=P1|0x0B; //保持SN红灯

ShuMa_Display();

}

}

void state4()

{

/***********EW方向左拐状态**************/ SN_ManRed=0; //SN人行道禁止

SN_ManGreen=1;

EW_ManRed=0; //EW人行道禁止

EW_ManGreen=1;

Flag_SN_Yellow=0; //SN关黄灯显示信号

Flag_EW_Yellow=0;//EW关黄灯显示信号

Time_EW=EWL;

while(Time_EW>=5)

{

P1=State[6]; //EW左拐绿灯亮,SN红灯

ShuMa_Display();

}

P1=0Xff;

while(Time_EW>=0)

{

Flag_EW_Yellow=1; //EN开黄灯信号位

Flag_SN_Yellow=1;

ShuMa_Display();

}

/***********赋值*********/

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

}

/****************定时器0初始化函数***************/ void timer0_init()

{

TMOD=0x01; //定时器0工作方式1

TH0=(65536-10000)/256; //装初值

TL0=(65536-10000)%256;

EA=1; //开总中断

ET0=1;//开定时器0中断

TR0=1;//启动定时器

}

/*******************定时器0服务中断函数***********/ void timer() interrupt 1

{

uchar t;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

t++;

if(shezhi1==0)

{

EW1=60;

SN1=40;

EWL1=19;

SNL1=19;

write(10,60); //24C02写操作

write(11,40);

write(12,19);

write(13,19);

}

if(shezhi2==0)

{

EW1=50;

SN1=40;

EWL1=9;

SNL1=9;

//write(10,60);

//write(11,50);

//write(12,9);

//write(13,9);

}

if(stop1==0)

{

P0=table[0];

EW_ShuMa2=0;

EW_ShuMa1=0;

SN_ShuMa2=0;

SN_ShuMa1=0;

P1=0XBB;

EW_ManGreen=1;

SN_ManGreen=1;

EW_ManRed=0;

SN_ManRed=0;

while(1);

}

if(t==10)

{

if(Flag_SN_Yellow==1) //测试南北黄灯标志位

{SN_Yellow=~SN_Yellow;}

if(Flag_EW_Yellow==1) //测试东西黄灯标志位

{EW_Yellow=~EW_Yellow;}

}

if(t==20)

{

Time_EW--;

Time_SN--;

if(Flag_SN_Yellow==1) //测试南北黄灯标志位

{

SN_Yellow=~SN_Yellow;

}

if(Flag_EW_Yellow==1) //测试东西黄灯标志位

{

EW_Yellow=~EW_Yellow;

}

t=0;

}

}

24c02的.h程序

#define uchar unsigned char

#define uint unsigned int

sbit SCL=P3^5;

sbit SDA=P3^6;

/*************函数声明************/ void delay();

void Delay_ms(uint z);

void init(void);

void start();

void stop();

void ack();

void noack();

void write_byte(uchar dat);

uchar read_byte(void);

void write(uchar add,uchar dat);

uchar read(uchar add);

void delay()//短延时,大约5us

{

; ;;;;;;

}

void Delay_ms(uint z)

{ uint x,y;

for(y=z;y>0;y--)

for(x=120;x>0;x--);

}

void init(void)

{

SDA=1;

SCL=1;

}

void start() //启动信号

{

SDA=1;

delay();

SCL=1;

delay();//下降沿到来

SDA=0;

delay();

}

void stop() //停止信号

{

SDA=0;

delay();

SCL=1;

delay();

SDA=1;//上升沿到来

delay();

}

void ack() //应答信号

{

uchar i;

SCL=1;

delay();

while((SDA==1)&&(i<250)) //等待应答,用与语句防止一直不应答i++;

SCL=0; //若不应答,也将时钟拉低

delay();

}

void noack()

{

SDA=1;

delay();

SCL=1;

delay();

SCL=0;

delay();

}

void write_byte(uchar dat)//写字节

{

uchar i;

SCL=0;

for(i=0;i<8;i++)

{

if(dat&0x80)

{

SDA=1;

}

else

{

SDA=0;

}

dat=dat<<1;

delay();

SCL=1;

delay();

SCL=0; //为下一次写数据做准备

delay();

SDA=1; //释放总线

delay();

}

}

uchar read_byte(void) //读一个字节

{

uchar i,dat;

SCL=0;

delay();

SDA=1;//释放一次总线

delay();

for(i=0;i<8;i++)

{

SCL=1;

delay();

dat=dat<<1;

if(SDA)

{

dat++;

}

SCL=0;

delay();

}

return dat;

}

void write(uchar add,uchar dat) //在一个地址写一个字节{

基于51单片机交通灯课设(内含程序和实物图)

单片机控制交通灯 摘要 随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。 单片机的应用正在不断深入,单片机可以用来仿真各个系统。在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。 关键词:单片机交通灯数码管看门狗

目录 第1章前言 (1) 1.1课题任务及主要实现内容 (1) 1.2原理分析 (1) 1.2.1交通灯显示时序的理论分析 (1) 1.2.2 交通灯显示的理论分析 (2) 第2章设计方案分析 (3) 2.1 单片机与外围接口部件 (3) 2.2 倒计时显示界面 (4) 2.3 交通灯 (4) 第3章硬件系统设计 (4) 3.1 单片机的选择 (4) 3.2 STC89c52的看门狗设置 (8) 3.3 硬件电路实现 (9) 3.2.1 最小系统设计 (9) 3.3.2 显示设计 (11) 3.2.3 发光二极管模拟红绿灯 (13) 3.2.4 按键模块 (14) 第4章软件电路设计 (15) 4.1 软件编译环境测试 (15) 4.1.1 C语言介绍 (15) 4.1.2 Keil uVision4介绍 (15) 4.2软件总体设计 (15) 第5章电路检测 (17) 结论 (20) 参考文献 (21) 附录:22 原理图 (22) 源程序: (22)

51单片机毕业设计论文

1.1核心芯片8051单片机 (2) 1.2 ADC0809转换芯片 (5) 1.2.1 ADC0809的逻辑结构 (5) 1.2.2 ADC0809 的通道选择 (6) 1.2.3 ADC0809的引脚图及各引脚作用 (6) 1.3 MC14499芯片 (8) 1.3.1.MC14499的结构及功能介绍 (8) 1.3.2 MC14499在单片机中的应用 (10) 1.4 74LS373芯片 (13) 1.5 LED数码管 (15) 1.5.1 LED数码管显示器的结构 (15) 1.5.2 LED数码管显示器的显示段码 (17) 1.5.3 LED显示器的参数 (18) 1.6 X25045 (18) 2 系统硬件设计 (20) 2.1系统设计原理和系统框图 (21) 2.1.1设计原理 (21) 2.1.2系统框图 (21) 2.2液位传感器设计 (22) 2.2.1 传感器原理 (22) 2.2.2 传感器的组成 (22) 2.2.3 测量原理 (23) 2.2.4 将电容转化成电信号部分 (24) 2.2.5 电信号放大电路设计 (25) 2.3 A/D0809模数转换 (25) 2.4 显示电路的设计 (27) 2.5 键盘电路 (29) 2.5.1矩阵式键盘的工作原理 (30) 2.5.2 硬件电路设计及电路图 (30) 2.6 继电器控制水泵加水电路 (31) 2.7 报警电路 (32) 2.8 电源电路 (33) 2.8.1 直流电源电路 (33) 2.8.2 备用电源切换电路 (34) 2.9看门狗电路 (35) 3 系统软件的设计 (38) 3.1 软件设计流程图 (38) 3.2矩阵键盘程序设计 (40) 3.2.1 程序设计内容 (40) 3.2.2系统程序 (40) 3.3 ADC0809模数转换流程图 (42) 4 结论 (45) 附录A (46)

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序 { while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1; delay(300);

51单片机毕业论文大全

mcu001 80386保护模式【论文+91页+4.2万+doc】 mcu002 ARM硬件电路板设计之外围接口电路研究【毕业论文+21页+1.2万+doc】 mcu003 CDMA通信系统中的接入信道部分进行仿真与分析【doc格式+45页+毕业论文1.6万】 mcu004 CDMA通信系统中的接入信道部分进行仿真与分析【论文+45页+1.7万+doc】 mcu005 CDMA系统的研究与MATLAB仿真【论文+41页+1.8万+doc】 mcu006 DS18B20温度采集【doc+毕业论文+45页1.9万】 mcu007 FIRA 5v5机器人足球赛进攻策略研究【毕业论文+45页+1.8万+doc】 mcu008 FIR数字滤波器设计与实现【论文+28页+0.7万+doc】 mcu009 FPGA实现差错控制编码技术【论文+31页+1.3万+doc】 mcu010 FPGA在数字滤波器设计中的应用【论文+9页+0.7万+doc】 mcu011 GPRS远程登陆数据终端设计【论文+55页+1.5万+doc】 mcu012 GPRS远程控制系统设计——信息收集与处理子系统【论文+16页+0.3万+doc】 mcu013 GPRS远程控制系统设——远程控制设计【论文+73页2.6万+doc】 mcu014 GPS汽车定位系统设计【论文+30页+1.35万+doc】 mcu015 GSM无线网络优化【论文+53页+2.6万+doc】 mcu016 I2C总线接口的数据采集系统【毕业论文+27页+0.85万+doc】 mcu017 IIR带通滤波器的VHDL描述及仿真【论文+doc+47页+2.1万字】 mcu018 LED显示屏动态显示和远程监控的实现【论文+11页+0.8万+doc】 mcu019 MCS-51单片机温度控制系统【论文+6页+0.2万+doc】 mcu020 MSN机器人程序的设计与实现【论文+0.8万+36页+doc】 mcu021 PLC在自动售货机中的运用【论文+26页+0.5万+doc】 mcu022 PT100温度巡检【毕业论文+22页+1万+doc】 mcu023 QPSK、QAM的调制通信仿真【毕业论文+43页+2万+doc】 mcu024 SPCE061A的教育机器人硬件平台设计【毕业论文+184页+1.37万+doc】 mcu025 USB接口的多路温湿度采集系统设备端设计【毕业论文+25页+0.9万+doc】 mcu026 USB摄像头驱动开发与研究【论文+28页+1.6万+doc】 mcu027 USB数据采集系统设计【论文+1.4万+46页+doc】 mcu028 Y2O3添加量对低居里点PTC热敏电阻器性能的影响【论文28页+1.7万+doc】 mcu029 π4-DQPSK信号的FPGA实现【论文+54页+2.5万+doc】 mcu030 板厚为6mm的0Cr18Ni9钢板采用焊条电弧焊的焊接工艺评定(拉伸)关于焊接的毕业论文【论文+1.3万+24页+doc】 mcu031 步进电机控制器设计与实现【毕业论文+30页+0.9万+doc】 mcu032 板卡式语音平台开发【论文+55页+2.3万+doc】 mcu033 采矿工程本科毕业论文【论文+6.3万+140页+doc】 mcu034 采用适用的跟踪来区分和监控站点活动【毕业论文+13页+0.8万+doc】 mcu035 仓库温湿度的监测系统【毕业论文+31页+1.4万+doc】 mcu036 常用电子元器件SQL查询系统设计【论文+33页+1.2万+doc】 mcu037 超声波明渠流量计【论文+84页+3.4万+doc】 mcu038 超声波明渠流量计的研究【论文+71页+2.1万+doc】 mcu039 车库电脑收费管理系统【论文+60页+2.3万+doc】 mcu040 传感器控制温度【毕业论文+33页+1.4万+doc】【论文+91页+4万+doc】 mcu041 串口通信与控制系统【毕业论文+38页+1.5万+doc】 mcu042 磁性物含量计设计【论文+95页+4.2万+doc】

基于AT89c51单片机实现的交通灯

江西科技师范大学 通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯 小组成员:龚石冲罗仁敏曾建伟 班级:12电子科学与技术 指导老师:熊朝松

一、实训选题内容、要求 交通模拟灯 要求: 1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒; 支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒; 2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化; 3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向 长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常 通行。 二、实训计划和人员安排 经小组人员商定,分工完成任务,在课余时间完成。 若其中遇到什么问题,大家聚在一起讨论解决。具体分工如下: 1、程序编写:龚石冲 2、实体焊接:龚石冲 3、实训报告:罗仁敏 4、视频及PPT:曾建伟 三、实训选题分析 交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。黄灯在红绿灯之间转换时亮。倒计时显示表示红、黄、绿灯亮时所剩时间。由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。交通会遇到一些突发情况。因此交通信号灯要设定一些特定功能,以防不时之需。 整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。 四、方案设计 方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。由按键开关完成禁止通行,东西 通行,南北通行。 方案二:主控系统采用AT89C51单片机作为控制器,由延时函数完成信号灯

51单片机万年历毕业设计论文

专科毕业设计(论文) 题目51单片机电子万年历论文 51单片机电子万年历论文 摘要: 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。在编写程序过程中发现

以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成 了程序部分的编写。 万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一种八个共阳二极管显示器,7SEG-MPX4-CA是一种四个共阳二极管显示器。为了能更轻松的控制这三片显示器,本人使用了3片74HC164来驱动。74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。 关键词: 时钟电钟;DS1302;DS18B20;动态扫描;单片机 Abstract E-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply. The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more comprehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult, In the help of teachers and students to complete the program part of the preparation. Calendar of the design process in hardware and software to synchronize the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total

(完整)基于89C51单片机交通灯课程设计要点

(完整)基于89C51单片机交通灯课程设计要点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于89C51单片机交通灯课程设计要点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于89C51单片机交通灯课程设计要点的全部内容。

华北水利水电学院 基于C51单片机 交通灯课程设计实验报告 姓名:田坤 班级:125 专业:电子信息科学与技术 指导老师:辛艳辉刘明堂 2013年1月16日 摘要 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题.系统具

有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词:交通灯 单片机 数码管 一 。总体设计思路 1.1设计目的及思路 设计目的 了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。 设计思路 (1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,增加了倒计时显示提示。 (3)进行显示电路。 (4)进行软件系统的设计。 1。2 实际交通灯显示时序及状态转换的理论分析 图1所示为红绿灯转换的状态图。 图1 红绿灯状态转换图 表1 十字路口指示灯燃 亮方 S1 S4 S3 S2

基于51单片机设计简易计算器毕业设计论文

简易计算器的设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

51单片机交通灯课程设计

第一章单片机概述 单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。 单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,

产品更新换代的节奏也越来越快。 第二章MSC-51芯片简介 8051是MCS-51系列单片机的典型产品。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM 只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

基于51单片机做简易的交通灯

目录 摘要 (1) 一、设计目的 (2) 二、设计任务和要求 (2) 三、设计原理分析 (2) 四、硬件模块及功能 (3) 1、个模块功能 (3) 2、材料清单 (4) 3、硬件图 (5) 五、软件模块及功能 (6) 1、个模块功能原理 (6) 2、程序清单 (6) 3、程序流程图 (9) 六、调试运行 (10) 1、程序编译链接 (10) 2、观察模拟仿真 (11) 七、心得体会 (12) 参考文献 (12) 致谢 (13)

摘要: 单片微型计算机(单片机)自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在社会各领域中得到广泛的应用。根据89C52单片机的特点及交通灯在实际控制中的特点,本文提出一种利用单片机自动控制交通灯及时间倒计时显示的方法,将整个系统缩小在一块小小的单片机上,大大提高了产品的经济性和轻便性。设计过程包括硬件电路设计和程序设计两大步骤。硬件电路其结构比较简单,主要包括核心器件单片机、12只二极管组成的模拟交通灯、复位电路、振荡电路、显示数码管模块。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。本文就用Keil编程,相比硬件设计程序设计较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的C语言基础和一定的思维能力及逻辑能力。本文对十字路口状态预设为两种,一种是正常状态,即倒计时60秒,交通灯循环亮,另一种是故障或紧急状态,即无论交通灯处于何种状态只要按下紧急开关,就立即打开相应的绿灯,另一方向则亮红灯,当再按起开关则反向,并从60秒倒计时,恢复正常状态,分别用黄、红、绿色灯的不同组合来表示。本系统采用单片机AT89C52为核心器件来设计交通灯控制器,模拟现实中的交通灯控制方法,具有较强的实用性。 关键词:89C51单片机;交通灯;自动控制;时间显示器; 一、设计目的

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

用51单片机控制交通灯汇编语言编写

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

关于单片机的毕业论文

西安邮电学院 毕业设计(论文) 题目: 院(系): 专业: 班级: 学生姓名: 导师姓名:职称:

1.绪论 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。 1.1 单片机基础知识

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。 DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。 1.2 单片机的应用领域 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴: 一、在智能仪器仪表的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。

基于-51单片机控制交通灯课程设计报告

基于51单片机控制交通灯课程设计报告 本设计课程使用STC89c52型号的芯片及相关元器件自己组装单片机最小系统,并编写程序用于控制交通信号灯。 1.STC89c52的芯片元器件的说明: STC89c52置8位中央处理单元、256字节部数据存储器RAM、8k片程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片时钟振荡电路。此外,STC89c52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和 中断系统维持其功能。掉 电模式下,保存RAM数 据,时钟振荡停止,同时 停止芯片其它功能,STC89c52在众多嵌入式控制应用系统中得到广泛应用。 2.STC89c52的功能是: ·标准MCS-51核和指令系统·片8kROM(可扩充64kB外部存储器) · 32个双向I/O口· 256x8bit部RAM(可扩充64kB外部存储器) · 3个16位可编程定时/计数器·时钟频率3.5-12/24/33MHz ·向上或向下定时计数器·改进型快速编程脉冲算法 · 6个中断源· 5.0V工作电压 ·全双工串行通信口·布尔处理器 —帧错误侦测· 4层优先级中断结构 —自动地址识别·兼容TTL和CMOS逻辑电平 ·空闲和掉电节省模式· PDIP(40)和PLCC(44)封装形式

3.管脚说明 VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双 向I/O口,每脚可吸收8TTL门电流。当 P1口的管脚第一次写1时,被定义为高 阻输入。P0能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。 在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时 P0外部必须被拉高。 P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL

51单片机毕业设计题目

51单片机毕业设计题目 篇一:2 1、基于51单片机温湿度检测的设计 1、设计要求 1、采用51单片机(STC89C52RC)+LCD12864+SHT10设计。 2、湿度范围:0-100%RH 温度:0-100摄氏度 3、4个发光二级管实现报警:高温报警、低温报警、高湿度报警、低湿度报警共8种报警状态。 4、3个按键实现温湿度上下限报警值的调节。 5、电脑USB供电 6、采用C语言编程。 2、基于51单片机温湿度检测+数字钟的设计设计要求 1、采用51单片机(STC89C52RC)+LCD12864+SHT10设计。 2、湿度范围:0-100%RH 温度:0-100摄氏度 3、4个发光二级管实现报警:高温报警、低温报警、高湿度报警、低湿度报警共8种报警状态。 4、3个按键实现温湿度上下限报警值和数字钟时分秒的调节。 5、时分秒显示 6、电脑USB供电

7、采用C语言编程。 3、基于51单片机温湿度检测+电子万年历的设计 1、设计要求 1、采用51单片机(STC89C52RC)+LCD12864+SHT10+DS1302设计。 2、湿度范围:0-100%RH 温度:0-100摄氏度 3、4个发光二级管实现报警:高温报警、低温报警、高湿度报警、低湿度报警共8种报警状态。 4、3个按键实现温湿度上下限报警值和电子万年历时分秒星期年月日的调节。 5、年、月、日、时、分、秒、星期、温度、湿度显示 6、电脑USB供电 7、采用C语言编程。 4、基于51单片机温湿度检测+数字电压表的设计 1、设计要求 1、采用51单片机(STC89C52RC)+LCD12864+SHT10+ADC0832设计。 2、湿度范围:0-100%RH 温度:0-100摄氏度 3、4个发光二级管实现报警:高温报警、低温报警、高湿度报警、低湿度报警共8种报警状态。 4、3个按键实现温湿度上下限报警值的调节。 5、电压、温度、湿度显示。

基于51单片机的智能交通灯课程设计

目录 摘要 (1) 1 系统硬件设计 (2) 1.1 80C51单片机引脚图及引脚功能介绍 (2) 1.2 74LS245引脚图及功能 (4) 1.3 八段LED数码管 (5) 1.4 硬件系统总控制电路 (6) 1.5各模块控制电路 (8) 1.5.1 交通灯控制电路 (8) 1.5.2 倒计时显示电路 (9) 1.5.3 紧急通行电路 (12) 1.5.4 声音警示装置 (13) 2 系统程序设计 (14) 2.1 主程序流程图 (14) 2.2 显示子程序流程图 (15) 3 心得体会 (16) 参考文献 (17) 附录源程序 (18)

摘要 近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现交通的井然秩序呢?靠的是交通信号灯的自动指挥系统,来实现交通的井然有序。交通信号灯控制方式很多。本系统采用美国ATMEL公司生产的单片机AT80S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,输出设置显示时间。交通灯的点亮采用发光二极管实现,时间的显示采用七段数码管实现。单片机系统采用的直流供电。 关键词:AT89S51单片机;智能交通灯控制系统;

51单片机交通灯程序设计

单片机控制交通灯设计方案 一、单片机设计交通灯的设计要求: 状态一:南北绿灯亮,东西红灯亮,南北人行道绿灯,东西人行道红灯,南北左拐绿灯,东西左拐红灯。(时间为15S) 状态二:南北黄灯亮,东西红灯亮,南北人行道绿灯,东西人行道红灯,南北左拐绿灯,东西左拐红灯。(时间为5S) 状态三:南北红灯亮,东西绿灯亮,南北人行道红灯,东西人行道绿灯,南北左拐红灯,东西左拐绿灯。(时间为15S) 状态四:南北红灯亮,东西黄灯亮,南北人行道红灯,东西人行道绿灯,南北左拐红灯,东西左拐绿灯。(时间为5S) 二、设计原理分析 1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以, 为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。 3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。 4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

5.通过脉冲中断编写中断程序,可实现中断。 三、设计的仿真图如下; 其接法为:P0接数码管的端选段, P1接数码管的位选端, P2接交通灯,接法如下: P20,P21,P22,分别接南北向的红黄绿灯, P23接南北左拐绿灯, P24,P25,P26,分别接东西向的红黄绿灯, P27接东西左拐红灯 东西人行到红绿灯和南北红绿灯接到一起 南北人行到红绿灯和东西红绿灯接到一起 四、AT89C51的KILL程序 #include "reg51.h" #define uchar unsigned char #define uint unsigned int uchar code wei[]={0x01,0x02,0x04,0x08}; //位码选择 uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码选择 uchar table[4]={0,0,0,0};//四位为选端赋值区间

相关文档
最新文档