单片机 编程题 请帮帮忙,小妹刚学,很多不懂,请把程序写出来啦!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:18:01
1.设一字符串存放在内部RAM以20H为首址的连续单元中,字符串以回车符CR(‘CR’=0DH)作为结束标志。标示统计该字符串字符B(‘B’=42H)的个数,并将其存入外部RAM的40H单元中。
2.有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存入片内RAM的21H单元。
3.设a存放在30H单元中,b存放在31H单元中,要求按下式计算Y值并将结果Y存入32H单元中。当a>=0时,Y=a-b,当a<=0时,Y=a+b.
4. 用定时器T1产生一个1000Hz的方波,由P1.1引脚输出,fosc=6MHz
5.设时钟频率为6MHz,试编写利用T0产生500μs定时的程序。

1、 MOV R0,#20H
MOV R2,#00H
M: MOV A,@R0
CJNE A,#00H,HERE
SJMP END0
HERE: CJNE A,#42H,MA
INC R2
MA: INC R0
SJMP M
END0: END

2、 MOV A,20H
MOV B,A
MUL AB
MOV 21H,A
3、 MOV A,30H
CJNE A,#00H,T
MOV R3,31H
JMP END0
XIAO: CLR C
ADD A,B
MOV R3,A
JNC END0
MOV R2,#01H
ENDO: END

4、 MOV TMOD,#10H
SETB TR1
LOOP: MOV TH1,#0BEH
MOV TL1,#010H
JNB TF1,$
CLR TF1
CPL P1.1
SJMP LOOP
5、 MOV TMOD,#02H
MOV TH0,#06H
MOV TL0,#06H
SETB TR0
LOOP: JBC TF0,转
SJMP LOOP
参考一下吧,很多单片机书上应该都有这样的例子,最好看一下啊呵呵

小妹也太黑了,5个程序给30分?
这样吧我写一个,剩下的你自己弄吧,
另外你没有给出单片机型号,假设是MCS51
手边没有指令手册,对付着编吧