(一)Proteus+keil=C51闪个灯
这个事情呢,想了很久,一直想弄个Proteus的系列内容,所以到底是写呢还是录呢,终归是要有个决断的,今天算是下定了决心,还是写吧。其实录是要简单点的,但是我更喜欢写。
C51算是一个特别简单、特别基础的硬件,玩硬件自然是少不了这个东西的,想要玩好,还是需要多多的实践。不要以为51性能那么差就拉到了,我个人的一个非常重要的观点就是,没有最好,只有最合适,即使是51这样的低性能芯片也是有其使用场景的。而且,51真的简单吗,我并不觉得,恰恰相反,如何在低性能芯片上实现复杂的应用,本身就是非常考验编程能力、优化能力的一件事情,最简单的例子,128byte的内存能存什么?1K的存储空间能保存几行代码?这些在PC上可能不需要考虑的问题,在单片机上都变得尤为重要。
再之后考虑的问题就是,C51用哪个平台比较好,考虑到并不是每个人都有开发板,而每个开发板也都可能是不一样的,所以决定前期用Proteus进行仿真,后边如果需要用到一些特殊的功能,比如PWM等普通51没有的功能时,再改为硬件直接编程。
这一篇主要写Proteus和keil的项目创建,并实现闪一个灯的功能。
一、创建proteus项目
二、选择元器件并连线
三、创建keil项目
四、编写代码
#include "reg52.h"
sbit led = P2^0;
void Delay1000ms(); //@12.000MHz
void main()
{
//灯亮
led = 1;
//亮1s
Delay1000ms();
//灯灭
led = 0;
//灭一秒
Delay1000ms();
}
//延时1s钟
void Delay1000ms() //@12.000MHz
{
unsigned char i, j, k;
i = 8;
j = 154;
k = 122;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
五、运行