智能数字钟设计1Word格式.docx
- 文档编号:17387046
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:42
- 大小:22.70KB
智能数字钟设计1Word格式.docx
《智能数字钟设计1Word格式.docx》由会员分享,可在线阅读,更多相关《智能数字钟设计1Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
“H”表示:
打开当前定时输出;
“L”表示:
关闭当前定时输出。
此时按K2键可进行“H”、“L”的切换。
所有输出,均由蜂鸣器输出!
2).显示状态的控制
按下K2键可进入以下工作状态:
①12小时/日月交替显示。
②12小时固定显示。
③24小时/日月交替显示。
④24小时固定显示。
3).校时
按下K2键3S后,进入校时菜单。
按下K1键依次进入校时状态:
分、时、天、月、年、微调系数。
此时按K2键,完成+1。
当显示“d”时,表示要调整微调系数(0-99),其值越小,时钟走时越慢。
当使用的6MHz的晶振偏差大时,应仔细调整微调系数!
当显示“out”时,按K2键,即可退出!
退出后,按任意键即可启动时钟。
4).设置定时时间
按下K1键3S后,进入设置菜单。
按下K1键依次进入8路定时调整状态:
时、分。
3.使用单片机89C2051完成。
4.原理图和双面PCB图。
5.源程序烧录、调试。
6.焊接、安装、调试、验收。
;
***************
all_clk1_program2010-3-25
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.1
beep_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
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
cjnea,#01d,kk1
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
kka2:
movstat_led,a
sjmpkey_jmp_end
kk2:
acallall1
cpla
mov@r0,a
key_jmp_end:
all1:
movr0,#al1
deca
adda,r0
movr0,a
mova,@r0
led_jmp:
**********************************
movstat_work,#01d
movstat_tw,#01d
jnzled_al1
acallled_t_d
movled1,week
sjmpled_jmp_end
led_al1:
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
*************************************
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:
***********************************
led_min:
mova,min
jbfl_500ms,tim2
tim2:
movled4,a
movled5,b
date_led:
mova,mon
jnzda1
da1:
movled3,a
mova,day
jnzda2
movled4,#blk_led
da2:
date_led_end:
*************
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
setbled_1
*************************led2
led_led2:
mova,led2
clrled_2
setbled_2
*************************led3
led_led3:
mova,led3
clrled_3
setbled_3
*************************led4
led_led4:
mova,led4
clrled_4
setbled_4
*************************led5
led_led5:
mova,led5
clrled_5
setbled_5
*************************
led_end:
************************************
bafhcdeg
led_asc:
db11101110B;
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
delay
********************************
timer_1ms:
movt_1ms,#030h
r2_1:
djnzt_1ms,r2_1
timer_20ms:
movt_20m,#050d
r2_2:
callclock
callled
djnzt_20m,r2_2
#############################################
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_2
MOVDPTR,#MON_ASC
MOVA,MON
MOVCA,@A+DPTR
ADDA,r3
*********************
MOVB,DAY
ADDA,B
movr3,a;
r3=gs2
*******jbmon<
=2******
CJNEA,#02D,WEEK_1
SJMPWEEK_2
WEEK_1:
JCWEEK_2
week_3:
mova,r3
movb,#07
sjmpweek_4
WEEK_2:
*****jbyear=4N******
mova,year
movb,#04
jnzweek_3
mova,b
week_4:
MOVWEEK,a
jnzweek_end
movweek,#07h
week_end:
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
DV50:
MOVR6,#8;
;
求平均值(R4R5/R7-→R3)
DV51:
MOVA,R5
RLCA
MOVR5,A
MOVR4,A
MOVF0,C
CLRC
ANLC,/F0
JCDV52
DV52:
CPLC
MOVA,R3
MOVR3,A
DJNZR6,DV51
MOVA,R4;
四舍五入
ADDA,#0;
R4
JCDV53
JCDV54
DV53:
INCR3
DV54:
CLROV
*************************************************************
clr_ram:
MOVR7,#78h;
MOVR0,#0bH;
CLRA;
CR:
INCR0;
MOV@R0,A;
djnzr7,cr;
CLRRAM
**************INT_CTRL
int_t0:
setbet1
MOVTMOD,#00010001b;
movw_adj,#w_adj_dat
setbea
jmpadj_w
**********************************************
al_led:
movr0,#al1_h
rla
jnzal_1
al_1:
incr0
al_led_end:
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
jmp@a+dptr
led_ord_3:
ajmpled_k0_2
ajmpled_k1_2
ajmpled_k2_2
ajmpled_k3_2
ajmpled_k4_2
led_k0_2:
timer_12anddatetoled
acalltime_12
jnbfl_3s,lk1
acalldate_led
lk1:
ajmpled_jmp_5_end
led_k1_2:
timer_12toled
led_k2_2:
timer_24anddatetoled
acalltime_24
jnbfl_3s,lk2
lk2:
led_k3_2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 数字 设计