51单片机流水灯

一.51单片机:AT89C51单片机内部有一个128KB的片内数据存储器,还有21个特殊功能寄存器,4KB片内程序存储器Flash ROM,6KB可寻址片内外统一编制的ROM,64KB可寻址片外的RAM,4个并行的8位I/O接口,一个全双工通用异步串行接口UART,两个16位的定时/计数器。具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个有限及的中断操控系统以及片内振荡器和时钟产生电路的8位微处理器。P0,P1,P2,P3各8个IO口,在P0接口进行连接的时候需要进行上拉电阻,(我一般会尽量不用P0接口)小编比较懒。

  1. 51单片机在使用的时候首先参考手册可以减少操作时候的许多麻烦,小编最开始就看代码然后啥都没会,最后在前辈建议下才走上轨。
  • 现在进行自己的第一个51项目-----流水灯
  • 准备材料:1.发光二极管8个(小编建议准备10个)  2.准备1K电阻10个   3.AT89C51一个
  • 焊接:焊接的时候注意二极管的正负极,否则将会烧毁二极管或者不亮。在焊接最小系统的时候注意晶振,必须焊接好,避免虚焊的问题。将会导致烧录代码的时候失败(小编就遇到这种情况,所以记忆深刻)
  • 代码编写:编写代码的软件用keil4,仿真软件使用proteus          
  • 下面是小编的代码,还请大家指点
  • #include <reg52.h>   //51头文件
    #include <intrins.h>   //使用偏移的头文件
    #define  u8 unsigned char
    #define  u16  unsigned int 
    #define  led P1 
    
    void delay(u8 i)
    {
          while(i--);
    }
    
    void main()
    {
       u8 i=0;
       led=0xfe;
       for(i=0;i<8;i++)
       {
    		 led=crol_(led,1);  //偏移
    		 delay(500);
       }
    	 for(i=0;i<8;i++)
       {
    		 led=cror_(led,1);
    		 delay(500);
       } 
    }   

     


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值