51单片机的银行排队呼叫系统设计

硬件方案

        本系统是以排队抽号顺序为核心,客户利用客户端抽号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队抽号。整体电路主要由51单片机最小系统,LCD12864液晶显示屏,WT588语音播报模块,按键输入电路;原理图如图:

PCB图如下:

 

设计功能

  • LCD12864液晶显示当前窗口01、02 排队人数 取号号码。
  • 第一个按键到1号窗口,第二个按键到二号窗口。第三个按键进行取号。
  • 语音播报当前取号号码到几号窗口。

软件设计

主程序源码

/***************主函数*****************/
void main()
{     
    init_12864();             
    init_12864_dis();
    while(1)
    {
        key();     //独立按键程序    
        if(key_can != 0)
        {
            if(key_can == 1)
            {
                zong_r ++;
                if(zong_r / 2 == 0 )
                {
                    write_string(2,0,"请00号到 1号窗口");
                    write_shu10(2,1,zong_r);   //显示号    
                }else 
                {
                    write_string(1,0,"请00号到 1号窗口");
                    write_shu10(1,1,zong_r);   //显示号    
                }
            }
            if(key_can == 2)
            {
                zong_r ++;
                if(zong_r / 2 == 0 )
                {
                    write_string(2,0,"请00号到 2号窗口");
                    write_shu10(2,1,zong_r);   //显示号    
                }else 
                {
                    write_string(1,0,"请00号到 2号窗口");
                    write_shu10(1,1,zong_r);   //显示号    
                }
            }
            dengdai_r = paidui_h - zong_r;
            write_shu10(3,3,dengdai_r);   //显示等待人数
            if((key_can == 1)||(key_can == 2))      //语音
            {
                Send_threelines(118,1);   //请
                Send_threelines(zong_r,1);   //
                Send_threelines(zong_r/10%10,1);   //
                Send_threelines(10,1);   //
                Send_threelines(zong_r%10,1);   //
                Send_threelines(118,1);   //号
                if(key_can == 1)
                    Send_threelines(121,1); 
                if(key_can == 2)
                    Send_threelines(120,1); 
            }
        }
        if(key_can == 3)
        {
            paidui_h ++;    
            if(paidui_h >= 99)
                paidui_h = 99;
            write_shu10(4,5,paidui_h);   //显示排队的号    
        }
        dengdai_r = paidui_h - zong_r;
        write_shu10(3,3,dengdai_r);   //显示等待人数
    }
}

资料链接:https://pan.baidu.com/s/1XEicU4xBOxBkBWsBZa0rqQ?pwd=yct0 
提取码:yct0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值