银行自动叫号系统 数电课设报告.docx
- 文档编号:4764381
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:24
- 大小:460.59KB
银行自动叫号系统 数电课设报告.docx
《银行自动叫号系统 数电课设报告.docx》由会员分享,可在线阅读,更多相关《银行自动叫号系统 数电课设报告.docx(24页珍藏版)》请在冰豆网上搜索。
银行自动叫号系统数电课设报告
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
信息工程学院
题目:
银行自动叫号系统的设计仿真与制作
初始条件:
ATMEGA16L,LCD1602,0.1uF电容,10K电位器,ISP下载线,微动开关
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
叫号系统的工作流程为:
抽号→排队→叫号
1.顾客按下抽号按键后,系统根据排队人数自动为顾客排号,LCD上显示:
“YourNo.isxx!
”。
系统最多一次可以排20个号码,当排完20个人时,再有人按叫号按键时,LCD上显示:
“Thequeueisfull,pleasewait”。
2.有4个窗口供顾客办理业务,当客服人员按下对应窗口的叫号按键时,LCD上显示:
“No.xxcometoNo.xwindow,please!
”。
当其他窗口叫号时,系统自动将号码后移一位。
要是排队的人为0,按下叫号按键后,LCD上显示:
“Sorry,thequeueisempty!
”。
3.上电清零,可由外部电池盒供电,也可由USB口接电源供电
时间安排:
布置任务:
2011.6.10新15楼;理论设计、安装调试及撰写设计报告:
最后一周;答辩:
2011.7.8鉴主15楼
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
银行自动叫号系统设计
摘要
本文设计了一套银行排队叫号系统。
该系统是以排队抽号顺序为核心,客户利用客户端抽号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队抽号。
以提高排队等待效率,解决排队秩序混乱,前拥后挤等现象,实现排队自动化,规范化。
通过该系统的使用,客户不必为排队浪费大量精力,便于管理排队秩序,同时适应信息时代管理数字化的要求,提高服务水平与质量。
单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。
本设计利用ATMEGA16单片机结合字符型LCD显示器设计一个简易的银行叫号系统。
用一个按键抽号,4个按键叫号。
应用Proteus的ISIS软件和ICCV7forAVR软件来实现该叫号系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
І
Abstract
ThispaperhasdesignedalineQueuenumbersystem.Thesystemisbasedontheorderofthecorelinepumping,pumpingcustomersusingtheclientnumber,client'sstaffcalledthenumbercallednumber;throughthedisplayshowsthecurrenttimethecallnumbers,customerslineuptokeepabreastofinformation,throughreasonableprogramstructuretoimplementthepumpinglinenumber.Toimprovetheefficiencyofwaitingtoaddressthequeuedisorder,extrusionandotherphenomenaaftertheformerowner,toachievelineautomationandstandardization.Throughtheuseofthesystem,customersdonothavetolineupwastingalotofenergy,easytomanagequeuingorder,whileadaptingtothedigitalinformationagemanagementrequirements,improveservicelevelsandquality.
Single-chiptechnologyisatechnologyessentialforourfutureworkandlifeandlearningareverycloselylinked.Inrecentyears,electronictechnologyandcomputerwiththerapiddevelopmentofcomputers,increasingthegradeofthemicrocontroller,itsapplicationsareconstantlyexpandinginindustrialcontrol,andadvancedscience,intelligentinstrumentsandmeters,householdappliances,automotive,officeautomationequipment,informationterminalsandcommunicationproductshasbeenwidelyusedinmodernelectronicsystems,themostimportantcorecomponentofintelligence.
ChipbytheCPU,someRAMandROMform,timing,countingandmultipleinterfacesinoneofthemicrocontroller.Itssmallsize,lowcost,powerful,widelyusedinsmartindustriesandindustrialautomation.The51seriesisthemosttypicalofthemicrocontrollerandthemostrepresentativeone.Thecurriculumdesignthroughitsstudy,theapplicationtoachievethestudy,design,developmentsoftwareandhardwarecapabilities.
ThisdesignusesATMEGA16microcontrollerdesignwithcharacterLCDdisplaywithasimplebankcallingsystem.Pumpingnumberwithakey,fourbuttonscalled.ApplicationofProteus'sISISsoftwareandICCV7forAVRsoftwaretoimplementthecallingsystemdesignandsimulation.Themethodofsimulationresultsistrue,accurate,savinghardwareresources.
Ⅱ
目录
摘要
Abstract
1.银行自动叫号系统总方案1
1.1方案一1
1.2方案二1
1.3方案三2
1.4系统方案对比论证2
2.单元电路的设计与元器件的选择2
2.1显示模块的选择论述2
2.2单片机的选择论述4
3总电路图及仿真6
3.1总电路图6
3.2分电路图7
3.2.1按键模块7
3.2.2单片机模块7
3.2.3液晶模块8
3.3仿真实现8
4安装调试出现的问题及解决10
5收获、体会及建议11
6附录12
6.1单片机程序C语言代码12
6.2元器件清单19
6.3实物图19
7参考文献20
1.银行自动叫号系统总方案
1.1方案一:
采用如图1所示的原理框图,通过按键给计数器脉冲,并通过译码器驱动数码管显示,完成取号、叫号功能,同时叫号按键外接有源蜂鸣器实现提示客户的作用。
图1方案一系统方框图
1.2方案二:
采用如图2所示的原理框图,以ATMEGA16单片机为核心,利用微动开关抽号及叫号,经单片机处理后,输出到LCD1602上显示,完成排队取号流程。
图2方案二系统方框图
1
1.3方案三:
采用如图3所示原理框图,用微动开关进行抽号叫号,然后经由基本门电路进行处理,最后输出显示在数码管上。
基本门电路
数码管显示
叫号按键
抽号按键
图3方案三系统方框图
1.4系统方案对比论证
方案三最为麻烦,所需门电路很多。
方案一也有点麻烦,而且易受干扰。
方案二焊接连线最方便,所用元器件最少,程序调试也较容易。
综上所诉,选用方案二进行设计制作。
2.单元电路的设计与元器件的选择
2.1显示模块的选择论述
方案一:
数码管显示
2
图4DS18B20实物图
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
优点:
亮度高,显示大。
驱动部份的软件简单。
缺点:
与液晶相比,耗电及体积大,占用引脚较多,显示内容较少。
方案二:
1602液晶作为显示
图51602液晶实物图
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
综上所述:
方案一,八段数码管显示的有用数据量较少,并且占用的单片机的引脚较
3
多;方案二,LCD1602对工作的环境温度、湿度有较高的要求,可以显示的数据量多,可以直观的表示数据。
本次课程设计的工作温度为零到室温以上15度,可以估计为0度到50度范围内,符合LCD1602的工作要求,经综合比较本次课设采用LCD1602作为屏幕显示。
2.2单片机的选择论述
方案一:
51单片机
图651系列单片机引脚图
51单片机是对目前所有兼容Intel8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
主要功能:
8位CPU·4kbytes程序存储器(ROM)(52为8K);256bytes的数据存储器(RAM)(52有384bytes的RAM);32条I/O口线·111条指令,大部分为单字节指令;21个专用寄存器;2个可编程定时/计数器·5个中断源,2个优先级(52有6个);一个全双工串行通信口;外部数据存储器寻址空间为64kB;外部程序存储器寻址空间为64kB;逻辑操作
4
位寻址功能·双列直插40PinDIP封装;单一+5V电源供电;
CPU:
由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:
用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:
用以存放程序、一些原始数据和表格;
I/O口:
四个8位并行I/O口,既可用作输入,也可用作输出;T/C:
两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率为12M。
方案二:
AVR单片机
图7ATMEGA16单片机实物图
1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。
AVR单片机与51单片机相比具有一系列的优点:
1:
在相同的系统时钟下AVR运行速度最快;
2:
片内部的Flash、EEPROM、SRAM容量较大;
3:
所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);
4:
多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;
5
5:
每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;
6:
内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。
目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。
其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。
综上所述:
AVR单片机相较51单片机而言,性能更优越,外围电路简单,因此本次设计选用方案二所述的AVR单片机(ATMEGA16)。
3总电路图及仿真
3.1总电路图
总电路仿真图如图8所示。
液晶的D0-D7口接单片机的ADC口,按键1代表抽号按键,按键2、3、4、5分别代表窗口1、2、3、4对应的按键。
程序烧写入单片机中,相应的按键按下后,经由单片机分析处理,再显示在液晶上。
图8总电路图
6
3.2分电路图
3.2.1按键模块
按键模块的电路连接如图9所示。
图9按键模块电路连接
3.2.2单片机模块
单片机模块的连接如图10所示。
由于AVR单片机内部自带上电复位电路和内部晶振,所以实际焊接时不用焊上电复位电路,晶振选择内部1MHZ的RC振荡。
液晶与单片机的ADC口相连接,所以实际焊接时AVCC要接电源。
图10单片机模块
7
3.2.3液晶模块
液晶模块的连接如图11所示。
实际焊接时,3脚还要接一个电位器。
图11液晶模块电路
3.3仿真实现
上电清零,按下任意窗口对应的按键,液晶上的显示如图12。
图12
按下抽号按键,按到第5下时,液晶上的显示如图13。
8
图13
此时再按下一号窗口对应的按键,液晶上的显示如下图所示。
图14
排完20人,再按抽号按键时,液晶上的显示如下所示。
图15
由以上仿真结果可知,仿真设计完全满足设计要求。
9
4安装调试出现的问题及解决
问题及相应解决一:
用彩虹线连接液晶的D0-D7口与单片机的ADC口,线头金属外露,导致多处短路。
后来用导线重新焊接得以解决。
问题及相应解决二:
用progsip1.66给单片机烧写程序时,由于刚开始未下载驱动,程序下不进去,后来下载驱动后得以解决。
10
5收获、体会及建议
通过查阅相关书籍、网上资料和一些仿真实例,做成了现在的排队叫号系统。
此系统采用LCD1602显示,做起来比较简单,其中设立了4个处理窗口,根据需要还可以自行增加,具有较好的扩展功能。
本设计虽不及现今比较成熟的产品,不过对需求不是很高的人还是可以的。
从此次设计中,我学到了很多,对没有掌握的知识都有了一定的了解。
通过本次课程设计,我更加深刻认识到学单片机就是要多实践,灵活运用自己所学知识到自己的作品当中。
在程序设计过程中遇到的很多问题,阻碍设计的过程,通过总结,深深体会到程序设计的时候模块化处理的重要性,可以先画好程序流程图,然后各个模块各个击破。
同时遇到问题时可以同学之间相互讨论、回到书本在学习,更有助于加深对所学知识的理解。
虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。
当最终调试成功的时候也是对自己的一种肯定。
此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了重点。
另外在这次设计中我遇到了不少的问题,针对不同的问题我采取不同的解决方法,最终一一解决了。
在我们遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。
和同学之间相互讨论,询问老师。
最后感谢学校安排的这次课设,让我学到了很多!
感谢老师的指导,让我受益匪浅!
11
6附录
6.1单片机程序C语言代码
/**********************************************************************
*硬件材料:
用M16单片机、4个独立按键(代表四个窗口营业员消号控制端)、
1个独立按键叫号(顾客使用)*
*目的:
使人们免于排队浪费时间和体力,能在排队的时间里处理个人事务*
*用途:
银行的排队,医院的挂号等等*
*功能:
实现自动排队并完成叫号,设置一个排号按键,以及四个柜台用消号
按键。
当按下叫号键时,1.若队列不满,LCD显示"YourNo.is01!
"的字样。
2.若队列已排满,LCD显示"Thequeueisfull,pleasewait"的字样。
当按下消号键时,1.若队列无人,LCD显示"Sorry,thequeueisempty
!
"的字样。
2.若队列有人,LCD显示如"No.01cometoNo.1
window,please!
"的字样。
*
*时钟频率:
内部1M*
*编译环境:
ICC-AVR6.31*
*仿真:
1.DOFLYmini80E(51转AVR)2.Proteus7.5*
*编程:
yy*
*显示:
用LCD1602显示如"No.01cometoNo.1window,please!
"的字样*
*结果:
实验通过*
*要求:
通过控制4个独立按键实现窗口控制消号,一个键实现叫号。
最大累计
允许20人排队,当排队人数超过此人数是系统显示停止排队*
***********************************************************************/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharprompt1[]="YourNo.is00!
";//1062第一行显示的字符
ucharprompt2[]="No.00cometoNo";//1062第一行显示的字符
ucharprompt3[]=".0window,please!
";//1062第二行显示的字符
ucharprompt4[]="Thequeueis";//1062第一行显示的字符
ucharprompt5[]="full,pleasewait";//1062第二行显示的字符
ucharprompt6[]="Sorry,thequeue";//1062第一行显示的字符
ucharprompt7[]="isempty!
";//1062第二行显示的字符
staticuintnum_count=0;//排队叫的号码
uintrank_number[20]={0};//排队叫号存储的数组
uintnum=0;//窗口消的号码
intRankFlag=0;//叫号的标志
intClearNumFlag=0;//消号的标志
staticuintLengthFlag=0;//队列长度叫一次号时+1,消一次号时-1
/*****************************************
LCD1602端口RS、RW、EN的定义
*****************************************/
#defineRS_CLRPORTC&=~BIT(PC4)
12
#defineRS_SETPORTC|=BIT(PC4)
#defineRW_CLRPORTC&=~BIT(PC5)
#defineRW_SETPORTC|=BIT(PC5)
#defineEN_CLRPORTC&=~BIT(PC6)
#defineEN_SETPORTC|=BIT(PC6)
/*延时函数*/
voiddelay_us(unsignedintn)
{
if(n==0)
{
return;
}
while(--n);
}
/*延时函数*/
voiddelay_ms(unsignedchari)
{
unsignedchara,b;
for(a=1;a
for(b=1;b;b++);
}
/*****************************************
LCD1602*显示屏命令写入函数*
*****************************************/
voidLCD_write_com(ucharcom)
{
RS_CLR;
RW_CLR;
EN_SET;
PORTA=com;
delay_ms(5);
EN_CLR;
}
/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行自动叫号系统 数电课设报告 银行 自动 叫号 系统 数电课设 报告