




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
采用AT89C2051制作的智能时钟一、智能电子钟的功能
1、全日历计时。
2、12/24小时转换。
3、8路定时输出(可关/开控制)
4、误差:15S+1uS
5、大、小月,润年,周,自动追踪
二、调校
上电后,电子钟显示“1:00”。
1、8路定时时间查询
按下K1键依此显示8路定时时间。星期位显示:“H”表示:打开当前定时输出;“L”表示:关闭当前定时输出。此时按K2键可进行“H”、“L”的切换。所有输出,均由蜂鸣器输出!
2、显示状态的控制
按下K2键可进入以下工作状态:
1)12小时/日月交替显示。
2)12小时固定显示。
3)24小时/日月交替显示。
4)24小时固定显示。
3、校时
按下K2键3S后,进入校时菜单。按下K1键依次进入校时状态:分、时、天、月、年、微调系数。此时按K2键,完成+1。当显示“d”时,表示要调整微调系数(0-99),其值越小,时钟走时越慢。当使用的6MHz的晶振偏差大时,应仔细调整微调系数!当显示“out”时,按K2键,即可退出!退出后,按任意键即可启动时钟。
4、设置定时时间
按下K1键3S后,进入设置菜单。按下K1键依次进入8路定时调整状态:时、分。此时按K2键,完成+1。当显示“out”时,按K2键,即可退出!
三、原理图和PCB图
下一页AT89C2051的智能时钟单片机源程序以下为AT89C2051的智能时钟的内部程序;2001.5.24
;***************
;all_clk1_program2000-10-12
;***************
fl_250msbit00h
fl_500msbitfl_250ms+1
set_clk_fbitfl_500ms+1
set_al4_fbitset_clk_f+1
am_fbitset_al4_f+1
fl_3sbitam_f+1
al1_fbitfl_3s+1
al2_fbitfl_3s+2
al3_fbitfl_3s+3
al4_fbitfl_3s+4
set_overbital4_f+1
ha_fbitset_over+1
ha_overbitha_f+1
fl_ms_fbitha_over+1
fl_s_fbitfl_ms_f+1
key_overbitfl_s_f+1
;**************************************************
key_dataequ08h
timersequkey_data+1
t_30msequtimers+1
t_20msequt_30ms+1
t_1sequt_20ms+1
k1_dataequt_1s+1
k2_dataequk1_data+1
stat_workequk2_data+1
stat_ledequstat_work+1
t_1msequstat_led+1
t_20mequt_1ms+1
beepequt_20m
al1equbeep+1
al2equbeep+2
al3equbeep+3
al4equbeep+4
al5equbeep+5
al6equbeep+6
al7equbeep+7
al8equbeep+8
ret_timerequal8+1
;**************************************************
secequ23h
minequsec+1h
hourequmin+1h
dayequhour+1h
monequday+1h
yearequmon+1h
w_adjequyear+1h
weekequw_adj+1h
;***************************************
al1_hequweek+1h
al1_mequal1_h+1h
al2_hequal1_m+1h
al2_mequal2_h+1h
al3_hequal2_m+1h
al3_mequal3_h+1h
al4_hequal3_m+1h
al4_mequal4_h+1h
al5_hequal4_m+1h
al5_mequal5_h+1h
al6_hequal5_m+1h
al6_mequal6_h+1h
al7_hequal6_m+1h
al7_mequal7_h+1h
al8_hequal7_m+1h
al8_mequal8_h+1h
beep_tequal8_m+1
fristequbeep_t+1
;**************************************
led1equfrist+1
led2equled1+1
led3equled2+1
led4equled3+1
led5equled4+1
sp_dataequled5+1
;**************************************
led_1bitp3.5
led_2bitp3.4
led_3bitp3.3
led_4bitp3.2
led_5bitp3.1beep_fBITP3.7
key_fbitp3.0;********************************************************
t_h_100msequ05dh;100msfor6MHz
t_l_100msequ07fh;c6for100ms
timer_noequ8d;3c90+30d=3cb0h
w_adj_datequ50d
key_daequ00000110b;*********************************************************
blk_ledequ20d
dot_ledequ21d
f_ledequ22d
n_ledequ23d
u_ledequ24d
t_ledequ25d
b_ledequ26d
d_ledequ27d
oRG0000H;;
sJMPstart
ORG0003H;;
reti;
ORG000BH;
;ajmpt0
reti;
ORG0013H
reti;
ORG001BH;
aJMPT1;
ORG0023H;
RETI;AJMPRS_485;;**************************************
start:
callclr_ram
MOVSP,#sp_data;
callint_t0
calltimer_int
calltimer_20ms
STAR_BI:
callclock
callweek_auto
callal_out
CALLKEY_bord
callkey_del
callset_clk_al
callkey_jmp
callreback
callled_jmp
sjmpstar_bi
;*******************************************
reback:
mova,stat_work
jzreback_end
jbal1_f,ka1
movret_timer,sec
setbal1_f
sjmpreback_end
ka1:
mova,ret_timer
adda,#05d
movb,#60d
divab
mova,sec
cjnea,b,reback_end
clral1_f
movstat_work,#00d
reback_end:
ret
key_jmp:
mova,key_data
jzkey_jmp_end
movret_timer,sec
cjnea,#01d,kk1
mova,stat_work
inca;k1_key
cjnea,#9d,kka1
mova,#00d
kka1:
movstat_work,a
sjmpkey_jmp_end
kk1:
mova,stat_work;k2_key
jnzkk2
mova,stat_led
inca
cjnea,#05d,kka2
mova,#00d
kka2:
movstat_led,a
sjmpkey_jmp_end
kk2:
acallall1
cpla
mov@r0,a
key_jmp_end:
retall1:
movr0,#al1
mova,stat_work
deca
adda,r0
movr0,a
mova,@r0
retled_jmp:
;**********************************
;movstat_work,#01d
;movstat_tw,#01dmova,stat_work
jnzled_al1
mova,stat_led
acallled_t_d
movled1,week
sjmpled_jmp_end
led_al1:
acallall1
movled1,#f_led
jnzle_t2
movled1,#n_led
le_t2:
jbfl_250ms,le_t4
movled1,#blk_led
le_t4:
acallal_led
led_jmp_end:
acallled
ret
;*************************************time_24:
mova,hour
acallbcd_8
movled2,a
jnztim4
movled2,#blk_led
tim4:
movled3,b
jbfl_500ms,tim1
mova,b
adda,#10d
movled3,a
tim1:
acallled_min
time_12_end:
ret
;***********************************
led_min:
mova,min
acallbcd_8
jbfl_500ms,tim2
adda,#10d
tim2:
movled4,a
movled5,b
ret
;*************************************
date_led:
mova,mon
acallbcd_8
movled2,a
jnzda1
movled2,#blk_led
da1:
mova,b
adda,#10d
movled3,a
mova,day
acallbcd_8
movled4,a
jnzda2
movled4,#blk_led
da2:
movled5,b
date_led_end:
ret;*************
;D_8=>BCD
;*************
BCD_8:
MOVB,#10D
DIVAB
RET
;****************************************
LED:
movp1,#0
movdptr,#led_asc
;***************************led1
mova,led1
movca,@a+dptr
movp1,a
clrled_1
acalltimer_1ms
acalltimer_1ms
;acalltimer_1ms
;acalltimer_1ms
;acalltimer_1mssetbled_1
;*************************led2
led_led2:
mova,led2
movca,@a+dptr
movp1,a
clrled_2
acalltimer_1ms
setbled_2
;*************************led3
led_led3:
mova,led3
movca,@a+dptr
movp1,a
clrled_3
acalltimer_1ms
setbled_3
;*************************led4
led_led4:
mova,led4
movca,@a+dptr
movp1,a
clrled_4
acalltimer_1ms
setbled_4
;*************************led5
led_led5:
mova,led5
movca,@a+dptr
movp1,a
clrled_5
acalltimer_1ms
setbled_5
;*************************
led_end:
movp1,#0
ret
;************************************
;bafhcdeg
led_asc:
db11101110B;0
db10001000B;1
db11000111B;2
db11001101B;3
db10101001B;4
db01101101B;5
db01101111B;6
db11001000B;7
db11101111B;8
db11101101B;9
db11111110B;0.=>10d
db10011000B;1.
db11010111B;2.
db11011101B;3.
db10111001B;4.
db01111101B;5.
db01111111B;6.
db11011000B;7.
db11111111B;8.
db11111101B;9.
DB00000000B;BLACK=>20d
DB00010000B;dot=>21d
DB00100110b;l=>22d
dB10101011B;h=>23d
DB10101110B;u=>24d
DB00100111B;t=>25d
dB00101111B;b=>26d
dB10001111B;d=>27d;bafhcdeg;**********************************
;delay
;********************************
timer_1ms:
movt_1ms,#030h
r2_1:
djnzt_1ms,r2_1
ret
timer_20ms:
movt_20m,#050d
r2_2:
callclock
callled
djnzt_20m,r2_2
callweek_auto
callal_out
ret
;#############################################
;ifmon<=2andyear=4Z(0,1,2,3...)
;gs1=>week=mod([5/4]*year+mon_asc(mon)+day-1)/7
;else
;gs2=>week=mod([5/4]*year+mon_asc(mon)+day)/7
week_auto:mova,YEAR
movb,#05
mulab
movr4,b
movr5,a
movr7,#04
callmul_2MOVDPTR,#MON_ASC
MOVA,MON
deca
MOVCA,@A+DPTR
ADDA,r3
;*********************
MOVB,DAY
ADDA,B
movr3,a;r3=gs2
;*******jbmon<=2******
MOVA,MON
CJNEA,#02D,WEEK_1
SJMPWEEK_2
WEEK_1:
JCWEEK_2
week_3:
mova,r3
movb,#07
divab
mova,b
sjmpweek_4
WEEK_2:
;*****jbyear=4N******
mova,year
movb,#04
divab
mova,b
jnzweek_3
mova,r3
deca
movb,#07
divab
mova,b
week_4:
MOVWEEK,a
jnzweek_end
movweek,#07h
week_end:
RET
MON_ASC:
DB6d,2d,2d,5d,0d,3d,5d,1d,4d,6d,2d,4d;2002.5.5
;r4r5/r7=r3
mul_2:
D457:CLRC
MOVA,R4
SUBBA,R7
JCDV50
SETBOV
RET
DV50:MOVR6,#8;;求平均值(R4R5/R7-→R3)
DV51:MOVA,R5
RLCA
MOVR5,A
MOVA,R4
RLCA
MOVR4,A
MOVF0,C
CLRC
SUBBA,R7
ANLC,/F0
JCDV52
MOVR4,A
DV52:CPLC
MOVA,R3
RLCA
MOVR3,A
DJNZR6,DV51
MOVA,R4;;四舍五入
ADDA,#0;R4
JCDV53
SUBBA,R7
JCDV54
DV53:INCR3
DV54:CLROV
RET
;*************************************************************
clr_ram:
MOVR7,#78h;
MOVR0,#0bH;
CLRA;
CR:INCR0;
MOV@R0,A;
djnzr7,cr;CLRRAM
ret
;**************INT_CTRL
int_t0:
setbet1
MOVTMOD,#00010001b;
movw_adj,#w_adj_dat
setbea
jmpadj_w
;**********************************************
al_led:
movr0,#al1_h
mova,stat_work
deca
rla
adda,r0
movr0,a
mova,@r0
acallbcd_8
movled2,a
jnzal_1
movled2,#blk_led
al_1:
mova,b
adda,#10d
movled3,a
incr0
mova,@r0
acallbcd_8
adda,#10d
movled4,a
movled5,b
al_led_end:
ret;********************************
set_clk_al:
jnbset_clk_f,see1
callset_clock
clrset_clk_f
sjmpsee2
see1:
jnbset_al4_f,see2
callset_al4
clrset_al4_f
see2:
ret
;*********************************
procled_t_d
led_t_d:
movdptr,#led_ord_3
movb,#02h
mulab
jmp@a+dptrled_ord_3:ajmpled_k0_2
ajmpled_k1_2
ajmpled_k2_2
ajmpled_k3_2
ajmpled_k4_2led_k0_2:;timer_12anddatetoled
acalltime_12
jnbfl_3s,lk1
acalldate_led
lk1:
ajmpled_jmp_5_end
led_k1_2:;timer_12toled
acalltime_12
ajmpled_jmp_5_end
led_k2_2:;timer_24anddatetoled
acalltime_24
jnbfl_3s,lk2
acalldate_led
lk2:
ajmpled_jmp_5_end
led_k3_2:;timer_24toled
acalltime_24
ajmpled_jmp_5_endled_k4_2:;sectoled
movled1,#blk_led
movled2,#blk_led
movled3,#dot_led
mova,sec
acallbcd_8
adda,#10d
movled4,a
movled5,b
led_jmp_5_end:
ret
end;****************************************
procset_al4
set_al4:
movk1_data,#01d
movk2_data,#01d
clrset_over
acallled_al
acallkey_bord
callsf_key
movkey_data,#0
movfrist,#0
set_al41:callclock
callweek_auto
acallled_al
acallkey_bord
callkey_del
acallkey_al
jnbset_over,set_al41
clra
movk1_data,a
movk2_data,a
movkey_data,a
movfrist,a
ret
end
;**************************************
prockey_al
key_al:
mova,key_data
jzkey_al_end
cjnea,#01d,k2_alinck1_data;(1-9)
mova,k1_data
cjnea,#19d,key_al_end
movk1_data,#01d
sjmpkey_al_end
k2_al:
mova,k1_data
cjnea,#018d,ke2
setbset_over
sjmpkey_al_end
ke2:
movr0,#al1_h
deca
adda,r0
movr0,a
inc@r0
acalljj_bit
movb,#24d
jnzke3
movb,#60d
ke3:
mova,@r0
divab
mova,b
mov@r0,a
key_al_end:
ret
end
jj_bit:
mova,k1_data
movb,#02d
divab
mova,b;(a=1,0)
ret
;*********************************
led_out1:
movled2,#00h
movled3,#u_led
movled4,#t_led
movled5,#blk_led
movled1,#blk_led
ret
;********************************
led_al:
mova,k1_data
cjnea,#017d,lo1
acallbeep_timer
sjmpled_al_end
lo1:
cjnea,#18d,ld1
acallled_out1
sjmpled_al_end
ld1:
inca
movb,#02d
divab
;**********
movled1,a
;**********
deca
rla
movr0,#al1_h
adda,r0
movr0,a
mova,@r0
acallbcd_8
movled2,a
jnzld2
movled2,#blk_led
ld2:
mova,b
adda,#10d
movled3,a
;************************************
incr0
mova,@r0
acallbcd_8
adda,#10d
movled4,a
movled5,b;***************************flashbit
jbfl_250ms,led_al_end
acalljj_bit
jnzled_al_e
movled4,#blk_led
movled5,#blk_led
sjmpled_al_end
led_al_e:
movled2,#blk_led
movled3,#blk_led
led_al_end:
acallled
ret
;***************************************
procset_clock
set_clock:
movk1_data,#01d
movk2_data,#01d
clrset_over
callled_cl
callkey_bord
callsf_key
movkey_data,#0
movfrist,#0
set_al41:
callclock
acallweek_auto
callal_out
acallled_cl
acallkey_bord
callkey_del
acallkey_cl
jnbset_over,set_al41
;acallkey_bord
clra
movk1_data,a
movk2_data,a
movkey_data,a
movfrist,a
ret
end
;**************************************
prockey_cl
key_cl:
mova,key_data
jzkey_al_end
cjnea,#01d,k2_alinck1_data;(1-8)
mova,k1_data
cjnea,#9d,key_al_end
movk1_data,#01d
sjmpkey_al_end
k2_al:
mova,k1_data
cjnea,#08d,ke2
setbset_over
sjmpkey_al_end
ke2:
deca
movdptr,#asc_h
movca,@a+dptr
movb,a
;********************************
movr0,#sec
mova,k1_data
deca
adda,r0
movr0,a
inc@r0
mova,@r0
divab
mova,b
mov@r0,a
key_al_end:
ret
end
asc_h:
db60d,60d,24d,32d,13d,100d,100dprocled_cl
led_cl:
movdptr,#led_ord_3
mova,k1_data
deca
movb,#02h
mulab
jmp@a+dptr
led_ord_3:ajmpled_k0_2
ajmpled_k1_2
ajmpled_k2_2
ajmpled_k3_2
ajmpled_k4_2
ajmpled_k5_2
ajmpled_k6_2
ajmpled_k7_2led_k0_2:;ledsec
movled2,#blk_led
movled3,#dot_led
mova,sec
acallbcd_8
adda,#10d
movled4,a
movled5,b
jbfl_250ms,lk1
movled4,#blk_led
movled5,#blk_led
lk1:
ajmpled_jmp_5_end
led_k1_2:;ledmin,hour
acallled_hour
jbfl_250ms,lk2
movled4,#blk_led
movled5,#blk_led
lk2:
ajmpled_jmp_5_end
led_k2_2:;ledmin,hour
acallled_hour
jbfl_250ms,lk3
movled2,#blk_led
movled3,#blk_led
lk3:
ajmpled_jmp_5_end
led_k3_2:;ledday,mon
acallled_mon
jbfl_250ms,lk4
movled4,#blk_led
movled5,#blk_led
lk4:
ajmpled_jmp_5_end
led_k4_2:;ledday,mon
acallled_mon
jbfl_250ms,lk5
movled2,#blk_led
movled3,#blk_led
lk5:
ajmpled_jmp_5_end
led_k5_2:;ledyear
movled2,#2d
movled3,#0d
mova,year
acallbcd_8
movled4,a
movled5,b
jbfl_250ms,lk6
movled4,#blk_led
movled5,#blk_led
lk6:
ajmpled_jmp_5_end
led_k6_2:;ledw_adj
movled2,#d_led
movled3,#blk_led
mova,w_adj
acallbcd_8
movled4,a
movled5,b
jbfl_250ms,lk7
movled4,#blk_led
movled5,#blk_led
lk7:
ajmpled_jmp_5_end
led_k7_2:;ledout
acallled_out1
led_jmp_5_end:
movled1,week
acallled
ret
endled_hour:
mova,hour
acallbcd_8
movled2,a
jnzlj1
movled2,#blk_led
lj1:
mova,b
adda,#10d
movled3,a
;*********************
mova,min
acallbcd_8
adda,#10d
movled4,a
movled5,b
ret
led_mon:
mova,mon
jnzlj5
incmon
mova,mon
lj5:
acallbcd_8
movled2,a
jnzlj2
movled2,#blk_led
lj2:
movled3,b
;*********************
mova,day
jnzlj4
incday
mova,day
lj4:
acallbcd_8
movled4,a
jnzlj3
movled4,#blk_led
lj3:
movled5,b
ret
;********************************************
al_out:
jbha_over,al_out_end
movr7,#8d
movr1,#al8_m
al_ch_1:
movr0,#min
movr6,#02d;minhour
al_l:
mova,@r0
movb,@r1
cjnea,b,al_ch
incr0
decr1
djnzr6,al_l
;**************************************************
mova,r7
deca
movr0,#al1
adda,r0
movr0,a
mova,@r0
movc,acc.0
cplc
anlc,fl_250ms
cplc
movbeep_f,c
acallbeep_out
al_ch:
clrc
mova,r1
subba,r6
movr1,a
djnzr7,al_ch_1
al_out_end:
retbeep_out:
jbha_f,ba1
movbeep,sec
setbha_f
ba1:
mova,beep
adda,beep_t
movb,#60d
divab
mova,sec
cjnea,b,beep_out_end
setbbeep_f
setbha_over
clrha_f
beep_out_end:
ret
timer_int:
MOVT_1S,#TIMER_no
movbeep_t,#15d
movyear,#01d
movmon,#011d
movday,#06d
movhour,#13d
movmin,#00d
movsec,#00d
movr7,#16
movdptr,#al_asc
movr0,#al1_h
al_read:
clra
movca,@a+dptr
mov@r0,a
incr0
incdptr
djnzr7,al_read
ret;************************************
beep_timer:
movled1,#blk_led
movled2,#b_led
movled3,#blk_led
mova,beep_t
acallbcd_8
movled4,a
movled5,b
jbfl_250ms,ft1
movled4,#blk_led
movled5,#blk_led
ft1:
rettime_12:
movdptr,#asc_12
mova,hour
rla
movca,@a+dptr
movled2,a
jnziu2
movled2,#blk_led
iu2:
incdptr
mova,hour
rla
movca,@a+dptr
jbfl_500ms,iu1
adda,#10d
iu1:
movled3,a;***************************************mintoled
acallled_min
time_24_end:
ret
asc_12:
db11d,2d,21d,1d,21d,2d,21d,3d,21d,4d,21d,5d,21d,6d,21d,7d
db21d,8d,21d,9d,11d,0d,11d,1d
db1d,2d,0d,1d,0d,2d,0d,3d,0d,4d,0d,5d,0d,6d,0d,7d,0d,8d,0d,9d
db1d,0,1d,1dclock:
;********************************
mova,sec
cjnea,#60d,clock_end;!!!!!!!!!!!!!!!!!!!!!!
movsec,#00hincmin
;**********
clrha_over;2001.5.6mova,min
cjnea,#60d,clock_end
movmin,#00hinchour
mova,hour
cjnea,#24d,clock_end
movhour,#00hmova,mon
xrla,#02d
jnzmm_1
movdptr,#year_d
mova,year
movca,@a+dptr
sjmpmm_2
mm_1:
mova,mon
deca
movdptr,#mou_12
movca,@a+dptr
mm_2:
movb,a
incb
incday;***************day+1
mova,day
cjnea,b,clck_end
sjmpclck1
clck_end:
jcclock_end
clck1:
movday,#01hincmon
mova,mon
cjnea,#13d,clock_end
movmon,#01dincyear
mova,year
cjnea,#100d,clock_end
movyear,#00d
clock_end:
callfl_out
ret
mou_12:
db31d,28d,31d,30d,31d,30d
db31d,31d,30d,31d,30d,31dyear_d:
db29d,28d,28d,28d,29d,28d,28d,28d,29d,28d
db28d,28d,29d,28d,28d,28d,29d,28d,28d,28d
db29d,28d,28d,28d,29d,28d,28d,28d,29d,28d
db28d,28d,29d,28d,28d,28d,29d,28d,28d,28d
db'lijie2000.5.15'
;***************************************
t1:
pusha
pushpsw
pushb
clrfl_ms_f
djnzt_1s,t1_end
clrfl_s_f
incsec
calladj_w
;********************************
t1_end:
popb
poppsw
popa
retiadj_w:
clrtr1
mova,#T_L_100ms
adda,w_adj;*******have5order
movtl1,a
mova,#T_H_100ms
addca,#00h
movth1,a
movt_1s,#timer_no
setbtr1
retfl_out:
jbfl_ms_f,fl_out_end
setbfl_ms_f
mova,t_1s
movb,#02d
divab
mova,b
jnzto_d1
cplfl_250ms
to_d1:
mova,t_1s
movb,#04d
divab
mova,b
jnzto_d2
cplfl_500ms
to_d2:
fl_out_end:
callsec_out
retsec_out:
jbfl_s_f,sec_out_end
setbfl_s_f
mova,sec
movb,#07d
jnbfl_3s,za1
movb,#02d
za1:
divab
mova,b
jnzsec_out_end
cplfl_3s
sec_out_end:
ret
;**********************************
key_del:
mova,key_data
jnzkl_12
mova,frist
jnzkl_13
ret
kl_13:
movkey_data,frist
movfrist,#0
clrkey_over
jmpsf_beep
kl_12:
jnbkey_over,kl11
mova,t_30ms
adda,#03
movb,#60d
divab
mova,sec
cjnea,b,key_del_end
clrkey_over
jmpset_key
kl11:
movt_30ms,sec
setbkey_over
key_del_end:
callsf_a
cjnea,#key_da,sfg_12
clrkey_over
jmpsf_beep
sfg_12:
movfrist,key_data
movkey_data,#0
ret
;****************************************
key_bord:
acallre_k
mova,key_data
jzkey_bord1_end
;acallpsf_key0
key_bord1_end:
setbkey_f
ret
set_key:
mova,key_data
cjnea,#01h,set_cc1
setbset_al4_f
sjmpsf23
set_cc1:
cjnea,#02h,sf23
setbset_clk_f
sf23:
ret
;************************************
sf_key:
callclock
callweek_auto
callal_out
setbkey_f
callled
callsf_a
cjnea,#key_da,sf_key
callsf_beep
retsf_beep:clrbeep_f
calltimer_20ms
setbbeep_f
ret
;********************************
re_k:
movkey_data,#00h
movp1,#00h
mova,p3
orla,#01111111b
movp3,a
clrkey_f
mova,p3
setbkey_f
movp1,#0ffh
anla,#00000110b
cjnea,#00000110b,you_key
re_k_end:
ret
you_key:
calltimer_20ms
;callled
movp1,#00h
mova,p3
orla,#01111111b
movp3,a
clrkey_f
mova,p3
setbkey_f
movp1,#0ffh
anla,#key_da
cjnea,#key_da,you_key1
ret;sjmpre_k_end
you_key1:
jbacc.1,key_kb
movkey_data,#02h
key_kb:
jbacc.2,sf_key0
movkey_data,#01h
sf_key0:
retsf_a:
movp1,#00h
mova,p3
orla,#01111111b
movp3,a
clrkey_f
mova,p3
setbkey_f
anla,#key_da
ret
al_asc:
db06d,40d,06d,50d,07d,00d,07d,10d;am4_al
db07d,15d,013d,40d,13d,45d,14d,15d;pm4_al附录资料:不需要的可以自行删除教你如何保护笔记本HYPERLINK""一、每天关机前要做的清洗:双击“我的电脑”——右键点C盘——点“属性”——点“磁盘清理”——点“确定”——再点“是”——再点“确定”。清理过程中,您可看得到未经您许可(您可点“查看文件”看,就知道了)进来的“临时文件”被清除了,盘的空间多了。对D,E,F盘也要用这法进行。二、随时要进行的清理:打开网页——点最上面一排里的“工具”——点“Internet选项”——再点中间的“Internet临时文件”中的“删除文件”——再在“删除所有脱机内容”前的方框里打上勾——再点“确定”——清完后又点“确定”。这样,可为打开网和空间提高速度。三、一星期进行的盘的垃圾清理:点“开始”——用鼠标指着“所有程序”,再指着“附件”,再指着“系统工具”,再点“磁盘粹片整理程序”——点C盘,再点“碎片整理”(这需要很长时间,最好在您去吃饭和没用电脑时进行。清理中您可看到您的盘里的状况,可将清理前后对比一下)——在跳出“清理完成”后点“关闭”。按上述,对D,E,F盘分别进行清理。电脑系统越来越慢,怎么删除临时文件啊1.关闭"休眠"方法:打开[控制面板]→[电源选项]→[休眠],把"启用休眠"前面的勾去掉说明:休眠是系统长时间一种待机状态,使您在长时间离开电脑时保存操作状态,如果您不是经常开着电脑到别处去的话,那就把它关了吧!☆立即节省:256M2.关闭"系统还原"方法:打开[控制面板]→[系统]→[系统还原],把"在所有驱动器上关闭系统还原'勾上说明:系统还原是便于用户误操作或产生软件问题时的一种挽救手段,可以回复到误操作以前的状态.不建议初级用户使用.当然,它采用的是跟踪手段,需要记录大量信息,所消耗的资源也要很大的.☆立即节省:数百M(根据还原点的多少而不同)您也可以在不关闭系统还原的前提下,相应的减少系统还原所占的磁盘空间,这只会减少可用还原点的数目,一般还原点有一两个就够了吧.方法:...[系统还原]-选择一个"可用驱动器"-[设置]-调整"要使用的磁盘空间"3.关闭"远程管理"方法:打开[控制面板]→[系统]→[远程],把"允许从这台计算机发送远程协助邀请"前面的勾去掉.说明:谁会经常用到这种功能呢?它占用的不是磁盘空间,但是会影响系统运行速度.☆提高系统性能4.关闭"自动更新"方法:打开[控制面板]→[自动更新]→选"关闭自动更新"说明:系统更新占用的也不是磁盘空间,您可以在有可用更新时到微软的更新页面上更新,而不是总需要一个进程监视那是不是有可用更新.☆提高系统性能5.关闭"索引服务"方法:[开始]→[运行]→输入"msconfig"→[服务]去掉indexingservise前面的勾说明:索引服务是提高系统搜索速的的,谁没事总在系统里搜来搜去啊☆提高系统性能6.减少开机加载的启动项方法:[开始]→[运行]→输入"msconfig"→[启动]去掉不必要的启动项说明:必要的启动项一般"系统盘\windows\system32下的最好不要去掉;而肯定能去掉的有TINTSETPIMJPMIGIMSCMIGQQ等☆加快开机速度7.合理设置虚拟内存方法:打开[控制面板]→[系统]→[高级]-[性能]设置-[高级]-[虚拟内存]更改-在"自定义大小"中填入数值说明:一般的最小值是物理内存的1.5倍,最大值是物理内存的3倍;如果您经常运行大型软件的话最小值应该设为(物理内存*1.5*0.2+物理内存*1.5),最大值应为(物理内存*3*0.2+物理内存*3)☆提高系统性能8.取消系统失败时的日志文件和询问打开[控制面板]→[系统]→[高级]→[启动和故障恢复]→[系统失败]去掉"将事件写入系统日志""发送错误警报"☆提高系统性能9.删除无用的文件方法:打开[控制面板]→[文件夹选项]→[查看]→[显示所有文件和文件夹]C:\DocumentsandSettings\用户名\Cookies\除index文件外的所有文件(浏览网页产生的记录文件)C:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)C:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(浏览网页记录的多媒体信息,加速以后浏览)C:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(访问历史纪录)C:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)C:\WINDOWS\Temp\下的所有文件(临时文件)C:\WINDOWS\ServicePackFiles下的所有文件(升级sp1或sp2后的备份文件)C:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)C:\WINDOWS\SoftwareDistribution\download下的所有文件(未完成的软件下载)C:\Windows\下以$u...开头的隐藏文件(微软更新安装文件备份)☆立即节省:数百M10.磁盘碎片整理下面该做的就是磁盘碎片整理了,只有整理之后才能获得更多的空间哦^_^方法:[开始]→[程序]→[附件]→[系统工具]→[磁盘碎片整理]...(记得先"分析"后"整理")二。发信人:liushafeng(终结者),信区:Hardware标题:减少WinXP资源占用的八大技巧发信站:紫金飞鸿(SunJun416:25:482006)WindowsXP被微软称为其历史上最优秀的操作系统,有让你眼花缭乱的各种功能、更快的速度,当然这一切都对计算机的硬件提出了更高的要求,如果你希望WindowsXP能够尽可能少地占用你有限的虽然WindowsXP被微软自称为有史以来最稳定、功能最强大的Windows操作系统,并且运行速度飞快——启动速度甚至比同样配置的Win2000还要快许多,你可能依然不满足于此,希望一、使用朴素界面XP安装后默认的界面包括任务栏、开始选单、桌面背景、窗口、按钮等都采用的是XP的豪华、炫目的风格,但缺点显而易见,它们将消耗掉不少系统资源,但实用意义不大。[方法]鼠标右键单击桌面空白处,在弹出选单点击“属性”进入显示属性设置窗口,将“主题、外观”都设置为“Windows经典”,将桌面背景设置为“无”,按确定保存退出。二、减少启动时加载项目许多应用程序在安装时都会自作主张添加至系统启动组,每次启动系统都会自动运行,这不仅延长了启动时间,而且启动完成后系统资源已经被吃掉不少![方法]选择“开始”选单的“运行”,键入“msconfig”启动“系统配置实用程序”,进入“启动”标,在此窗口列出了系统启动时加载的项目及来源,仔细查看你是否需要它自动加载,否则清除项目前的复选框,加载的项目愈少,启动的速度自然愈快。此项需要重新启动方能生效。三、优化视觉效果[方法]选择“系统属性”中的“高级”标签进入“性能选项”界面,其中“视觉效果”中可供选择的包括:自动设置为最佳、最佳外观、最佳性能、自定义。选中的效果越多则占用的系统资源越多,选定“最佳性能”项将关闭列表中列出诸如淡入淡出、平滑滚动、滑动打开等所有视觉效果。四、关闭系统还原默认情况下系统还原功能处于启用状态,每个驱动器约被占用高达4%~12%的硬盘空间,并且系统还原的监视系统会自动创建还原点,这样在后台运行就会占用较多的系统资源。[方法]鼠标右键点击桌面“我的电脑”中的“属性”进入“系统属性”设置窗口,选择“系统还原”标签,将“在所有驱动器上关闭系统还原”置为选中状态五、加快选单显示速度[方法]运行注册表编辑器,进入“HKEY_CURRENT_USERControlPanelDesktop”,将名称为MenuShowDelay的数据值由原来默认的400修改为0,修改后XP的开始选单、甚至应用软件的选单显示速度都会明显加快。六、启用DMA传输模式所谓DMA,即直接存储器存储模式,指计算机周边设备(主要指硬盘)可直接与内存交换数据,这样可加快硬盘读写速度,提高速据传输速率。[方法]选择“系统属性”中的“硬件”标签,打开“设备管理器”,其中“IDE控制器”有两项“PrimaryIDEChannel”及“SecondaryIDEChannel”,依次进入“属性→高级设置”,该对话框会列出目前IDE接口所连接设备的传输模式,点击列表按钮将“传输模式”设置为“DMA(若可用七、移动临时文件储存路径多数应用软件在运行时都会产生临时文件,而且这些临时文件都默认保存于启动分区C盘,长时间频繁读写C盘极易产生大量文件碎片,从而影响C盘性能,而C盘又是储存系统启动核心文件的分区,C盘的性能直接影响到系统的稳定性与运行效率。应尽量将应用软件安装于启动盘以外的分区并定期对硬盘进行整理,此举可最大程度避免产生磁盘碎片,将启动或读写速度保持在最佳状态。InternetExplorer临时文件夹[方法]在IE主窗口中,依次进入“工具→Internet选项→常规”标签,打开“Internet临时文件”设置界面,点击“移动文件夹”按钮将原来保存于C盘的临时目录移动至C盘以外的驱动器中,如果你使用的是宽带,可将“临时文件夹”使用空间设置为最小值1M刻录时产生的临时文件[方法]文件在刻录之前都会保存于C盘的刻录临时文件夹中,进入资源管理器,选择刻录机盘符并单击鼠标右键选单的“属性”项,在“录制”标签下可将此临时文件夹安置于其它驱动器。我的文档[方法]鼠标右键点击“我的文档”,在属性设置项中可将“我的文档”默认的保存路径修改至其它盘符。八、增加虚拟内存[方法]进入“性能选项”的“高级”设置窗口,首先将“处理器计划”及“内存使用”都调整为“程序”优化模式。点击“更改”按钮进入虚拟内存设置窗口,若你的内存大于256M,建议你禁用分页文件。默认的分页文件为物理内存的1.5倍。禁用系统缓存需重新启动系统。如果你的内存低于256M,请勿禁用分页文件,否则会导致系统崩溃或无法再启动XP!三windows使用时间长了,自然就会产生这样那样的临时文件,影响系统速度,让人烦心。对于老鸟来说,可以通过修改注册表、手动优化系统性能来提高速度,而对新手来说比较困难。这里我们可以下载一些专门的系统优化软件,进行一些简单的设计,就能达到我们想要的效果。这里我推荐一些常用又好使的软件:WINDOWS优化王、优化大师、超级兔子等。其中WINDOWS优化王非常好用,一看就会、功能全面、省时省心。完全清理[毒]垃圾藏在XP中的一个秘密武器,可以完整清除垃圾文件藏在XP中的一个秘密武器,可以完整清除垃圾文件你有用过Windows内置的清理磁盘功能吗?它并不能完全地清洗Windows内不需要的档案,因为它的功能被隐藏了,本篇将会把它被封印了的功能完全打开。适用的窗口板本除了Win95及Win98外这个方法阶适用于Win98se、Win2000、WinME、WinXP现在介绍两个「清理磁盘」工具的指令:SAGESET及SAGERUN首先在「开始」>「执行」然后输入cleanmgr/sageset:99设定:特别模式「清理磁盘」工具会执行,你会发觉多了很多清理选择,选择你想要清理的档案,通常全部都可以删除,完成你的选择后再按「确定」。然后再打开「开始」>「运行」输入:cleanmgr/SAGERUN:99杀毒1这种情况往往表现在打开IE时,在IE界面的左下框里提示:正在打开网页,但老半天没响应。在任务管理器里查看进程,(进入方法,把鼠标放在任务栏上,按右键—任务管理器—进程)看看CPU的占用率如何,如果是100%,可以肯定,是感染了病毒,这时你想运行其他程序简直就是受罪。这就要查查是哪个进程贪婪地占用了CPU资源.找到后,最好把名称记录下来,然后点击结束,如果不能结束,则要启动到安全模式下把该东东删除,还要进入注册表里,(方法:开始—运行,输入regedit)在注册表对话框里,点编辑—查找,输入那个程序名,找到后,点鼠标右键删除,然后再进行几次的搜索,往往能彻底删除干净。杀毒2今天在这里为大家提供两则小技巧,以便帮你强行杀死顽固病毒进程。根据进程名查杀这种方法是通过WinXP系统下的taskkill命令来实现的,在使用该方法之前,首先需要打开系统的进程列表界面,找到病毒进程所对应的具体进程名。接着依次单击“开始→运行”命令,在弹出的系统运行框中,运行“cmd”命令;再在DOS命令行中输入“taskkill/imaaa”格式的字符串命令,单击回车键后,顽固的病毒进程“aaa”就被强行杀死了。比方说,要强行杀死“conime。exe”病毒进程,只要在命令提示符下执行“taskkill/imconime。exe”命令,要不了多久,系统就会自动返回结果。根据进程号查杀上面的方法,只对部分病毒进程有效,遇到一些更“顽固”的病毒进程,可能就无济于事了。此时你可以通过Win2000以上系统的内置命令——ntsd,来强行杀死一切病毒进程,因为该命令除System进程、SMSS。EXE进程、CSRSS。EXE进程不能“对付”外,基本可以对付其它一切进程。但是在使用该命令杀死病毒进程之前,需要先查找到对应病毒进程的具体进程号。考虑到系统进程列表界面在默认状态下,是不显示具体进程号的,因此你可以首先打开系统任务管理器窗口,再单击“查看”菜单项下面的“选择列”命令,在弹出的设置框中,将“PID(进程标志符)”选项选中,单击“确定”按钮。返回到系统进程列表页面中后,你就能查看到对应病毒进程的具体PID了。接着打开系统运行对话框,在其中运行“cmd”命令,在命令提示符状态下输入“ntsd-cq-pPID”命令,就可以强行将指定PID的病毒进程杀死了。例如,发现某个病毒进程的PID为“444”,那么可以执行“ntsd-cq-p444”命令,来杀死这个病毒进程。杀毒3Windows任务管理器是大家对进程进行管理的主要工具,在它的“进程”选项卡中能查看当前系统进程信息。在默认设置下,一般只能看到映像名称、用户名、CPU占用、内存使用等几项,而更多如I/O读写、虚拟内存大小等信息却被隐藏了起来。可别小看了这些被隐藏的信息,当系统出现莫名其妙的故障时,没准就能从它们中间找出突破口。1.查杀会自动消失的双进程木马前段时间朋友的电脑中了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年戊二酮苯项目发展计划
- 2025年气象、水文仪器及装置项目建议书
- 教育技术推动现代课程设计的核心力量
- 2025年河北省鹿泉一中物理高二下期末调研试题含解析
- 中职新媒体营销课件
- 商业案例分析丰富多样的学习资源助力企业发展
- 中职数学直线复习课件
- 探索教育数字化转型中的技术力量
- 教育心理学在学生自我管理中的应用案例
- 中职教育政策宣讲课件
- T-ZSA 288-2024 餐饮设备智能烹饪机器人系统通.用技术要求
- 快运运输合同范本简单
- PEP人教版小学英语五年级下册单词默写表
- 肌肉刑警的改造计划
- 电力现货交易流程
- 音乐剧排练课程设计
- 科技有限公司总经理岗位职责
- 国内机场三字代码表
- 保险公司理赔服务手册
- 网约车修理合作协议书范文模板
- 医院病案质控管理学习汇报
评论
0/150
提交评论