ORG 0030H
CHK00: MOV SP,#60H
LCALL LEDP
MOV DPTR,#CLOCK
MOV R0,DPL
MOV R1,DPH
MOV DPTR,#000BH
MOV A,#02H
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
INC DPTR
MOV A,R0
MOVX @DPTR,A
LCK0:LCALL LCK0
LCALL PTDS0
MOV TMOD,#01H
ORL IE,#82H
MOV TL0,#0B7H
MOV TH0,#3CH
MOV 23H,#00H
SETB TR0
L005: LCALL DIS
LCALL PTDS0
SJMP L005
PTDS0: MOV R0,#79H
MOV A,22H
ACALL PTDS
MOV A,21H
ACALL PTDS
MOV A,20H
ACALL PTDS
RET
PTDS: MOV R1,A
ACALL PTDS1
MOV A,R1
SWAP A
PTDS1: ANL A,#0FH
MOV @R0,A
INC R0
RET
LOCK: MOV TL0,#0B7H
MOV TH0,#3CH
PUSH PSW
PUSH ACC
SETB 0D3H
INC 23H
MOV A,23H
CJNE A,#0AH,DONE
MOV 23H,#00H
MOV A,22H
INC A
DA A
MOV 22H,A
CJNE A,#60H,DONE
MOV 22H,#00H
MOV A,21H
INC A
DA A
MOV 21H,A
CJNE A,#60H,DONE
MOV 21H,#00H
MOV A,20H
INC A
DA A
MOV 20H,A
CJNE A,#24H,DONE
MOV 20H,#00H
DONE: POP ACC
POP PSW
RETI
ORG 0D59H
SSEE: SETB RS1
MOV R5,#05H
SSE2: MOV 30H,#20H
MOV 31H,#7EH
MOV R7,#06H
SSE1: MOV R1,#0DDH
MOV A,30H
MOVX @R1,A
MOV R0,31H
MOV A,@R0
MOV DPTR,#0DDFFH
MOVC A,@A+DPTR
MOV R1,#0DCH
MOVX @R1,A
MOV A,30H
RR A
MOV 30H,A
DEC 31H
MOV A,#0FFH
MOVX @R1,A
DJNZ R7,SSE1
DJNZ R5,SSE2
CLR RS1
RET
DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,0F8H,80H,90H
DB 88H,83H,bC6H,0A1H,86H,8EH
DB 0FFH,0CH,89H,0DEH
ORG 038EH
X3: MOV R4,A
MOV R0,#50H
MOV A,@R0
MOV R1,A
MOV A,R4
MOV @R1,A
CLR A
POP DPH
POP DPL
MOVC A,@A+DPTR
INC DPTR
CJNE A,01H,X30
DEC R1
CLR A
MOVC A,@A+DPTR
X31: MOV @R0,A
INC DPTR
PUSH DPL
PUSH DPH
RET
X30: DEC R1
MOV A,R1
SJMP X31
X2: MOV R6,#50H
X0: ACALL XLE
JNB ACC,5,XX0
DJNZ R6,X0
MOV R6,#20H
MOV R0,#50H
MOV A,@R0
MOV R0,A
MOV A,@R0
MOV R7,A
MOV A,#10H
MOV @R0,A
X1: ACALL XLE
JNB ACC,5,XX1
DJNZ R6,X1
MOV A,R7
MOV @R0,A
SJMP X2
XX1: MOV R6,A
MOV A,R7
MOV @R0,A
MOV A,R6
XX0: RET
XLE: ACALL DIS
ACALL KEY
MOV R4,A
MOV R1,#48H
MOV A,@R1
MOV R2,A
INC R1
MOV A,@R1
MOV R3,A
MOV A,R4
XRL A,R3
MOV R3,04H
MOV R4,02H
JZ X10
MOV R2,#88H
MOV R4,#88H
X10:DEC R4
MOV A,R4
XRL A,#82H
JZ X11
MOV A,R4
XRL A,#0EH
JZ X11
MOV A,R4
JZ X12
MOV R4,#20H
DEC R2
SJMP X13
X12: MOV R4,#0FH
X11: MOV R2,04H
MOV R4,03H
X13: MOV R1,#48H
MOV A,R2
MOV @R1,A
INC R1
MOV A,R3
MOV @R1,A
MOV A,R4
JB ACC,5,X113
JB ACC,4,X113
MOV DPTR,#LS3
MOVC A,@A十DPTR
X113: RET
LS3: DB 07H,04H,08H,05H,09H,06H,0AH
DB 0BH,01H,00H,02H,0FH,03H,0EH
DB 0CH,0DH
DIS: PUSH DPH
PUSH DPL
SETB RS1
MOV R0,#7EH
MOV R2,#20H
MOV R3,#00H
MOV DPTR,#LS0 ,
LS2: MOVA,@R0
MOVC A,@A+DPTR
MOV R1,#0DCH
MOVX @R1,A
MOV A,R2
INC R1
MOVX @R1,A
LS1: DJNZ R3,LS1
CLR C
RRC A
MOV R2,A
DEC R0
JNZ LS2
MOVX @R0,A
DEC R0
CPL A
MOVX @R0,A
CLR RS1
POP DPL
POP DPH
RET
LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H
DB 7FH,0BFH
KEY: SETB RS1
MOV R2,#0FEH
MOV R3,#08H
MOV R0,#00H
LP1: MOV R1,#0DDH
MOV A,R2
MOVX @R1,A
RL A
MOV R2,A
INC R1
MOVX A,@R1
CPL A
ANL A,#0FH
JNZ LP0
INC R0
DJNZ R3,LP1
XP33: MOV A,#20H
XP3: MOV R2,A
CLR A
MOV R1,#0DDH
MOVX @R1,A
MOV A,R2
CLR RS1
RET
LP0: CPL A
JB ACC.0,XP0
MOV A,#00H
SJMP LPP
XP0: JB ACC.1,XP1
MOV A,#08H
SJMP LPP
XP1: JB ACC,2,XP2
MOV A,#10H
SJMP LPP
XP2: JB ACC.3,XP33
MOV A,#18H
LPP: ADD A,R0
SMP XP3
LEDP: MOV 50H,#7EH
MOV A,#10H
MOV R0,#79H
1EDS: MOV @R0,A
INC R0
CJNE R0,#7EH,1EDS
INC A
MOV @R0,A
MOV A,#20H
MOV 48H,A
MOV 49H,A
RET
END
一、使用正确的杀毒方法11、在安全模式或纯DOS模式下清除病毒1
2、不要使用网页在线杀毒2
二、带毒文件存在于特定的目录或文件中的清除方法2
1、带毒文件在\Temporary Internet Files目录下2
2、带毒文件在\_Restore目录下,*.cpy文件中2
3、带毒文件在.rar、.zip、.cab等压缩文件中2
4、病毒在引导区或者SUHDLOG.DAT或SUHDLOG.BAK文件中2
6、带毒文件在一些邮件文件中,如dbx、eml、box等3
7、文件中有病毒的残留代码3
8、文件错误3
9、加密的文件或目录3
10、共享目录3
11、光盘等一些存储介质4
一、使用正确的杀毒方法
1、在安全模式或纯DOS模式下清除病毒
当计算机感染病毒的时候,很多人都会图方便,在正常模式下清除病
毒,但这种方法往往是不能干净清除病毒的。
这里说的正常模式准确的说法应该是实模式(Real Mode),这里通俗
点说了。其包括正常模式的Windows和正常模式的Windows下的"MS-DOS方式"
或"命令提示符"。
在正常模式下,由于带毒的文件正在运行,是无法对这些文件直接进
行操作的。从现今的反病毒技术和病毒来看,绝大部分病毒都不可能在正
常模式下简单的就可以彻底清除了的。很多一些朋友误以为只要装上反病
毒软件,软件可以彻底清除计算机上的病毒,当病毒无法彻底清除的时候
就认为软件不好,这是很错误的!
建议在查杀病毒的时候,要在安全模式(Safe Mode)或者纯DOS下进
行清除。特别的,对于现在大多数流行的病毒,如蠕虫病毒、木马程序和
网页代码病毒等,都可以在安全模式下清除,不必要像以前那样必须要用
软盘启动杀毒;但对于一些引导区病毒和感染可执行文件的病毒才需要在
纯DOS下杀毒(建议用干净软盘启动杀毒)。而且,当计算机原来就感染了
病毒,那就更需要在安装反病毒软件后(升级到最新的病毒库),在安全
模式(Safe Mode)或者纯DOS下清除一遍病毒了!
关于如果进入安全模式请参见以下网址:
http://gz3.duba.net/secure_channel/defence_skill/2002/12/30/15443.htm
2、不要使用网页在线杀毒
我想这也是很多朋友使用的杀毒方法,其实这种方法也是和上述的一
样,同样无法彻底清除病毒,同时,由于利用了IE的特殊功能,会带来更
多的安全隐患,而且一般反病毒厂商也不会提供全面的病毒库文件,所以
这种方法充其量只能查出计算机上是否感染流行的病毒,而不能实际的进
行清除病毒。而且,换个角度来看,如果这样就能干净清除病毒的话,那
么厂商就没必要销售反病毒软件了。^o^
二、带毒文件存在于特定的目录或文件中的清除方法
这里所说的是由于某些目录和文件的特殊性,无法直接清除(包括安
全模式下杀毒等一些方式杀毒),而需要某些特殊手段清除的带毒文件。
以下所说的目录均包含其下面的子目录。
1、带毒文件在\Temporary Internet Files目录下
由于这个目录下的文件,Windows会对此有一定的保护作用(未经进一
步确认)。
所以对这个目录下的带毒文件即使在安全模式下也不能进行清除,对
于这种情况,请先关闭其他一些程序软件,然后打开IE,选择IE工具栏中
的"工具"\"Internet选项",选择"删除文件"删除即可,如果有提示"删除
所有脱机内容",也请选上一并删除。
2、带毒文件在\_Restore目录下,*.cpy文件中
这是系统还原存放还原文件的目录,只有在装了Windows Me/XP操作系
统上才会有这个目录,由于系统对这个目录有保护作用。
对于这种情况需要先取消"系统还原"功能,然后将带毒文件删除,甚
至将整个目录删除也是可以的。
3、带毒文件在.rar、.zip、.cab等压缩文件中
现今能支持直接查杀压缩文件中带毒文件的反病毒软件还很少,即使
有也只能支持常用的一些压缩格式;所以,对于绝大多数的反病毒软件来
说,最多只能检查出压缩文件中的带毒文件,而不能直接清除。而且有些
加密了的压缩文件就更不可能直接清除了。
要清除压缩文件中的病毒,建议解压缩后清除,或者借助压缩工具软
件的外挂杀毒程序的功能,对带毒的压缩文件进行杀毒。
4、病毒在引导区或者SUHDLOG.DAT或SUHDLOG.BAK文件中
这种病毒一般是引导区病毒,报告的病毒名称一般带有boot、wyx等字
样。如果病毒只是存在于移动存储设备(如软盘、闪存盘、移动硬盘)上,
就可以借助本地硬盘上的反病毒软件直接进行查杀;如果这种病毒是在硬
盘上,则需要用干净的可引导盘启动进行查杀。
对于这类病毒建议用干净软盘启动进行查杀,不过在查杀之前一定要
备份原来的引导区,特别是原来装有别的操作系统的情况,如日文Windows、
Linux等。
如果没有干净的可引导盘,则可使用下面的方法进行应急杀毒:
(1) 在别的计算机上做一张干净的可引导盘,此引导盘可以在Windows
95/98/ME系统上通过"添加/删除程序"进行制作,但要注意的是,制作软
盘的操作系统须和自己所使用的操作系统相同;
(2) 用这张软盘引导启动带毒的计算机,然后运行以下命令:
A:\>fdisk/mbr
A:\>sys a: c:
如果带毒的文件是在SUHDLOG.DAT或SUHDLOG.BAK文件中,那么直接删
除即可。这是系统在安装的时候对硬盘引导区做的一个备份文件,一般作
用不大,病毒在其中已经不起作用了。
5、带毒文件的后缀名是.vir、.kav、.kbk等
这些文件一般是一些防毒软件对原来带毒的文件做的备份文件,一般
情况下,如果确认这些文件已经无用了,那就将这些文件删除即可。
6、带毒文件在一些邮件文件中,如dbx、eml、box等
有些防毒软件可以直接检查这些邮件文件中的文件是否带毒,但往往
不能对这些带毒的文件直接的进行操作,对于一些邮箱中的带毒的信件,
可以根据防毒软件提供的信息找到那带毒的信件,删除信件中的附件或者
删除该信件;如果是eml、nws一些信件文件带毒,可以用相关的邮件软件
打开,确认该信件及其附件,然后删除相关内容。一般有大量的eml、nws
的带毒文件的话,都是病毒自动生成的文件,建议都直接删除。
7、文件中有病毒的残留代码
这种情况比较多见的就是带有CIH、Funlove、宏病毒(包括Word、
Excel、Powerpoint和Wordpro等文档中的宏病毒)和个别网页病毒的残留
代码,通常防毒软件对这些带有病毒残留代码的文件报告的病毒名称后缀
通常是int、app等结尾,而且并不常见,如W32/FunLove.app、W32.Funl-
ove.int。一般情况下,这些残留的代码不会影响正常程序的运行,也不会
传染,如果需要彻底清除的话,要根据各个病毒的实际情况进行清除。
8、文件错误
这种情况出现的并不多,通常是某些防毒软件将原来带毒的文件并没
有很干净地清除病毒,也没有很好的修复文件,造成文件无法正常使用,
同时造成别的防毒软件的误报。这些文件可以直接删除。
9、加密的文件或目录
对于一些加密了的文件或目录,请在解密后再进行病毒查杀。
10、共享目录
这里包括两种情况:本地共享目录和网络中远程共享目录(其中也包
括映射盘)。
遇到本地共享的目录中的带毒文件不能清除的情况,通常是局域网中
别的用户在读写这些文件,杀毒的时候表现为无法直接清除这些带毒文件
中的病毒,如果是有病毒在对这些目录在写病毒操作,表现为对共享目录
进行清除病毒操作后,还是不断有文件被感染或者不断生成病毒文件。以
上这两种情况,都建议取消共享,然后针对共享目录进行彻底查杀,恢复
共享的时候,注意不要开放太高的权限,并对共享目录加设密码。
对远程的共享目录(包括映射盘)查杀病毒的时候,首先要保证本地
计算机的操作系统是干净的,同时对共享目录也有最高的读写权限。如果
是远程计算机感染病毒的话,建议还是直接在远程计算机进行查杀病毒。
特别的,如果在清除别的病毒的时侯都建议取消所有的本地共享,再
进行杀毒操作。在平时的使用中,也应注意共享目录的安全性,加设密码,
同时,非必要的情况下,不要直接读取远程共享目录中的文件,建议拷贝
到本地检查过病毒后再进行操作。
11、光盘等一些存储介质
对于光盘上带有的病毒,不要试图直接清除,这是神仙也做不到的事
情。同时,对另外一些存储设备查杀病毒的,也需要注意其是否处于写保
护或者密码保护状态。
也可以后利用正版操作系统来对硬盘全部格式化没辙样也可以全部清楚病毒。
\ Test5.SRC产生的:test5.c的编译器调用:
E:\ Program Files文件\ KEIL \ C51 \ BIN \ C51.EXE test5.c浏览DEBUG OBJECTEXTEND SRC(\ TEST5 。SRC)
NOMOD51
名称TEST5
P0数据080H
P1数据090H
P2数据0A0H />P3 DATA 0B0H
T0位0B0H.4 AC位0D0H.6
T1位0B0H.5
T2位090H.0
EA位0A8H 0.7
IE DATA 0A8H
EXF2位0C8H.6 RD位0B0H.7
ES位0A8H.4
IP DATA 0B8H
RI位098H 0.0
INT0位0B0H.2 CY位0D0H.7
TI位098H.1
INT1位0B0H.3
RCAP2H数据0CBH
PS位0B8H 0.4
SP DATA 081H
T2EX位090H.1
OV位0D0H.2
RCAP2L数据0CAH
C_T2位0C8H.1
WR位0B0H 0.6
RCLK位0C8H.5
TCLK位0C8H.4
SBUF的数据099H
PCON数据087H
SCON DATA 098H
TMOD数据089H />和TCON数据088H
IE0位088H.1
IE1位088H.3
B数据0F0H
CP_RL2位0C8H.0的
ACC数据0E0H
ET0位0A8H.1
ET1位0A8H.3
TF0位088H.5
ET2位0A8H.5
TF1位088H.7
TF2位0C8H 0.7
RB8位098H.2
TH0 DATA 08CH
EX0位0A8H.0
IT0位088H.0
TH1 DATA 08DH
TB8位098H 0.3
EX1位0A8H.2
IT1位088H.2
TH2数据0CDH
P位0D0H.0
SM0位098H.7
TL0 DATA 08AH
SM1位098H.6
TL1数据08BH
SM2位098H.5
TL2数据0CCH
P21位0A0H.1
PT0位0B8H 0.1
P23位0A0H.3
PT1位0B8H.3
RS0位0D0H.3
PT2位0B8H.5
TR0位088H.4
RS1 BIT 0D0H.4
P25位0A0H.5
TR1位088H.6
TR2位0C8H.2
PX0位0B8H.0
1804546位0B8H。 2
DPH DATA 083H
DPL DATA 082H
EXEN2位0C8H.3 REN位098H.4
T2CON数据0C8H
RXD位0B0H.0的 BR />TXD位0B0H.1
F0位0D0H.5
PSW DATA 0D0H
? PR?定时器? TEST5段码
? PR?定时器? TEST5段码
? PR? _delay? TEST5段码
? PR? _pwm1? TEST5段码
? PR? _pwm0? TEST5段码
? PR? foot0? TEST5段码
? PR? foot1? TEST5段码
? PR? foot2? TEST5段码
? PR? foot3? TEST5段码
? PR?主吗? TEST5段码
? CO? TEST5段码
? DT?
EXTRN CODE(C_STARTUP)TEST5部门数据
rud1
于
公众?
所述
?
M BR />公共升
公共教育的K
公众?
PUBLIC我
e
c吗?
公共B?
了?
公众rud3
rud2
日期1
date0
主要
foot3
foot2
foot1 />公共foot0
_pwm0
_pwm1
_delay
TIMER1
定时器
RSEG? DT? TEST5
rud3 rud2:DS:DS 2
一个:DS 2
B:DS 2
C?:DS 2
D:DS 2
我:DS 2
J:DS 2
K:DS 2
L:DS 2
M:DS 2
N:DS 2 BR />X:DS 2
Y:DS 2
Z:DS 2
rud1:DS 2
RSEG? CO? TEST5
date0:
DW 004B0H
DW 004C9H
DW 004E2H
DW 004FBH
DW 00514H
DW 0052DH
DW 00546H BR />DW 0055FH
DW 00578H
DW 00591H
DW 005AAH
DW 005C3H
DW 005DCH
DW 005F5H
DW 0060EH DW 00627H
DW 00640H
DW 00659H
DW 00672H
DW 0068BH
DW 006A4H
DW 006BDH
DW 006D6H
DW 006EFH
DW 00708H
日期1:
DW 003E8H
DW 00401H
DW 0041AH
DW 00433H
DW 0044CH
>DW 00465H
DW 0047EH
DW 00497H
DW 004B0H
DW 004C9H
DW 004E2H
DW 004FBH
DW 00514H
DW 0052DH
DW 00546H
DW 0055FH
DW 00578H
DW 00591H
DW 005AAH
DW 005C3H
DW 005DCH
DW 005F5H BR />DW 0060EH
DW 00627H
DW 00640H
DW 00659H
DW 00672H
DW 0068BH
DW 006A4H
DW 006BDH DW 006D6H
DW 006EFH
DW 00708H
DW 00721??H
DW 0073AH
DW 00753H
DW 0076CH
DW 00785H
DW 0079EH
DW 007B7H
DW 007D0H
#
#定义UCHAR无符号的字符
#定义uint无符号整数 BR />UINT A,B,C,D,I,J,K,X,Y,Z,L,M,N,rud1,rud2,rud3
SBIT P21 = P2 ^ 1BR />SBIT P23 = P2 ^ 3 / /
SBIT P25 = P2 ^ 5/ /
诠释代码date0 [] = {1200,1225,1250,1275,1300, BR />1325,1350,1375,1400,
1425,1450,1475,1500,
1525,1550,1575,1600,
1625,1650,1675,1700
1725,1750,1775,1800} / / P25 25
诠释代码日期1 [] = {1000,1025,1050,1075,1100,
1125,1150,1175,1200,
1225,1250,1275,1300,
1325,1350,1375,1400,
1425,1450,1475,1500,
>1525,1550,1575,1600,
1625,1650,1675,1700,
1725,1750,1775,1800,
1825,1850,1875,1900, BR />1925,1950,1975,2000} / / P21和P23的41
CSEG AT 0000BH
LJMP在timer0
无效定时器0(无效)中断1
RSEG? PR?定时器? TEST5
使用
定时器:
PUSH ACC
PUSH PSW
源代码行第26
{
P25?P25
源代码行第28
CPL P25
C = 20000-C
源代码行#
CLR C
MOV A,#020H
SUBB A,C? +01?的
MOV C? +01 H,A
MOV A,#04EH
SUBB A,C?的
MOV C?,A
TH0 = - (c/256)TL0 = - (C 256)
SOURCE LINE#30
CPL A
>INC一个
MOV TH0,一个
MOV A,C的吗? +01?
CPL一个
INC A
#31 MOV TL0,A
}
源的LINE
POP PSW
POP ACC
RETI
END的Timer0
CSEG AT 0001BH LJMP TIMER1
定时器无效(无效)中断3
RSEG? PR?定时器? TEST5
使用0
TIMER1:
PUSH ACC
PUSH PSW
源代码行第32
{
P21?P21
源代码行第35
CPL P21
P23?P23
源代码行第36
CPL P23
D = 20000-D
源代码行第37
CLR C
MOV A,#020H
SUBB A,D +01?
MOVe+01? ,一个
MOV A,#04EH
SUBB A,D
MOV D,一个
TH1 = - (d/256)TL1 = - (D 256)
源代码行第38
CPL一个
INC A
MOV TH1,一个
MOV A,D +01?
CPL一个
INC A的
MOV TL1,一个
}
源代码行第40
POP PSW
POP ACC
RETI
>END OF TIMER1
无效延迟(t)
RSEG? PR? _delay? TEST5
L? 0033:
0
MOV R7,#030H
MOV R6,#075H
LCALL _delay
LCALL _delay
LCALL _delay
LCALL _delay
_delay:
源代码行的#42
----变量“T? 240“分配给注册R6/R7”----
{(L = L <= T,L + +)}
源代码行第43
,#00H MOV升
MOV L#01H +01 H,
? C0003:
SETB?
MOV A,L +01?
SUBB A,R7
MOV A,L
SUBB A,R6
JNC? C0006
INC L +01?
MOV A,L +01?
JNZ? C0003
有INC升
? C0028:
SJMP? C0003
? C0006:
RET
END OF _delay
无效PWM1(Y)
RSEG? PR? _pwm1? TEST5
L? 0035:
使用0
MOV A,J +01?
ADD A,ACC
MOV R7,一个
MOV A,J
RLC A BR />MOV R6,A
MOV A,#LOW(date1)的
ADD A,R7
MOV DPL,A
MOV A,#HIGH(date1)的<BR / ADDC A,R6
MOV DPH,一个
CLR A
MOVC A,@ A + DPTR
MOV R6,A
MOV A,#01H
>MOVC A,@ A + DPTR
MOV R7,A
_pwm1:
源代码行第45
----变量“Y? 341“分配给注册R6/R7”----
{
源代码行第46
B = Y
源代码行#47 / >MOV B,R6
MOV B +01 H,R7
D = B
源代码行第48
MOVe,B
MOVe+01 H,B +01?
P21 = 1
SOURCE LINE#49
SETB P21
P23 = 1
SOURCE LINE#50 />SETB P23
TH1 = - (b/256)TL1 = - (B%256)
源代码行#51
MOV A,B
CPL一个
INC A
MOV TH1,一个
MOV A,B +01?
CPL一个
INC A
MOV TL1,A
TR1 = 1 / /启动定时器
源代码行第52
SETB TR1
}
源代码行#53
RET
完_pwm1
无效PWM0(X)
RSEG? PR? _pwm0? TEST5
L? 0034:
使用0
MOV A,我01?
A,ACC
MOV R7,一个
MOV A,我
RLC A BR />,A
MOV A,R6 MOV#LOW(date0),
ADD A,R7
MOV DPL,A
MOV A,#HIGH(date0)</ ADDC A,R6
MOV DPH,一个
CLR A
MOVC A,@ A + DPTR
MOV R6,A
MOV A,#01H
>MOVC A,@ A + DPTR
MOV R7,A
_pwm0:
源代码行第54
----变量'x? 442'分配给注册R6/R7“----
{
55#的源代码行
= X
源代码行#56 / >MOV A,R6
MOV一个? +01 H,R7
C = A
源代码行#57
MOV C,?
MOV C? +01 H,A? +01?
P25 = 1
源代码行第58
SETB P25
TH0 = - (a/256)TL0 = - (256%)
MOV A,#59一个源代码行?
CPL一个
INC A
MOV TH0,A
MOV A,A? +01?
CPL一个
INC A
MOV TL0,一个
TR0 = 1 / /启动定时器
源代码行#60 SETB TR0
}
源代码行的#61
RET
_pwm0
无效foot0()
RSEG? PR? foot0? TEST5
foot0:
使用0
源代码行第62
{
源代码行#63
(i = 024,我+ +)
源代码行第64
CLR A
一个
我+01 H,A MOV MOV我,
? C0009:
{
源代码行#65
PWM0(date0 [我])
源代码行第66
LCALL大号吗? 0034
延迟(888)
源线#67
MOV R7,#078H
MOV R6,#03H
LCALL _delay
}
源代码行#68
INC我01?
MOV A,+01?
JNZ? C0029
INC我
? C0029:
CLR C
SUBB A,#018H
MOV A,我
SUBB A,#00H
JC? C0009
}
源的LINE#69
? C0012:
RET
foot0
无效foot1()
RSEG结束? PR? foot1? TEST5
foot1:
使用
源代码行#70
{
源代码行第71
中for(j = 0J <14+ +)
源代码行第72
CLR A
MOV J,A
?+01 H,A MOV
? C0013:
{PWM1(日期1 [J])
源代码行#73
LCALL?? 0035
延迟(1332)
SOURCE LINE#74
MOV R7,#034H
MOV R6,#05H
LCALL _delay
}
源代码行第75
INC?+01?的
MOV A,J +01?
JNZ? C0030
INC?
? C0030:
CLR C
SUBB A,#0EH
MOV A,J
SUBB A,#00H
JC? C0013
}
源的LINE#76
? C0016:
RET
foot1
无效foot2()
RSEG结束? PR? foot2? TEST5
foot2:
使用0
源代码行第77
{
源代码行#78
(I = 24>1,I - )
源代码行第79
MOV我01?,#00H MOV我,#018H
? C0017:
{
源代码行#80
PWM0(date0 [我])
源代码行第81
LCALL大号吗? 0034
延迟(888)
源代码行#82
MOV R7,#078H
MOV R6,#03H
LCALL _delay
}
源代码行#83
MOV A,+01?
DEC我01?
JNZ? C0031
十二月我
? C0031:
SETB?
MOV A,+01?
SUBB A,#01H
MOV A,我
SUBB A,#00H
JNC ? C0017
}
源代码行#84
? C0020:
RET
foot2
无效foot3()
RSEG结束? PR? foot3? TEST5
foot3:
源代码行#85
{
源代码行#86
中for(j = 14?>1,J - )
源代码行#87
MOV J,#00H
MOV?+01?,#0EH
? C0021:
{
源代码行#88
PWM1(日期1 [J])
源代码行第89
LCALL?? 0035
延迟(1332)
源代码行#90
MOV R7,#034H
MOV R6,#05H
LCALL _delay
}
源代码行第91
MOV A,J +01?的
DEC?+01?
JNZ? C0032
DEC?
? C0032:
SETB?
MOV A,J +01?
SUBB A,#01H
MOV A,J
SUBB A,#00H
JNC ? C0021
}
源的LINE#92
? C0024:
RET
foot3
无效的主要(无效)
RSEG结束? PR?主吗? TEST5
主要有:
使用
源代码行#93
{
源代码行第94
P21 = 0P23 = 0P25 = 0
源代码行第95
CLR P21
CLR P23
CLR P25
TMOD =为0x11EA = 1ET0 = 1ET1 = 1
源代码行#96
MOV TMOD,#011H
SETB EA
SETB ET0
SETB ET1
延迟(30000)延迟( 30000)的延迟(30000),延迟(30000),延迟(30000)
源代码行#97
LCALL大号吗? 0033
PWM0(1200)
源代码行#98
MOV R7,#0B0H
MOV R6,#04H
LCALL _pwm0
PWM1 (1000)
源代码行第99
MOV R7,#0E8H
DEC R6
LCALL _pwm1
的延迟(30000)的延迟(30000)延迟(30000),的延迟(30000),的延迟(30000)
源代码行#100
LCALL大号吗? 0033
? C 0025规范:
(1)
源代码行#101
{
源代码行#102
P21 = 0P23 = 0P25 = 0
源代码行#103
CLR P21
CLR P23
CLR P25
foot0()/ /的延迟(30000)
源代码行#104
LCALL foot0
foot1()/ /的延迟(30000)
源代码行#105
LCALL foot1
foot2()/ /延时(30000)
源代码行#106
LCALL foot2
foot3()/ /的延迟(30000)
源代码行#107
>LCALL foot3
}
源代码行的#108
SJMP? C 0025规范
END主要
END
----------------------- ---------------------------------
我用keil uVision2的开启。
你的C语言编译器正常,但打开后,编译成汇编。错误信息如下:
test5.src(138):错误A8:试图定义一个已定义的标签
我不知道在哪里的错误。
希望可以帮到你。