}
5-10 试用C51语言编写程序实现将片内RAM 30H、31H单元存放的2字节十六进制数转换为十进制数存于21H为首的单元中。(设低地址存放高位字节)
#include#include
#define uint unsigned int #define uchar unsigned char uchar digit_h _at_ 0x30; uchar digit_l _at_ 0x31; uchar *p; int buf; void H_D() {
buf= digit_h *256; buf=buf+ digit_l;
for(p=0x25;p>=0x21;P--) {
*p=buf; buf=buf/10; } }
5-11试用C51语言编写程序实现将0-9,A-F十六进制数转换成相应的ASCII码。
#include
void H_A(unsigned char X) {
if(X<=9) X=X+0x30; else
X=X+0x37; return X }
5-12参见图5-3,通过单片机的并行口P1,控制8路LED灯轮流且循环点亮。引脚为0时灯亮,为1时灯熄灭。
#include
13
#incldueunsigned char i=0x7f; void main() {
while(1) {
P1=i; delay();
i=_cror_(i,1); } }
void delay() {