找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

请高人帮忙,把汇编程序翻译写成c语言程序(最好在难语句后面加

[复制链接]
admin 发表于 2012-9-2 09:25:18 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
SECOND EQU 30H
TCOUNT EQU 31H
KCOUNT EQU 32H
KEY BIT P3.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV DPTR,#TABLE
MOV P0,#3FH
MOV P2,#3FH ;开始,数码管显示"00"
MOV SECOND,#00H
MOV TCOUNT,#00H
MOV KCOUNT,#00H
MOV TMOD,#01H ;定时器0工作在方式1
MOV TL0,#(65536-50000)/256
MOV TH0,#(65536-50000) MOD 256
K1: JB KEY,$ ;等待按键
LCALL DELAY
JB KEY,$
MOV A,KCOUNT
CJNE A,#00H,K2 ;判断按键次数
SETB TR0 ;第1次按键,启动定时器
MOV IE,#82H
JNB KEY,$
INC KCOUNT ;按键抬起,按键次数值加1
LJMP K1
K2: CJNE A,#01H,K3
CLR TR0 ;第2次按键,关闭定时器
MOV IE,#00H
JNB KEY,$
INC KCOUNT ;按键抬起,按键次数值加1
LJMP K1
K3: CJNE A,#02H,K1 ;第3次按键,返回初始状态
JNB KEY,$
LJMP START
INT_T0: MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000) MOD 256
INC TCOUNT
MOV A,TCOUNT
CJNE A,#2,I2 ;是否计够0.1秒
MOV TCOUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#100,I1 ;是否计够10秒
MOV SECOND,#00H
I1: MOV A,SECOND
MOV B,#10
DIV AB
MOVC A,@A+DPTR ;显示时间
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
I2: RETI
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV R6,#20
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
END
第二个程序:
ORG 00H

START: MOV DPTR,#TABLE ;设置段码表首地址

MOV R0,#00H ;计数值初始化

S1: MOV P3,#00H

MOV P2,#00H ;数码显示初始化

S2: MOV R1,#10

MOV A,R0

MOV B,R1

DIV AB ;分离计数值的十位和个位

MOVC A,@A+DPTR

MOV P2,A ;显示十位

MOV A,B

MOVC A,@A+DPTR

MOV P3,A ;显示个位

LCALL DELAY

INC R0

CJNE R0,#60,S2 ;是否计满60秒

MOV R0,#00H

LJMP S1

DELAY: MOV R5,#100 ;延时1秒子程序(晶振12MHz)

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

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

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

END
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 12:41 , Processed in 0.049355 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表