资源描述:
《基于某51单片机地银行排队系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、广西机电职业技术学院课程设计(实训)任务书电子1101班根据教学计划的安排,于本学期2013年1月7日-11日为期壹周进行课程设计(实训),望做好准备。实训名称:银行排队系统的设计提交成果:1.实训报告;2.编写的软件实训容与要求(见附件)。专业负责人:系主任:电气工程系2012年12月31日附件:《单片机原理及应用》实训说明一、实训目的、任务与要求:本课程实训目的:通过对单片机程序的设计,基本掌握51单片机开发系统的操作、编程技巧,实现让学生对单片机的了解从感性认识上升为理性认识。实训任务:完成排队系统的控制功能。二、时间安排周一、三、五:8:0
2、0-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.答辩,展示、介绍程序运行结果。四、
3、考核方式1.无故不能缺勤;2.要求按规定时间完成设计和实训报告;3.进行答辩。4.总成绩=10%(平时考勤)+60%(演示、答辩)+30%(实训报告)附:实训报告要求1.实训目的2.实训容3.流程图4.源程序5.实训心得银行排队系统#include#defineuintunsignedint#defineucharunsignedcharsbitb1=P3^2;//VIP用户排队键sbitb2=P3^3;//普通用户排队键sbitb3=P3^4;//窗口一sbitb4=P3^5;//窗口二sbitb5=P3^7;//蜂鸣器uint
4、i,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到9voiddelay(uintx){for(i=x;i>0;i--)for(j=110;j>0;j--);}voidxianshi1();//千位和百位显示voidxianshi2();//十位和个位显示voidjianpan();//键盘扫描voiddings
5、hi();//定时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//窗口一定时
6、{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){
7、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
8、(1);P2=0x00;P0=0xff;}voidjianpan(){if(b1==0)//VIP用户排队{delay(8