单片机程序设计题,用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/本回答被提问者采纳

单片机应用题,用c或汇编编程都可以。请把程序编写出来!谢谢!
用定时器1作定时,编写有关程序,设fosc=6MHz。用c或汇编编程都可以。正确程序如下:ORG 0000H MOV TMOD, #10H MOV TH1, #3CH MOV TL1, #0B0H SETB TR1 MOV R0, #30H MOV R1, #10H MOV R2, #5LP1: JNB TF1, $ CLR TF1 ...

单片机应用题,用c或汇编编程都可以。请把程序编写出来!谢谢!
INT0(P3.2)、INT1(P3.3)接开关S1与S2,当开关合上时INT0与INT1即接地。当两个开关都断开时单片机控制P1口所接的八个LED灯一秒钟亮一秒暗地闪烁,当开关S1合上D1~D4LED灯亮另四个暗,当S2合上D5~D8LED灯亮另四个暗(如果S1、S2同时合上S1有优先控制权),focs=6MHZ,要求定时器完成1...

单片机keil c语言和汇编混合编程
#pragma ASM\/\/汇编嵌套开始 MOV P1,#0FFH \/\/汇编嵌套结束 #pragma ENDASM\/\/汇编嵌套开始 while(1); }第二步:选中 Project 窗口中的 C 文件,比如 test.c ,并右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使复选框的打钩由灰...

在C51单片机中编写8个开关控制8个小灯的程序,用C语言和汇编语言两种编写...
sbit KEY1 = P1^0;sbit KEY2 = P1^1;sbit LED1 = P2^0;sbit LED2 = P2^1;void main(void){ \/\/有必要的话,这里先对单片机各类寄存器进行初始化,这里因为简单,未做相关初始化工作 for(;;){ if(KEY1==0)\/\/如果按键1被按下 {LED1=0;}\/\/开启LED1灯 else{LED1=1;}\/\/否则关闭...

这个单片机程序该怎么用c语言写 说说每一步是干什么的 谢谢
uchar kbscan(void) \/\/矩阵键扫描程序 { unsigned char sccode,recode;P3=0x0f; \/\/发0扫描,列线输入 if ((P3 & 0x0f) != 0x0f) \/\/有键按下 { delay(20); \/\/延时去抖动 if ((P3&0x0f)!= 0x0f){ sccode = 0xef; \/\/逐行扫描初值 while((sccode&0x01)!=0)...

51单片机时钟程序,C语言,汇编都行
Set_RTC(); \/\/写入时钟值,如果使用备用电池时候,不需要没每次上电写入,此程序应该屏蔽 while(1){ if(ReadRTC_Flag){ ReadRTC_Flag=0;Read_RTC();l_tmpdisplay[0]=l_tmpdate[2]\/16; \/\/数据的转换,因我们采用数码管0~9的显示,将数据分开 l_tmpdisplay[1]=l_tmpdate[2]&0x...

单片机C语言程序设计题
这是两个题啊。哈哈好做,第一个有C语言的冒泡法排序,第二个用中断,读,输出就可以

用C语言编写8051单片机程序
second++;P2=~P2;\/\/流水灯全部以1S速度闪烁 if(second==3)stop=1;\/\/判断3秒时间到,关闭中断,停止闪烁,数码管熄灭 } } rate++;P0=0XFF;\/\/消隐 if(rate==3)rate=0;P0=num_disp[buf[rate]];P1=bit_sel[rate];buf[0]=one;buf[1]=ten;\/\/因为百位没有变,所以不用赋值 } ...

8051单片机的汇编程序编程问题!!!
6Mhz,也就是指令周期是2us,0.5ms需要250个计数,250<256,为了速度和效率,我们让定时器1工作在自动重载模式下,也就是模式2;C语言整个程序编程如下;include <reg52.h> bit P1_2_Turn_Cnt = 0; \/\/---用于P1.2的计数翻转,因为只有两次,大可不必用unsigned char类型的 unsigned char P1_3_Turn...

求一个51单片机C语言程序编程
SBUF='C';while(TI==0);TI=0;break;} } for(i=250;i>0;i--){;} \/\/延时 } include<reg51.h> \/*乙机*\/ sbit k=P1^0;sbit P00=P0^0;sbit P03=P0^3;unsigned char NO;void main() \/*主函数*\/ { SCON=0x50; \/*设置串口为方式3,允许接收REN=1*\/ TMOD...

相似回答