现在比较常用的电路仿真软件有:Multisim系列,Cadence等。
Multisim Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。
呵呵呵,你走运了,我做过课后作业,有问题以再问我
带调时间的数字钟
定时器1s触发中断一次,计时+1,主程序负责传输时间到led及检测按键,其他见注释。
左面有器件列表,这个是protenus仿真
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP T0INT
ORG 001BH
LJMP T1INT
ORG 0100H
MAIN: MOV TMOD,#51H T0定时器方式1,T1计数器方式1
MOV TCON,#54H 开定时计数器,T1边沿触发
MOV TH0,#4BH (65536-19453)*1.085=50MS,晶振11.0592MHZ
MOV TL0,#0FFH 去掉了装载初值用的机器周期
MOV TH1,#0FFH 满10溢出,1S
MOV TL1,#0F6H
MOV IE,#8AH 开中断
MOV R7,#04H 预置13:58:00 的时
MOV R2,#13H
MOV A,R2
LCALL DISPLAY
MOV R7,#02H 预置13:58:00 的分
MOV R1,#58H
MOV A,R1
LCALL DISPLAY
CHECKKEY:LCALL KEY1
LCALL KEY2
LCALL KEY3
LCALL KEY4
AJMP CHECKKEY
中断
T0INT: MOV TH0,#4BH
MOV TL0,#0FDH
CPL P2.0
RETI
T1INT: MOV TH1,#0FFH
MOV TL1,#0F6H
PUSH ACC
CPL P2.1
MOV A,R0 R0计秒钟,通过A调整为BCD码
ADD A,#1
DA A
MOV R0,A
CJNE R0,#60H,MIAO
MOV R0,#00H
MOV A,R1 R1计分钟,通过A调整为BCD码
ADD A,#1
DA A
MOV R1,A
CJNE R1,#60H,FEN
MOV R1,#00H
MOV A,R2 R2计时钟,通过A调整为BCD码
ADD A,#1
DA A
MOV R2,A
CJNE R2,#24H,SHI
MOV R2,#00H
SHI: MOV R7,#04H
MOV A,R2
LCALL DISPLAY
FEN: MOV R7,#02H
MOV A,R1
LCALL DISPLAY
MIAO: MOV R7,#01H
MOV A,R0
LCALL DISPLAY
POP ACC
RETI
显示
A--显示BCD码,R7--选择数码管
DISPLAY:MOV P1,R7
MOV SCON,#0
MOV SBUF,A
JNB TI,$
CLR TI
RET
按键检测与执行程序
KEY1: JB P0.0,DONE1 检测P0.0口按键,若没按下,则结束
LCALL DELAY 延时去抖
JB P0.0,DONE1 再次检测,若没按下,则结束
JNB P0.0,$ 等待按键松开
CPL EA 开关定时中断
DONE1: RET
KEY2: JB EA,DONE2 若EA=1,则调时间按键无效
JB P0.1,DONE2 检测P0.0口按键,若没按下,则结束
LCALL DELAY 延时去抖
JB P0.1,DONE2 再次检测,若没按下,则结束
MOV A,R2 R2计时钟+1,通过A调整为BCD码
ADD A,#1
DA A
CJNE A,#24H,CHECK2
MOV A,#00H
CHECK2: MOV R2,A
MOV R7,#04H 显示改后的时间
MOV A,R2
LCALL DISPLAY
DONE2: RET
KEY3: JB EA,DONE3
JB P0.2,DONE3
LCALL DELAY
JB P0.2,DONE3
MOV A,R1 R1计分钟+1,通过A调整为BCD码
ADD A,#1
DA A
CJNE A,#60H,CHECK3
MOV A,#00H
CHECK3: MOV R1,A
MOV R7,#02H 显示改后的时间
MOV A,R1
LCALL DISPLAY
DONE3: RET
KEY4: JB EA,DONE4
JB P0.3,DONE4
LCALL DELAY
JB P0.3,DONE4
MOV A,R0 R0计秒钟+1,通过A调整为BCD码
ADD A,#1
DA A
CJNE A,#60H,CHECK4
MOV A,#00H
CHECK4: MOV R0,A
MOV R7,#01H 显示改后的时间
MOV A,R0
LCALL DISPLAY
DONE4: RET
DELAY
DELAY: MOV R4,#0FFH
DL: MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,DL
RET
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)