单片机常见课程设计题目文档格式.docx
- 文档编号:17546119
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:1.50MB
单片机常见课程设计题目文档格式.docx
《单片机常见课程设计题目文档格式.docx》由会员分享,可在线阅读,更多相关《单片机常见课程设计题目文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
D37-基于单片机的智能寻迹避障小车设计
D38-基于单片机的家用太阳能热水器控制器设计
D39-基于单片机的新型抢答计分器设计
D40-基于单片机的热敏电阻测温系统设计
D41-基于单片机的林火监测系统-飞艇姿态控制系统设计
D42-基于单片机的人性化时钟控制器设计
D43-基于单片机的智能型电话远程遥控器设计
D44-基于单片机的远程通讯控制器设计
D45-基于单片机的温度控制器设计
D46-基于单片机的智能水位控制器设计
D47-基于单片机的水位控制系统设计(版本1)
D48-基于单片机的智能电动小车设计
D49-基于单片机的数码电子时钟设计
D50-基于单片机的数控直流电源设计
D51-基于单片机的交通灯控制器设计
D52-基于单片机的数字温度计设计(STC89C51)
D53-基于单片机的智能小车设计
D54-基于单片机的温度控制器设计
D55-基于单片机的串行通信发射机设计(版本3)
D56-基于单片机的温度控制系统设计(版本1)
D57-基于单片机的交通灯控制系统设计
D58-基于单片机的电子万年历设计
D59-基于单片机的水位控制器设计
D60-基于单片机的水位控制系统设计(版本2)
D61-基于单片机的数据采集器设计
D62-基于单片机的水位控制系统设计(版本3)
D63-基于单片机的电梯控制系统设计
D64-基于单片机的智能温控系统设计(版本2)
D65-基于单片机的温度控制系统设计(版本2)
D66-基于单片机的数据采集与传输系统设计
D67-基于单片机的交通灯控制系统设计(版本1)
D68-基于单片机的交通灯控制系统设计(版本2)
D69-基于单片机的红外防盗报警器设计
D70-基于单片机的花卉温室控温系统设计
D71-基于单片机的焊机温度控制系统设计(89C51)(版式一)
D72-基于单片机的焊机温度控制系统设计(版式二)
D73-基于单片机的路灯控制器设计
D74-基于单片机技术的水位控制器设计(8051)
D75-基于单片机的车床刀架控制系统设计(MCS-51)
D76-基于单片机的电机智能综合保护装置设计
D77-基于单片机的水位控制器设计(STC89C51)
D78-基于单片机的水位控制器设计(STC89C51+水泵)
D79-基于单片机技术的自动停车器的设计
D80-基于ARM的嵌入式图形用户界面设计
D81-基于单片机的太阳能热水器控制器设计(版本3)
D82-基于单片机的太阳能热水器控制器设计(版本4)
D83-基于单片机的智能型矿用磁力启动器设计(PIC16F877A单片机)
D84-基于单片机的无氧退火炉温控系统设计(8031)
D85-基于单片机的电厂锅炉过热蒸汽温度监测系统设计(MCS-51)
D86-基于单片机的摩托车里程表研制
D87-基于PIC16F84单片机的IC卡智能水表设计
D88-基于单片机的自动车库门的设计
D89-基于单片机的自动滴灌控制系统的设计
D90-基于单片机的预付费电度表设计
D91-基于单片机的智能电子秤设计
D92-基于单片机的太阳能热水器智能控制器设计
D93-基于单片机的油井巡视定位系统设计
D94-基于单片机的照明控制系统
D95-基于单片机的水位测试系统中数据采集电路设计
D96-基于单片机的锅炉液位控制系统设计
D97-基于单片机的洗衣机设计
D98-基于单片机的锅炉汽包水位控制系统设计
D99-基于单片机的多功能秒表设计
D100-基于单片机的GSM网数据传输设计与实现
D101-锅炉燃烧微机DDC控制系统(含组态)
D102-在单片机上实现USB移动存储
51单片机交通灯protues仿真
1.按键可以选择正常模式和夜间模式
2.按键可以选择正常模式和紧急模式
原理图和仿真效果如下:
南北红灯模式
南北黄灯模式
南北绿灯模式
程序如下:
#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharnum;
//定时器T0计数变量
ucharnum1;
//定时器T1计数变量
ucharkey1num;
ucharkey2num;
ucharkey3num;
uchartemp;
//南北时间变量
uchartemp1;
//东西时间变量
//ucharflagS1;
//状态一标志位
ucharflagS2;
//状态二标志位
ucharflagS3;
//状态三标志位
ucharflagS4;
//状态四标志位
ucharkey1flag;
ucharkey2flag;
ucharkey3flag;
ucharflag;
ucharflag1;
disp[]={11,3,8};
//南北显示时间数值
disp1[]={14,5,3};
//东西显示时间数值
uchari;
ucharcodesmg_dm[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,};
//数码管段码数组
ucharcodesmg_wm[]={
0x0f,0x1f,0x2f,0x3f,
0x4f,0x5f,0x6f,0x7f,};
//数码管位码数组
////////指示灯位定义//////////////
sbitNS_R=P0^0;
//南北走向红灯
sbitNS_Y=P0^1;
//南北走向黄灯
sbitNS_G=P0^2;
//南北走向绿灯
sbitEW_R=P0^3;
//东西走向红灯
sbitEW_Y=P0^4;
//东西走向黄灯
sbitEW_G=P0^5;
//东西走向绿灯
sbitkey3=P3^2;
//设置键
sbitkey2=P3^3;
//紧急键
切换正常南北紧急东西紧急三种状态
sbitkey1=P3^4;
//模式切换键切换正常模式夜间模式
/////////子函数声明//////////////
voidinit();
//初始化
voiddelay_ms(uintz);
//延时ms级
/////////////////////////////////
voidsmg();
//数码管显示
voidkey();
//按键函数
voidS0();
//初始状态
voidS1();
//状态1函数
voidS2();
//状态2函数
voidS3();
//状态3函数
voidS4();
//状态4函数
构成一个正常显示的循环
//////////////////////////////////
voidyejian();
voidzhengchang();
voidnaibeijinji();
voiddongxijinji();
////////////主程序///////////////
voidmain()
{
init();
//flagS1=1;
//进入状态下
temp=disp[i];
//取初值
temp1=disp1[i];
//取初值
S0();
TR0=1;
while
(1)
key();
if(flag==1)
{
if(key2flag==1)
{
naibeijinji();
TR0=0;
num=0;
///////////////////////////////调试
}
elseif(key2flag==2)
dongxijinji();
//////////////////////////////调试
else
//
NS_R=1;
NS_Y=1;
NS_G=1;
/////////////调试
EW_R=1;
EW_Y=1;
EW_G=1;
NS_R=0;
NS_Y=0;
NS_G=0;
EW_R=0;
EW_Y=0;
EW_G=0;
zhengchang();
elseif(flag1==1)
if(key3flag==1)
yejian();
TR0=1;
//
zhengchang();
}
}
voidyejian()
NS_R=0;
EW_R=0;
delay_ms(500);
//////////延时太长按键切换会不灵敏
//NS_R=1;
voidzhengchang()
if(flagS2==1)
S2();
elseif(flagS3==1)
S3();
elseif(flagS4==1)
S4();
else
S1();
voidnaibeijinji()//南北绿灯,东西红灯
{
//NS_R=1;
//EW_R=0;
EW_R=1;
voiddongxijinji()//东西绿灯,南北红灯
//NS_R=0;
//EW_R=1;
NS_R=1;
voidkey()
if(key2==0)
delay_ms(10);
flag=1;
flag1=0;
key2num++;
key2num=key2num%3;
switch(key2num)
case0:
key2flag=0;
break;
//正常模式
case1:
key2flag=1;
//南北紧急
case2:
key2flag=2;
//东西紧急
while(!
key2);
if(key3==0)
flag=0;
flag1=1;
key3num++;
key3num=key3num%2;
switch(key3num)
key3flag=0;
key3flag=1;
//夜间模式
key3);
voidS0()
//EW_R=0;
delay_ms(2000);
//NS_R=1;
//EW_R=1;
voidS1()
//NS_G=0;
//南北绿灯亮
//EW_R=0;
//东西红灯亮
if(num==20)
num=0;
temp=temp-1;
temp1=temp1-1;
if(temp==0)
flagS2=1;
//NS_G=1;
//南北绿灯灭
//东西红灯亮
NS_G=0;
i=i+1;
//1
//3
temp1=temp1;
//flagS1=0;
smg();
voidS2()
//NS_Y=0;
//南北黄灯亮
NS_Y=1;
//temp=3;
{
flagS2=0;
flagS3=1;
//NS_Y=1;
NS_Y=0;
//2
//8
temp1=disp1[i-1];
//5
voidS3()
//NS_R=0;
//南北红灯亮
//EW_G=0;
//东西绿灯亮
EW_G=1;
if(temp1==0)
flagS3=0;
flagS4=1;
//EW_G=1;
EW_G=0;
temp=temp;
voidS4()
//EW_Y=0;
//
EW_Y=1;
flagS4=0;
//EW_Y=1;
EW_Y=0;
if(i>
2)
{i=0;
voidsmg()
P2=smg_wm[0];
P1=smg_dm[temp%10];
delay_ms(5);
P1=0X00;
P2=smg_wm[1];
P1=smg_dm[temp/10];
P2=smg_wm[2];
P1=smg_dm[temp1%10];
P2=smg_wm[3];
P1=smg_dm[temp1/10];
voidinit()
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
//TR0=1;
//ET1=1;
//TR1=1;
voidtime0()interrupt1
num++;
/*
voidtime1()interrupt3
num1++;
*/
voiddelay_ms(uintz)
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
窗体底端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 常见 课程设计 题目