255芯片的PA、PB口联合控制数码管显示排队等待情况。采用如图 4、图 6所示电路实现LED动态显示功能。Р图 4 8255芯片引脚图Р2.4叫号电路Р此电路采用如图 5所示的电路,通过单片机的P33端口输出一定频率的方波,使蜂鸣器发声,完成叫号,提醒客户。Р3系统软件设计与分析Р3.1软件流程图Р本程序可以实现课程设计的基本要求。客户端通过按键完成取号,数码管显示排队、等待人数情况;主机通过按键完成叫号,数码管显示叫到的号码,并通过蜂鸣器发声提示;客户端和主机通过串行通信方式完成排队取号功能。程序流程如图 7所示:Р图 5 叫号电路Р图 6 数码管显示电路Р3.2动态显示模块Р此模块由于要使数码显示管不同的数值,数字各位对应的段选值不同,所以位选不能同时打开,所以需要采用动态显示实现同时显示排队号码以及等待的人数。最后采用如图 8所示的电路完成要求功能。Р图 7 总体流程图Р图 8 动态显示流程图Р3.3叫号模块Р此模块采用无源蜂鸣器发声,采用如图 9所示电路,通过单片机向P33端口输出一定频率的方波,就可使蜂鸣器的发声。Р图 9 叫号模块电路Р3.4串行通信模块Р设计要求客户端与主机通过串行通信方式,采用如图 3所示的常用双机通信方式,通过使用定时器1采用 2400bps的波特率进行通信。Р4系统仿真及调试Р4.1软件调试Р(1)在Keil软件中建立工程,新建工程,选择Atmel AT89C52芯片,创建源代码,进行编译,在Keil中仿真调试。Р(2)在Protues软件中,根据功能模块,画出相应原理图。利用Keil中生成的*.hex文件与Keil进行程序联调。Р4.2硬件调试Р4.2.1动态显示模块Р开始调试时,在Protues软件上可以很好模拟动态显示效果,但硬件电路数码管显示效果失真,考虑到延时在动态显示中的重要作用,通过调小延时时间,使数码管稳定、准确地显示。