基于单片机at89c51控制的抢答器课题设计报告内容摘要:
sbit K4=P1^3。 sbit K5=P1^4。 sbit K6=P1^5。 sbit K7=P1^6。 sbit K8=P1^7。 sbit K_Time=P3^2。 //答题计时键 sbit K_startcount=P3^3。 //开始抢答时间调整键 sbit K_timecount=P3^4。 //答题计时时间调整键 void delay(uchar ms) { uchar y。 for(。 ms0。 ms) for(y=120。 y0。 y)。 } uchar code tabledu[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }。 uchar code tablewe[]={0XFE,0XFD,0XFB,0XF7}。 void T0_Init(void) 宁波技师学院电气系 XXX 课程设计 9 { TMOD=0X01。 TH0=(655362020)/256。 TL0=(655362020)%256。 TH1=(655362020)/256。 TL1=(655362020)%256。 ET0=1。 ET1=1。 EA=1。 P0=0。 } void Key_Scan(void) //开始键扫描 { if(K0==0) { delay(10)。 if(K0==0) { while(!K0)。 TR0=1。 s=time。 tt=0。 flag=1。 s_flag=1。 b_flag=1。 num=0。 beep=1。 rled=1。 fall_flag=0。 //清除违规标志位 宁波技师学院电气系 XXX 课程设计 10 K_startcountflag=0。 K_timecountflag=0。 } } } void Scan(void) //八路热键扫描 (哪个键先按下 ,哪个优先级最高 ) { if(K1==0) { delay(10)。 if(K1==0) { while(!K1)。 num=1。 //数码管显示 1号 1 TR0=0。 //关闭定时器 0,时间停止 TR1=1。 //打开定时器 1,使扬声器响一声 s_flag=0。 //关闭开始键标志 位 ,使再按其他七个键不会响应 } } if(K2==0) //下面七个键的处理同上 { delay(10)。 if(K2==0) { while(!K2)。 num=2。 TR0=0。 TR1=1。 s_flag=0。 //重要 宁波技师学院电气系 XXX 课程设计 11 } } if(K3==0) { delay(10)。 if(K3==0) { while(!K3)。 num=3。 TR0=0。 TR1=1。 s_flag=0。 } } if(K4==0) { delay(10)。 if(K4==0) { while(!K4)。 num=4。 TR0=0。 TR1=1。 s_flag=0。 } } if(K5==0) { delay(10)。 宁波技师学院电气系 XXX 课程设计 12 if(K5==0) { while(!K5)。 num=5。 TR0=0。 TR1=1。 s_flag=0。 } } if(K6==0) { delay(10)。 if(K6==0) { while(!K6)。 num=6。 TR0=0。 TR1=1。 s_flag=0。 } } if(K7==0) { delay(10)。 if(K7==0) { while(!K7)。 num=7。 TR0=0。 宁波技师学院电气系 XXX 课程设计 13 TR1=1。 s_flag=0。 } } if(K8==0) { delay(10)。 if(K8==0) { while(!K8)。 num=8。 TR0=0。 TR1=1。 s_flag=0。 } } } void display(void) { if(flag==1) //开始键按下 ,开始计时抢答 { if(num!=0) //如果有人抢答 ,则显示相应的几号 { P0=tabledu[num]。 //显示几号抢到了 P2=tablewe[0]。 delay(2)。 P0=0。 P2=0XFF。 } 宁波技师学院电气系 XXX 课程设计 14 else //否则没人抢答 ,则前面不显示几号 { P0=0。 P2=0XFF。 } P0=tabledu[s/10]。 //下面为显示抢答倒计时 P2=tablewe[2]。 delay(2)。 P0=0。 P2=0XFF。 P0=tabledu[s%10]。 P2=tablewe[3]。 delay(2)。 P2=0XFF。 P0=0。 } else //如果开始键没有按下 ,则显示 F FF(若有违规者 ,则显示违规号码及 FF)或时间调整 { i。基于单片机at89c51控制的抢答器课题设计报告
相关推荐
08 MOV DPTR ,TAB MOV A,50H ANL A,0FH MOVC A,@A+DPTR LCALL W08 POP ACC RET。 键盘 SCAN SCAN: MOV P3,0FFH CLR MOV A,P3 ANL A,0FH XRL A,0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,0FH XRL A,0FH JZ NOKEY1
D2 D1 D0 GATE C\T M1 M0 GATE C\T M1 M0 控制定时器 T1 控制定时器 T0 GATE:门控位。 GATE=0 时,定时器由软件控制位 TR0 或 TR1 来控制启停。 TRi 位为 1 时,定时器启动开始工作;为 0时定时器停止工作。 GATE=1 时,定时器的启动停止由外部中断引脚和 TRi 位共同控制。 只有当外部中断引脚INT0 或 INT1 为高时,
1000计算):钢筋混凝土每立方米自重: 5KN/㎡,梁截面积按 平方米计,则 1米长梁的自重为: 20KN。 楼面板承重面积计算: 20KN247。 5KN/㎡ =4 平方米,承压面积保证大于 4平方米。 内支撑梁静爆的顺序:内支撑梁为刚性超静定结构,其中间弯矩最大,静爆后应采用先中间后两端的破碎施工方法比较稳妥。 对基坑原有的漏点在内支撑梁上作出明显的标识,以便拆梁过程中对该部位进行重点保护
根据估算的结果本系统的 I/O 点数为输入 21 个,输出 26 个 , 如表 2— 1 所示。 表 2— 1 病床呼叫系统输入 /输出地址表 输入点 名称 地址 说明 启动按钮 开 始 医护站内复位按钮 复位 病房一①号床呼叫信号 检测是否呼叫 病房一②号床呼叫信号 检测是否呼叫 病房一③号床呼叫信号 检测是否呼叫 病房一④号床呼叫信号 检测是否呼叫 病房二 ① 号床呼叫信号 检测是否呼叫
据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1 脚: VSS 为地电源。 第 2 脚: VDD 接 5V 正电源。 第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生 “ 鬼影 ” ,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器
用于连接开关或 2线接近开关 (BERO)。 数据采集部分与背板总线通过光电耦合器隔离。 模块的每个输出点有一个绿色发光二极管 LED 显示输入状态。 输入开关闭合即有输入电压 14 时, LED 亮。 32 位数字输出模块 SM322D032*24DC/ 0. 5A 数字输出模块将 s7— 300的内部信号电平转化为控制过程所需的外部信号电平。 按负载回路使用的电源不同分为:直流输出模块