导航:首页 > 操作系统 > 交通灯单片机课程设计报告

交通灯单片机课程设计报告

发布时间:2022-06-09 07:26:42

‘壹’ 单片机课程设计的要求 交通灯系统设计

:利用单片机的定时器功能,令十字路口的红绿灯交替点亮和熄灭(用实验箱上的8只发光二极管分成南北、东西两组各4只表示),并且用LED数码管显示时间(实验箱上的8只数码管中,用两端的各2只表示南北、东西两组的计时)
我可以帮你做,提供电路图和源程序

‘贰’ 单片机交通灯课程设计~~

你认为网上的动心可信马
人家辛辛苦苦弄出来的事,就凭你的30分给你?
不要看人家把程序给你了 ,那都是实现不了逻辑功能的。
你还是自己来吧

‘叁’ 单片机课程设计:交通灯控制!

我给你发一个看看,是protues的仿真电路图,可以运行看效果,还有keil的汇编程序,有邮箱给你发去
我给你发了啊!!!下边是程序:
org 0000h
sjmp main
org 0030h
main: mov p0,#11101110b
acall del1
acall del1
acall del1
acall mmm
mov p0,#11011011b
acall del1
acall del1
mov p0,#11110101b
lcall del1
acall del1
acall del1
acall mmm
sjmp main
del1:mov r0,#0ffh
loop1:mov r1,#0ffh
loop2:djnz r1,loop2
djnz r0,loop1
ret
mmm:mov p1,#0ffh
mov p2,#0ffh
mov r3,#02h
mmm2:mov p1,r3
mov r2,#09h
mmm1:mov p2,r2
acall del1
acall del1
djnz r2,mmm1
djnz r3,mmm2
mov p1,r3
mov r2,#09h
mmm3: mov p2,r2
acall del1
acall del1
djnz r2,mmm3
ret
end

‘肆’ 单片机模拟交通灯实验报告怎么写

实验时间 实验项目 实验地点 实验人员 实验工具 实验过程 实验原理(程序流程图) 实验目的 指导老师 等等 在网上下一个实验报告范文 换些内容就行

‘伍’ 高分求单片机课程设计报告

手边有一些你需要的关于单片机的论文设计资料 需要的话加QQ 晚上7点以后隐身在线,直接加就行,说明要的资料名字就好。嘿嘿 楼主 要是觉的好的话 可别忘了给分哦。

‘陆’ 基于单片机的交通灯设计开题报告

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片80C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。
本设计以单片机为核心,以LED灯作为直行和左右拐弯指示完成了对题目要求的功能。

‘柒’ 单片机交通信号灯课程设计

你好!

这里有一个交通灯仿真演示,基本满足你的设计要求

‘捌’ 单片机交通灯课程设计

/*****************************************************

十字路口交通灯控制C程序

******************************************************/

#defineucharunsignedchar

#defineuintunsignedint

#include<reg52.h>

/*****定义控制位**********************/

sbit Time_Show_LED2=P2^5;//Time_Show_LED2控制位

sbit Time_Show_LED1=P2^4;//Time_Show_LED1控制位

sbitEW_LED2=P2^3;//EW_LED2控制位

sbitEW_LED1=P2^2;//EW_LED1控制位

sbitSN_LED2=P2^1;//SN_LED2控制位

sbitSN_LED1=P2^0;//SN_LED1控制位

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

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

sbit EW_Red=P1^3;//EW红灯

sbit SN_Red=P1^7;//SN红灯

sbit EW_ManGreen=P3^0;//EW人行道绿灯

sbit SN_ManGreen=P3^1;//SN人行道绿灯

sbit Special_LED=P2^6;//交通正常指示灯

sbit Busy_LED=P2^7;//交通繁忙指示灯

sbit Nomor_Button=P3^5;//交通正常按键

sbit Busy_Btton=P3^6;//交通繁忙按键

sbit Special_Btton=P3^7;//交通特殊按键

sbit Add_Button=P3^3;//时间加

sbit Reces_Button=P3^4;//时间减

bit Flag_SN_Yellow;//SN黄灯标志位

bit Flag_EW_Yellow;//EW黄灯标志位

charTime_EW;//东西方向倒计时单元

charTime_SN;//南北方向倒计时单元

ucharEW=60,SN=40,EWL=19,SNL=19;//程序初始化赋值,正常模式

ucharEW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量

ucharcodetable[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段选码

ucharcodeS[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信号灯控制代码

/**********************延时子程序************************/

voidDelay(uchara)

{

uchari;

i=a;

while(i--){;}

}

/*****************显示子函数**************************/

voidDisplay(void)

{

charh,l;

h=Time_EW/10;

l=Time_EW%10;

P0=table[l];

EW_LED2=1;

Delay(2);

EW_LED2=0;

P0=table[h];

EW_LED1=1;

Delay(2);

EW_LED1=0;

h=Time_SN/10;

l=Time_SN%10;

P0=table[l];

SN_LED2=1;

Delay(2);

SN_LED2=0;

P0=table[h];

SN_LED1=1;

Delay(2);

SN_LED1=0;

h=EW1/10;

l=EW1%10;

P0=table[l];

Time_Show_LED1=1;

Delay(2);

Time_Show_LED1=0;

P0=table[h];

Time_Show_LED2=1;

Delay(2);

Time_Show_LED2=0;

}

/**********************外部0中断服务程序************************/

voidEXINT0(void)interrupt0using1

{

EX0=0;//关中断

if(Add_Button==0)//时间加

{

EW1+=5;

SN1+=5;

if(EW1>=100)

{

EW1=99;

SN1=79;

}

}

if(Reces_Button==0)//时间减

{

EW1-=5;

SN1-=5;

if(EW1<=40)

{

EW1=40;

SN1=20;

}

}

if(Nomor_Button==0)//测试按键是否按下,按下为正常状态

{

EW1=60;

SN1=40;

EWL1=19;

SNL1=19;

Busy_LED=0;//关繁忙信号灯

Special_LED=0;//关特殊信号灯

}

if(Busy_Btton==0)//测试按键是否按下,按下为繁忙状态

{

EW1=45;

SN1=30;

EWL1=14;

SNL1=14;

Special_LED=0;//关特殊信号灯

Busy_LED=1;//开繁忙信号灯

}

if(Special_Btton==0)//测试按键是否按下,按下为特殊状态

{

EW1=75;

SN1=55;

EWL1=19;

SNL1=19;

Busy_LED=0;//关繁忙信号灯

Special_LED=1;//开特殊信号灯

}

EX0=1;//开中断

}

/**********************T0中断服务程序*******************/

voidtimer0(void)interrupt1using1

{

staticucharcount;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

count++;

if(count==10)

{

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

{SN_Yellow=~SN_Yellow;}

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

{EW_Yellow=~EW_Yellow;}

}

if(count==20)

{

Time_EW--;

Time_SN--;

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

{SN_Yellow=~SN_Yellow;}

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

{EW_Yellow=~EW_Yellow;}

count=0;

}

}

/*********************主程序开始**********************/

voidmain(void)

{

Busy_LED=0;

Special_LED=0;

IT0=1;//INT0负跳变触发

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

TH0=(65536-50000)/256;//定时器赋初值

TL0=(65536-50000)%256;

EA=1;//CPU开中断总允许

ET0=1;//开定时中断

EX0=1;//开外部INTO中断

TR0=1;//启动定时

while(1)

{/*******S0状态**********/

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

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

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

Time_EW=EW;

Time_SN=SN;

while(Time_SN>=5)

{P1=S[0];//SN通行,EW红灯

Display();}

/*******S1状态**********/

P1=0x00;

while(Time_SN>=0)

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

EW_Red=1; //SN黄灯亮,等待左拐信号,EW红灯

Display();

}

/*******S2状态**********/

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

Time_SN=SNL;

while(Time_SN>=5)

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

Display();}

/*******S3状态**********/

P1=0x00;

while(Time_SN>=0)

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

EW_Red=1; //SN黄灯亮,等待停止信号,EW红灯

Display();}

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

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

/*******S4状态**********/

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

SN_ManGreen=~SN_ManGreen;//SN人行道禁止

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

Time_EW=SN;

Time_SN=EW;

while(Time_EW>=5)

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

Display();}

/*******S5状态**********/

P1=0X00;

while(Time_EW>=0)

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

SN_Red=1;//EW黄灯亮,等待左拐信号,SN红灯

Display();}

/*******S6状态**********/

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

Time_EW=EWL;

while(Time_EW>=5)

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

Display();}

/*******S7状态**********/

P1=0X00;

while(Time_EW>=0)

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

SN_Red=1;//EW黄灯亮,等待停止信号,SN红灯

Display();}

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

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

}

}

‘玖’ 基于89C51单片机的交通灯设计报告

我这里有一个用HOLTEK单片机汇编写的,利用查表程序完成,你可以参考一下.

include HT48R10A-1.inc;
;-------------------------------------

data .section 'data' ;资料段

COUNT1 db ? ;延时变数1
count2 db ? ;延时变数2
count3 db ? ;延时变数3
flash db ? ;LED闪烁控制暂存器
rglight db ? ;LED控制暂存器

;---------------------------------------

code .section at 0 'code' ;程序段
org 0H ;程式初始入口地址
jmp start ;

start : ; 程序开始
mov a, 0h
mov pac, a ;设PA为输出口
mov pa,a ;PA清零
;*********************************

loop: ;LED灯循环
mov a, 0 ;
mov tblp, a ;表格指标初始化
tabrdl rglight ;读取最后一页表格内容放入LED控制寄存器
mov a,rglight ;
mov pa, a ;把LED寄存器的内容输出到PA
call delay1 ;调用延时子程序DELAY1
inc tblp ;递增表格内容
mov a, 6 ;
mov flash, a ;设LED闪烁控制寄存器的内容为6次

; ;;;;;;;;;;;;;

flashlamp: ;LED闪烁循环?
tabrdl rglight ;读取最后一页表格内容放入LED控制寄存?
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA
call delays ;
inc tblp ;递增表格指标
sdz flash ;检LED闪烁是否结束
jmp flashlamp ;闪烁没有结束,跳至LED闪烁循环
tabrdl rglight ;读取最后一页表格内容,放入LED控制寄存器
mov a,rglight ;?
mov pa,a ;将LED寄存器的内容输出到PA
call delaym ;呼叫延时子程序
inc tblp ;递增表格指标
;----------------
tabrdl rglight ;读取最后一页表格内容,放入LED控制寄存器
mov a, rglight
mov pa, a ;将LED寄存器的内容输出到PA
call delay1 ;呼叫延时子程序
inc tblp ;递增表格指标
mov a, 6 ;设LED闪烁次数
mov flash,a ;将闪烁次数放入LED闪烁控制寄存器
flash2: ;LED闪烁循环次数
tabrdl rglight ;读取最后一页表格内容,放入LED控制寄存器
mov a,rglight ;?
mov pa,a ;将LED寄存器的内容输出到PA
call delays ;调用延时子程序
inc tblp ;递增表格指标
sdz flash ;检查LED闪烁是否结束
jmp flash2 ;闪烁没有结束,中央电视台跳至LED闪烁循环2
tabrdl rglight ;读取最后一页表格内容,放入LED控制寄存器
mov a,rglight ;?
mov pa,a ;将LED寄存器的内容输出到PA
call delaym ;呼叫延时子程序DELAYM
jmp loop ;?
;======================== ;?
delay1 proc ; 延时子程序DELAY1
mov a,0fh ;?
mov count1,a ;?
mov count2,a ;?
mov count3,a ;?
d1: ;?
sdz count2
jmp d1 ;?
sdz count2
jmp d1
sdz count1
jmp d1
ret
delay1 endp
;;;;;;;;;;;;;;;;;;;;;;;;;;
delaym proc ;延时子程序DELAYM
mov a, 07h
mov count1 ,a
mov a, 0ffh
mov count2, a
mov count3,a
d2: sdz count3
jmp d2
sdz count2
jmp d2
sdz count1
jmp d2
ret
delaym endp
;------------------------
delays proc ;延时子程序DELAYS
mov a, 0ffh
mov count1, a
mov count2, a
d3: sdz count2
jmp d3
sdz count1
jmp d3
delays endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org 300h ;led表格

dc 0ebh, 0fbh, 0ebh, 0fbh, 0ebh, 0fbh, 0ebh, 0dbh
dc 0beh, 0bfh, 0beh, 0bfh, 0beh, 0bfh, 0beh, 0bdh

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

end

阅读全文

与交通灯单片机课程设计报告相关的资料

热点内容
医师定期考核刷题app哪个好 浏览:334
导出dmp文件命令 浏览:286
手机百度网盘怎么解压密码文件 浏览:581
索引重新编译 浏览:602
命令与征服4免cd补丁完美版 浏览:426
kotlin编译为native 浏览:140
家用编译机 浏览:549
电子加密货币最新政策 浏览:379
androidcanvas撤销 浏览:269
安卓手机怎么把图标全部下移 浏览:185
饥荒被服务器踢出怎么进 浏览:170
c编译器哪款好 浏览:732
快手宝哥发明什么app 浏览:822
张艳玲编译 浏览:66
android展开收起动画 浏览:237
linuxxz文件 浏览:160
在游戏中心里面怎么玩到解压神器 浏览:484
电脑发到手机里面照片怎么解压 浏览:74
虚拟pdf打印机64位 浏览:413
支付宝AES加密和解密 浏览:379