求AT89S52单片机做99秒码表汇编程序

求AT89S52单片机做99秒码表汇编程序,第1张

我做的只要两个数码管显示

99

秒的,不用6个数码管,如果有需要帮你改下,

你那个设计的功能说的还不够明白。还有就是你那个数码管是怎么连的啊?共阴的还是共阳的,想当初做数码管显示时间,就花了3天的时间才把数码管点亮。

用AT89S52设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键和一个“快加”按键(每10ms快速加一)。

ORG

0000H

AJMP

MAIN

主程序入口地址

ORG

0003H

AJMP

ZHONGDUAN0

中断0入口地址

ORG

000BH

AJMP

DINGSHI

定时器T0入口地址

ORG

0013H

AJMP

ZHONGDUAN1

中断1入口地址

ORG

001BH

AJMP

DINGSHI1

定时器T1入口地址

ORG

0030H

//主程序:

MAIN:

MOV

TCON,#05H

主程序开始

外部中断跳变模式

MOV

TMOD,#11H

定时器0,1模式1

MOV

IE

,#8FH

开总中断,中断0,1,定时器0,1

MOV

DPTR,#TAB

MOV

R1

,#00H

MOV

R2

,#00H

MOV

R3

,#40

循环次数40

MOV

TL0

,#2CH

置初值,定时25MS

MOV

TH0

,#0CFH

MOV

TL1

,#78H

置初值,定时10MS

MOV

TH1

,#0ECH

CLR

TR0

关定时器

CLR

TR1

//暂停键K3,快加键K4程序

HERE:JB

P1.0,HERE

SHOW:CLR

TR1

CLR

TR0

ACALL

XIANSHI

KUAIJIA:JB

P1.2,KUAIJIA

等待P1.2为0

快加

CLR

TR0

SETB

TR1

HERE3:

JNB

P1.2,HERE3

AJMP

HERE

//外部中断INT0子程序-----计时按键K1子程序

ZHONGDUAN0:

SETB

TR0

计时按键

RETI

//外部中断INT1子程序----复位按键K2子程序

ZHONGDUAN1:CLR

TR0

复位按键

CLR

TR1

MOV

12H,#00H

MOV

11H,#00H

ACALL

XIANSHI

调用显示子程序

MOV

R1,#00H

MOV

R2,#00H

RETI

//加一子程序

JIA1:

INC

R1

加1子程序

CJNE

R1,#0AH

,LOOP

判断是否到表尾

MOV

R1,#00H

INC

R2

CJNE

R2,#0AH,LOOP

MOV

R2,#00H

LOOP:

MOV

12H,R1

重新赋值

MOV

11H,R2

RET

//显示子程序

XIANSHI:MOV

R7,#02H

2个数码管显示子程序

MOV

R0,#12H

LOOP5:

MOV

R6,#08H

8位2进制数

MOV

A

,@R0

MOVC

A

,@A+DPTR

LOOP6:

RLC

A

循环左移

CLR

P3.1

MOV

P3.0,C

SETB

P3.1

DJNZ

R6,LOOP6

DEC

R0

DJNZ

R7,LOOP5

RET

定时器T0子程序

DINGSHI:MOV

TL0,#2CH

定时子程序

MOV

TH0,#0CFH

DJNZ

R3,LOOP7

ACALL

JIA1

调用加1子程序

ACALL

XIANSHI

调用显示子程序

MOV

R3,#40

LOOP7:

RETI

定时器T1子程序

DINGSHI1:MOV

TL1,#78H

置初值,定时10MS

MOV

TH1,#0ECH

CLR

TR0

SETB

TR1

MOV

12H,R1

MOV

11H,R2

JNB

P1.0,SHOW

ACALL

JIA1

ACALL

XIANSHI

LOP7:

RETI

TAB:

DB

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

END

MBIME是什么进程?\x0d\x0a \x0d\x0a答:MB是码表(词库)的意思,IME是微软的IME输入法机制(模式),在Win9X、WinXP等32位 *** 作系统盛行年代,输入法运行文件的扩展名为IME,输入法词库文件的扩展名是MB。\x0d\x0a \x0d\x0a所以说MBIME就是“IME机制输入法码表”进程的意思。\x0d\x0a \x0d\x0aIME 是输入法编辑器(Input Method Editor) 的英文缩写(IME),它是一种专门的应用程序, 用来输入代表东亚地区书面语言文字的不同字符。\x0d\x0a \x0d\x0a输入法运行为多线程,在新的Win7系统中,如果打开多个应用程序让输入法加载,那么每多出一个应用程序,就会多出一个MBIME进程,这是Win7新版不能理想兼容WinXP程序的缘故。\x0d\x0a(在WIN7下,CTFMON.EXE这个XP中管理输入法的程序已放弃不用,而传统输入法的接口多是按XP中编程接口来写的,在新系统下就出现了这个重复的MBIME进程──不碍事有点烦)\x0d\x0a\x0d\x0a64位引进了TSF机制,由于软件向下兼容的公约,IME机制仍然会被长期兼容。\x0d\x0a \x0d\x0aXP下的32位全拼、双拼、郑码输入法,以及广泛使用的86王码五笔、极品五笔、念青五笔、海峰五笔输入法,在Win7下使用时,都会产生MBIME进程。\x0d\x0a \x0d\x0a对于MBIME进程,因为符合旧的IME机制,瑞星、卡巴斯基、金山、360等等安全软件,都不会做木马或病毒提示的(如果谁提示木马或病毒,那就惹出笑话,意味着自身的不专业)。

Code segment

assume cs:Code, ds:Code

org 100h

start:

push cs

pop ds

mov ax, 3

int 10h

mov ax, 0B800h

mov es, ax

mov si, offset ASCII

mov di, 38h

cld

mov cx, 19h

@116:

lodsb

stosb

mov al, 24h

stosb

loop @116

mov di, 1E0h

xor dx, dx

mov cx, 100h

@125:

call sub_190

mov al, dl

stosb

mov al, 1Ah

stosb

inc dl

loop @125

mov dx, 1400h

mov bh, 0

mov ah, 2

int 10h - VIDEO - SET CURSOR POSITION

DH,DL = row, column (0,0 = upper left)

BH = page number

mov ah, 0

int 16h KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY

Return: AH = scan code, AL = character

mov ah, 4Ch

int 21h DOS - 2+ - QUIT WITH EXIT CODE (EXIT)

sub_190:

push cx

mov al, 20h

stosb

inc di

mov al, dl

mov cl, 4

shr al, cl

or al, 30h

cmp al, 3Ah

jb short @1A3

add al, 7

@1A3:

stosb

inc di

mov al, dl

and al, 0Fh

or al, 30h

cmp al, 3Ah

jb short @1B1

add al, 7

@1B1:

stosb

inc di

mov al, 20h

stosb

inc di

pop cx

ret

ASCII db ' ASCII CODES TABEL $$',0

Code ends

end start


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存