具体实现功能
(1)病人紧急呼叫时会产生声、光提示,并显示病人编号(房间号和床号);
(2)医护人员按下按键处理呼叫,系统按呼叫顺序分别显示呼叫的病人编号;
(3)病人呼叫时可以进行呼叫计时并通过数码管显示,总床位数为24个(8个房间,每个房间3张床位)。
仿真演示视频(实物功能和仿真类似):
基于51单片机的病床呼叫系统仿真—仿真视频
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
void main()
{
uchar tt,i,j,aa=1;
uchar num[30];
P0=0x00;
P2=0x00;
Timer0Init();
while(1)
{
tt = keynum();
if(tt!=num[i]&&tt!=0)
{
num[++i] = tt;
}
if(key1==0)
{
DelayMS(1);
if(key1==0)
{
while(!key1);
aa++;
ss=0;
mm=0;
beep=0;
led=0;
}
}
if(num[aa]!=0)
{
TR0=1;
P2 = wei[7];
P0 = shu[num[aa]/10];
DelayMS(1);
P2 = wei[5];
P0 = shu[num[aa]%10];
DelayMS(1);
P2 = wei[2];
P0 = shu[ss/10];
DelayMS(1);
P2 = wei[3];
P0 = shu[ss%10];
DelayMS(1);
P2 = wei[0];
P0 = shu[mm/10];
DelayMS(1);
P2 = wei[1];
P0 = shu[mm%10];
beep=1;
led=1;
if(ss==60)
{
ss=0;
mm++;
}
}
else
{
P2=0x00;
ss=0;
aa=1;
for(j=0;j<i+1;j++)
num[j]=0;
i=0;
TR0=0;
}
}
}
程序运行结果如图:
全部资料下载:优快云资源