基于单片机微型打印机系统控制设计.docx

上传人:b****6 文档编号:7357565 上传时间:2023-01-23 格式:DOCX 页数:27 大小:314.03KB
下载 相关 举报
基于单片机微型打印机系统控制设计.docx_第1页
第1页 / 共27页
基于单片机微型打印机系统控制设计.docx_第2页
第2页 / 共27页
基于单片机微型打印机系统控制设计.docx_第3页
第3页 / 共27页
基于单片机微型打印机系统控制设计.docx_第4页
第4页 / 共27页
基于单片机微型打印机系统控制设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于单片机微型打印机系统控制设计.docx

《基于单片机微型打印机系统控制设计.docx》由会员分享,可在线阅读,更多相关《基于单片机微型打印机系统控制设计.docx(27页珍藏版)》请在冰豆网上搜索。

基于单片机微型打印机系统控制设计.docx

基于单片机微型打印机系统控制设计

基于单基片机的微型打印机的设计

摘要

目前,电子领域正向着数字化、信息化、微型化发展。

打印机作为数字输出设备之一也朝着多功能、高性能的方向发展。

微型打印机是电子信息领域一种很重要的输出设备。

本文设计的主要目的是运用单片机来控制微型打印机来实现打印的目的。

本设计基于荣达RD-E系列微型打印机,以单片机P80C51以核心元件,辅以必要的外围电路(包括实时时钟电路、温度传感器和液晶显示模块、按键、打印机),采用并行接口技术,同时通过液晶显示器显示打印的数字和文字信息。

可以实现打印一段固定的文字和单个任意的数字,同时把打印的内容显示在液晶屏上。

本文主要用温度传感器测量温度,再通过单片机控制热敏电阻打印机打印出小票,设计了时钟接口电路,打印机接口电路,温度传感器接口电路和液晶显示接口电路。

再辅助软件设计来进行调试。

关键词:

打印机,单片机,液晶显示器,DS1302时钟

 

BASED0NASINGLESUBSTRATEMACHINE

DESIGNEDFORMICROPRINTER

ABSTRACT

Atpresent,theelectronicsfieldisdevelopingtowardsdigitalization,information,miniaturation.Printer,asoneofthedigitaloutputdevicesarealsomovingintothedirectionofmulti-function,highperformance.Themicroprinter.Itisakindofimportantelectronicinformationfieldoutputdevice.

Designisthemainpurposeofthisarticleistousesingle-chipmicrocomputertocontrolthemicroprinterforprintingpurposes.ThisdesignbasedonRD-Eseriesmicroprinter,P80C51MCUcorecomponents,supplementedbythenecessaryperipheralcircuit(includingrealtimeclockcircuit,temperaturesensorandLCDdisplaymodule,keys,printer),USEStheparallelinterfacetechnology,atthesametime,throughtheLCDdisplaytoprintNumbersandtextmessages.CanachieveprintafixedtextandasinglearbitraryNumbers,andatthesametimetoprintthecontentsofthedisplayontheLCDscreen.Temperatureismeasuredinthispaper,withatemperaturesensor,andcontrolledbysinglechipthermalresistorprintertoprintoutreceipts,designstheinterfacecircuit,clockprinterinterfacecircuitandtemperaturesensorinterfacecircuitandLCDinterfacecircuit.Auxiliarysoftwaredesignedtodebug.

KEYWORDS:

printers,microcontroller,liquidcrystaldisplay,DS1302clock

前言

近年,随着社会的发展生活日新月异。

人们的工作的也很繁杂,各种大大小小的公司都得到了很大的发展,公司在日常发展中难免需要打印各种各样的文件和资料,所以各种各样的打印机也得到很好的应用,但许多打印机成本都很高,体积也比较大,而且性能以及其他的一些都不是很好,所以人们开始研究新型的微型打印机,微型打印机已经走进我们的生活中来了,它跟以往的大型打印进来说,最大的优点就是体积小,节约了空间,而且外观优美,性能可观,而且价格相对以往的来说会便宜许多,性价比很高,其特有的多份拷贝、复写打印和连续打印功能,使许多专业打印领域对其情有独钟。

它越来越趋向于被设计成各种各样的专业类型,用以打印各类专业性较强的报表、存折、发票、车票、卡片等输出介质。

所以微型打印机的前景相当可观。

从1946年日本大和公司(即现在的EPSON公司)研制出第一台微型打印机开始,微型打印机如今已有60年的历史。

在这60年里,微型打印机技术获得了突飞猛进的发展。

从最初的点阵式打印方式,已经扩展到现今的近10种微型打印方式,包括梭式打印、9针击打、24针击打、喷墨打印、热敏打印等。

其产品种类也百花齐放,包括工业仪器、商场POS、医院收费、话费清单、餐厅、银行、加油站、路桥收费等领域都会有它的身影。

目前,在国内微打市场上主要有EPSON、STAR、SAMSUNG等国际品牌和实达、公达、博施等国内品牌。

其配套的设备主要有:

收款机、触摸POS终端、电脑等多项设备几乎所有需要打印的地方。

本课题以单片机为核心,设计和微型打印机的接口电路,编写微型打印机驱动程序,实现特定信息的打印输出。

首先系统硬件部分选用MCS-51单片机系列,显示器部分由液显示编写驱动程序用keil,打印格式是由打印机芯片用电磁铁打针,再用按键的方式按打印格式输出。

第1章系统总体设计

§1.1总体设计框图

基于单片机的微型打印机的设计的总体设计框图,如图1-1

图1-1总体设计框图

§1.2系统功能简介

1、温度传感器测量的当前温度值,通过主控制器在液晶屏上显示当前温度和时间。

2、按键操作可以决定微型打印机的开始,即按键后打印机开始打印。

第2章系统硬件设计

§2.1主控制器部分的设计

§2.1.1主控芯片的选择

P80C51基于80C51内核采用高密度CMOS技术设计制造,包含中央处理单元、片内4k程序存储器,128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、3个16位定时/计数器和6个中断源,4层优先级中断嵌套结构,可用于多机通信的串行I/O口,I/O扩展或全双工UART,片内时钟振荡电路。

此外,P80C51采用低功耗静态设计,宽工作电压范围(2.7-5.5V),宽工作频率(可为0Hz),两种软件方式选择电源空闲和掉电模式。

空闲模式下,冻结CPU而RAM定时器、串行口和中断系统维持其功能。

由于是静态设计。

所以掉电模式下,时钟振荡停止,RAM数据会得以保存,停止芯片内其它功能。

CPU唤醒后,从时钟断点处恢复执行程序。

其引脚及各引脚功能如下图2-1

2-1引脚图

单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

⒈电源:

⑴VCC-芯片电源,接+5V;

⑵VSS-接地端;

⒉时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

⒊控制线:

控制线共有4根,

⑴ALE/PROG:

地址锁存允许/片内EPROM编程脉冲

①ALE功能:

用来锁存P0口送出的低8位地址

②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

2PSEN:

外ROM读选通信号。

3RST/VPD:

复位/备用电源。

RST(Reset)功能:

复位信号输入端。

②VPD功能:

在Vcc掉电情况下,接备用电源。

4EA/Vpp:

内外ROM选择/片内EPROM编程电源。

5EA功能:

内外ROM选择端。

b)Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋I/O线

80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

(b)单片机接口电路如图2-2

图2-2单片机接口电路

§2.1.2复位电路

在P80C51单片机中的振荡器运行时,RST非引脚上保持到少2个机器周期的高电平输入信号,复位过程即可完成。

根据此原理,本设计采用上系统的实用性。

本设计的具体复如下图2-3。

图2-3复位电路

§2.1.3晶振电路

P80C51在工作时需要外部提供时钟信号,因此,本设计选择在其18脚19脚之间接上12MHz的晶振,为单片机提供1μs的机器振荡周期。

其电路连接图如图所示。

在图中,电容器C3、C4起稳定振荡频率、快速起振的作用,其电容值一般在20~50pF。

晶振电路图如下图2-4。

图2-4晶振电路图

§2.2显示系统的设计

§2.2.1显示系统的方案的选择

方案1:

用数码管或点阵LED显示。

方案2:

用液晶1602显示。

方案3:

用液晶12864显示。

时钟和温度的显示可以用数码管或LED,而且价格便宜。

但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。

有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602液晶显示数据有限,1602不能够显示指针时钟,只能够显示一些基本的西文字符,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,用12864的绘图功能即可绘制出指针时钟的框架,至于指针的转动则才12864加ds1302同步控制,让人看起来会很方便。

虽然它们在价格上差距很大,但是1602不能够实现我们的要求,12864.是我们唯一的选择。

§2.2.212864F简介

带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其显著特点。

由该模块构成的液晶显示方案与同类型的图形点阵液晶示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

§2.2.312864F引脚说明

管脚号

管脚名

电平

管脚功能描述

1

VSS

0V

电源地

2

VCC

3.0+5V

电源正

3

V0

-

对比度(亮度)调整

4

RS(CS)

H/L

RS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据

5

R/W(SID

H/L

R/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR

6

E(SCLK)

H/L

使能信号

7

DB0

H/L

三态数据线

8

DB1

H/L

三态数据线

9

DB2

H/L

三态数据线

10

DB3

H/L

三态数据线

11

DB4

H/L

三态数据线

12

DB5

H/L

三态数据线

13

DB6

H/L

三态数据线

14

DB7

H/L

三态数据线

15

PSB

H/L

H:

8位或4位并口方式,L:

串口方式(见注释1)

16

NC

-

空脚

17

/RESETH/L

H/L

复位端,低电平有效(见注释2)

18

VOUT-LCD

-LCD

驱动电压输出端

19

A

VDD

背光源正端(+5V)(见注释3)

20

K

VSS

背光源负端(见注释3)

§2.2.412864F液晶显示电路

图2-5液晶显示电路图

设计中采用LCD12864液晶显示。

它一般串口、并口两种方式显示,而我们一般采用并口显示。

12864的4、5、6、15、17脚分别与单片机的P3.0~P3.4相连。

7~14脚与单片机的P0口相连。

1、20号脚接地,2号脚接电源,19号脚背光灯正端串一个电阻与电源相连,电阻起限流的作用,我们取R=10K。

3号脚是对比度(亮度)调整,这里要用一个滑动变阻器来调整亮度,这里我们取电位器大小为10K。

§2.3温度系统设计

§2.3.1方案的选择

方案1:

用热敏电阻等测温元件测出电压,再转换成对应的温度。

需要比较多的外部元件(A/D转换)支持,且硬件电路复杂,制作成本相对较高。

方案2:

用DS18B20直接测温。

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

经比较,我们选择方案2。

温度实现只能通过外部的温度传感器来实现。

经上网查阅及市场考察,DS18b20体积小,只有3只脚,电路接法简单。

内部含有寄存器为我们设计实现上下限报警功能提供保障。

精度为0.5°C,也符合我们设计的要求。

DS18B20也是我们通常使用的型号,因此温度传感器用DS18B20。

§2.3.2温度芯片的选择

温度实现只能通过外部的温度传感器来实现。

经上网查阅资料及市场考察,DS18b20体积小,只有3只脚,电路接法简单。

它能够直接读出被测温度。

内部含有寄存器为我们设计实现上下限报警功能提供保障。

用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;精度为0.5°C,也符合我们设计的要求。

DS18B20也是我们通常使用的型号,因此温度传感器用DS18B20。

§2.3.2DS18B20内部结构描述

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。

高速暂存RAM的结构为8个字节的存储器,结构如图4.1所示。

头两个字节包含测得的温度信息,第三和第四字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第五个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。

该字节各位的定义如图4.2所示。

低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

表2.1高速暂存RAM结构图

温度LSB

1字节

温度MSB

2字节

TH用户字节1

3字节

TL用户字节2

4字节

TH用户字节1

配置寄存器

5字节

TL用户字节2

保留

6字节

保留

7字节

EEROM

保留

8字节

CRC

9字节

表2.2配置寄存器

TM

R1

R0

1

1

1

1

1

§2.3.3DS18b20温度系统电路

图2-6温度接口电路图

§2.4时钟系统电路设计

§2.4.1时钟芯片选择

我们采用具有涓细电流充电能力的低功耗实时时钟电路DS1302。

它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。

它采用主电源和备用电源双电源供电。

它的工作电压范围2.0~5.5V,在2.2V时,小于300nA。

它内部含有31个字节的静态RAM,可提供用户访问。

DS1302可以对年、月、日、周日、时、分、秒进行计时,可以达到我们设计的基本的要求。

内部的寄存器为我们调时,闹钟定时提供了寄存空间。

备用用电源也实现了当系统断电后,时钟仍然可以保持。

而且它是串行接口,与单片机通信所需要的接口少。

不像DS12887等芯片并行通信需要很多IO口。

§2.4.2DS1302管脚及寄存器说明

DS1302的引脚排列Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

因此,我们vcc1用3V的纽扣电池作为备用电源,vcc2用系统电源作为主电源。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向)。

SCLK为时钟输入端。

DS1302的寄存器说明DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

§2.4.3DS1302时钟电路

图2-7时钟接口电路图

§2.5键盘

只需要选择一个开始打印键接口电路

图2-8按键接口电路图

§2.6微型打印机

§2.6.1特点与性能

RD-E型热敏微型打印机专为仪器仪表面板安装而设计,采用独特的面板式嵌入结构,便可将整个打印机固定在仪表面板上。

RD-E型为前面板易上纸结构设计,拥有多项专利技术,实现打印机上纸变革。

E型壳体超小、超薄,外观精巧;安装开孔尺寸仅为76mm×76mm,深度仅:

45mm;但可容纳直径为33mm的打印纸卷。

控制板为防尘设计安装,采用原装进口打印头有效确保打印效果与打印机的使用寿命。

§2.7打印机接口电路

图2-9打印机接口电路图

§2.8硬件原理图

图2-10硬件原理图

第3章软件设计

§3.1并口连接方式例程

#include

#include

#include

bitSTB=P1.1;

sbitBUSY=P1.0;

/**************并口打印子程序**************/

voidpprint(unsignedcharch)

{

while(BUSY)

{};

P0=ch;

STB=0;

_nop_();

_nop_();

STB=1;sbitSTB=P1.1;

sbitBUSY=P1.0;

/**************主函数**************/

main()

{

inti;

charch[]="北京荣达测试程序";pprint(0x1b);pprint(0x38);pprint(0x00);//调用汉字出库指令

for(i=0;i

pprint(ch[i]);

pprint(0x0d);//回车

§3.2按键接口设计

#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbitKEY=P3^3;//定义按键输入端口

sbitLED=P1^2;//定义led输出端口

/*------------------------------------------------

主函数

------------------------------------------------*/

voidmain(void)

{

KEY=1;//按键输入端口电平置高

while

(1)//主循环

{

if(!

KEY)//如果检测到低电平,说明按键按下

LED=0;

else

LED=1;//这里使用if判断,如果按键按下led点亮,否则熄灭

//上述4句可以用一句替代LED=KEY;

//主循环中添加其他需要一直工作的程序

}

}

§3.312864,DS1302,DS18B20的接口程序

/****************************************************************

程序名称:

时钟+温度通过LCD12864显示默认时间:

从12:

00开始

版本:

VER1.0

适用板本:

PL-51学习板

*****************************************************************/

/*头文件*/#include#include

#defineuintunsignedint#defineucharunsignedchar#defineNop()_nop_()#define_Nop()_nop_()

/*引脚端口定义*/

sbitLCD12864_RS_PORT=P2^4;/*LCD12864引脚定义*/

sbitLCD12864_RW_PORT=P2^65;

sbitLCD12864_E_PORT=P2^6;

#defineLCD12864_DA_PORTP0

///////////////////////////////////////

sbitdula=P2^3;//数码管的段选信号

sbitwela=P2^2;//数码管的位选信号

voiddelay1(void)//关闭数码管延时程序

{intk;

for(k=0;k<1000;k++);

}

//////////////////////////////////////

sbitDQ=P3^7;//定义DS18B20通信端口

sbitT_CLK=P3^5;/*实时时钟时钟线引脚*/

sbitT_IO=P3^4;/*实时时钟数据线引脚*/

sbitT_RST=P3^6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1