怎么让multisim电路图输出成程序呢

怎么让multisim电路图输出成程序呢,第1张

让multisim电路图输液贺出成程序的桥埋雀步骤为:

1、进入multisim软件。

2、在软件中打开电路图。

3、敏早点击输出选项,选择输出为程序即可。

S_SET BIT P1.0 数蚂备竖字钟秒控制位

M_SET BIT P1.1 分钟控制位

H_SET BIT P1.2 小时控制位

SECOND EQU 30H

MINUTE EQU 31H

HOUR EQU 32H

TCNT EQU 34H

ORG 00H

SJMP START

ORG 0BH

LJMP INT_T0

START: MOV DPTR,#TABLE

MOV HOUR,#0 初始化

MOV MINUTE,#0

MOV SECOND,#0

MOV TCNT,#0

MOV TMOD,#01H

MOV TH0,#(65536-50000)/256 定时50毫秒

MOV TL0,#(65536-50000)MOD 256

MOV IE,#82H

SETB TR0

****************************************************

判断是否有控制键按下,是哪一个键按下

A1: LCALL DISPLAY

JNB S_SET,S1

JNB M_SET,S2

JNB H_SET,S3

LJMP A1

S1: LCALL DELAY 去抖动

JB S_SET,A1

INC SECOND 秒值加1

MOV A,SECOND

CJNE A,#60,J0 判断是否加滚滑到60秒

MOV SECOND,#0

LJMP K1

S2: LCALL DELAY

JB M_SET,A1

K1: INC MINUTE 分钟值加1

MOV A,MINUTE

CJNE A,#60,J1 判断是否加到60分

MOV MINUTE,#0

LJMP K2

S3: LCALL DELAY

JB H_SET,A1

K2: INC HOUR 小时值加1

MOV A,HOUR

CJNE A,#24,J2 判断是否加到24小时

MOV HOUR,#0

MOV MINUTE,#0

MOV SECOND,#0

LJMP A1

****************************************************

等待按键抬起

J0: JB S_SET,A1

LCALL DISPLAY

SJMP J0

J1: JB M_SET,A1

LCALL DISPLAY

SJMP J1

J2: JB H_SET,A1

LCALL DISPLAY

SJMP J2

***********************************************

定时器中断服务程序,对秒,分钟和小时的计数闷大

INT_T0: MOV TH0,#(65536-50000)/256

MOV TL0,#(65536-50000)MOD 256

INC TCNT

MOV A,TCNT

CJNE A,#20,RETUNE 计时1秒

INC SECOND

MOV TCNT,#0

MOV A,SECOND

CJNE A,#60,RETUNE

INC MINUTE

MOV SECOND,#0

MOV A,MINUTE

CJNE A,#60,RETUNE

INC HOUR

MOV MINUTE,#0

MOV A,HOUR

CJNE A,#24,RETUNE

MOV HOUR,#0

MOV MINUTE,#0

MOV SECOND,#0

MOV TCNT,#0

RETUNE: RETI

******************************************

显示控制子程序

DISPLAY:MOV A,SECOND 显示秒

MOV B,#10

DIV AB

CLR P3.6

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.6

MOV A,B

CLR P3.7

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.7

CLR P3.5

MOV P0,#40H 显示分隔符

LCALL DELAY

SETB P3.5

MOV A,MINUTE 显示分钟

MOV B,#10

DIV AB

CLR P3.3

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.3

MOV A,B

CLR P3.4

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.4

CLR P3.2

MOV P0,#40H 显示分隔符

LCALL DELAY

SETB P3.2

MOV A,HOUR 显示小时

MOV B,#10

DIV AB

CLR P3.0

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.0

MOV A,B

CLR P3.1

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P3.1

RET

TABLE: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

DELAY: MOV R6,#10

D1: MOV R7,#250

DJNZ R7,$

DJNZ R6,D1

RET

END

请设计一个2位静态数码肆埋管从00到59显示的悄雹激程序

#include <reg51.h>启袜

unsigned char show[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}

int n, j

qc()interrupt 1 using 3

{TH0=(65336-10000)/256

TL0=(65336-10000)%256

n++

if (n>=100)

{n=0

j++

if (j>=60)

j=0

}

}

main ()

{int gw,sw

ET0=1

EA =1

TMOD =0x01

TH0=(65536-10000)/256

TL0=(65336-10000)%256

TR0=1

while (1)

{gw =j/10

sw =j%10

P0=show[gw]

P1=show[sw]

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存