什么是电路仿真

什么是电路仿真,第1张

电路仿真,顾名思义就是设计好的电路图通过仿真软件进行实时模拟,模拟出实际功能,然后通过其分析改进,从而实现电路的优化设计。是EDA(电子设计自动化)的一部分。

现在比较常用的电路仿真软件有: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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11639128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存