基于51单片机简单病床呼叫系统
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于51单片机简单病床呼叫系统相关的知识,希望对你有一定的参考价值。
基于51单片机简单病床呼叫系统
- 基于51单片机设计
- 主要硬件:
AT89C52
扬声器、按键 - 采用16个按键控制16个床位系统设计
实现代码
#include<reg51.h>
#define uchar unsigned char
#define uint insigned int
uchar code LED[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴数码管断码
uchar Buffer[]={0x3F,0x3F};
sbit CLAER=P3^1;
sbit BUZZ=P3^0;
uchar key_scan();
void key_count(uchar num);
void disp();
void delay(uchar s);
void buzz_on();
void main()
{
uchar temp;
while(1)
{
disp();
temp=key_scan();
if(temp!=0xFF)
{
key_count(temp+1);
while(CLAER==1)
{
buzz_on();
disp( );
}
Buffer[0]=0x3F;
Buffer[1]=0x3F;
BUZZ=1;
}
}
}
void disp()
{
uchar i,w;
w=0x01;
for(i=0;i<2;i++)
{
P2=~w;
w<<=1;
P0=Buffer[i];
delay(10);
P2=0xFF;
}
}
uchar key_scan(void)
{
uchar key=0xFF,cord_h,cord_1;
P1=0x0F;
cord_h=P1&0x0F;
if(cord_h!=0x0F)
{
delay(10);
if(cord_h!=0x0F)
{
cord_h=P1&0x0F;
P1=0xF0;
cord_1=P1&0xF0;
while((P1&0xF0)!=0xF0);
switch(cord_h+cord_1)
{
case 0xEE:key=0;break;//S1
case 0xED:key=1;break;//S2
case 0xEB:key=2;break;//S3
case 0xE7:key=3;break;//S4
case 0xDE:key=4;break;//S5
case 0xDD:key=5;break;//S6
case 0xDB:key=6;break;//S7
case 0xD7:key=7;break;//S8
case 0xBE:key=8;break;//S9
case 0xBD:key=9;break;//S10
case 0xBB:key=10;break;//S11
case 0xB7:key=11;break;//S12
case 0x7E:key=12;break;//S13
case 0x7D:key=13;break;//S14
case 0x7B:key=14;break;//S15
case 0x77:key=15;break;//S16
default: key=0xFF;break;
}
}
}
return(key);
}
void key_count(uchar num)
{
Buffer[0]=LED[num/10];
Buffer[1]=LED[num%10];
}
void buzz_on()
{
BUZZ=0;
delay(1);
BUZZ=1;
delay(1);
}
void delay(uchar s)
{
int j;
while(s--)
for(j=0;j<20;j++);
}
- 编译信息
- 度盘资源下载,多多点赞支持!
链接:https://pan.baidu.com/s/15ylev1-18hXnk8fKSQ-C1A
提取码:78i7
以上是关于基于51单片机简单病床呼叫系统的主要内容,如果未能解决你的问题,请参考以下文章
基于单片机自行车自动防盗报警系统设计-基于单片机温度监测监控报警系统设计-基于单片机智能无线病床呼叫系统设计-基于单片机四路红外遥控开关电路设计设计资料转发分享
基于单片机GSM大棚环境智能监控系统基于单片机的警示灯爆闪灯设计基于单片机太阳能手机智能充电器设计基于单片机智能无线病床呼叫系统设计-设计资料转发分享