在keil5软件中,如何编辑注释
编辑注释用/*。。。。*/ 如下例子
/*********************************************************************************************
程序名: 占用CPU延时程序应用实例
编写人: -
编写时间:2009年9月23日
硬件支持:STC12C2052AD 12MHz
接口说明:P1接口8个LED灯
修改日志:
NO.1-
/*********************************************************************************************
说明:本程序可使单片机P1.0接口上的LED灯以1秒为周期闪烁。
/*********************************************************************************************/
#include REG51.h //通用89C51头文件
sbit LED = P1 ^ 0; //定义闪烁LED
/*********************************************************************************************
函数名:毫秒级CPU延时函数
调 用:DELAY_MS (?);
参 数:1~65535(参数不可为0)
返回值:无
结 果:占用CPU方式延时与参数数值相同的毫秒时间
备 注:应用于1T单片机时i600,应用于12T单片机时i125
/*********************************************************************************************/
void DELAY_MS (unsigned int a){
unsigned int i;
while( a-- != 0){
for(i = 0; i 600; i++);
}
}
/*********************************************************************************************/
/*********************************************************************************************/
void main (void){ //主程序
while(1){
LED = ~LED; //取LED相反状态
DELAY_MS(1000); //修改这里的数值看看会有什么变化
}
}
/*********************************************************************************************/
keilkeil 请给这段代码加下注释
sbit HC595_SCK = P0^5; // HC595 的串行输入时钟引脚
sbit HC595_RCK = P0^6; // HC595 的锁存输出时钟引脚
sbit HC595_A = P0^7; // HC595 的串行数据输入引脚
void main()
{
unsigned char i ;
unsigned int t,h;
for(i = 0;i 16;i ++) // 先输出一个16位数据,仅存入595并不显示出来
// 估计外面串接了两个595,做显示用
{
HC595_SCK = 0; // 串行输入时钟为0
if(i == 9) // 要发送的数据的0-16位中第9位为1,其他为0
HC595_A = 1; // 0000 0010 0000 0000
else
HC595_A = 0;
HC595_SCK = 1; // 串行输入时钟为1,生成需要的时钟上升沿
}
while(1) // 主循环(死循环)
{
for(i = 16;i 0;i ++) // 仍然继续发送相同的16位二进制数
// 通过这个循环,使输出的亮(或灭,根据共阴或共阳而不同)的一位,在两个数码管上循环移动
{
HC595_RCK = 0; // 输出锁存时钟为0
HC595_SCK = 0; // 串行输入时钟为0
if(i == 9) // 同上面的数据
HC595_A = 1;
else
HC595_A = 0;
HC595_SCK = 1; // 串行输入时钟为1,产生上升沿
HC595_RCK = 1; // 输出锁存时钟为1,产生上升沿
for(t = 110;t 0;t --) // 软件延时
for(h = 1000;h 0; h --);
}
}
}
keil C51中,为什么代码注释掉一行会报超内存
因为data只能是Ram中的前128个,变量超过128个时会出现ADDRESS SPACE OVERFLOW!
把有些变量声明成idata 或xdata就可以
keil uVision 软件,汇编语言注释。给下面的一段源程序注释,能注释多少就给多少。谢谢
ORG 0000H;伪指令,定义下面的指令所在地址,此句为主程序开始地址
LJMP MAIN;主程序跳转到MAIN
ORG 000BH;此为定时器0的中断服务程序入口地址
LJMP T_INT0
ORG 0030H
MAIN:MOV SP,#5FH;修改堆栈指针
MOV TMOD,#01H;定时器0工作在定时方式1
MOV TH0,#3CH ;定时器0初始化,3CB0H为50000的十六进制数,也就是定时50ms(12MHZ),如果是6MHZ则定时100ms
MOV TL0,#0B0H
MOV IE,#82H;开放定时器0中断
SETB TR0 ;启动定时器0
MOV R1,#10;软件计数10次
SJMP $;等待
T_INT0:DJNZ R1,NEXT;当定时时间到后进入此中断服务程序(由000BH跳转过来的),先判断软件计数10次到没有,没到则转到NEXT
CPL P1.1 ;如果次数到了,则共定时500ms(或1000ms),P1.1翻转一次,开始一个周期为1S(或2S)的方波。
MOV R1,#10;重新写软计数初值
NEXT:MOV TH0,#3CH;重新写定时器初值
MOV TL0,#0B0H
RETI ;中断返回
END