导航:首页 > 操作系统 > 单片机9到0倒计时程序汇编语言

单片机9到0倒计时程序汇编语言

发布时间:2022-08-20 18:01:40

单片机 我有一篇从99到0倒计时的汇编语言的程序, 求大家帮我加入3个开关, 如下图

程序写的可以,但是在硬软件资源使用上不科学。
1.位寻址寄存器20H~2FH应专做为寻址用,平时的字节寄存器应从30H开始不较好。
2.P3口各个引脚都有第二功能,能不用尽量不用。比如这次的电路:数码管a~g用P2口,位选用P1.0~P1.1,按键用P1.2~P1.4,完全够用。
3.汇编编程要适当添加注释,提高程序可读性!

我是在你的程序基础上改的,用注释标注了!

② 单片机 9-0的倒计时,程序改错!

那段码也不对呀,是什么数码管,共阳,共阴的,什么都不对
unsigned int DuanMa[10]={0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x00,0x04};

这是从哪得来的?
用unsigned char 型,那些数据都 不对。

for(i=10;i>0;i--) //最小有0吧
{
P2=DuanMa[i-1]; //是这样的,才是倒计时,最小是0
Delay(1);
}

③ 单片机,我有一个从99倒计时到00的汇编语言的程序,求好心人帮忙解释下这些程序的意思,谢谢了!!

ORG 0000H
START:
MOV P3, #0 ;P3口清0
MOV DPTR, #TABLE ;表首地址送DPTR
MOV TMOD, #01H ;定时器0设为模式1
SETB TR0 ;开启定时器
LP0:MOV R4, #100 ;R4赋值100
LP1:MOV R5, #20 ;R5赋值20
LP2:MOV TH0, #3CH ;定时器赋初值50毫秒定时参数
MOV TL0, #0B0H ;
LP3:CALL DISP ;调显示
JNB P1.0, K1 ;按键1有效转K1
JNB P1.1, K2 ;按键2有效转K2
JNB P1.2, K3 ;按键3有效转K3
JNB TF0, LP3 ;定时器未溢出转LP3
CLR TF0 ;定时器溢出清溢出标志
DJNZ R5, LP2 ;1秒钟未到转LP2
DJNZ R4, LP1 ;100秒未到0转LP1
JMP LP0 ;转LP0
K1: CALL DISP ;调显示
JB P1.0, LP3 ;P1.0为1转LP3
SETB TR0 ;启动定时器0
JMP LP3 ;转LP3
K2: CALL DISP ;调显示
JB P1.1, LP3 ;P1.1为1转LP3
CLR TR0 ;停止定时器0
JMP LP3 ;转LP3
K3: CALL DISP ;掉显示
JB P1.2, LP3 ;P1.2为1转LP3
CLR TR0 ;停止定时器0
MOV R4, #1 ;R4赋值1
JMP LP3 ;转LP3
;---------------------------
DISP:
MOV A, R4 ;剩余时间送A
DEC A ;A-1
MOV B, #10 ;B送10
DIV AB ;时间除10
MOVC A, @A+DPTR ;十位数查表
MOV P2, A ;结果送P2
SETB P3.1 ;十位数位置1
DJNZ R7, $ ;延时
DJNZ R7, $ ;延时
CLR P3.1 ;十位数位清0
MOV A, B ;个位数送A
MOVC A, @A+DPTR ;查表
MOV P2, A ;结果送P2
SETB P3.0 ;个位数位置1
DJNZ R7, $ ;延时
DJNZ R7, $ ;延时
CLR P3.0 ;个位数位清0
RET
TABLE:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H
DB 92H, 82H, 0F8H, 80H, 90H
END

④ 用51单片机控制数码管9到0倒计时用数组写

要共阴极的
还是共阳极的?
unsigned
char
code
DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};共阴
uint8
code
table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
共阳

⑤ 单片机 用51单片机显示一个数码管轮流显示9到0再从0到9每隔一秒出现一次(用汇编语言)谢谢各

ORG 0000H

MOV DPTR,#TAB

MOV P0,#0FFH

LOP:

LOOP0:MOV 20H,#9

MOV R0,#10

LOOP1:MOV A,20H; 9-0

MOVC A,@A+DPTR

MOV P0,A

DEC 20H

CALL DELL;YANSHI

DJNZ R0,LOOP1

MOV 20H,#0;0-9

MOV R0,#10

LOOP2:MOV A,20H; 0-9

MOVC A,@A+DPTR

MOV P0,A

INC 20H

CALL DELL;YANSHI

DJNZ R0,LOOP2

AJMP LOP

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DELL:MOV R7,#250;yanshi,SHIZHONG:1WEIMIAO,YUEWEI1s

DEL1:MOV R6,#200

DEL2:MOV R5,#10

DEL3:DJNZ R5,DEL3

DJNZ R6,DEL2

DJNZ R7,DEL1

⑥ 请编写一个完整的汇编语言程序(包括伪指令部分),可。

ORG 0000H
JMP BEGIN
ORG 0030H
TABLE: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
DELAY: MOV R5,#20
LOOP4: MOV R6,#50H ;延时20X20ms
LOOP5: MOV R7,#100
DJNZ R7,$
DJNZ R6,LOOP5
DJNZ R5,LOOP4
RET
;---------------------------------------
BEGIN:
MOV R4,#9
MOV DPTR,#TABLE
LOOP:
MOV A,R4
LOOP1:
MOVC A,@A+DPTR ;找到相应位显示代码
MOV P1,A
LCALL DELAY ;调用延时子程序
JNZ,LOOP2
MOV R4,#10
LOOP2:
DEC R4
SJMP LOOP
END

⑦ 求用汇编语言编写9-0倒计时

CODESEGMENT
ASSUMECS:CODE
ORG100H
START:PUSHCS
POPDS
PUSHCS
POPES
MOVCX,10
MOVDL,'9'
@00:
MOVAH,2
INT21H
CALLDELAY1
DECDL
LOOP@00
MOVAH,9
LEADX,MSG
INT21H

MOVAH,4CH
INT21H

MSGDB13,10,'thetimeisover!$'

DELAY1PROCNEAR
PUSHAX
PUSHCX
PUSHDX
PUSHSI
PUSHDI
PUSHF
MOVAH,0
INT1AH
MOVSI,CX
MOVDI,DX
@DELAY:
MOVAH,0
INT1AH
SUBDX,DI
SBBCX,SI
CMPDX,18
JB@DELAY
POPF
POPDI
POPSI
POPDX
POPCX
POPAX
RET
DELAY1ENDP

CODEENDS
ENDSTART

阅读全文

与单片机9到0倒计时程序汇编语言相关的资料

热点内容
ubuntu1404安装php 浏览:628
lua能编译吗 浏览:106
思仙怎么看服务器 浏览:656
php微信图片防盗链 浏览:796
安卓1怎么读音 浏览:287
农业app怎么开通快捷支付 浏览:908
pythonredisdict 浏览:383
如何攻击别人网赌服务器 浏览:878
隐私与应用加密的图案密码 浏览:34
陈情令王一博解压 浏览:35
c编译器使用说明 浏览:705
郑州前端程序员私活有风险吗 浏览:14
小型螺杆机压缩机 浏览:518
成人解压最好的方法 浏览:50
最小制冷压缩机 浏览:490
xampp支持python 浏览:367
深圳周立功单片机 浏览:61
圆上点与点之间角度算法 浏览:869
怎么知道微信关联了哪些app 浏览:702
android事件驱动 浏览:888