用汇编语言实现一个电子秒表

0-59秒,到了60秒后变为0重新开始,急需!!谢谢了

段码表和接口定义需要自己修改 主程序就是这样 加电后直接开始记秒 没有按键控制

diyi equ 31h
dier equ 32h
cou equ 33h
diyiwei bit p2.4
dierwei bit p2.5
org 0
ajmp start
org 0bh
ajmp time0
org 30h
start:mov sp,#5fh
mov dptr,#table
mov tmod,#01h
mov th0,#3ch
mov tl0,#0b0h
mov diyi,#0
mov dier,#0
mov cou,#0
setb ea
setb et0
setb tr0
main: lcall xianshi
ajmp main
xianshi:mov r1,#20
loop: mov a,diyi
movc a,@a+dptr
mov p0,a
clr diyiwei
lcall dely1ms
setb diyiwei
mov a,dier
movc a,@a+dptr
mov p0,a
clr dierwei
lcall dely1ms
setb dierwei
djnz r1,loop
ret
time0: push acc
push psw
inc cou
mov a,cou
cjne a,#20,over
mov cou,#0
inc diyi
mov a,diyi
cjne a,#10,over
mov diyi,#0
inc dier
mov a,dier
cjne a,#6,over
mov dier,#0
over: mov th0,#3ch
mov tl0,#0b0h
pop psw
pop acc
reti
dely1ms:mov r7,#250
dl1: nop
nop
djnz r7,dl1
ret
table:db 28h,0ebh,32h,62h,0e1h,64h,24h,0eah,20h,60h
end
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言编写电子秒表代码
秒表可以用定时器来实现,举例如下:KEYVALEQU 30H DATEQU 33H SCANLEDEQU 39H CLKEQU 77H SECEQU 78H SEC1EQU 79H SEC2EQU 7AH DOTBIT 00H ORG 0000H LJMP MAIN ORG 0003H LJMP EXTINT0 ORG 000BH LJMP T0ISR;50ms定时 ORG 001BH LJMP T1ISR;扫描显示 ORG 0030H MAIN:MOV SP,#5F...

汇编语言 秒表程序设计
Add [si+02],01 ;十分之一秒加1 cmp [si+02],0a ;判断是否大于10 jz A6 jmp A9 A6:mov [si+02],00 add [si+01],01 ;秒位加1 cmp [si+01],0a ;判断是否大于10 jz A7 jmp A9 A7:mov [si+01],00 add [si],01 ;十秒位加1 cmp [si],0...

超高悬赏!汇编语言 设置一个电子表(00:00:00 这种形式的秒表)在屏幕...
电子秒表仿真实例 供参考

汇编语言 秒表程序设计
MAIN1:MOV P1,A AJMP MAIN1 EX0INT:CPL TR0 RETI EX1INT:JB TR0,EXRTI MOV A,#0 EXRTI:RETI T0INT:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R0,RTI MOV R0,#20 INC A CJNE A,#0,RTI MOV A,#0 RTI:RETI END

分别用汇编语言,定时器T0方式二,制作LED数码管显示的秒表,计数范围0.1...
分别用汇编语言,定时器T0方式二,制作LED数码管显示的秒表,计数范围 0.1~0.9。2位数码管,只有一个键。第一次按下计时功能键,开始计数,并显示;第二次按下计时功能键,停止计时,并计算两次按下计时功能键的时间并显示,第三次按下,清零,如果计时到9.9,停止计时,再按计时功能键清零。类...

用汇编语言编写一个时钟程序,能显示时分秒的,还要有秒表就是计时器的...
SPACE DB 1000 DUP (' ')PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ')DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ')DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ')DBUFFER DB 8 DUP (':'),12 DUP (' ')DBUFFER1 DB ...

AT89C51单片机用4位数码管做秒表,要求用动态扫描做,汇编语言
;汇编时钟程序。4位共阳管。P0口段码,P2.0~P2.3位码。显示毫秒和秒。三个按键一个控制时钟开始走,一个控制暂停和继续。。。一个按键清0 ;12M晶振 2011 04 20 调试完成 STRT EQU P3.2 STP EQU P3.3 CLRR EQU P3.5 ORG 00H SJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV ...

任务要求 用数码管显示60秒的秒表设计(单片机AT89C51)
用按键控制启停。--刚开机时,是启动,还是停止?3.若启动后计时没到60秒,按键停止后,则重新计时。--按键停止后,立即就重新计时?--是不是保持显示,等待再次按键,再重新计时?--否则,按键的作用,就不是停止了,而是重新计时了。4.要求用汇编语言 --这个可以办到。

分别用汇编语言和C语言设计: 采用中断方式,利用定时器进行0-9秒表计数...
uchar num,dat;void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;num++;if(num>=20){ num=0;dat++;dat%=10;P0=table[dat];} } main(){ TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;num=0;dat=0;while(1);} ...

51单片机 秒表设计
uchar bai,shi;uint a1,a2;sbit D1=P3^0;sbit D2=P3^1;sbit D3=P3^2;sbit D4=P3^3;sbit key=P3^5;sbit key1=P3^7;bit j;uint y;void main(){ TMOD=0x01;TH0=(65536-10000)\/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;bai=0;shi=0;while(1){ if(key==0)...

相似回答