宏晶 STC15F2K60S2开发板配套软件源码 基础例程30例
/**********************
基于STC15F2K60S2系列单片机C语言编程实现
使用如下头文件,不用另外再包含"REG51.H"
#include <STC15F2K60S2.h>
***********************/
#include "STC15F2K60S2.H"
//#include "REG51.H"
//sfr P4 = 0xC0;
#define uint unsigned int
#define uchar unsigned char
/**********************
引脚别名定义
***********************/
sbit SEL=P4^3; // LED和数码管选择引脚 高:LED有效 低:数码管有效
// SEL连接的单片机引脚必须为带有上拉电阻的引脚 或将其直接连接VCC
#define data P2 // 数据输入定义
/**********************
函数名称:Delay_1ms
功能描述:延时
入口参数:unsigned int t 表示要延时t个1ms
出口参数:无
备注:通过参数t,控制延时的时间长短
***********************/
void Delay_1ms(uint t)
{
uchar j;
for(;t>0;t--)
for(j=110;j>0;j--)
;
}
/**********************
函数名称:Led_test
功能描述:对8个二极管进行测试,依次轮流点亮8个二极管
入口参数:无
出口参数:无
备注:
***********************/
void Led_test()
{
uchar G_value=0x01; // 给变量赋初值
SEL=1; //高电平LED有效
while(1)
{
data=G_value;
Delay_1ms(10000);
G_value=G_value<<1;
if(G_value==0x00)
{
data=G_value;
Delay_1ms(10000);
G_value=0x01;
}
}
}
/***********************
主函数
************************/
void main()
{
/////////////////////////////////////////////////
//注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为
// 高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用
//相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
// P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
/////////////////////////////////////////////////
P4M1=0x00;
P4M0=0x00;
P2M0=0xff;
P2M1=0x00; //将P2设为推挽
Led_test();
}