基于51单片机的银行排队系统.docx
- 文档编号:4810774
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:11
- 大小:17.07KB
基于51单片机的银行排队系统.docx
《基于51单片机的银行排队系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的银行排队系统.docx(11页珍藏版)》请在冰豆网上搜索。
基于51单片机的银行排队系统
广西机电职业技术学院
课程设计(实训)任务书
电子1101班
根据教学计划的安排,于本学期2013年1月7日-11日为期壹周进行课程设计(实训),望做好准备。
实训名称:
银行排队系统的设计
提交成果:
1.实训报告;2.编写的软件
实训内容与要求(见附件)。
专业负责人:
系主任:
电气工程系
2012年12月31日
附件:
《单片机原理及应用》实训说明
一、实训目的、任务与要求:
本课程实训目的:
通过对单片机程序的设计,基本掌握51单片机开发系统的操作、编程技巧,实现让学生对单片机的了解从感性认识上升为理性认识。
实训任务:
完成排队系统的控制功能。
二、时间安排
周一、三、五:
8:
00-11:
30,14:
30-16:
30
周二:
8:
00-10:
30周四:
8:
00-10:
30,14:
30-16:
30
三、实训教学内容:
实训内容:
1.控制数码管显示:
数码管Q1-Q4分别作两个不同窗口业务办理序号显示;
2.分别用两个按键作为“普通业务”、“VIP业务”的选择,剩余两个按键分别作为两个窗口叫号的选择,长按1秒表示业务办理中;当按下“下一位”键的时候,相应窗口数码管闪动显示,并加入声光提示;
3.*在定时3S后如无人办理,自动显示下一位序号(要求选择时VIP业务优先于普通业务且显示号为“P*”,*代表序号)。
4.答辩,展示、介绍程序运行结果。
四、考核方式
1.无故不能缺勤;
2.要求按规定时间完成设计和实训报告;
3.进行答辩。
4.总成绩=10%(平时考勤)+60%(演示、答辩)+30%(实训报告)
附:
实训报告要求
1.实训目的
2.实训内容
3.流程图
4.源程序
5.实训心得
银行排队系统
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitb1=P3^2;//VIP用户排队键
sbitb2=P3^3;//普通用户排队键
sbitb3=P3^4;//窗口一
sbitb4=P3^5;//窗口二
sbitb5=P3^7;//蜂鸣器
uinti,j,i0,j0,i1,j1;
uchars1,s2,s3,s4,k1,k2,k3,k4;
uchary1,y2,v1,v3,v4,m1,m2,m3,m4;
ucharcodea[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};//0到9
voiddelay(uintx)
{
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
voidxianshi1();//千位和百位显示
voidxianshi2();//十位和个位显示
voidjianpan();//键盘扫描
voiddingshi();//定时
voidpanduan1();//窗口一判断
voidpanduan2();//窗口二判断
voidmain()
{
EA=1;
TMOD=0x11;
ET0=1;
ET1=1;
TH0=(65536-45600)/256;
TL0=(65536-45600)%256;
TH1=(65536-45600)/256;
TL1=(65536-45600)%256;
while
(1)
{
jianpan();//键盘扫描
xianshi1();//扫描显示
xianshi2();
dingshi();//定时判断
}
}
voidint1()interrupt1//窗口一定时
{
TH0=(65536-45600)/256;
TL0=(65536-45600)%256;//定时50ms(晶振11.0592M)
m1++;
if(m1==120)//定时120*50ms=6s
{
m1=0;
m3++;
}
}
voidint2()interrupt3//窗口二定时
{
TH1=(65536-45600)/256;
TL1=(65536-45600)%256;
m2++;
if(m2==120)
{
m2=0;
m4++;
}
}
voiddingshi()
{
if(m3==1)//如果m3=1,调用判断1函数
{
m3=0;
panduan1();
}
if(m4==1)
{
m4=0;
panduan2();
}
}
voidxianshi1()
{
P2=0x10;//千位
if(y1>0)//y1>0,显示“P”
P0=0x8c;
elseP0=a[k1];
delay
(1);
P2=0x00;
P0=0xff;
P2=0x20;//百位
P0=a[k2];
delay
(1);
P2=0x00;
P0=0xff;
}
voidxianshi2()
{
P2=0x40;//十位
if(y2>0)//y2>0,显示“P”
P0=0x8c;
elseP0=a[k3];
delay
(1);
P2=0x00;
P0=0xff;
P2=0x80;//个位
P0=a[k4];
delay
(1);
P2=0x00;
P0=0xff;
}
voidjianpan()
{
if(b1==0)//VIP用户排队
{
delay(8);
if(b1==0)
{
while(!
b1);
TR0=1;//开定时器0
TR1=1;//开定时器1
y1=1;
s1++;
v1++;
s3=0;
s4=0;
k1=s1/10;
k2=s1%10;
xianshi1();
if(s1>=9)
s1=0;
}
}
if(b2==0)//普通用户排队
{
delay(8);
if(b2==0)
{
while(!
b2);
TR0=1;
TR1=1;
s2++;
y2=0;
k3=s2/10;
k4=s2%10;
xianshi2();
if(s2>99)
s2=0;
}
}
if(b3==0)//窗口一
{
delay(8);
if(b3==0)
{
while(!
b3)
{
j0++;
i0=110;
while(i0--);
}
if(j0>=200)//如果长按超过1s,关闭定时器0
TR0=0;
else
{
TR0=1;
panduan1();
}
j0=0;
}
}
if(b4==0)//窗口二
{
delay(8);
if(b4==0)
{
while(!
b4)
{
j1++;
i1=110;
while(i1--);
}
if(j1>=200)//如果长按超过1s,关闭定时器1
TR1=0;
else
{
TR1=1;
panduan2();
}
j1=0;
}
}
}
voidpanduan1()
{
b5=0;
P1=0xf0;
delay(200);
b5=1;
P1=0xff;
m1=0;
s3++;
if((s1>0||s2>0)&&(s3+s4)<=v1)//显示VIP
{
y1=1;
k1=(s3+s4)/10;
k2=(s3+s4)%10;
xianshi1();
}
else//显示普通
{
y1=0;
v3++;
k1=(v3+v4)/10;
k2=(v3+v4)%10;
xianshi1();
if((v3+v4)>=s2)
{
v3=0;v4=0;
s1=0;s2=0;s3=0;s4=0;
TR0=0;TR1=0;
}
}
}
voidpanduan2()
{
b5=0;
P1=0x0f;
delay(200);
b5=1;
P1=0xff;
m2=0;
s4++;
if((s1>0||s2>0)&&(s3+s4)<=v1)//显示VIP
{
y2=1;
k3=(s3+s4)/10;
k4=(s3+s4)%10;
xianshi2();
}
else//显示普通
{
y2=0;
v4++;
k3=(v3+v4)/10;
k4=(v3+v4)%10;
xianshi1();
if((v3+v4)>=s2)
{
v3=0;v4=0;
s1=0;s2=0;s3=0;s4=0;
TR0=0;TR1=0;
}
}
}物业管理有限公司物业交接目录
序号
资料名称
备注
1
物业移交验收表
2
房屋及公用设施等移交验收交接表
3
管理资料移交表
8
机电设备验收单
9
设备房钥匙移交清单
10
房间钥匙移交表
11
给排水系统图纸目录
13
公用场地移交清单
14
管理用房移交接管一览表
15
水、电、消防资料移交清单
17
设备/设施接管验收记录表
18
设备/设施接管验收记录表
19
管理用会议室钥匙移交清单
20
房屋接管(公用部分)验收记录表
21
各部门人事变动报表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 银行 排队 系统