[工学]基于AT89C51的排队叫号系统.doc
《[工学]基于AT89C51的排队叫号系统.doc》由会员分享,可在线阅读,更多相关《[工学]基于AT89C51的排队叫号系统.doc(40页珍藏版)》请在三一办公上搜索。
1、2010届学生毕业设计(论文)材料(四)学 生 毕 业 设 计(论 文)课题名称基于嵌入式Linux的银行排队系统姓 名曾建涛学 号060640103院 系计算机科学系专 业计算机科学与技术指导教师阳俊 讲师2010年 6 月 18 日35湖南城市学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
2、 本科毕业设计(论文)作者签名: 二一年六月十八日目录摘要1关键字1ABSTRACT2KEYWORDS21绪论31.1引言31.2嵌入式银行排队系统概述31.3论文的主要工作42系统平台分析62.1开发板芯片S3C2410X简介62.2开发环境62.2.1交叉编译工具链62.2.2建立tftp服务器72.2.3配置NFS服务72.2.4设置minicom73定制板上系统93.1开发板Linux内核93.1.1移植Linux内核93.1.2 Linux内核的配置和编译103.1.3烧写Linux映像zImage123.2制作板上根文件系统143.2.1在一个已建好的文件系统上进行修改143.2.
3、2建立根文件系统153.3设备驱动程序介绍153.3.1LCD驱动163.3.2网络驱动164本系统支撑软件的构建174.1MiniGUI简介174.2MiniGUI的安装及配置174.2.1MiniGUI的安装174.2.2MiniGUI的本地运行环境设置174.3MiniGUI的移植184.3.1交叉编译zlib库184.3.2交叉编译png库194.3.3交叉编译jpeg库194.3.4交叉编译popt库194.3.5交叉编译libmingui194.4MiniGUI编程基础225服务器与客户端的设计与实现235.1服务器端与MiniGUI客户端的设计与实现235.1.1服务器端的设计与
4、实现235.1.2MiniGUI客户端的设计与实现255.2服务端与客户端通信设计与实现275.2.1UDP服务端的设计与实现275.2.2UDP客户端的设计与实现296系统用户使用指南32结论:34参考文献:34致谢:35基于嵌入式Linux的银行排队系统曾建涛(湖南城市学院计算机科学系2010届计算机科学与技术专业,益阳,413000)摘要:本论文研究和解决的课题是设计一个基于Linux的嵌入式银行排队系统。首先介绍了嵌入式银行排队系统的优点和应用前景。然后,进行了硬件平台的介绍,搭建软件开发平台。再次,介绍u-boot,编译内核,定制根文件系统。安装和交叉编译了图形系统MiniGUI,之
5、后,分析了MiniGUI、Socket和多线程的编程以及如何将Socket和多线程操作函数嵌入到MiniGUI程序中进行程序设计。最后,总结了本设计中的缺陷并提出相应解决方法。关键字:嵌入式系统;MiniGUI;内核;Linux;Socket;多线程The banks of the queuing system based on embedded LinuxZENG Jian-tao(2010 Session Student of The Computer Science and Technology Major Of Department Of Computer Science Hunan
6、City University, Yiyang, Hunan, 413000, China)Abstract:In this thesis, research and resolve issues has been done is to design a Linux-based embedded systems of banks queuing. First of all, it introduced the advantages and application prospects of the banks queuing embedded system. Then, it introduce
7、d hardware platform, the set up of the software platform needed in development system. Consequently, it introduced the concept about u-boot, which is the BootLoader of the ARM target, the method of compiling the Linux kernel and how to customize the root file system. Finally, it planted he graphics
8、system of MiniGUI through the cross compiler. Based on the work mentioned above, this thesis analysised the programming of MiniGUI,Socket and Thread and realized a practical system of banks queuing, and it just gived a good example of itself how to operate Socket or Thread functions embedded in the
9、MiniGUI Programming. In conclusion, this thesis summed up the deficiencies in design and the corresponding solution.Keywords: embedded systems;MiniGUI;kernel;Linux;Socket;Thread1绪论1.1引言Internet与网络的迅速普及应用,并向家庭领域不断扩展,使消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统再度成为研究与应用的热点。实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的
10、应用,因而越来越引起人们的重视。嵌入式实时Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量,所以,众多商家纷纷转向了嵌入式实时linux的研究。所谓嵌入式操作系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件等组成。嵌入式系统的应用将越来越多样化,为越来越多领域的用户提供最佳的选择方案。将嵌入式系统应用到银行排队管理系统中,可有效提高银行的服务质量。而且根据嵌入式系统对产品要求小型化、
11、低功耗、专用性等特点,可断言嵌入式技术将在排队信息化的过程中发挥重要作用。1.2嵌入式银行排队系统概述嵌入式银行排队系统代表着当今银行管理解决方案中最顶尖的领先科技,它是一种综合运用计算机、网络、多媒体、通讯控制的高新技术产品,以取代各类服务性窗口传统的由顾客站立排队的方式,改由计算机系统代替客户进行排队的产品。它不仅适用于银行服务业,同时也适用于各类窗口服务行业。目前在国外已经广泛应用于金融、医院、电信以及各级政府对外服务窗口等行业。使用排队系统,一方面可消除客户长时间“站队”的辛苦,同时防止“站错队”、“插队”的情况,为顾客提供更加温馨、人性化的服务,全面改善服务质量和企业形象,另一方面更
12、可以依据统计数据调整业务分配、挖掘潜力、合理安排窗口服务,减少群众的等候时间,提高办事效率。 同时,排队系统支持多种形式的排队,可依照业务或客户的种类进行排队。支持对特殊对象(如残疾人、老人等)的优先服务。支持多道手续的自动转移。支持多套派号机及打印机以满足业务大厅有多个出入口的自然环境。由于人力物力财力等资源的有限,本文设计并实现了一个功能简单的银行排队系统,基于该系统可以容易过渡到实用的银行排队系统。在系统的实现中涉及到许多技术,其中主要有嵌入式技术、socket通信技术、多线程技术、用户图形界面编程技术等。排队系统一般涉及到数据通信,比如取号机与窗口之间、窗口与大屏幕之间的通信,所以绝大
13、部分排队系统都采用socket技术进行通信。在socket网络编程中,为把接收数据和发送数据分开处理,将会采用多线程技术来实现。另外,为了方便用户的使用,还要设计一个人性化的图形用户界面。本文设计的系统中用socket进行网络通信,操作系统上选用了Linux,用户图形界面使用了MiniGUI。在硬件上,选用了低功耗、高性能的ARM9处理器。银行排队系统由客户端、计算机网络和服务器组成。客户端采用嵌入式技术实现,是本系统开发的重点和难点,它的服务对象是排队等候的顾客和营业窗口的营业员,顾客通过取号机选择自己需要在银行办理的业务,并取得排队的队列序号。服务器充当信息管理员的角色,系统中的所有信息都
14、从客户端先发到服务器上,再由服务器判断处理再转发到指定的客户端。服务器相当于整个排队系统的中枢神经,起到了协调全局的作用。银行引进排队系统,具有重大的意义:首先,解决顾客排队的烦恼,有效地提高银行服务质量,同时可以监控和预计顾客流量,实时掌握服务情况,提供有用管理信息,优化资源组合,提高劳动生产率;可根据不同的客户要求灵活配置该系统。银行排队系统具有不可抵赖性,每人一个号码,服务前可验证排队号码,可以有效的防止插队、偷窥密码等不良现象。可以有效的防止客户与客户之间、客户与工作人员之间的各种误会、不满和纠纷,也可以有效的保护客户的隐私。1.3论文的主要工作本文是在武汉创维特提供的JXARM9-2
15、410-1开发板及其软件系统的基础上完成的。本文的主要工作包括:第一:搭建开发平台。安装Linux和Windows双操作系统,启动NFS和TFTP服务,配置超级终端mincom。第二:对开发板上原有系统进行改造。在宿主机的RedHat Linux操作系统下安装Linux发行包以及交叉编译器arm-linux-gcc。然后对Linux内核进行配置(make menuconfig)并选择适合本系统的配置选项,配置完成后进行编译生成Linux映像文件zImage。本实验主要应用MiniGUI,因此在开发板根文件系统中需要添加运行MiniGUI用到的相应库文件和头文件。第三:在宿主机上安装和移植Min
16、iGUI。开发板上运行的软件需在宿主机上用交叉编译工具链arm-linux-gcc进行交叉编译,之后下载到开发板运行。 第四:使用MiniGUI并编写MiniGUI程序,分配完成宿主机端和开发板用户图形界面的应用程序。第五:总结了论文的成果。指出了本设计中的一些不足之处并提出了若干解决方案。2系统平台分析JXARM9-2410-1教学实验系统的硬件部分包括基本模块、调试模块、通信模块、人机交互模块、A/D及D/A模块、工业控制模块、IDE/CF/SD/MMC接口模块、GPRS模块、GPS模块和扩展模块。目标处理器采用Samsung公司的S3C2410X微处理器。主板包括3个UART接口,标准J
17、TAG接口,10M/100M以太网卡,2个USB HOST接口,5.7英寸、STN 256色LCD显示器/触摸屏,640X480的分辨率。系统具有体积小、功耗低、处理能力强等特点。2.1开发板芯片S3C2410X简介S3C2410X微处理器是一款有Samsung公司为手持设备设计的低功耗、高集成度的机遇ARM920T核的微处理器。为了降低系统总成本和减少外围器件,这款芯片中还集成了以下的部件:16KB指令Cache、16KB数据Cache、MMU、外部存储控制器、LCD控制器(STN和TFT)、NAND Flash控制器、4个DMA通道、3个UART通道、1个I2C总线控制器、1个I2S总线控
18、制器,以及4个PWM定时器和1个内部定时器、通用I/O口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等。现在它广泛应用于PDA、移动通信、路由器、工业控制等领域。2.2开发环境绝大多数的Linux软件开发都是以本机开发方式进行的。由于嵌入式系统一般资源都比较紧张,不能在本机(即开发板)运行开发工具,因此,嵌入式系统的开发采用一种叫做交叉编译调试的方式。为了进行交叉编译与调试,需要在宿主机(运行编译与调试工具的机器)上构建一些工具与搭建合适的环境,比如安装交叉编译工具链,建立tftp服务器,构建网络文件系统nfs等。2.2.1交叉编译工具链交叉编译工具链的目
19、的是为了在一个平台体系结构下能编译、链接、处理和调试另一个平台体系结构下的程序,使得编译生成的程序能够在另一个平台下运行。Linux使用的是GNU的工具链,包括:binutils,gcc,glibc等。与JXARM9-2410-1开发板配套的光盘里有交叉编译工具链,版本号为2.95.3,解压在宿主机的/usr/local/arm/2.95.3目录下。具体情况可见参考文献1。在编译过程中,经常接触的工具除了交叉编译工具链外,还有一个就是GNU make程序。make完成开发项目中自动编译的工作。Make主要是通过Makefile来完成工作的。2.2.2建立tftp服务器为了使用tftp在宿主机和
20、开发板之间传输文件,在宿主机上需要安装配置tftp服务器。本文的宿主机安装的是RedHat9.0完整版,已经安装有tftp服务器程序,仅进行适当的配置即可。在宿主机上执行:$setup,然后选择System service,将其中的tftp一项选中,并去掉ipchains和iptable两项服务,还要选择Firewall configuration,选中No firewall。左后,退出setup,执行service xinetd restart命令以启动tftp服务。2.2.3配置NFS服务网络文件系统NFS极大地简化了开发与调试过程。有了NFS,开发板上的系统可以把宿主机的某目录当作本机上
21、的目录甚至是根目录。这样,把宿主机上交叉编译好的可执行文件复制到NFS目录中,在开发板上就可以运行该科执行文件。RedHat9.0完全安装版有NFS服务器程序,需要做一些配置才能使其可用。编辑/etc/exports文件,命令是$vi /etc/exports,在该空文件中添加 /tftpboot 192.168.1.46/255.255.255.0(rw),其中“/tftpboot”是共享的目录,也是目标系统的根文件系统目录:“192.168.1.46”表示该服务提供给所有的主机和网络。然后用命令$/etc/init.d/nfs restart重新启动NFS服务,刚才的设置就生效了。注意,在
22、使用NFS服务之前应确认防火墙没有限制NFS服务,并且在系统服务中portmap服务是启动运行的。2.2.4设置minicom在Linux操作系统下,使用minicom作为超级终端,因此首先必须正确配置超级终端。在宿主机端Linux下执行: $minicom s第一次使用时需要对串口进行配置,在选择“Serial port setup”,然后回车将出现配置菜单 图2.1 minicom配置2参照图2.1的配置,相应输入左边的“A”、“B”等字符将出现配置各自参数的界面,分别配置成上述设置。 设置完成后回车退出,并选择保存。然后选择Exit菜单,将启动minicom程序,此时请将JXARM9-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 基于 AT89C51 排队 叫号 系统
链接地址:https://www.31ppt.com/p-4532602.html