- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                                     微控制器系统设计与应用;实验1.KEIL使用步骤2.单片机开发板使用方法,烧录程序步骤3. K1按下, 8个流水灯从上到下逐个点亮,若K1断开, 8个流水灯从下到上逐个点亮,然后依次循环;
#include reg51.H     //包含AT89X52.H头文件
sbit k1=P3^4;
   unsigned char code sz1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void  Delay(unsigned int t)
  {
      unsigned int i, j;
      for(i=0;it;i++)
         {for(j=0;j120;j++);}
   }
void main ( )
{ unsigned char m;
   while(1)
   {
      if(k1==0)
       {for(m=0;m8;m++)
          { P1=sz1[m];
             Delay(200);}
        }
     else
      {for(m=0;m8;m++)
          {P1=sz1[7-m];
            Delay(200);}
      } 
   }
}
;#include AT89X52.H     //包含AT89X52.H头文件
#include intrins.H
sbit k1=P3^4;
void  Delay(unsigned int t)
  {
      unsigned int i, j;
      for(i=0;it;i++)
         {for(j=0;j120;j++);}
   }
void main (void)
{
  P1=0xfe;
  while(1)
 {
   if(k1==0)  
       {P1=_crol_(P1,1);
        Delay(200);}    
   else
       {P1=_cror_(P1,1);
        Delay(200);}
  }
};;;;;;
1.LED数码管简介
(1)结构、工作原理
   由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。
;;表      十六进制数及空白字符与P的显示段码 ;(3)LED数码管的显示方式
a.静态LED显示器电路
数码管的COM端接不变的高/低电平,每位数码管的a~g和h端与一个8位的I/O 相连。
要在某一位数码管上显示字符时,只要从对应的I/O 口输出其显示代码即可
特点为:数码管恒定地亮,显示某个数值,直到显示字符改变为止
适用场合:由于太占据I/O线,所以用于1个或较少数码管显示的场合。;
b.动态LED显示器电路
每个数码管的COM端和不同的I/O口相连,每位数码管的a~g和h端接在一起,与一个8位的I/O 相连。
要在某一位数码管上显示字符时,首先和该数码管COM端相连的I/O口有效,然后从对应的I/O 口输出其显示代码即可
特点为:数码管轮流点亮
适用场合:由于可以节省I/O线,所以用于多个数码管显示的场合。;2.应用
例1:设计电路,程序,使1位数码管(共阳)依次显示0~F,每个数字的显示时间是1s.
电路:
;
程序清单:
#include REG51.h
unsigned char code sz1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}	;	
void delay(unsigned int a)				
{	
	unsigned char i;
	while(a--)
{		
	for(i=0;i120;i++); 
	}
}
void main() 						 
{
unsigned char j;
 	while (1) 						
	{   
         for(j=0;j16;j++)
            {  P2=sz1[j];
                delay(1000);			
	         }
    }
}
看仿真效果;例2:用开关控制LED显示
设计电路程序,用8个开关作为输入,8个发光二极管作为输出,显示8位开关的二进制数。
;#include reg51.h
void delay(unsigned int a)		
                 原创力文档
原创力文档 
                         
                                    

文档评论(0)