【单片机】请用C语言写一个超级简单的单片机程序。万分感谢!!

(1)在片内RAM的10H单元存放一个8位无符号二进制数,要求将其每一位转换成相应的ASCII码,并以高位在前,低位在后的顺序依次存放到片内RAM以11H单元为首的连续单元中,编写该程序的C51程序(C语言)。

以下程序为该程序的汇编程序(请编写C51程序)
ORG 0000H
AJMP START
ORG 0100H
START:
MOV R2,#08H
MOV R0,#10H
MOV A,@R0
INC R0
XUNHUAN:
RLC A
JC LOOP1
MOV @R0,#30H
AJMP LOOP2
LOOP1:
MOV @R0,#31H
LOOP2:
INC R0
DJNZ R2, XUNHUAN
LOOP:SJMP LOOP
END

提示:要判断一个字节中第i位(i=7-0)的值是0或1,可用第i位值为1的字节数与之按位相与,若结果为0,表明该位为0,反之为1。例如:数0x82,即10000010,要判断第7位的值,可将0x82与0x80(即10000000,第7位为1)按位相与,结果不为0,所以0x82的第7位值为1。.
要在片内RAM 0x11地址连续存放转换后的ASCII码,可定义一个指向无符号单字节数的指针,将该指针的初值设为0x11,后在循环体内加1即可。

高级语言,使用的都是变量。

一般来说,都不指定某个变量的 RAM 的具体地址号码。
所以,C,不适宜针对 RAM 的具体地址单元进行操作。追问

嗯。。。但是你可以用C语言写一下吗?

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-07
既然你都把C02的原程序写在后面了,就不需要 include“24c02.h”了,不过程序前面要对C02的函数进行声明。
I never think of the future. It comes soon enough.
相似回答