单片机程序设计题,用c或汇编编程都可以。请把程序编写出来!谢谢!

1.从ROM2000H开始有长度为100单元的码表,要求从中找出字符A并将其存放地址存入内部RAM区50H及51H(字符A的ASCII码为65H)。
2.在RAM的30H至4FH每个单元都存储着一个8位无符号数,求其中的奇数及偶数的个数,如果奇数个数大于偶数个数则将P1口置FFH,否则将P1口置00H。

这个很简单的流水灯程序呀,

LED EQU 30H
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
        MOV LED,#0FEH
        MOV R7,#8
LOOP:
        MOV P0,LED
        LCALL DELAY
        MOV A,LED
        RL A
        MOV LED,A
        DJNZ R7,LOOP
        MOV LED,#7FH
        MOV R7,#8
LOOP1:
        MOV P0,LED
        MOV A,LED
        RR A
        MOV LED,A
        DJNZ R7,LOOP
        SJMP MAIN
DELAY:
        MOV R2,#250
DELAY1:
        MOV R3,#250
        DJNZ R3,$
        DJNZ R2,DELAY1
        RET
        END

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-19
网友采纳答案,是错误的。
碧血玉叶花|来自团队百度贴吧达人团,这是个骗子。

1.从ROM2000H开始有长度为100单元的码表,
要求从中找出字符A并将其存放地址存入内部RAM区50H及51H(字符A的ASCII码为65H)。

MOV DPTR, #2000H
MOV R2, #100
LP:
CLR A
MOVC A, @A + DPTR
CJNE A, #65, NEXT
SJMP FOUND
NEXT:
INC DPTR
DJNZ R2, LP

FOUND:
MOV 50H, DPH
MOV 51H, DPL

END

2.在RAM的30H至4FH每个单元都存储着一个8位无符号数,求其中的奇数及偶数的个数,
如果奇数个数大于偶数个数则将P1口置FFH,否则将P1口置00H。

MOV R0, #30H
MOV R2, #16
MOV R3, #0
MOV R4, #0
LP:
MOV A, @R0
JNB ACC.0, OU ;末位为零则是偶数
INC R3 ;奇数个数加一
SJMP NEXT
OU:
INC R4 ;偶数个数加一
NEXT:
INC R0
DJNZ R2, LP
;
MOV A, R3
CLR C
SUBB A, R4 ;个数相减
JNC QI ;无借位则奇数多于偶数
MOV P1, #00H
SJMP EXIT
QI:
MOV P1, #0FFH
EXIT:

END

更多题解可见:

http://blog.163.com/asm_c/本回答被提问者采纳
相似回答