本文设计了一套排队叫号系统。该系统是以排队抽号顺序为核心,客户利用客户端抽号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队抽号。以提高排队等待效率,解决排队秩序混乱,前拥后挤等现象,实现排队自动化,规范化。
本系统由键盘输入系统、单片机系统、屏幕显示系统及叫号提示音系统组成,系统分为两个部分:抽号部分和叫号部分,其控制核心为AT89C51单片机,抽号部分和叫号部分采用一块 LCD液晶显示器,这样显示数据直观,便于客户理解,抽号部分输入只需使用一个抽号按键即可,便于客户操作,叫号部分包括叫两个号键,系统采用自动清零,无需人工操作。
系统框图
设备上电后,显示器屏幕亮,无信息显示。当客户按键后,每按一下,队伍加1,显示器显示客户队伍号;排满20位后,再按取号键,屏幕显示“队伍满”。当客服叫号时,队伍减1,程序进行信息处理,在显示器上显示“几号客户到几号窗口”,同时进行声音提示;当队伍空时,显示“队伍空”,显示器屏幕清空,储存的队伍号码归零处理。
MCS-51单片机结构
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。从工作原理上讲,单片机就是一种微型计算机,是一种“程序存储式”计算机。它是在一块硅片上集成了中央处理器(CPU)、随机内存(RAM)、程序内存(ROM或EPROM)、定时/计数器以及各种I/O接口,也就是集成在一块芯片上的计算机。
液晶LCD1602介绍
用LCD显示一个字符时比较复杂,因为一个字符由6x8或8x8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8个字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立游标,在此送上该字符对应的代码即可。
系统硬件电路设计
系统Proteus仿真图:图中主要以AT89C51为控制核心,包括显示电路,音乐提示电路,晶振电路。
液晶显示电路:P1口接LCD1602的8个双向数据线接口,P3.4接1602的数据/命令选择端,P3.5接1602的读/写选择端,P3.6接1602的使能信号。BLA、BLK分别是1602的背光源的正负极,VL是1602对比度调整端。本文是通过对RS、RW以及E的高低电平进行写指令和写数据操作来控制1602的显示的。
声音提示电路:使用最简单的蜂鸣器来作为提示音部分,通过改变端口高低电平来进行发声,并对延时进行修改来调试发声频率,从而修改发出的声音的好坏。
系统软件设计
系统仿真调试
仿真是在软件Proteus 7.4上进行的,用C语言编写的程序,通过keil生成了hex文件,经过调试,仿真实现了排队叫号系统的功能。
客户取号:按下客户端取号按键,屏幕显示“Your No.is 03!”。
窗口叫号:按下窗口服务叫号按键一,屏幕显示“No.03 Come to No.1 window, please”。
上一篇:基于单片机的坐姿(提醒)矫正系统设计
下一篇:基于单片机的温度监控报警系统设计
推荐阅读






推荐帖子
- 函数suspend2的问题
- 我买了《UNIX环境高级编程》第三版,正在看。 看到第10章,信号。函数suspend2。 代码如下: 运行: 可以看到,输入两次中断字符,程序就终止了。 可是书上的结果是可以一直输入中断字符,输入退出字符才终止。 按照程序的意思也不对。 请高手指教,谢谢! 函数suspend2的问题
-
chenbingjy
Linux与安卓
- 程序问题
- 本帖最后由wanghlady于2014-10-2911:28编辑 mlen_row=HIBYTE(menu[0].yx); mlen_col=LOBYTE(menu[0].yx); HIBYTE和LOBYTE是取高8位,低8位的意思吗 先谢谢大家 程序问题
-
wanghlady
stm32/stm8
- DWIN 86盒硬件开发信息分享
- 86盒里面有2块PCB,分别为显示板和外设控制板。两个板之间通过FCC10_1.0线连接,线缆的定义为: 5VPPWM2PPWM1PIO3PRXDPTXDPIO2PIO1PIO0GND 显示板上通过T5的编程,可以驱动线缆上信号的变化,进而控制外设控制板上的继电器和PWM以及485总线。 IO8PIO3保留 IO9PIO2继电器3K3 IO10PIO1继电器2K2 IO11PIO0继电器1K1 PWM2PP
-
DWIN_IOT
DIY/开源硬件专区
- 【信号处理】基于Nios II的I2C总线设计
- 【信号处理】基于NiosII的I2C总线设计
-
37°男人
FPGA/CPLD
- ucosii开发注意事项
- [本帖最后由daicheng于2008-8-2814:18编辑]ucosii开发注意事项
-
daicheng
实时操作系统RTOS
- 怎么理解戴维南端接对信号的影响?
- 如图,在信号末端进行上下拉,进行阻抗匹配减小反射。如果只是单纯的并联一个上拉电阻进行端接,上拉到高电平,那么会导致信号高电平升高(相当于高电平输出电阻减小了)。如果只是单纯的并联一个下拉电阻进行端接,下拉到地,那么会导致信号低电平降低(相当于低电平输出电阻减小了)。可是这里黄色的部分说上下拉导致高电平偏低,低电平偏高,和我的理解好像有点相反,这个应该怎么理解呢?还是说这里黄色部分本来就是错误的结论? 怎么理解戴维南端接对信号的影响?
-
普拉卡图
PCB设计
设计资源 培训 开发板 精华推荐
最新视频课程更多
- 不多说了,我也散分:)同时强烈要求GOOGLEMAN和91发扬共产主义精神!呵呵.
- 直流伺服电机的步进化控制
- How to deliver employee's welfare?This is knowledge(set diagram)
- TMDSLCDK138板卡关于PRU部分程序
- EEWORLD大学堂----用LaunchPad BoosterPack生态系统快速建立原型(4)
- 关于裸奔的一个致命问题,呵呵,看了你就知道
- MSP430电容式单触摸传感器设计指南(中文)
- WinCE在已连接到GPRS网络下,怎么判断收到来电和短信?
- 32位周期触发模式编译通过但是LED就是没有反应,纠结中...
- 以下代码为2410 BOOTLODER中的一段,请解释一下