原创 51实例--点亮2个led(数据类型)

2007-8-24 22:26 3225 9 9 分类: 汽车电子

/************************************************************************************
作者: 好心情
日期: 2007-08-24
描述: 点亮两个led,通过两个led点亮时间的不同,认识不同的数据类型之间的差异
************************************************************************************/
//#include 预处理文件中主要定义各种特殊功能寄存器,如果自己定义,就不需要在引用头文件了


//自定义特殊功能寄存器
sfr p1=0x90;//定义p1口,sfr为c51扩充数据类型,可以访问51内部所有特殊功能寄存器
bsfr p1_0=0x90;//定义p1.0口,同样为扩充数据类型,可访问可寻址位
bsfr p1_1=p1^1;//定义p1.1


void main()
{
 unsigned int a;//声明变量a,无符号整型0-65535
 unsigned char b;//无符号字符型0--255


 do
 {
  for(a=0;a<65535;a++) //控制led1
   p1_0=0;//for循环,执行P1_0=065535次,注意,C语言区分大小写,头文件中预定义的为大写,如果写成p1_0 就会出错
  p1_0=1;
  for(a=0;a<30000;a++);//延时,空循环30000次


  /*在此处加入空行有助于提高程序的可读性,关于程序书写的一些事项建议参考c语言
  帝国的"  高质量C++/C编程指南 "http://www.vcgood.com/forum_posts.asp?TID=539&PN=1*/
  for(b=0;b<255;b++)//控制led2,因为b为无符号字符型,取值不能大于255,如果大于会形成死循环
   p1_1=0;
  p1_1=1;
  for(a=0;a<30000;a++);
 }while(1);

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条