单片机在微型打印机中的应用

[09-12 17:54:01]   来源:http://www.88dzw.com  单片机学习   阅读:8829

文章摘要:由于微型打印机的打印缓冲区一次可快速装入240个代码,如全部为汉字,则要占用RAM为240X32=7 650个字节,显然89C52内的256B[3]RAM明显不够,所以要外挂1片数据存贮器(这里用的是6116)才能满足要求。基于这些,他的基本系统由89C52芯片,27C040(27C040并不是作为程序存贮器使用,而是用来存放字库、字符),数据存贮器(6116)构成,如图4所示。 由于27C040只有1片,所以其片选线与地址锁存器(74LS373)的片选线均直接接地。同时外接的27C040的地址线A0一A7由P0口通过地址锁

单片机在微型打印机中的应用,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
由于微型打印机的打印缓冲区一次可快速装入240个代码,如全部为汉字,则要占用RAM为240X32=7 650个字节,显然89C52内的256B[3]RAM明显不够,所以要外挂1片数据存贮器(这里用的是6116)才能满足要求。基于这些,他的基本系统由89C52芯片,27C040(27C040并不是作为程序存贮器使用,而是用来存放字库、字符),数据存贮器(6116)构成,如图4所示。

由于27C040只有1片,所以其片选线与地址锁存器(74LS373)的片选线均直接接地。同时外接的27C040的地址线A0一A7由P0口通过地址锁存器提供,A8~A15由P2口提供,A16~A18由P1.5~P1.7提供。而数据存贮器(6116)片选端CE是由89C52的P2.7控制的,当P2.7=0时则选中6116,此时89C52的P2.0~P2.2输出6116所需的高位地址,P0口输出6116的低8位地址锁存在锁存器74LS373中。若是读6116,则P0口变为输入方式,在RD为低电平时,选通6116,此时6116中相应的数据出现在PO口,再由CPU读入累加器A中。若是写,则PO口为输出,当WR为低电平时,将累加器A中出现在PO口上的数据写入6116。

3.3 89C52对打印机联络信号的控制

3.3.1 打印机的联络信号

打印机的联络信号有:STB,ACK,BUSY。STB:数据选通触发脉冲,输入。此信号上升沿时数据线上8位数据被打印机读入 机内锁存。

ACK':回答脉冲,输出。当其为"低"电平时表示数据已被接收而且打印机准备好接收下一个数据。

BUSY:"忙"信号,为状态输出线,当打印机在打印字符、执行命令期间BUSY=1,表示打印机处于"忙"状态,这时打印机通知主机,他处于"忙"之中而不能接收数据,此时主机不能使用STB信号向打印机送入新的数据字节。当打印机打完一个字符后,BUSY=0,同时他产生ACK信号通知主机,准备接收下一个数据,当主机接收到BUSY=0时,主机向打印接口输出1B到DO-D7,并发出STB低电平信号,当打印机收到STB低电平信号后,单片机在其上升沿时读入数据。其时序图[4]如图5所示。

3.3.2 89C52对联络信号实施控制的电路电路图如图6所示。

上电复位时D触发器(U1)的Q输出端为1,无论P3.0为何值,经过"或"门(6)后,BUSY=1,不接收数据。

当89C52的P2.7=0时,即有6116(数据存贮器)的CE为低电子,表示选中了6116,由图3可知当P2.7=0时,经过反相器(3)再经过"或"门(8),此时无论P3.7为何值74ALS374的片选端CE总为高电平,即没有选中,这样就保证了外部的数据与数据存贮器的数据分别进行传输与接收而不至发生混乱。从上面的分析,当P2.7=0时,表示选中了6116,而没有选中74ALS374,此时主机不应有数据送入打印机,即有BUSY=1,ACK=1,下面来看是否满足这点:当P2.7=0时,经过反相器(3)一路经D触发器(U2)的Q输出为1即ACK=1,另一路经过"或"门(8),这时无论P3.7为何值,输出总为1,再经D触发器(U1)的Q输出也为1,经"或"门(6)后,BUSY=1,显然满足要求。

当P2.7=1时,通过"非"门(3)后变为0,若此时单片机准备读取数据(即P3.7=0),他们经过"或"门(8)后,一路到74ALS374的片选端(CE),一路到D触发器(U1)的清除端,使D触发器的Q输出端为0,即有74ALS374(CLK)为0,表示74ALS374的DO~D7端已有数据(同时Q=1,即P3.5=1,这样通过检测单片机的P3.5就可知道是否有数据输入),此时若89C52的P3.0=0,经?quot;或"门(6)后输出为0,即BUSY=0,又由于P2.7经过"非"门(3)后为0,他输出到D触发器(U2)的D端,当P3.6(WR)从低电平变为高电平时使D触发器(U2)的Q输出端为0即ACK=0,这时当主机发出STB脉冲时,在STB脉冲上升沿到来时打印机开始从74ALS374中读入数据。

4 软件设计

系统控制软件主要包括:主程序、打印机是否在线的子程序、判断是何种机型的子程序、判断滑架到达最左端的子程序、读取数据的子程序和走纸与打印的子程序等,其主程序流程框图如图7所示,其他子程序由于篇幅所限,在此不再详细介绍。


上一页  [1] [2] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行