一.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接口)小编比较懒。
- 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); } }