本系列实例所用单片机型号为N76E003,封装TSSOP20。
预备知识:
N76E003内部有两个RC振荡器,一个高速16MHz(HIRC)和一个低速10KHz(LIRC)。上电后HIRC和LIRC都被使能,并且系统默认HIRC为系统时钟。
N76E003的I/O口类型有四种,再使用之前要先配置I/0口类型,不然输入输出可能是不定态。
C51定义函数内部变量时只能在函数的开头定义,不能在函数语句中定义。
硬件连接:
*************************************
程序实现方式1:
*************************************
#include "N76E003.h" //定义了SFR的的地址
#include "Common.h"//定义了常用数据类型
void delay()
{
UINT16 i,j; //在函数开头定义变量,最大值为65535
for(i=0;i<10;i++)
for(j=0;j<20000;j++)
;
//for的嵌套循环,小编是通过示波器查看实际延时时间的
}
void main()
{
P1M1=0x00;P1M2=0x00; //配置I/O类型
while(1) //无限循环
{
P12=0; //点亮P12处的LED灯
delay(); //延时一定时间
P12=1; //熄灭P12处的LED灯
delay(); //延时一定时间
}
}
*************************************
程序实现方式2:
*************************************
#include "N76E003.h" //定义了SFR的的地址
#include "Common.h"//定义了常用数据类型
void delay()
{
UINT16 i,j; //在函数开头定义变量,最大值为65535
for(i=0;i<10;i++)
for(j=0;j<20000;j++)
;
//for的嵌套循环,小编是通过示波器查看实际延时时间的
}
void main()
{
P1M1=0x00;P1M2=0x00; //配置I/O类型
while(1) //无限循环
{
P12=~P12; //每循环一次取反一次P12
delay(); //延时一定时间
}
}
两种方式都实现相同的效果,朋友们可以自己试一下。