一.硬件方案
本系统是以排队抽号顺序为核心,客户利用客户端抽号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队抽号。电路主要由51单片机+最小系统+LCD12864液晶显示屏+WT588语音模块+按键输入;
二.设计功能
(1)LCD12864液晶显示当前窗口01、02 排队人数 取号号码。
(2)第一个按键到1号窗口,第二个按键到二号窗口。
(3)第三个按键进行取号。
(4)语音播报当前取号号码到几号窗口。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)PCB图如下:
四.软件设计
主程序源码
/***************主函数*****************/
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/1wLYcnCpBNzrAqpkvF-zxFw?pwd=wu0l