8255控制打印机完整版

合集下载

8086cpu 8255 打印机接口

8086cpu 8255 打印机接口

与打印机接口在某一8086cpu系统中接有一台打印机,8255A作为输出接口,工作在方式0下。

编写一程序将缓冲区BUFF内的400H个字节的ASSC11码送打印机打印。

工作过程如下:数据线D7~D0出现有效数据。

STB有效,通知打印机,接口给打印机一个数据,数据从数据线进入打印机。

BUSY有效,告诉接口,打印机正在打印数据。

打印完毕,BUSY变为无效,表示打印结束转步骤1相关打印程序比较简单,过程如下:1首先检测BUSY是否有效,是,则循环检测;否则执行第2步。

cpu写有效数据到A口,发STB(应上划线)信号,把A口数据输出给打印机。

A_PORT EQU 80HB_PORT EQU 82HC_PORT EQU 84HCTRL_PORT EQU 86H.......MOV AL,10001010BOUT CTRL)PORT,ALMOV AL,00000001BOUT CTRL_PORT,ALMOV CX,400MOV BX,OFFSET BUFF LOOP1:MOV DL,[BX]CALL PRINT_DATEINC BXLOOP LOOP1......PRINT_DATA PROCPRINT1:IN AL,C_PORTTEST AL,00010000BJNZ PRINT1MOV AL,DLOUT A_PORT,ALMOV AL,00000000BOUT CTRL_PORT,ALMOV AL,00000001BOUT CTRL_PORT,ALRETPRINT_DATA ENDP可以看出,上述程序通过对C口的无条件读取方式,也就是测试打印机的状态线BUSY,实现把A口的数据有条件传输给打印机。

现有一个高精密晶体振荡电路,输出信号时脉冲波,频率为1MHz。

要求利用8253做一个秒信号发生器,其输出接一个发光二级管,以0.5秒点亮、0.5秒熄灭的方法闪烁指示。

设8253的通道地址为80H~86H(偶地址)。

8255功能与应用

8255功能与应用


8255A具有三个相互独立的输入/输出通道:
通道A、通道B、通道C。
A组控制逻辑控制端口A及端口C的上半部;
A组有0,1,2 三种工作方式。
B组控制逻辑控制端口B及端口C的下半部,
B组只能工作于方式0,1。
二、8255A的结构框图(如图8-1所示) 从功能上来分,8255A的结构可分为:总 线接口电路、内部控制逻辑和输入 / 输出 接口电路。 (1)总线接口电路 数据总线缓冲器和读/写控制逻辑。 (2)内部控制逻辑 (3)输入/输出接口电路
MOV AL, 0DH OUT 83H, AL ;设按位置位/复位控制字 ;置PC6=1,使选通无效
具体程序段如下:
MOV AL, 81H OUT 83H, AL MOV AL, 0DH OUT 83H, AL WAIT:IN AL, 82H TEST AL, 04H JNZ WAIT MOV AL, BL OUT 80H, AL MOV AL,0CH OUT 83H, AL INC AL OUT 83H, AL
; (控制字若为83H也对) ;送控制字 ;设按位置位/复位控制字 ;置PC6=1,使选通无效 ;读C口状态 ;测试BUSY状态(PC2) ;忙,循环测试 ;不忙,取打印字符 ;送A口 ;设按位置位/复位控制字 ;置PC6=0,选通打印机
;置PC6=1


掌握可编程输入/输出接口芯片8255A的应用 及编程方法(方式0,硬件电路,程序)。
8255A作为打印机接口的示意图如下:
A0 A1 IOR IOW 译 码 器
A0 A1
RD
WR CS
工作过程:


8255A不断查询打 印机的状态,当 打印机为忙状态, 8255A处于查询等 待状态。 当打印机为空闲 状态时,CPU通过 8255A向打印机输 出一个字符。

8255并口控制器应用实验

8255并口控制器应用实验

8255并口控制器应用实验1.实验目的(1)掌握8255的工作方式及应用编程。

(2)掌握8255的典型应用电路接法。

2.实验设备PC微机一台、TD-PIT+ 实验系统一套。

3.实验内容(1)基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

(2)流水灯显示实验。

编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。

4.实验原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。

图1 8255的内部结构及引脚(a)工作方式控制字(b)C口按位置位/复位控制字图2 8255控制字格式5.实验说明及步骤(1)基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。

用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

参考程序流程如图3所示。

图3 8255并口应用实验(1)参考程序流程图图4 8255并口应用实验(1)参考接线图实验步骤:a)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

b)参考图4所示连接实验线路。

c)首先运行CHECK程序,查看I/O空间始地址。

d)利用查出的地址编写程序,然后编译链接。

e)运行程序,拨动开关,看数据灯显示是否正确。

;8255基本输入输出实验代码;***********根据查看端口资源修改下列符号值**************** IOY0 EQU 9C00H ;片选IOY0对应的端口始地址;********************************************************* MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX,MY8255_MODE ;初始化8255工作方式MOV AL,82H ;工作方式0,A口输出,B口输入OUT DX,ALLOOP1: MOV DX,MY8255_B ;读B口IN AL,DXMOV DX,MY8255_A ;写A口OUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16HJZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21HCODE ENDSEND START(2)流水灯显示实验首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。

实验5(8255并行接口键盘及显示实验)

实验5(8255并行接口键盘及显示实验)

8255接口键盘及显示综合设计实验(曹建文2009年10月10日)一、实验目的1、掌握8255的工作方式及应用编程。

2、自行设计、制作和连接基于8255并行接口的键盘及显示实验电路。

3、实现扫描式矩阵键盘的功能和作用。

二、实验设备PC机1台,TD-PIT实验台1台,实验元器件若干。

三、实验内容1、使用8255实现键盘按键和七段LED数码显示管显示功能。

2、根据实验要求自行设计实验线路图,制作和焊接实验电路板和实验元器件。

3、按照实验要求和实验电路图编写实验程序,使得按下不同的数字按键后数码管显示相应的数字值(4位数码管)。

4、按照实验要求设计和编写实验程序,实现普通计算器的加/减法功能。

四、实验原理1、8255结构及原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图-2所示。

图-1:8255内部结构及引脚图(a)工作方式控制字(b)c口按位置位/复位控制字图-2:8255控制字格式(1)8255的内部结构如图-1所示,8255的内部结构由以下4个部分组成:(1)输入/输出端口A、B、C 。

这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。

A口和B口是一个独立的8位I/O口。

C口可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。

(2)A组和B组控制电路。

这是两组根据CPU命令控制8255工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255的工作方式,也可以根据编程命令来对C口的指定位进行置位/复位的操作。

8255工作方式

8255工作方式

INTRA
I/O
图 端口A方式 1 输入
STB:选通信号输入,外设 发出 IBF:输入缓冲器满,8255 发出 INTE:内部中断触发器 INTR:中断请求
① 当外设数据准备好,将数据送至 端口线PA7~PA0 ② 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 (2) STB的下降沿使IBF变高,表 示输入端口满,用于阻止外设输入 新数据。 (3) STB的上升沿使INTE=1, 从而 INTR变高,发出中断请求。 ③ 中断处理程序中CPU 读取数据, 发出RD信号: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU
PC3
INTRA
中断允许触发器
中断请求信号,高电平有效,当输出设备已接受 数据后,8255A输出此信号向CPU提出中断请求, 要求CPU继续提供数据
B端口方式1输出:
输出缓冲器满信号,低电平有效 8255A输出给外设的一个控制信号, 当其有效时,表示CPU已把数据输 出给指定的端口,外设可以取走
PB7~PB0 INTEB PC1 PC2
组合,具体情况应如表7.2所示。P262
7.1.3
8255的工作方式
2.方式1—选通输入/输出方式 端口A或端口B仍作为数据的输入/输出口,但同时规定端口C的某 些位作为控制或状态信息。 适用于查询和中断方式的接口电路
方式1的特点 端口A、B可分别工作在方式1。 端口C配合方式1工作。
2.工作方式1:被称作选通输入/输出方式,在这种工 作方式下,数据输入/输出操作要在选通信号控制下 完成。(部分PC线作为选通控制信号线) 采用工作方式1进行输入操作(外设→接口→ CPU)时, 需要使用的控制信号如下: ① STB——选通信号。由外部输入,低电平有效。 STB有效时,将外部输入的数据锁存到所选端口的 输入锁存器中。对A组来说,指定端口C的第4位 (PC4)用来接收向端口A输入的STB信号;对B组来说, 指定端口C的第2位(PC2)用来接收向端口B输入的 STB信号。 ② IBF——输入缓冲存储器满信号。向外部输出,高 电平有效。

微型计算机及接口技术8255举例

微型计算机及接口技术8255举例
若是,无键按下, 若是,无键按下,转b; 如果不全为1 表明有键按下,执行下步; 如果不全为1,表明有键按下,执行下步;
key _ num = 4i + j
d、 、 e、 、 f、 、 g、 、 h、 、 i、 、
延时10ms,消除抖动。 延时 ,消除抖动。 逐列检测,找出为0的列信号 的列信号j; 逐列检测,找出为 的列信号 ; 设定列为输出,行为输入; 设定列为输出,行为输入; 列输出为0,输入行信号; 列输出为 ,输入行信号; 逐行检测,找出为0的行信号 的行信号i; 逐行检测,找出为 的行信号 ; 计算键号key_num 计算键号
8253应用举例 应用举例
例1:现有一个高精密晶体振荡电路, 现有一个高精密晶体振荡电路, 输出信号是脉冲波,频率为1MHz 1MHz。 输出信号是脉冲波,频率为1MHz。要求 利用8253做一个秒信号发生器, 8253做一个秒信号发生器 利用8253做一个秒信号发生器,其输出 接一发光二极管, 0.5秒点亮 0.5秒 秒点亮, 接一发光二极管,以0.5秒点亮,0.5秒 熄灭的方式闪烁指示。 8253的通道地 熄灭的方式闪烁指示。设8253的通道地 址为80H 86H(偶地址) 80H~ 址为80H~86H(偶地址)
8255
PC0
8253 OUT0 CLK0 GATE0 1KHz +5V
2、时间常数计算 如果8253 CLK输入1KHz信号, 如果8253的CLK输入1KHz信号,延时 8253的 输入1KHz信号 时间为1S 1S, 时间为1S,则时间常数为 N=1/0.001=1000D=03E8H 3、工作方式选择 4、程序
;通道1控制字 通道1 ;通道1初始计数值,03E8H=1000BCD 通道1初始计数值,03E H=1000BCD

实验六---8255并行输入输出

实验六---8255并行输入输出

实验六---8255并行输入输出一、实验目的1.了解并熟悉8255并行输入输出控制器的功能和工作原理;二、实验原理1.8255芯片介绍8255是一种常用的并行输入/输出接口芯片,可用于微处理机系统中的输入/输出控制输出,根据中文名可以看出,8255有三种工作方式即口A、口B和控制口。

8255所有的输入/输出都是双向的,它可以通过输入输出口的命令字来在不同的模式下工作。

在输出模式下,82555可以通过端口A、B控制外围设备的输出操作,在输入模式下,8255可以通过端口A、B实现对外围设备的输入操作。

控制口是用来控制8255写作模式或读作状态字,并对端口进行初始化操作。

8255在不同的模式下有不同的编程方法和操作方法,因此需要在实际应用中选择不同的工作模式。

8255有三个I/O端口A、B、C,每个端口都有8位。

这里解释一下控制端口的意义,地址为0B4H的控制端口是连续读或写8255内部状态寄存器的地址,而后面的一个读或写就表示读或写操作的类型,如果该端口被写入了“控制字”则8255按照控制字工作,否则会在该端口读出输入状态字。

在读或写操作的时候向控制端口写入的二进制数在图3-8中给出了。

表3-2:8255访问口定义地址口分类名称端口A0B0H输出Port A输入ControlCout端口Cin端口2.8255的编程方式方式0:即I/O挂接方式,这种方式下A、B、C三个端口为并行I/O口时,其与MCU的接线和编程方式与单片机内部I/O端口的连接和编程方式相同。

方式1:即输入输出口不一样。

在这种片内Ram中的地址空间0~7地址单元内写入相应的端口或方式的控制字后,该8255工作在相应的方式。

即:方式0:读出的是8位端口A的状态,写操作为将数据送到端口A;方式2:是把C口分配为两部分——高4位为输入,低4位为输出,它与方式1类似。

端口C的所有状态和很多控制功能都由C口寄存器存储。

方式2:“端口C字符型输入输出方式”,在这种方式下,端口C的8个位分成两部分,4个位作为输入的,4个位作为输出的。

汤荣胜8255控制微型打印机

汤荣胜8255控制微型打印机

摘要单片微型计算机(简称单片机)作为微型计算机的一个很重要的分支,自它诞生以来,以其极高的性价比以及一系列的优点,受到越来越多的工程技术人员的重视。

现在,单片机已广泛地应用在智能仪器仪表、机电设备过程控制、自动检测、家用电器和数据处理等各个方面。

随着单片机的发展以及它在各种复杂的控制系统、智能化系统中的广泛应用,它将渗透到生产和生活的各个领域。

单片机控制品质卓越,基于单片机的微型打印机运行可靠,操作方便。

微型打印机是一种及其常用的人机交换工具,他在人们的日常生活中起着非常重要的作用。

比如银行ATM自动取款机打印取款凭证、超市打印消费小票、出租车打印路费、再比如某些不利于人工控制的高压环境,在设备控制里面我们可以设计一故障打印模块,及时打印故障,控制微型打印机和启动打印机尤为重要。

传统上启动打印机都是靠人工手动操作完成,但是在上面所举例子中,对于人工操作带有一定的风险性,并且从经济领域考虑,我们提出并设计了由89S51、8255、红外接收芯片M5046控制微型打印机这一系统。

关键词:单片机;8255;微型打印机;M5046Based on SCM micro-printerABSTRACTSingle-chip micro-computer (SCM) as a mini-computer is a very important branch, since its birth, its high price and a series of advantages, by the growing number of engineering and technical personnel attention. Now, SCM has been widely used in smart instrumentation, process control electrical and mechanical equipment, automatic detection, household appliances and data processing, and other various aspects. With the development of SCM and its complex control systems, a wide range of applications in intelligent system, it will penetrate into the production and in all areas of life.The Single-chip microcomputer has a excellence to control something, based on single-chip micro-printer run reliably, and it is easy to be operated. mini-printers is a common exchanging tool between people and machines ,it plays a very important role in people's daily lives . For example, ATM prints receipts, the staff of supermarket prints the consumption of small votes, taxi drivers print fare, and then for example, to some of the high-pressure environment which is not conducive to manual control,we could design a print module inside the device and printing the fault of the machine in time, it is very important to contral and run the printer .. Traditionally, printers operated by manual, but in the example above, manual operation exists a certain degree of risk, and from the economic sphere, we proposed and designed the system of micro-printer controled by the 80C51, 8255, infrared receiver chip M5046 .Key words: SCM;8255;Micro-printer;M5046目录前言 (1)第一章概述 (2)1.1单片机的发展 (2)1.2单片机的应用模式和应用领域 (2)第二章本设计所用芯片介绍 (4)2.18255A可编程接口芯片 (4)2.1.18255A的内部结构与引脚 (4)2.1.28255A的工作方式 (7)2.1.38255A的控制字及初始化 (11)2.2AT89S51单片机 (13)2.2.1AT89S51单片机引脚及功能 (13)2.2.2AT89S51单片机硬件结构特点 (15)2.374LS373芯片 (15)第三章系统设计 (19)3.1系统设计思路 (19)3.2系统硬件电路设计 (19)3.2.1设计原理 (19)3.2.2复位电路 (19)3.2.3振荡电路 (21)3.2.4红外接收电路 (22)3.2.5硬件电路总体设计 (22)3.3软件程序设计 (22)3.3.1软件设计思路 (22)3.3.2软件设计流程图 (23)3.3.3软件设计源程序 (24)第四章遇到问题及其解决方案 (25)第五章总结 (26)5.1设计总结 (26)5.2系统成果 (27)5.3下一步工作 (27)致谢 (28)参考文献 (29)附录A:硬件原理图 (30)附录B:8255控制微型打印机的软件源程序 (31)附录C:设计成品展示 (35)前言微型打印机是一种及其常用的人机交换工具,他在人们的日常生活中起着非常重要的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设计基本原理说明及系统资源分配
1. 工作原理说明
本次设计采用8255A工作方式0,其A口充当打印机数据线,C口的PC0接打印机选通信号线,C口的PC4接打印机“忙”线BUSY,B口不用,8255A的初始化可以通过74LS138译码器来实现。

为了用键盘来设定打印容,可以先定义一个数据段,然后调用DOS的1号功能完成数据存储。

在满足一定的条件下,CPU现将打印容依次送到8255A,然后再送到打印机打印,数据全部传送并打印完毕后退出程序。

2. 资源分配
⑴A端口作为传输字符的通道,工作于方式0,输出方式。

⑵B端口不用。

⑶C口的PC0接打印机选通信号线,PC4接打印机“忙”线BUSY。

⑷设CPU为8086,8255A的端口地址为:
A端口: 00D0H C端口: 00D4H
B端口: 00D2H 控制口:00D6H
二、程序流程图
三、设计方案
采用查询方式传输数据实现对打印机控制:(自定义打印字符串)参考程序:
PRT_DATA EQU 5FFFH
PRT_STRO EQU P1.5
PRT_BUSY EQU P1.7
ORG 0000H
LJMP START
ORG 0040H
START: MOV SP,#60H
SETB PRT_STRO
SETB PRT_BUSY
MOV DPTR,#PRT_TAB
MOV R0, #00H
PR_STR: MOV A, R0
MOVC A,A+DPTR
CJNE A,#0FFH,PRINT
SJMP $
PRINT:
LCALL PRT_CHAR
INC R0
AJMP PR_STR
PRT_CHAR:
PUSH PSW
PUSH DPH
PUSH DPL
SETB PRT_BUSY
NOP
JB PRT_BUSY,$
MOV DPTR,#PRT_DATA
MOVX DPTR,A
SETB PRT_STRO
CLR PRT_STRO
NOP
NOP
SETB PRT_STRO
POP DPL
POP DPH
POP PSW
RET
PRT_TA DB 0AH,27,1BH,38H,1,0AH,0AH, 0DH,0FFH
PRT_TAB DB 0DH,31H,32H,33H,34H,35H,36H,37H,38H,39H,0AH,0FFH END
四、硬件电路总体设计
硬件电路总体设计见附录A
五、软件程序设计
1. 软件设计思路
应用系统中的应用软件是根据系统功能要求设计的,应该可靠地
实现系统的各种功能。

一个优秀的应用系统的软件应具有下列特点:(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。

设计出软件的总体结构,使其结构清晰、简捷、流程合理。

(2)要树立结构化程序设计风格,各功能程序实现模块化、子程序化。

既便于调试、,又便于移植、修正。

(3)建立正确的数学模型。

即根据功能要求,描绘出各个输入和输出变量之间的数学关系,它是关系到系统性能好坏的重要因素。

(4)为提高软件设计的总体效率,以简明、直观的方法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。

(5)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断资源等。

(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。

2. 软件设计流程图
打印机程序控制流程图如图3所示
图3 软件设计流程图3. 软件设计源程序
软件设计源程序见附录B
参考文献
[1] 朝青. 单片机原理及接口技术. :航空航天大学,2006
[2] 华光,大钦. 电子技术基础(模拟部分). :高等教育,1999
[3] 康华光,邹寿彬. 电子技术基础(数字部分). :高等教育,2000
[4] 何立民. 单片机应用技术选编. :航空航天大学,2000
[5] 何立民.单片机应用系统设计系统配置与接口技术. :航空航天大学,1990
[6] 广弟. 单片机基础. :航空航天大学,1994
[7] 伟,杰. 单片机原理及应用. :机械工业,2005
[8] 汉才. 单片机原理与接口技术. :清华大学,1996
附录A:硬件原理图
附录B:8255控制微型打印机的软件源程序CODE_K1 EQU 01H
CODE_K2 EQU 02H CODE_K3 EQU 03H CODE_K4 EQU 04H IRCOM EQU 30H
COM EQU 32H
IRIN EQU P3.2
WLED EQU P1.2
ORG 0000H
JMP BEGIN
ORG 0030H
BEGIN: ACALL BZ SETB IRIN
ACALL LED_BL
LOOP : MOV R0,#IRCOM; ACALL IR_IN
ACALL OP
JMP LOOP
DELAY: MOV R6,#50
D1: MOV R7,#100
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,DELAY
RET
LED_BL: MOV R4,#4
LE1: CPL WLED
MOV R5,#10
ACALL DELAY
DJNZ R4,LE1
RET
BZ: MOV R6,#0
B1: ACALL DE
DJNZ R6,B1
MOV R5,#5
ACALL DELAY
RET
DE: MOV R7,#180
DE1: NOP
DJNZ R7,DE1
RET
DEL: MOV R5,#1;0.1 MS 延时
DELAY1: MOV R6,#1
E1: MOV R7,#17
E2: DJNZ R7,E2;(17*2*2+2*2+1*2+2*2)*2 DJNZ R6,E1
DJNZ R5,DELAY1;( RET
OP: MOV A,COM CJNE A,#CODE_K1,A1 ACALL MAIN
RET
A1: MOV A,COM CJNE A,#CODE_K2,A2 ACALL MAIN
ACALL MAIN
RET
A2: MOV A,COM CJNE A,#CODE_K3,A3 ACALL MAIN
ACALL MAIN
ACALL MAIN
RET
A3: MOV A,COM CJNE A,#CODE_K4,A4 ACALL MAIN
ACALL MAIN
ACALL MAIN
RET
A4: RET
IR_IN:
I1: JNB IRIN,I2 JMP I1
I2: MOV R4,#6 I20: ACALL DEL DJNZ R4,I20
JB IRIN,I1 CLR WLED
I21: JB IRIN,I3 ACALL DEL
JMP I21
I3: MOV R3,#0 LL: JNB IRIN,I4 ACALL DEL
JMP LL
I4: JB IRIN,I5 ACALL DEL
JMP I4
I5: MOV R2,#0
JB IRIN,N1
MOV A,#08
CLR C
SUBB A,R2
MOV A,R0
RRC A
MOV R0,A
INC R3
CJNE R3,#8,LL
MOV R3,#0
INC R0
CJNE R0,#34H,LL
JMP OK
N1: INC R2
CJNE R2,#30,L1
OK: SETB WLED
RET
MAIN: CLR P1.3
MOV DPTR,#0ff7fh;
MOV A,#83H;
MOVX DPTR,A
MOV R6 ,#0EH;
MOV R0,#0BH; AA:
MOV A,R6
MOVC A,A+PC;
LCALL AEE
INC R6
DJNZ R0,AA;
LCALL HWH
LCALL CR; CC: RET
TAB: DB 2AH,54H,45H,43H,48H,53H,48H,49H,4EH,45H,2AH AEE: JB P1.0,AEE
MOV DPTR, #0ff7cH
MOVX DPTR,A
CLR P1.1
LCALL YS
SETB P1.1
RET
HWH: MOV A,#0AH
LCALL AEE
RET
YS: MOV R7,#1eH
MOV R5,#00H
MY1: DJNZ R5,MY1 DJNZ R7,MY1 RET
CR: MOV A,#0DH LCALL AEE RET
DELL: MOV R5,#00H DELAYY: MOV R6,#00 E11: MOV R7,#01H
E22: DJNZ R7,E22 DJNZ R6,E11
DJNZ R5,DELAYY RET
END
END。

相关文档
最新文档