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

  • 4
  • 0
  • 约3.51千字
  • 约 12页
  • 2020-08-30 发布于江苏
  • 举报
广西机电职业技术学院 课程设计 ( 实训) 任务书 电子 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 . 实训心得 银行排队系统 #includereg51.h #define uint unsigned int #define uchar unsigned char sbit b1=P3^2;//VIP 用户排队键 sbit b2=P3^3;// 普通用户排队键 sbit b3=P3^4;// 窗口一 sbit b4=P3^5;// 窗口二 sbit b5=P3^7;// 蜂鸣器 uint i,j,i0,j0,i1,j1; uchar s1,s2,s3,s4,k1,k2,k3,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 到 9 void 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=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)// 定时 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=a[k1]; delay

文档评论(0)

1亿VIP精品文档

相关文档