基于51单片机的银行排队系统

上传人:鲁** 文档编号:457061566 上传时间:2023-09-29 格式:DOC 页数:12 大小:28.50KB
返回 下载 相关 举报
基于51单片机的银行排队系统_第1页
第1页 / 共12页
基于51单片机的银行排队系统_第2页
第2页 / 共12页
基于51单片机的银行排队系统_第3页
第3页 / 共12页
基于51单片机的银行排队系统_第4页
第4页 / 共12页
基于51单片机的银行排队系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于51单片机的银行排队系统》由会员分享,可在线阅读,更多相关《基于51单片机的银行排队系统(12页珍藏版)》请在金锄头文库上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。广西机电职业技术学院课程设计(实训)任务书电子1101班根据教学计划的安排,于本学期2013年1月7日- 11日为期 壹 周进行课程设计(实训),望做好准备。实训名称:银行排队系统的设计提交成果:1.实训报告;2.编写的软件实训内容与要求(见附件)。专业负责人:系主任: 电气工程系2012年12月31日附件:单片机原理及应用实训说明一、实训目的、任务与要求:本课程实训目的:通过对单片机程序的设计,基本掌握51单片机开发系统的操作、编程技巧,实现让学生对单片机的了解从感性认识上升为理性认识。实训任务:完成排队系统的控制功能。二、时间安排周一、三、五

2、: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.无故不能缺勤;

3、2.要求按规定时间完成设计和实训报告;3.进行答辩。4总成绩=10%(平时考勤)+60%(演示、答辩)+30%(实训报告)附:实训报告要求1 实训目的2 实训内容3 流程图4 源程序5 实训心得银行排队系统#include#define uint unsigned int#define uchar unsigned charsbit b1=P32;/VIP用户排队键sbit b2=P33;/普通用户排队键sbit b3=P34;/窗口一sbit b4=P35;/窗口二sbit b5=P37;/蜂鸣器uint i,j,i0,j0,i1,j1;uchar s1,s2,s3,s4,k1,k2,k3,

4、k4;uchar y1,y2,v1,v3,v4,m1,m2,m3,m4;uchar code a=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90;/0到9void delay(uint x) for(i=x;i0;i-) for(j=110;j0;j-);void xianshi1();/千位和百位显示void xianshi2();/十位和个位显示void jianpan();/键盘扫描void dingshi();/定时void panduan1();/窗口一判断void panduan2();/窗口二判断void main() EA=

5、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();/定时判断 void int1() interrupt 1 /窗口一定时 TH0=(65536-45600)/256; TL0=(65536-45600)%256;/定时50ms(晶振11.0592M) m1+; if(m1=120

6、)/定时120*50ms=6s m1=0; m3+; void int2() interrupt 3 /窗口二定时 TH1=(65536-45600)/256; TL1=(65536-45600)%256; m2+; if(m2=120) m2=0; m4+; void dingshi() if(m3=1) /如果m3=1,调用判断1函数 m3=0; panduan1(); if(m4=1) m4=0; panduan2(); void xianshi1() P2=0x10; /千位 if(y10) /y10,显示“P” P0=0x8c; else P0=ak1; delay(1); P2=0

7、x00; P0=0xff; P2=0x20;/百位 P0=ak2; delay(1); P2=0x00; P0=0xff;void xianshi2() P2=0x40; /十位 if(y20) /y20,显示“P” P0=0x8c; else P0=ak3; delay(1); P2=0x00; P0=0xff; P2=0x80;/个位 P0=ak4; delay(1); P2=0x00; P0=0xff;void jianpan() if(b1=0) /VIP用户排队 delay(8); if(b1=0) while(!b1); TR0=1; /开定时器0 TR1=1; /开定时器1 y1

8、=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(s299) 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

9、 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; void panduan1() b5=0; P1=0xf0; delay(200); b5=1; P1=0xff; m1=0; s3+; if(s10|s20)&(s3+s4)=s2) v3=0; v4=0; s1=0; s2=0; s3=0; s4=0; TR0=0; TR1=0; void panduan2() b5=0; P1=0x0f; delay(200); b5=1; P1=0xff; m2=0; s4+; if(s10|s20)&(s3+s4)=s2) v3=0; v4=0; s1=0; s2=0; s3=0; s4=0; TR0=0; TR1=0; /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号