您现在的位置: 主页 > MCU > 单片机技术应用 > 51 单片机汇编语言:0~100 计数器 -
本文所属标签:
为本文创立个标签吧:

51 单片机汇编语言:0~100 计数器 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
;单片机计数器 0~100。;外部中断控制加减。;高于100还是100,低于0还是0。;按照设计思路,程序全面改写如下: ORG 0000H AJMP MAIN ORG 0003H AJMP TL ORG 0013H AJMP TH ORG 0050HMAIN: M

;单片机计数器 0~100。

本文引用地址: http://www.21ic.com/app/mcu/201806/764366.htm

;外部中断控制加减。

;高于100还是100,低于0还是0。


;按照设计思路,程序全面改写如下:


ORG 0000H

AJMP MAIN

ORG 0003H

AJMP TL

ORG 0013H

AJMP TH

ORG 0050H

MAIN:

MOV SP, #5FH

SETB EA

SETB EX0

SETB EX1

SETB IT0

SETB IT1

SETB P1.0 ;LED灯

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

MOV R1, #30 ;R0初始值设为30

MAIN1:

CALL ZKG1

CALL CONV0

CALL SCAN1

JMP MAIN1

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

ZKG1:

JB P1.4, ZKG2 ;P1.4连接总开关

CLR P1.0

MOV P0, #255

SJMP ZKG1

ZKG2:

SETB P1.0 ;LED灯

RET

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

TH: INC R1

CJNE R1, #101, TS1

MOV R1, #100

TS1:RETI

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

TL: DEC R1

CJNE R1, #255, TX1

MOV R1, #0

TX1:RETI

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

CONV0:

MOV DPTR, #TAB

MOV R0, #33H

MOV A, R1

MOV B, #100

DIV AB

MOVC A, @A + DPTR

MOV @R0, A

INC R0

MOV A, B ;B为余数

MOV B, #10

DIV AB

MOVC A, @A + DPTR

MOV @R0, A

INC R0

MOV A, B ;B为余数表示个位数

MOVC A, @A + DPTR

MOV @R0, A

RET

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

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

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

SCAN1:

MOV R0, #33H

MOV R5, #04H

MOV R4, #3

LOOP4:

MOV P0, @R0

MOV P2, R5

MOV A, R5

RR A

MOV R5, A

INC R0

DJNZ R7, $

DJNZ R7, $

ANL P2, #0

DJNZ R4, LOOP4

RET

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

END


;直到最后,提问者才给出电路。


;按此电路,仿真效果如下:





              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 51 单片机汇编语言:0~100 计数器 -
 

"51 单片机汇编语言:0~100 计数器 -"的相关文章

网站地图

围观()