单片机实用技术--第4章习题解答

合集下载

北京交通大单片机第4章参考答案

北京交通大单片机第4章参考答案

3-5 指出下列指令中45H代表什么。

MOV A,#45HMOV A,45HMOV 45H,46HMOV C,45HMOV A,#45H中的45H代表立即数45H,该立即数为16进制。

MOV A,45H 中的45H代表直接地址45H单元。

MOV 45H,46H中的45H代表目的操作数所指定的单元为45H。

MOV C,45H中的45H代表45H位。

3-6 分析下列程序执行的结果。

(1)MOV A,#60HMOV R0,#40HMOV @R0, AMOV 41H, R0XCH A, R0执行结果为:(A)=40H(R0)=60H(40H)=60H(41H)=40H (2)MOV DPTR,#2003HMOV A,#18HMOV 20H,#38HMOV R0,#20HXCH A,@R0执行结果为:(DPH)=20H(DPL)=03H(A)=38H(20H)=18H(R0)=20H(3)MOV 20H,#01HMOV A,20HINC ACPL AMOV DPTR,#2000HMOVX @DPTR, A执行结果为:(20H)=01H(A)=FDH(DPTR)=2000H(2000H)=FDH3-8 按要求写出相应的指令。

(1)把寄存器R6的内容送到累加器A中。

(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。

(3)清除内部RAM 3FH 单元的高4位。

(4)使累加器A的最低位置1。

(5)清除进位位。

(6)使ACC.4和ACC.5置1。

(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。

(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。

(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。

单片机原理及应用第四章课后题答案

单片机原理及应用第四章课后题答案

第四章作业答案16.MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突?解:数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MOVX。

程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,控制信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。

18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。

解:硬件连接电路图如图4.18所示。

各芯片的地址范围为:2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH图4.18 4.18题硬件连接电路图21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。

解:程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR,#7F03HMOV A,#10010100BMOVX @DPTR,ASJMP $END25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。

解:使用8255A,电路连接图如图4.25所示。

图4.25 4.25题硬件连接电路图其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。

设MCS-51单片机主频为12MHz。

程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 数据指针指向8255A控制口MOV A, #80HMOVX @DPTR, A ; 工作方式字送8255A控制口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOV A, #0FH ; 置红色发光二极管亮LP1:MOVX @DPTR, A ; 置红色发光二极管亮LCALL DELAY ; 调用1S延时子程序CPL A ; 置发光二极管亮反色SJMP LP1 ; 循环执行DELAY:MOV R7,#10 ; 1s延时子程序D1:MOV R6,#200D2:MOV R5,#248D3:NOPDJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND采用定时器T0方式1中断实现1s定时。

单片机微型计算机原理及接口技术课后习题答案第4章

单片机微型计算机原理及接口技术课后习题答案第4章

单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。

4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。

MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。

4-4 说明一下指令中源操作数所在的存储器类型。

(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。

(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。

(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。

(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。

4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。

答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。

答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。

除了这一点两条指令不同外,其它操作都相同。

4.下列说法正确的是。

答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是reti或是访问ie或ip的指令。

如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。

a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。

单片机第4章习题答案

单片机第4章习题答案

第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。

2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。

(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。

(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。

(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。

(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。

(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。

4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。

7.分析下列程序的功能。

X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。

单片机课后习题答案胡汉才编

单片机课后习题答案胡汉才编

单⽚机课后习题答案胡汉才编1.25单⽚机内部由哪⼏部分电路组成?各部分电路的主要功能是什么?解:单⽚机内部由CPU、存储器和I/O接⼝等电路组成。

CPU的主要功能是对⼆进制数进⾏算术和逻辑运算、执⾏指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调⼀致的⼯作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单⽚机应⽤系统的程序,RAM的主要功能是存储实时数据或作为通⽤寄存器、堆栈、数据缓冲区。

I/O接⼝的主要功能是负责单⽚机和外设、外部存储器间的通信。

第⼆章存在的错别字问题:“振荡”写出“推荡”;“芯⽚”写成“蕊⽚”。

2.3、程序状态字PSW各位的定义是什么?解:PSW的各位定义如下:Cy:进位标志位;AC:辅助进位位;F0:⽤户标志位;RS1、RS0:寄存器选择位;OV:溢出标志位;P:奇偶标志位;PSW1:未定义。

2.4、什么叫堆栈?8031堆栈的最⼤容量是多少?MCS51堆栈指⽰器SP有多少位,作⽤是什么?单⽚机初始化后SP中的内容是什么?解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。

8031堆栈的最⼤容量是128B;MCS-51堆栈指针SP有8位,作⽤是存放栈顶(/栈低)地址;单⽚机初始化后(即单⽚机复位后)SP中的内容是07H。

存在的问题:1、堆栈的定义中,未答出“RAM区域”,⽽⽤了“部件”;2、只说了“单⽚机初始化后(即单⽚机复位后)SP中的内容是栈底地址”,未说明具体值07H;3、8031堆栈的最⼤容量错成128M或256B。

2.5、数据指针DPTR有多少位,作⽤是什么?解:数据指针DPTR有16位;作⽤是存放ROM或外部RAM的地址。

2.7、8051⽚内RAM容量有多少?可以分为哪⼏个区?各有什么特点?解:8051的⽚内RAM容量有128B;分为三个区:⼯作寄存器区、位寻址区和便笺区;存在的问题:1、8051的⽚内RAM容量错成256B。

单片机 第四章答案

单片机  第四章答案

LP1: JBC TF0 ,LP2
JB P3.2 , LP1
INC R0
;低电平到,停止定时器1,存储单元地址加1
SJMP LP0
;低电平到,停止定时器1 宽度
LP2: INC @R0
;存储溢出次数加1ms
MOV TH0,#0FCH ;定时1ms
MOV TL0,#18H SJMP LP1
INT1
INT1 为高时T1 开始计数
中断程序结构框架
20.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正 脉冲信号,晶振频率为12MHz。试设计程序。参照【例4-6】
解:因方式2是8位计数器,其最大定时时间为:256×1 s = 256 s,为实现1 s延时,
可选择定时时间为200 s,再循环5000次。定时时间选定后,可确定计数值为200,则定
时器0的初值为:X = M 计数值=256 200 = 56 。采用定时器0,方式2工作,因此,
TMOD =02H。
ORG 0000H
MOV TMOD,#02H ;置定时器0为方式2
MOV TH1,#56
;置定时器初值
MOV TL1,#56
CLR P1.0 MAIN: MOV R5,#50
;置20 ms计数循环初值 1s
②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH
ORG START:MOV
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END
0000H TMOD, #00H
ORG 0000H
START:MOV TMOD, #02H;定时器T0工作方式2

单片机第4章习题参考答案.docx

单片机第4章习题参考答案.docx

第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。

ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。

编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。

num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。

编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。

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

1.MCS-51单片机有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU 响应各中断时,其中断入口地址是多少?
答:(1)5个。

(2) IE0:外部中断0请求标志。

IE0=1表明外部中断0向CPU 申请中断。

IE1:外部中断1请求标志。

IE1=1表明外部中断1向CPU 申请中断。

TF0:定时器T0溢出标志。

当定时器T0计满溢出时,由硬件使TF0置“1”,并且申请中断。

TF1:定时器T1溢出标志。

当定时器T1计满溢出时,由硬件使TF1置“1”,并且申请中断。

TI :发送中断标志。

RI :接收中断标志。

(3)外部中断0,外部中断1请求标志。

又分为两种方式,当电平触发方式时由软件方法复位;为边沿触发方式时,由内部硬件自动复位。

定时器T0、定时器T1溢出标志。

可由内部硬件自动复位。

TI,RI 标志由软件复位。

(4)外部中断有两个,分别是0INT 和1INT ,其入口地址分别是0003H 和0013H 。

内部中断有3个,分别是T0,T1和串行口,它们的入口地址分别为:000BH ,001BH 和0023H 。

2.如何计算计数初值?如何编程送入计数初值?
答:设初值为X ,最大计数值为M 。

初值X 与机器周期T 机及定时时间T 的关系为 (M −X )T 机=T
MOV TL0,#x1 H
MOV TH0,#x2 H
3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?
答:IT1:外部中断触发方式选择位。

当IT1=0,外部中断1为电平触发方式。

在这种方式下,CPU 在每个机器周期的S5P2期间对1INT (P3.3)端子采样,若采到低电平,则认为有
中断申请,随即使IE1=1;若采到高电平,则认为无中断申请或中断申请已撤除,随即清除IE1标志。

在电平触发方式中,CPU 响应中断后不能自动清除IE1标志,也不能由软件清除IE1标志,所以在中断返回前必须撤消1INT 端子上的低电平,否则CPU 将再次响应中
断,从而造成出错。

若IT1=1,外部中断1为边沿触发方式,CPU 在每个机器周期的S5P2期间对1INT (P3.3)
端子采样。

若在连续两个机器周期采样到先高电平后低电平(即下跳沿),则认为有中断申请,随即使IE1=1;此标志一直保持到CPU 响应中断时,才由硬件自动清除。

在边沿触发方式中,为保证CPU 在两个机器周期内检测到先高后低的负跳变,输入高低电平的持续时间最少要保持12个时钟周期。

IT0同上。

4.定时/计数器工作于定时和计数方式时有何异同点?
答:16位的定时器/计数器实质上是一个加1计数器,其控制电路受软件控制、切换。

定时器工作于定时前先装入初值,利用送数指令将初值装入TH0和TL0或TH1和TL1,当发出启动命令后,装初值寄存器开始计数,连续加1,每一个机器周期加1一次,定时是对内部的机器周期脉冲计数。

工作于计数方式时,是对外部的脉冲计数,两个机器周期计一个数。

5.定时/计数器的4种工作方式各有何特点?
答:方式0:16位寄存器(TH1和TL1)只用13位。

其中TL1的高3位未用,其余位占整
个13位的低5位,TH1占高8位。

当TL1的低5位溢出时向TH1进位,而TH1溢出时向中断标志TF1进位(称硬件置位TF1),并申请中断。

中断时需用软件重新赋初值。

方式1:其结构与操作与方式0完全相同,唯一的区别是在方式1中,定时器是以全16位二进制数参与操作。

中断时需用软件重新赋初值。

方式2:具有自动重新加载初值的功能。

在这种工作方式下,把16位计数器分为两部分,即以TL作为计数器,以TH作为预置寄存器,初始化时把计数初值分别装入TL和TH中。

方式3:定时器/计数器T0被拆成两个独立的8位计数器TL0和TH0,其中TL0既可以计数使用,又可以定时使用,定时器/计数器T0的各拉制位和引脚信号全归它使用。

TH0,则只能作为简单的定时器使用。

而且由于定时器/计数器0的控制位已被TL0独占,因此只好借用定时器/计数器T1的控制位TR1和TF1,即以计数溢出去置位TF1,而定时的启动和停止则受TR1的状态控制。

在这种情况下,定时器/计数器T1通常是作为串行口的波特率发生器使用,以确定串行通信的速率。

6.简述定时器/计数器初始化的步骤。

答:(1)选择工作方式,即对TMOD 赋初值。

(2)给定时器赋初值,即把初始常数装入TH0 TL0或TH1 TL1。

(3)根据需要设置中断控制字。

直接对中断允许寄存器IE和优先级寄存器IP设置。

(4)启动定时/计数器。

7.当定时/计数器T0用做方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1的开启和关闭?
答:在这种情况下,定时器/计数器T1通常是作为串行口的波特率发生器使用,以确定串行通信的速率。

因为已没有计数溢出标志位TF1可供使用。

因此只能把计数溢出直接送给串行口。

当作为波特率发生器使用时,只需设置好工作方式,便可自动运行。

如要停止工作,只需送入一个把定时器T1设置为方式3的方式控制字即可。

因为定时器/计数器1不能在方式3下使用,如果硬把它设置为方式3,就停止工作。

8.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为6MHz。

试设计程序。

答:分析:因为周期是1S为1000ms。

所以低电平为980ms。

采用20ms的定时中断,然后计数49次及实现980ms。

设R5为计数寄存器。

用T0工作在方式1实现20ms定时则:初值为:TH0=D8H,TL0=F0H
参考程序为:
ORG 0000H
LJMP START
ORG 0030H
START: MOV SP, #6FH
MOV TMOD, #01H
MOV R5, #49
CLR P1.0
MOV TH0, #0D8H
MOV TL0, #0F0H
SETB TR0
LOOP1: SETB P1.0
JNB TF0, $
CLR P1.0
LOOP2: MOV TH0, #0D8H
MOV TL0, #0F0H
JNB TF0, $
DJNZ R5, LOOP2
MOV R5, #49
MOV TH0, #0D8H
MOV TL0, #0F0H
LJMP LOOP1
END
9.若晶振频率为12MHz,如何用T0来测量20s~1s的方波周期?又如何测量频率为0.5MHz 左右的脉冲频率?
答:因为用T0时在方式1下最大可计数65536即计65.536ms,而20S就不能只用T0来实现,可以采用让T0工作在门控方式计数,当计满溢出一次就用一个存储单元作为计数器,使之加1,把计数值乘以65536,再乘以2就是周期值。

10.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。

编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/s(8个灯依次亮一遍为一个周期)。

答:分析:因为闪动频率20次/S,所以一个灯亮用时为1000/20/8=6.25MS。

用T0方式1定时,设晶振频率为12MHZ。

则初值为E796H。

参考程序如下:
ORG 0H
LJMP START
ORG 000BH
LJMP T01
ORG 030H
START: MOV SP, #6FH
MOV TMOD,#01H
MOV TH0,#0E7H
MOV TL0,#96H
MOV A,#0FEH ;设低电平点亮
MOV P1,A
SETB EA
SETB ET0
SETB TR0
SJMP,$
T01: RL A
MOV P1,A
RETI
END。

相关文档
最新文档