永发信息网

定时器0控制数码管显示单片机的汇编程序?

答案:3  悬赏:70  手机版
解决时间 2021-07-31 05:36

如何利用单片机的定时溢出中断实现准确延时。使单片机的P1端口连接到一个数码管,使其指定的时间间隔内依次显示0~9。的汇编语言 拜托高手了~感激不尽··

最佳答案

ORG 0000H
LJMP MAIN


ORG 000BH
LJMP INT_T0


ORG 4100H
MAIN: MOV DPTR, #TAB
MOV R7, #0
MOV R0, #0
MOV TMOD, #00000001B
MOV TH0, #3CH
MOV TL0, #0B0H
SETB EA
SETB ET0
SETB TR0
LOOP: MOV A, R0
MOVC A, @A+DPTR
MOV P1, A
ACALL DELAY
AJMP LOOP


INT_T0: INC R7
CJNE R7, #10, RETURN
MOV R7, #0
INC R0
CJNE R0, #10, RETURN
MOV R0, #0
RETURN: MOV TH0, #3CH
MOV TL0, #0B0H
RETI


DELAY: MOV R2, 0FFH
DL: DJNZ R2, DL
RET


TAB: DB 40h, 4FH, 24H, 30H, 19H
DB 12H, 02H, 78H, 00H, 10H


END


全部回答

SEC  EQU 30H ;用30h记录秒的存放地址

ORG   0000H

AJMP  START

ORG   000BH  ;定时子程序入口time

AJMP  TIME

;--------

START: 

MOV   SEC,#00H

MOV   TH0,#3CH

MOV   TL0,#0B0H    ;为计时器赋初值15536(即65536-5000)

MOV   R0,#14       ;循环20次为1秒,(默认晶振为12MHZ)

MOV   TOMD,#01H    ;定时方式为方式1

SETB  ITO

SETB  EA

SETB  ETO

SETB  TR0          ;开定时

;--------

MAIN:

MOV   DPTR,#TAB    ;表的首地址给DPTR

MOV   A,SEC

MOVC  A,@A+DPTR    ;查表得数字的显示编码

MOV   P0,A         ;P0口做输出口

CLR   P2.0         ;P2.0口做公共的共阴极,当为低电平时亮。

ACALL DELAY        ;2MS的延时

SETB  P2.0

AJMP  MAIN         ;循环,等待中断

;-------

TIME:              ;中断处理程序

PUSH  Acc

MOV   TH0,#3CH     ;重新赋初值

MOV   TL0,#0B0H

DJNZ  R0,RETURN

MOV   R0,#14      ;判断是否到1秒。

MOV   A,SEC

INC   A           ;秒中存放的数据加1

MOV   SEC,A

CJNE  SEC,#09H,NEXT ;

MOV   SEC,0

NEXT:

AJMP  RETURN

;-------------------

DELAY: ;延时子程序2MS

MOV   R1,#0AH

DELAY1:

MOV   R2,#C8H

DELAY2:

DJNZ  R2,$

DJNZ  R1,DELAY

RET

;-----

RETURN:

POP   Acc

RETI

;数字编码表

#TAB: DB 3FH,06H,5BH,4FH,66H

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

P1端口连接到一个数码管(共阴极):

SECOND EQU 30H

TCOUNT EQU 31H

ORG 00H

LJMP START

ORG 0BH

LJMP INT0X

START: MOV SECOND,#00H

MOV A,SECOND

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A

MOV TCOUNT,#00H

MOV TMOD,#01H

MOV TH0,#(65536-50000) / 256

MOV TL0,#(65536-50000) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

INT0X:

MOV TH0,#(65536-50000) / 256

MOV TL0,#(65536-50000) MOD 256

INC TCOUNT

MOV A,TCOUNT

CJNE A,#20,NEXT

MOV TCOUNT,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,NEX

MOV SECOND,#00H

NEX:

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P1,A

NEXT: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
咸安区咸宁咸安区粮贸招待所地址在哪,我要去
求丝路嘉年华的CD?
我想建立一个DNF公会,大家帮我起个霸气的、
谁可以给我充一月黄钻 我送她4只猪
意思是什么意思,什东什么西什么
源汇区漯河双汇熟食(西京路店)地址是什么,有
是不是恨得愈深爱得就愈深呢?
如何和情人说分手,我很爱他
魔兽真三蓝宝石地图在哪下?
手机在哪个网站上冲Q币?
呼和浩特市哪里可以买到松狮幼犬
独自一人守在空荡荡的家里,怎样排迁寂寞与恐
女人本命年该准备些什么呢?
哪个医药招商网站好?
你喜欢说你女友或男友傻吗?
推荐资讯
DVD一个光盘最长能播放多长时间?
征途165法师装备需要魔减的不
换个N81手机壳!在小门脸会不会卸手机里的零
与二氧化碳,碳酸钠和石灰水都反应的物质是什
请问有没有用过 HP MINI 110-1021TU型号的机
冬天去丽江好玩吗,冬天去丽江旅游合适吗?
失眠了该怎么办呢?
我怎么才可以找到找朋友邀请我开通牧场的那条
卫滨区新乡新世纪第二幼儿园(北门)这个地址怎
怎么才能不那么怕冷
帮忙写爱情诗?
保康县襄樊豪仕餐馆地址在什么地方,想今天过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?