机电职业技术学院 课程设计(实训)任务书
电子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
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;i>0;i--) for(j=110;j>0;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)%6; TH1=(65536-45600)/256; TL1=(65536-45600)%6; while(1) {
jianpan();//键盘扫描 } }
void int1() interrupt 1 //窗口一定时 {
TH0=(65536-45600)/256;
TL0=(65536-45600)%6;//定时50ms(晶振11.0592M) m1++;
if(m1==120)//定时120*50ms=6s { m1=0; } }
void int2() interrupt 3 {
xianshi1();//扫描显示 xianshi2();
dingshi(); //定时判断
m3++;
//窗口二定时
TH1=(65536-45600)/256; TL1=(65536-45600)%6; m2++; if(m2==120) { m2=0; } }
void dingshi() {
if(m3==1) //如果m3=1,调用判断1函数 { } if(m4==1) { } }
void xianshi1() {
P2=0x10; //千位
if(y1>0) //y1>0,显示“P” P0=0x8c; else P0=a[k1]; delay(1);
m4++;
m3=0; panduan1();
m4=0; panduan2();