求一道51单片机编程题的程序,汇编语言,谢谢了
单片机晶震频率为12Mhz,P3.2和P3.3脚分别连接1个按钮,P1口接2个数码管(其四位输入为0000~1111,对应显示符号为0~F),1。采用汇编语言编写完整程序...
单片机晶震频率为12Mhz,P3.2和P3.3脚分别连接1个按钮,P1口接2个数码管(其四位输入为0000~1111,对应显示符号为0~F),
1。采用汇编语言编写完整程序,利用单片机定时器0。采用工作方式1实现每间隔750毫秒,数码管显示值(以十进制方式显示,初始值为00)自动加1,当计数值超过59时自动清零。
2。在上题基础上,采用汇编语言汇编,完成中断控制相关寄存器的初始值设置以及相应的中断服务子程序,实现通过外部中断0所连的按钮启动定时器;通过外部中断1所连的按钮停止定时器。 展开
1。采用汇编语言编写完整程序,利用单片机定时器0。采用工作方式1实现每间隔750毫秒,数码管显示值(以十进制方式显示,初始值为00)自动加1,当计数值超过59时自动清零。
2。在上题基础上,采用汇编语言汇编,完成中断控制相关寄存器的初始值设置以及相应的中断服务子程序,实现通过外部中断0所连的按钮启动定时器;通过外部中断1所连的按钮停止定时器。 展开
展开全部
JISHI EQU 30H
DATA0 EQU P0
TEN EQU P1.0
UNIT0 EQU P1.1
ORG 0000H
ORG 0003H
LJMP INP0 //interruter 0
ORG 000BH
LJMP IT_T0
ORG 0013H
LJMP INP1 //interruter1
ORG 0030H
MAIN:
MOV SP,#69H
MOV JISHI,#0
MOV DATA0,#0FFH
SETB TEN
SETB UNIT0
MOV TMOD,#01H
MOV TH0,# 0
MOV TL0,#0
SETB IT0
SETB IT1
SETB PX0
SETB PX1
SETB ET0
SETB EX0
SETB EX1
SETB EA
CLR TR0
LOOP: LCALL DISPLAY
LJMP LOOP
INP0: CLR EA
CLR TR0
SETB EA
RETI
INP1: CLR EA
SETB TR0
SETB EA
RETI
IT_T0:
PUSH ACC
PUSH B
CLR EA
INC JISHI
MOV A,JISHI
CJNE A,#60,TIME0
MOV JISHI,#0
TIME0: POP B
POP ACC
SETB EA
RETI
DISPLAY: MOV A,JISHI
MOV B,#10
DIV AB
LCALL LOOKUP
MOV DATA0,A
CLR TEN
SETB UNIT0
LCALL DELAY
SETB TEN
MOV A,B
LCALL LOOKUP
MOV DATA0,A
CLR UNIT0
LCALL DELAY
SETB TEN
SETB UNIT0
RET
LOOKUP:
MOV DPTR,#TAB
MOVC A,@A+DPTR
RET
DELAY: MOV R6,#0
DEL0: MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,89H,0F8H,80H,90H
END
有部分问题的,自己查
DATA0 EQU P0
TEN EQU P1.0
UNIT0 EQU P1.1
ORG 0000H
ORG 0003H
LJMP INP0 //interruter 0
ORG 000BH
LJMP IT_T0
ORG 0013H
LJMP INP1 //interruter1
ORG 0030H
MAIN:
MOV SP,#69H
MOV JISHI,#0
MOV DATA0,#0FFH
SETB TEN
SETB UNIT0
MOV TMOD,#01H
MOV TH0,# 0
MOV TL0,#0
SETB IT0
SETB IT1
SETB PX0
SETB PX1
SETB ET0
SETB EX0
SETB EX1
SETB EA
CLR TR0
LOOP: LCALL DISPLAY
LJMP LOOP
INP0: CLR EA
CLR TR0
SETB EA
RETI
INP1: CLR EA
SETB TR0
SETB EA
RETI
IT_T0:
PUSH ACC
PUSH B
CLR EA
INC JISHI
MOV A,JISHI
CJNE A,#60,TIME0
MOV JISHI,#0
TIME0: POP B
POP ACC
SETB EA
RETI
DISPLAY: MOV A,JISHI
MOV B,#10
DIV AB
LCALL LOOKUP
MOV DATA0,A
CLR TEN
SETB UNIT0
LCALL DELAY
SETB TEN
MOV A,B
LCALL LOOKUP
MOV DATA0,A
CLR UNIT0
LCALL DELAY
SETB TEN
SETB UNIT0
RET
LOOKUP:
MOV DPTR,#TAB
MOVC A,@A+DPTR
RET
DELAY: MOV R6,#0
DEL0: MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,89H,0F8H,80H,90H
END
有部分问题的,自己查
展开全部
程序有些长
还是自己查些资料
反对伸手注意!
还是自己查些资料
反对伸手注意!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把课本中的相关程序整合在一起就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询