点菜终端显示系统.docx
- 文档编号:6028972
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:18
- 大小:511.62KB
点菜终端显示系统.docx
《点菜终端显示系统.docx》由会员分享,可在线阅读,更多相关《点菜终端显示系统.docx(18页珍藏版)》请在冰豆网上搜索。
点菜终端显示系统
第23届“星火杯”大学生课外学术科技作品竞赛
论文
作品名称点菜终端显示系统
学院电子工程学院
年级二年级
专业电子信息工程
2011年9月26号
目录
第一章绪论2
1.1背景2
1.2内容安排2
第二章单元模块设计2
2.1STC89C58单片机模块2
2.1.1STC89C58RD+[1]单片机概述2
2.1.2STC89C58引脚介绍[2]3
2.2HS12864D模块[3]6
2.2.1基本简介6
2.2.2基本指令7
2.3DS18B20模块[4]7
2.3.1DS18B20基本简介7
2.3.2DS18B20原理简介8
2.4DS1302模块9
2.4.1DS1302基本简介9
2.4.2DS1302芯片说明9
2.5键盘控制及图形取模模块11
2.5.1数字键盘11
2.5.2字模提取软件11
第三章proteus仿真测试12
3.1ProteusISIS简介12
3.2Proteus运行流程13
3.3部分仿真界面13
第四章总结与展望15
4.1全文总结15
4.2研究展望15
第五章参考文献及附录16
第一章绪论
1.1背景
庆八十华诞,展学子风采。
随着人们生活水平的提高,到饭店就餐的人日益增多,为了简化点菜过程,提高酒店运作效率,作者结合生活体验,学以致用,制作了一个有西电特色的点菜终端显示器,献礼校庆。
此点菜系统由51最小系统板,12864液晶显示屏,DS1302芯片,DS18B20芯片等组成,简单实用,兼具日历与温度计的功能.同时一个个西电标志也在诉说着关于西电的故事,让这个点菜系统更加生动有趣。
这个点菜终端显示系统点菜方便,经济实用,非常适合小饭店小餐厅使用,同时它又不是一个简单的点菜器,它还具有日历与温度计的功能,日历是基于DS1302芯片实现的,可以调节时间,能正确处理闰年问题,方便使用。
温度计基于DS18B20芯片实现,精确到小数点后一位,也可以测量零下温度。
同时还有六张西电美丽的风景嵌入其中,让其更加生动有趣呦。
1.2内容安排
第一章介绍了作品的研发背景及内容安排。
第二章具体介绍系统的各部分模块,各模块的作用。
第三章介绍了在proteus软件中的模拟情况。
第四章为总结与展望。
第二章单元模块设计
2.1STC89C58单片机模块
2.1.1STC89C58RD+[1]单片机概述
STC89C58单片机是51单片机家族中的一员,不同的是它可以支持32K的程序代码,由于本系统选用的为无字库液晶,所需代码较大,故采用了STC89C58RD+[1]单片机。
STC89C58RD+系列单片机是宏晶科技推出的新一代超强抗干扰,高速,低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。
它具有以下特点:
1.增强型6时钟/机器周期,12时钟/机器周期8051CPU(CentralProcessUnit,中央处理器)。
2.工作电压:
5.5V-3.4V(5V单片机)
3.工作频率范围:
0-40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz.
4.用户应用程序空间32K字节
5.片上集成1280字节RAM(RandomAccessMemory,随机存储器)。
6.通用I/O口32个,复位后为:
P1/P2/P3是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片
8.EEPROM功能
9.看门狗
10.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
11.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
12.通用UART(UniversalAsynchronousReceiver/Transmitter,通用串行接口),还可用定时器软件实现多个UART
14.工作温度范围:
0-75℃/-40-+85℃
15.封装:
PDIP-40,PLCC-44,PQFP-44
使用这种单片机做开发板,最大的优势就在于它支持ISP,这样不用购买昂贵的编程器/仿真器,直接通过串口线就能实现在线编程。
而且内部集成了看门狗和Flash,简化了PCB板的制作。
指令代码与51单片机兼容,这样可以用常用的51单片机软件开发工具开发驱动程序。
2.1.2STC89C58引脚介绍[2]
图2-1stc89c58引脚图
图2-1为STC89C58的引脚图,下面让我们来一一认识它们的作用与用法。
(1)电源引脚
VCC40电源端
GND20接地端
工作电压为5V。
(2)外接晶振引脚
如图2-2所示。
图2-2外接晶振引脚
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
(3)复位RST9
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
常用的复位电路如图2-3所示。
图2-3常用复位电路
(4)输入输出引脚
1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端
口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL。
对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要
求外接上拉电阻。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据
总线,访问期间内部的上拉电阻起作用。
2)P1端口[P1.0-P1.7]P1是一个带有内部上拉电阻的8位双向I/0端口。
输出时
可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收低8位地址信息。
3)P2端口[P2.0-P2.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时
可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8
位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
4)P3端口[P3.0-P3.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时
可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接控制信息。
2.2HS12864D模块[3]
2.2.1基本简介
(1)HS12864D使用KS0108作为控制器,适配M6800系列时序,具有8位标准数据总线。
可显示各种数据及图形。
每个KS0108拥有64×64位的显示RAM,HS12864D显示屏上的64×64点,显示RAM中的数据直接作为显示驱动信号。
HS12864D具有操作指令简单,低功耗的特点。
如图2-4所示。
图2-4HS12864D实物图
(2)HS12864D一共有20个管脚,每个管脚的用法与功能如下图所示。
图2-512864管脚功能
2.2.2基本指令
图2-612864基本指令
HS12864D共有7个指令,下面分别加以说明:
显示开关:
0x3e关;0x3f开(R/W=0,RS=0)。
显示起始行:
0xc0+I,i取值0至63(R/W=0,RS=0)。
设置DDRAM页地址(X地址):
0xb8+i,i取值0至7(R/W=0,RS=0),设置Y地址:
0x40+i,i取值0至63(R/W=0,RS=0)。
写数据命令:
将数据线上的数据DB7-DB0写到RAM。
Y地址指针自动加1(R/W=0,RS=1/0)。
读数据命令:
将RAM中的数据读入1数据线DB7-DB0。
Y地址指针自动加1(R/W=1,RS=1/0。
)
图2-7RAM地址表
2.3DS18B20模块[4]
2.3.1DS18B20基本简介
如图2-8所示。
采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。
图2-8DS18B20温度采集
2.3.2DS18B20原理简介
(1)各引脚定义:
I/O为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(2)配置寄存器的8位从高到低依次为:
TMR1R011111,在这8位中低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)。
(3)高速暂存器:
高速暂存存储器由9个字节组成,其分配如表2-1所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
第九个字节是冗余检验字节。
表2-1高速暂存器地址分布
字节地址
0
1
2
3
4
5
6
7
8
寄存器
内容
温度低位
温度
高位
高温
限值
低温
限值
配置寄存器
保留
保留
保留
CRC校检位
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
(4)ROM指令介绍:
主要有5条指令,如下表2-2所示:
表2-2ROM指令表
指令
约定代码
功能
读ROM
33H
读DS1820的ROM中的编码(即64位地址)
符合ROM
55H
发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。
搜索ROM
0F0H
用于确定挂接在同一总线上DS1820的个数和识别64位ROM地址。
为操作各器件作好准备。
跳过ROM
0CCH
忽略64位ROM地址,直接向DS1820发温度变换命令。
适用于单片工作。
警告搜索命令
0ECH
执行后只有温度超过设定值上限或下限的片子才做出响应。
(5)RAM指令:
主要有4条指令,涉及到温度的转换到存储的一个简单过程。
表2-3RAM指令表
指令
约定代码
功能
温度变换
44H
启动DS1820温度转换,结果存入9字节RAM中。
读暂存器
0BEH
读内部RAM中9字节的内容。
写暂存器
4EH
发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
复制暂存器
48H
将RAM中第3、4字节的内容复制到EEPROM中。
重调EEPRM
0B8H
将EEPROM中内容恢复到RAM中的第3、4字节。
读供电方式
0B4H
寄生供电DS1820发送“0”,外接电源供电DS1820发送“1”。
2.4DS1302模块
2.4.1DS1302基本简介
DS1302是DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压为2.5~5.5V。
DS1302采用三线接口,与CPU进行同步通信,并可采用突发方式一次传送多个字节的时间数据或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM存储器。
2.4.2DS1302芯片说明
(1)DS1302的引脚功能如图2-9所示。
图2-9DS1302引脚分布
(2)控制字格式
控制字格式如表2-4所示。
控制字最高位必须是1,如果它为0,则不能把数据写入到DS1302中,位6如果为0则表示存取日历时钟数据,为1表示存取RAM数据;位5~1指示操作单元的地址;最低位为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
表2-4DS1302的控制字格式
(3)复位和时钟控制
DS1302通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。
当RST为高电平时,所有数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中置RST为低电平,则会终止此数据传送,并且I/O引脚变为高阻状态。
上电运行时,在VCC>>2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
(4)DS1302的寄存器:
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器见表2-5。
表2-5DS1302的日历、时间寄存器
W_reg
R_Reg
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
80H
81H
CH
10秒
秒
82H
83H
10分
分
84H
85H
12/24
0
10时
时
86H
87H
0
0
10日
日
88H
89H
0
0
0
10月
月
8AH
8BH
0
0
0
0
0
星期
8CH
8DH
10年
年
8EH
8FH
WP
0
0
0
0
0
0
0
2.5键盘控制及图形取模模块
2.5.1数字键盘
本系统采用的键盘为数字键盘,如图2-10所示。
左一列的按键功能为“上”“确定”“下”“日历”,其他部分为风景按键,键盘操作简单,布局合理。
图2-10键盘图
2.5.2字模提取软件
由于采用的液晶为不带字库的HS12864D,显示汉字图形等就要用到字模提取软件,如图2-11所示,为软件运行时的界面。
图2-11字模提取软件界面
第三章proteus仿真测试
3.1ProteusISIS简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
该软件的特点是:
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:
ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真ARM、51、AVR、PIC。
3.2Proteus运行流程
ProteusISIS的工作界面是一种标准的Windows界面,如图所示。
包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
运行Proteus程序后,进入软件的主界面。
通过左侧工具栏中的P(从库中选择元件命令)命令,在PickDevices左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。
3.3部分仿真界面
图3-1为电路正常运行时的仿真图,图3-2至3-5为点菜系统的基本界面,图3-6为日历与温度计功能界面,图3-7至3-13为几张关于西电的风景图画,使这个点菜系统更加生动有趣。
图3-1仿真电路图
图3-2图3-3
图3-4图3-5
图3-6图3-7
图3-8图3-9
图3-11图3-12
图3-13
第四章总结与展望
4.1全文总结
从暑假就开始准备星火杯,一直到前几天作品的完成,这近一个半月的时间里确实学到了很多东西,从买芯片到焊电路,从看程序到写程序,从刚开始学习C语言到keil软件的运用,以及Proteus仿真软件的学习与使用,我们两个为了一个目标共同努力着,虽然有些累,但是很高兴,因为在做自己喜欢的事情。
在制作作品的过程深刻的感受到了“科技是第一生产力”的意义,从课本知识到动手实践,从遇到问题到解决问题,这个过程不仅仅是学习能力的提高,更重要的是培养了我们严谨的科研态度,锻炼了我们的意志,从而坚定信心,学好本领,更好地为实现祖国的现代化而奋斗。
4.2研究展望
虽然基本实现了功能,但是要看到仍有许多可供拓展的功能,如实现无线点菜,以及广告显示等问题,接下来我们要学习的还有很多很多,这个点菜系统增值空间很大,还可以设计出来人机交互界面,实现主机与无线客户端的完美结合,还可以编写网站点菜,拓宽业务等等。
第五章参考文献及附录
参考文献
[1]李肇庆.串行端口技术[M].北京:
国防工业出版社,2004.
[2]明浩.51单片机入门教程(磁动力工作室)[OL].,2003.
[3]佚名.HS12864D液晶显示模块使用说明书[OL].,2007.
[4]黄佳玉.基于AT89C51多功能电子万年历的设计[D].山西:
大同大学,2010.
[5]刘建清,寻立波,陈培军.从零开始学单片机C语言[M].北京:
国防工业出版社,2006.
附录
部分程序清单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 点菜 终端 显示 系统