1、2.2 方案论证1.控制器控制器的选择是确定整个系统硬件方案的关键,它关系到其它几个部分方案的确定,对于排队叫号系统,控制器的可选方案有以下两种:(1)采用单片机。单片机采用半导体工艺,使其具有很多显著的优点和特点,因而能在各个领域都得到迅猛的发展,它主要有如下特点:1有优异的性能价格比。2集成度甚高,体积小,有很高的可靠性,可以在恶劣环境下工作。3控制能力强。4低功耗,低电压,便与生产便携式产品。5扩展容易。(2)采用PLC。PLC是一种专门为在工业环境下的应用而设计的专用计算机。其特点是抗干扰能力强,具有很高的可靠性高;各种接口配套齐全,功能完善,适用性强。采用PLC构成的控制系统的工作量
2、小,维护方便,适合于野外使用,但价格昂贵21。排队叫号系统作为一种生活中常用的小型系统,本身价值不高,更要求控制系统具有较好的性价比,经上述分析比较,确定采用单片机作为控制器。2.输入通道输入通道为按键。按键有独立式按键和行列式按键两种,因为所需按键数少,故确定使用独立式按键。3.控制输出通道排队叫号系统的执行机构是1602显示器和蜂鸣器使得系统输出简单明了。2.3总体方案系统的组成如图2.3。设备上电后,显示器屏亮,无信息显示。当客户按键后,没按一下,队伍加一,显示器显示客户队伍号:排满20位后,再按取号键,屏幕显示“队伍满”。当客服叫号时,队伍减1,程序进行信息处理,在屏幕上显示“几号客户
3、到几号窗口”,同时进行声音提示;当队伍空时,显示“队伍空”,显示器屏幕清空,储存队伍号码归零处理。图2.3 总体方案框图3 硬件电路设计3.1 单片机及外围电路微控制器采用AT89C51。AT89C51是美国ATMEL公司生产的与MCS-51系列单片机完全兼容的高性能CMOS 8位单片机,MCS-51系列单片机以其推出时间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用,是单片机的主流品种。 AT89C51的内部资源主要包括: 与MCS-51 系列完全兼容的高性能8位CPU;8K字节可重复编程的Flash存储器;256字节的SRAM;4个8位的并行口,共32条I/O口线;3个1
4、6位的定时器/计数器;6个中断源,2个中断优先级的中断系统;一个全双工的串行口;内部振荡器。 AT89C51的外围电路主要包括时钟电路、复位电路、存储器扩展电路等,为了提高系统的可靠性,应设计看门狗(Watch-dog Timer)电路。如图3.1所示。图3.1 单片机外围电路3.2显示电路多数的应用系统,都要配输出外设,LED显示器和LCD显示器,为了达到显示目的,我们选用了LCD1602显示器。在显示方面,我们选用LCD显示。背光亮度可调,可显示两行,每行16字符,不能显示汉字,内置含128个字符的ASCII字符集字库,并行接口编程容易,但是占用的I/O口线比较多,引脚功能介绍如下:VSS
5、(引脚1):电源地。VDD(引脚2):电源正。VO(引脚3):对比度调节端RS(引脚4):数据/命令选择端(H/L)R/W(引脚5):读写选择端(H/L)E(引脚6):使能信号D0D7(引脚714)数据口BLA(引脚15)背光电源正BLK(引脚16)背光电源负1602显示屏连接单片机的P0口,电路连接图如下 图3.33.3按键电路按键控制电路中,单片机的P1口分别连接3个按键式开关,P3.0顾客排号按键;P3.1窗口一叫号按键;P3.2窗口二叫号按键。按键电路图如下图3.3图3.33.4蜂鸣器电路蜂鸣器的正极的一段连接到5V电源上面,另一端连接到三级管的集电极,三极管的基极有单片机的P1.5管
6、脚来控制,当P1.5管脚为低时,输出高电平,三极管导通,这样蜂鸣器的电流形成回路,放出声音。用户可以通过程序控制P1.5管脚的置低和置高来使蜂鸣器发出声音和关闭。电路如下图 4 系统软件设计4.1 主程序设计主程序见附录B图4.1 主程序流程图4.2子程序液晶LCD1602显示处理程序液晶LCD1602显示处理程序/*LCD1602*显示屏命令写入函数*/void LCD_write_com(uchar com) e=0; rs=0; rw=0;P0= com;delay(1000); e=1; delay(1000); /* LCD1602 *显示屏数据写入函数* */ void LCD_w
7、rite_data(uchar dat) rs=1; P0 = dat; LCD1602 *显示屏数据写入数据* void LCD_clear(void) LCD_write_com(0x01);LCD1602 显示屏初始化函数 void LCD_init(void) LCD_write_com(0x38); /*显示模式设置*/ delay(100);LCD_write_com(0x38); LCD_write_com(0x08); /*显示关闭*/ /*显示清屏*/ LCD_write_com(0x06); /*显示光标移动设置*/ LCD_write_com(0x0C); /*显示开及光
8、标设置*/ 程序具体流程图如图这几个是1602显示的必备程序,设置好1602后,只需通知写指令和写数据的程序处理,能够把需要显示的内容显示出来,是比较简单的显示设备。4.3子程序按键检测程序 /*获取键值函数*/ uint sweep_key() uint jianzhi; if(key1=0) delay(1000);if(key1=0) jianzhi=1; RankFlag=1; if(key2=0|key3=0) if(key2=0) jianzhi=2; if(key3=0) jianzhi=3;ClearNumFlag=1; return (jianzhi);本设计只有两个叫号窗口
9、,相对来说比较简单,通过按键检测程序来分辨是哪个按键按下了。窗口依据实际需要可以增加,程序有很大的扩展性。5 系统调试与总结5.1调试屏幕出将程序下载到单片机中调试成功。按下客户端取号按键现号码如上图。按下服务叫号键出现提示如下图5.2 总结此系统采用LCD1602显示,做起来比较简单,其中只设立了两个处理窗口,虽然较少,不过可以根据需要自行增加,具有较好扩展功能。设计采用声音提示,由于能力有限,不会编写音乐程序,就用了最简单的蜂鸣器声音。从此次设计中,我学到很多,对没用掌握的知识有了一定的理解。参考文献1 单片机微型计算机原理、应用、及接口技术(第二版)。张迎新 等编著。国防科技大学出版社出
10、版。2 单片机在服务叫号管理系统中的应用。唐海波 于宏图 李继平。微型机与应用。3 MCS-51单片机应用设计。张毅刚。哈尔滨工业大学出版社。4 MCS51单片机原理与应用(C语言版)。机械工业出版社。5 一种基于单片机的排队叫号系统设计。欧志刚。计算机光盘软件与应用。附录A:系统原理图附录B 程序#include#define uchar unsigned char #define uint unsigned int sbit rs=P26;sbit rw=P25;sbit e=P27;sbit key1=P10;sbit key2=P11;sbit key3=P12;sbit sounder=P15;uchar prompt1=Your No.is 00!;uchar prompt2=No.00 Go To Win.0uchar prompt3=Queue is full uchar prompt4=Queue is empty !uint num_count=0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1