共阴极数码管0到99汇编语言程序怎么编

共阴极数码管0到99汇编语言程序怎么编,第1张

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-10000)

MOV TL0,#LOW(65536-10000)

SETB ET0

SETB EA

MOV R0,#9

MOV R1,#9

MOV R2,#0

MOV R3,#9

CLR 00H

CLR 01H

LOOP:

JB P1.0,LP01

JNB P1.0,$

SETB TR0

CLR 01H

SJMP LOOP0

LP01:

JB P1.1,LP02

JNB P1.1,$

SETB 01H

SJMP LOOP0

LP02:

JB P1.2,LOOP0

JNB P1.1,$

CLR TR0

MOV P3,#0FDH

MOV P2,#0

MOV P3,#0FEH

MOV P2,#0

SJMP MAIN

LOOP0:

JB 00H,LOOP1

MOV A,R0

SJMP LOOP2

LOOP1:

MOV A,R1

LOOP2:

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV R3,A

SJMP LOOP

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-10000)

MOV TL0,#LOW(65536-10000)

SETB TR0

JB 01H,T0C

INC R2

T0C:

CPL 00H

MOV A,R3

JB 00H,T001

MOV P3,#0FDH

MOV P2,A

SJMP T002

T001:

MOV P3,#0FEH

MOV P2,A

T002:

MOV A,R2

CJNE A,#100,T0E

MOV R2,#0

MOV A,R0

JZ T003

DEC R0

SJMP T0E

T003:

MOV A,R1

JZ T004

DEC R1

MOV R0,#9

T0E:

RETI

T004:

CLR TR0

RETI

TABLE: 共阴极数码管显示代码表

DB3FH,06H,5BH,4FH,66H 01234

DB6DH,7DH,07H,7FH,6FH 56789

END

注册电气工程师考试流程 :

一、考试分为基础考试和专业考试。参加基础考神罩基试或专业考试的考生应分别在当次考试内通过全部应试科目;

二、基础考试分2个半天进行,各为4小时;

基础考试上午为统一试卷,下午为分专业试卷(发输变电专业和供配电专业试卷相同率在95%以上,有些题目侧重点不同);

专业考试分专业知识和专业案例两部分内容,每部分内容均分2个半天进行,每个半天均为3小时;

专业考试均分为2天,第一天为专业知识游谨考试,成绩上、下午合并计分;第二天为专业案例考试,成绩闷迅上、下午合并计分;

考试时间每天上、下午各3小时。专业考试为非滚动管理考试,考生应在一个考试年度内通过全部考试。第一天为客观题,上、下午各70道题,其中单选题40题,每题分值为1分,多选题30题,每题分值为2分,试卷满分200分;第二天为案例题,上午25道必答题,下午25道必答题(对于有选择作答的25道必答题,如考生在答题卡和试卷上作答超过25道题,按题目序号从小到大的顺序对作答的前25道题评分,其他作答题无效),每题分值为2分,试卷满分100分。

参考来源:http://wenku.baidu.com/link?url=Td5Jr0asMVUwxazV9kdfshVyxLd-jqhtE-y3tmgdu52Jw__hr3Mcv1oe6x1JzbSB5I9mqYl9g5SgVR7Pqdd7QrK3jD20mB8EcbbDBzCLwhC

assume cs:code, ds:data

data segment

num dw 0

ten dw 10

tmp dw 0

buffer db 256 dup(?)

data ends

code segment

start: mov ax, data

mov ds, ax

call input 输入

call crlf 输出一个换行

lea bx, buffer bx为存储地址

mov ax, num

call d2b 10进制到槐薯2进制转型手换

mov ah, 9 输出

mov dx, bx

int 21h

call crlf 输出一个换行

mov ax, num

call d2h 10进制到16进制转换

mov ah, 9

mov dx, bx

int 21h

mov ax, 4c00h

int 21h

input: finit 输入过程,结果保存在num里

fldz

_1L1: mov ah, 1

int 21h

cmp al, 13

jz done1

xor ah, ah

sub al, '0'

mov tmp, ax

fimul ten

fiadd tmp

jmp _1L1

done1: fistp num

ret

d2b: xor si, si 10进制到2进制转换

xor di, di

mov dx, 8000h

jmp _2L2

_upd1: inc si

_2L1: shr dx, 1

jz done2

_2L2: test dx, ax

jnz _2ones

cmp di, 0

jz _2L1

mov byte ptr [bx+si], '0'

jmp _upd1

_2ones: mov byte ptr [bx+si], '1'

mov di, 1

jmp _upd1

done2: cmp si, 0

jg _2L4

mov byte ptr [bx+si], '0'

inc si

_2L4: mov byte ptr [bx+si], 'B'

mov byte ptr [bx+si+1], '$'

ret

d2h: mov cl, 4 10进制铅租者到16进制转换

xor si, si

xor di, di

jmp _3L3

_3L1: inc si

_3L2: shl ax, cl

jz done3

_3L3: mov dx, ax

and dx, 0f000h

rol dx, cl

cmp di, 0

jnz _3L4

cmp dx, 0

jz _3L2

mov di, 1

_3L4:

cmp dx, 10

jge _3acs

add dl, '0'

mov [bx+si], dl

jmp _3L1

_3acs: sub dx, 10

add dx, 'A'

mov [bx+si], dl

jmp _3L1

done3: cmp si, 0

jg _3L5

mov byte ptr [bx+si], '0'

inc si

_3L5:

mov byte ptr [bx+si], 'H'

mov byte ptr [bx+si+1], '$'

ret

crlf: mov ah, 2 输出一个回车

mov dl, 13

int 21h

mov dl, 10

int 21h

ret

code ends

end start


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存