(一)、硬件电路设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
硬件电路的单片机芯片采用AT89C51芯片,进行数据处理。数据采集部分的传感器采用DS18B20芯片数字温度传感器。总线驱动使用ZLG7290B芯片,用六位七段LED数码显示器显示测量的温度值,键盘按键S1实现测量控制,按下按键S1则刷新测量的温度值。
LED
图1 硬件系统
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,按键扫描子程序等。
在参考程序的基础上,我对数值的显示方式进行了改进。在数值前有“+”、“—”符号,小数部分改为显示两位小数,提高了精度。且百位为零时,显示符号。
(二)、设计内容及原理
本设计的电路模块主要有主控电路,显示电路,温度采集电路。
2.1 主控电路设计
本系统采用ATMEL公司出品的AT89S52单片机作为本系统的主控制器,AT9S51具有低电压、高性能CMOS8位单片机;片内含有4k字节的可反复擦写的只读程序存储器(PEROM)和128字节的随机存取数据存储器(RAM);器件采用AMTEL公司的高密度、非易失性存储技术生产,兼容
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
MCS-51指令系统;片内置通用2位中央处理器(CPU)和Flash存储单元,功能强大的AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。功能特性概述:AT89S52提供以下标准功能:4k字节Flash闪速存储器、128字节内部RAM、32个I/O口线、两个16位定时/计数器、1个5向量两级中断结构、一个全双工串行通信口、片内振荡器及时钟电路,同时,AT89S51可降至0Hz的静态逻辑操作并支持两种软件可选的节电工作模式;空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作;掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作一直到下个硬件复位设计电路如图3所示:(以52为例)
图2 最小系统电路
2.2 显示电路设计
ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。由于采用了I2C总线接口,因而用ZLG7290与微控制器设计电力仪
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的硬件电路连接非常简单。它只需要两根信号线(一根数据线SDA,一根时钟信号线SCL)。但应注意进行I2C通信的双方要共地,并应用,INT传递键盘中断信号。微控制器通过RST可以将ZLG7290复位。设计电路原理图如图4所示:
图3 ZLG7290设计原理图
通过单片机的I/O端口产生I2C时序驱动ZLG7290芯片。控制数码管的显示。
2.3 温度采集电路设计
本设计采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
图4 DS18B20外观图
DS18B20的外部机构图和内部结构图(如图1-3、1-4)
图6 DS1820内部结构
图5 TQ-92封装及8脚SOIC封装
1、 主要特性:
电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度 监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。在外接电源方式下, 可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。
图7 DS18B20温度数据表
2、DS18B20工作原理:
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度值。
图8 DS18B20工作原理
设计原理图如图7所示:
图 9 DS18B20原理图
通过单片产生单总线协议时序驱动DS18B20温度采集芯片,实时采集当前的温度值。
3、DS18B20温度值格式
默认的12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
4、DS18B20常用ROM、RAM指令(如表1、表2)
指 令
约定代码
功 能
读ROM
33H
读DS1820温度传感器ROM中的编码(即64位地址)
符合 ROM
55H
发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。
搜索 ROM
0FOH
用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。
跳过 ROM
0CCH
忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。
告警搜索命令
0ECH
执行后只有温度超过设定值上限或下限的片子才做出响应。
表1 ROM指令表
指 令
约定代码
功 能
温度变换
44H
启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。
读暂存器
0BEH
读内部RAM中9字节的内容
写暂存器
4EH
发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
复制暂存器
48H
将RAM中第3 、4字节的内容复制到EEPROM中。
重调 EEPROM
0B8H
将EEPROM中内容恢复到RAM中的第3 、4字节。
读供电方式
0B4H
读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。
表2 RAM指令表
5、DS18B20操作时序
DS18B20的时序有着严格的要求,因为它遵循单总线通信协议
单总线通信协议与其他所有的数据通信传输方式一样,单总线芯片在数据传输过程要求采用严格的通信协议,以保证数据的完整性。单总线芯片在数据传输过程中,每个单总线芯片都拥有唯一的地址,系统主机一旦选中某个芯片,就会保证通信连接直到复位,其他器件则全部脱离总线,在下次复位之前不参与任何通信。
单总线通信协议定义了如下几种类型,即复位脉冲、应答脉冲、写0、写1、读0和读1,除了应答脉冲外,所有的信号都由主机发出同步信号,并且发送的所有的命令和数据都是字节的低位在前。
单总线通信协议中不同类型的信号都采用一种类似脉宽调制的波形表示,逻辑0用较长的低电平持续周期表示,逻辑1用较长的高电平持续周期表示。在单总线通信协议中,读写时隙的概念十分重要,当系统主机向从设备输出数据时产生写时隙,当主机从从机设备读取数据时产生读时隙,每一个时隙总线只能传输一位数据。无论是在读时隙还是写时隙,它们都以主机驱动数据线位低电平开始,数据线的下降沿是从设备触发其内部的延时电路,使之与主机同步。在写时隙内,该延迟电路决定从设备采样数据线的时间窗口。
单总线通信协议中存在两种写时隙:写1和写0。主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0,。所有写时隙至少要60us,且在两次独立的写时隙之间至少需要1us的恢复时间。两种写时隙均起始于主机拉低数据总线。产生1时隙的方式:主机拉低总线后,接着必须在15us之内释放总线,由上拉电阻将总线拉至高电平;产生写0时隙的方式为在主机拉低后,只需要在整个时隙间保持低电平即可(至少60us)。在写时隙开始后15us~60us期间,单总线器件采样总电平状态。如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。
图1-1给出了写时隙(包括1和0)时序的图形解释。
在图1-1中,黑色实现代表系统主机拉低总线,黑色虚线代表上拉电阻将总线拉高。
对于读时隙,单总线器件仅在主机发出读时隙时,才向主机传输数据。所有主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。所有读时隙至少需要60us,且在两次独立的读时隙之间至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发出读时隙之后,单总线器件才开始在总线上发送0或1。若从机发送1,则保持总线为高电平;若发出0,则拉低总线。
当发送0时,从机在读时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在起始时隙之后,保持有效时间15us,因此主机在读时隙期间必须释放总线,并且在时隙起始后的15us之内采样总线状态。
图1-2所示给出了读时隙(包括读0或读1)时序的图形解释。
在图1-2所示中,黑色实线代表系统主机拉低总线,灰色实线代表总局拉低总线,而黑色的虚线则代表上拉电阻总线拉高。以上对单总线通信过程的几种信号进行了介绍,但由于复位脉冲以应答脉冲与单总线通信过程初始化的密切关系,对这两种信号的介绍将放在1.2中阐述。
单总线上的所有通信都是以初始化序列开始,初始化序列包括主机发出的复位脉冲及从机的应答脉冲,这一过程如图1-3所示。在图1-3中,黑色实线代表系统主机拉低总线,灰色实线代表从机拉低总线,而黑色的虚线则代表上拉电阻极爱那个总线拉高。
系统主设备发送端发出的复位脉冲式一个480us~960us的低电平,然后释放总线进入接受状态。此时系统总线通过4.7K的上拉电阻接至VCC高电平,时间约为15us~60us,接种在接收端的设备就开始检测I/O引脚上的下降沿以及监视在脉冲的到来。主设备处于这种状态下的时间至少为480us。
作为从设备的奇迹爱你在接收到系统主设备发出的复位脉冲之后,向总线发出一个应答脉冲,表示从设备已准备好,可根据各种命令发送或接受数据。通常情况下,器件等待15us~60us即可发送应答脉冲(该脉冲是一个60us~240us的低电平信号,它由从机强迫将总线拉低)。
复位脉冲式主设备以广播方式发出的,因而总线上所有的从设备同时发出应答脉冲。一旦器件检测到应答脉冲后,主设备就认为总线上已连接了从设备,接着主设备将发送有关的ROM功能命令。如果主设备未能检测到应答脉冲,则认为总线上没有挂接单总线从设备。
(三)软件算法分析
3.1主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,其程序
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
见图2所示。
3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3示
Y
Y
图10 主程序流程图 图11 读温度流程图
3.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4所示
结束
图12 温度转换流程图
3.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图5所示。
Y
结束
图13 计算温度流程图 图14 显示数据刷新流程图
3.5显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图6。
(四)设计时遇到的问题及
心得体会
决胜全面小康心得体会学党史心得下载党史学习心得下载军训心得免费下载党史学习心得下载
电子技术方向课程设计是我们的所有课程设计中最陌生的一个课程设计,因为它用到的主要芯片和芯片的工作原理我们都没有学过,而且课本中没有资料,除了老师讲解的一部分内容外我们都需要自己上相关网站上查找资料,了解内容。了解了芯片以后,我们就要去分析程序了,因为温度测量的汇编程序有几百条语句,是我们上学来遇到过的语句最多的程序,上网找到程序以后,对照着芯片的工作原理了解每一个语句的功能,再在硬件电路中进行调试,通过调试来分析程序使得对程序和芯片的工作原理更加了解。还有的问题就是在硬件调试时,由于导线内部折断的原因,使得显示结果不正确。在正确显示以后,我又修改了程序,使显示的结果有两位整数两位小数。
通过这次的课程设计,不仅使我增长了知识,认识和了解了DS18B20传感器及ZLG7290芯片,还锻炼了我的自学能力,我对程序的分析能力。为我今后的学习奠定了很好的基础。
(五)程序清单
;*****************************
; WDCLXS PROGRAM
;****************************
THERML EQU 30H
THERMH EQU 31H
;**************************
DQ BIT P3.3
DAT BIT P1.7
CLK BIT P1.6
REST BIT P1.5
INTT0 BIT P3.2
FLAG0 BIT 0
FLAG1 BIT 1
FLAG2 BIT 2
;**************************
ORG 0
NOP
SJMP MAIN
ORG 0003H
LJMP INNT0
ORG 0030H
MAIN: NOP
LCALL DL750MS
MOV SP,#6FH
MOV R0,#127
CLR A
MAIN1: MOV @R0,A
DJNZ R0,MAIN1
MOV P3,#255
CLR REST
LCALL DL750MS
SETB REST
NOP
NOP
CLR CLK
CLR DAT
MOV TCON,#0
SETB IT0
MOV IE,#81H
MOV R0,#60H
MOV @R0,#4 ; DISP 5 BIT
MOV R5,#0DH
MOV R6,#1
LCALL W7290 ; 设置7290 5位显示位
LCALL DL750MS
LCALL DL750MS
MOV R0,#40H
MOV R2,#5
MOV A,#12H ;P
MAIN2: MOV @R0,A
INC R0
DJNZ R2,MAIN2
LCALL DISP ;DISP "PPPPP"
CLR FLAG2
MAIN3: LCALL PS1820
LCALL TECOV
JNB FLAG2,MAIN3
LCALL DISP
SJMP MAIN3
;**********************************
PS1820: SETB DQ
PS18201:LCALL IN1820 ;1820 RESET
JNB FLAG0,PS1820
MOV A,#0CCH ;跳过ROM
LCALL W1820
MOV A,#44H
LCALL W1820 ;发温度转换命令
NOP
LCALL DL750MS
TO18201:SETB DQ
LCALL IN1820 ;1820 RESET
JNB FLAG0,TO18201
LCALL DL60US
MOV A,#0CCH
LCALL W1820 ;跳过ROM
MOV A,#0BEH ;发读温度命令
LCALL W1820
LCALL RE1820
RET
;************************************
; 读DS1820 9字节子程序
;************************************
RE1820: MOV R0,#30H
MOV R2,#9
RE18201:MOV R3,#8
RE18202:CLR C
SETB DQ
NOP
NOP
CLR DQ
NOP
SETB DQ
MOV R4,#6
DJNZ R4,$
MOV C,DQ
MOV R4,#23
DJNZ R4,$
RRC A
DJNZ R3,RE18202
MOV @R0,A
INC R0
DJNZ R2,RE18201
RET
;****************************************
; 写一字节到1820
;****************************************
W1820: MOV R3,#8
CLR C
SETB DQ
NOP
NOP
W18201: CLR DQ
NOP
NOP
RRC A
MOV DQ,C
MOV R4,#29
DJNZ R4,$
SETB DQ
NOP
DJNZ R3,W18201
RET
;*************************************
; 1820初始化子程序
;*************************************
IN1820: SETB DQ
NOP
CLR DQ
MOV R4,#245 ;延时490US
DJNZ R4,$
SETB DQ
MOV R4,#32 ;延时70US
DJNZ R4,$
JNB DQ,IN18201
CLR FLAG0
RET
IN18201:SETB FLAG0
MOV R4,#210
DJNZ R4,$ ;延时420US
RET
;*****************************************
; ;延时60US子程序
;*****************************************
DL60US: MOV R5,#30
DJNZ R5,$
RET
;***************************************
; ;延时750MS子程序
;***************************************
DL750MS: MOV R7,#75
DL750MS1:MOV R6,#10
DL750MS2:MOV R5,#250
DL750MS3:NOP
NOP
DJNZ R5,DL750MS3
DJNZ R6,DL750MS2
DJNZ R7,DL750MS1
RET
;**************************************
; 写7290子程序
;**************************************
w7290: CLR CLK ;## EWR ##
NOP
CLR DAT
MOV R3,#10 ;control byte
DJNZ R3,$
SETB DAT
NOP
NOP
SETB CLK
MOV R3,#10
DJNZ R3,$
CLR DAT
MOV A,#70H ;start
MOV R1,#8
NOP
NOP
W24R1: CLR CLK
RLC A
MOV R3,#4
DJNZ R3,$
MOV DAT,C
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#8
DJNZ R3,$
DJNZ R1,W24R1
CLR CLK
MOV R3,#8
DJNZ R3,$
SETB CLK ;ACK
MOV A,R5 ;address
MOV R1,#8
NOP
NOP
NOP
W24R2: CLR CLK
RLC A
MOV R3,#10
DJNZ R3,$
MOV DAT,C
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#8
DJNZ R3,$
DJNZ R1,W24R2
CLR CLK
MOV R3,#8
DJNZ R3,$
SETB CLK ;ACK
W24R4: MOV A,@R0
INC R0 ;data
MOV R1,#8
W24R5: CLR CLK
RLC A
MOV R3,#10
DJNZ R3,$
MOV DAT,C
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#8
DJNZ R3,$
DJNZ R1,W24R5
MOV R3,#8
DJNZ R3,$
CLR CLK
MOV R3,#8
DJNZ R3,$
SETB CLK ;ACK
MOV R3,#8
DJNZ R3,$
DJNZ R6,W24R4
CLR CLK
MOV R3,#10
DJNZ R3,$
CLR DAT
MOV R3,#8
DJNZ R3,$
SETB CLK
MOV R3,#8
DJNZ R3,$
SETB DAT ;STOP
CLR CLK
NOP
NOP
CLR DAT
RET
;************************************
; 读7290子程序
;************************************
R7290: CLR CLK ;## ERD ##
NOP
NOP
CLR DAT ;EEPROM read
MOV A,#70H ;control byte
NOP
NOP
SETB DAT
MOV R3,#10
DJNZ R3,$
SETB CLK
CLR C
MOV R3,#10
DJNZ R3,$
CLR DAT ;SARTt
MOV R1,#8
READ1: CLR CLK
MOV R3,#10
DJNZ R3,$
RLC A
MOV DAT,C
SETB CLK
MOV R3,#10
DJNZ R3,$
DJNZ R1,READ1
CLR CLK
MOV R3,#10
DJNZ R3,$
SETB CLK ;ACK
CLR C
MOV R3,#10
DJNZ R3,$
MOV A,R5 ;address
MOV R1,#8
READ2: CLR CLK
MOV R3,#10 ;control byte
DJNZ R3,$
RLC A
MOV DAT,C
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#10
DJNZ R3,$
DJNZ R1,READ2
CLR CLK
MOV R3,#10
DJNZ R3,$
SETB CLK ;ACK
MOV R3,#10
DJNZ R3,$
CLR CLK
SETB DAT
CLR C
NOP
NOP
NOP
SETB CLK
MOV R3,#10
DJNZ R3,$
CLR DAT ;st
MOV A,#71H ;control byte
R244: MOV R1,#8
READ3: CLR CLK
RLC A
NOP
NOP
NOP
MOV DAT,C
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#10
DJNZ R3,$
DJNZ R1,READ3
CLR CLK
MOV R3,#10
DJNZ R3,$
SETB CLK ;ACK
CLR C
MOV R3,#10
DJNZ R3,$
CLR CLK
READ6: MOV R1,#8
CLR A
MOV R3,#10
DJNZ R3,$
READ4: SETB CLK
MOV R3,#10
DJNZ R3,$
MOV C,DAT
RLC A
NOP
NOP
CLR CLK
MOV R3,#10
DJNZ R3,$
DJNZ R1,READ4
MOV @R0,A
INC R0
DJNZ R6,READ5
CLR DAT
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#10
DJNZ R3,$
SETB DAT
MOV R3,#10
DJNZ R3,$
CLR CLK
CLR DAT
RET
READ5: CLR DAT
MOV R3,#10
DJNZ R3,$
SETB CLK
MOV R3,#10
DJNZ R3,$
CLR CLK
MOV R3,#10
DJNZ R3,$
SETB DAT
SJMP READ6
;**********************************
; 计算温度值子程序
;**********************************
TECOV: MOV A,31H ;取高4位测温值
JNB ACC.7,TECOV1
CLR A
CLR C
SUBB A,30H
MOV 30H,A
CLR A
SUBB A,31H
MOV 31H,A ;取补
SETB FLAG1 ;温度为负值
SJMP TECOV2
TECOV1: CLR FLAG1 ;温度为正值
TECOV2: MOV A,31H
ANL A,#07H
SWAP A
MOV 31H,A
MOV A,30H
ANL A,#0F0H
SWAP A
ORL A,31H
MOV 31H,A ;31H中存放二进制温度值,单位为度
MOV 3fH,#11H ;设温度为正值
JNB FLAG1,TECOV3
MOV 3fH,#10H ;实际温度值为负值
TECOV3: MOV A,31H
MOV B,#100
DIV AB
MOV 40H,A ;存放百位温度值
MOV A,B
MOV B,#10
DIV AB
MOV 41H,A ;存放十位温度值
MOV 42H,B ;存放个位温度值
MOV A,30H
ANL A,#0FH
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV 43H,A ; ;存放小数位温度值
RET
;**************************************************
; 显示子程序
;**************************************************
DISP: MOV R0,#64H
MOV R2,#5
MOV R1,#40H
MOV DPTR,#TABLE2
DISP1: MOV A,@R1
MOVC A,@A+DPTR
CJNE R2,#3,DISP2
ORL A,#1 ;显示小数点
DISP2: MOV @R0,A
DEC R0
INC R1
DJNZ R2,DISP1
MOV R0,#60H
MOV R6,#5
MOV R5,#10H
LCALL W7290
RET
;********************************************************
INNT0: PUSH ACC
PUSH PSW
SETB RS0
MOV R0,#50H
MOV R6,#3
MOV R5,#01H
LCALL R7290
CLR REST
LCALL DL60US
SETB REST
LCALL DL750MS
MOV A,50H
ANL A,#0FH
PUSH ACC
MOV R0,#44H ;;;;;;;;;;;;;
MOV R2,#5 ;;;;;;;;;;;;
INNT03: MOV @R0,A ;;;;;;;;;;;;;;
DEC R0 ;;;;;;;;;;;;;
DJNZ R2,INNT03 ;;;;;;;;;;;
LCALL DISP ;;;;;;;;;;;;;
POP ACC
CJNE A,#1,INNT01
SETB FLAG2
SJMP INNT02
INNT01: CLR FLAG2
INNT02: POP PSW
POP ACC
RETI
;*****************************************
TABLE1: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
;*****************************************
TABLE2: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H ;0,1,2,3,4,5,6,7,8,9
DB 0EEH,3EH,9CH,7AH,9EH,8EH ;A,b,C,d,E,F ;;;;;;;
DB 02H,0,0CEH ; -,暗,P 显示代码
;******************************************
END