这是一个及其简单的案例,按下key点亮led,为什么还要补充呢?
1. 输入和输出
2. 数字量
代码语言:javascript复制/*****************************************************************************
* 头文件 *
*****************************************************************************/
#include "8052.h"
//端口定义--功能按键控制LED灯亮灭
#define LSA P1_5
#define LSB P1_6
#define LSC P1_7
#define LED0 P0_0
#define LED1 P0_1
#define LED2 P0_2
#define LED3 P0_3
#define KEY0 P3_2
#define KEY1 P3_3
#define KEY2 P3_4
#define KEY3 P3_5
/*****************************************************************************
* 初始化 *
*****************************************************************************/
void delay(unsigned int ms) //
{
unsigned int x;
unsigned int y;
for(x=ms;x>0;x--)
for(y=110;y>0;y--)
;
}
void sys_init(void)
{
LSA = 0;
LSB = 0;
LSC = 0;
}
/*****************************************************************************
* 主函数 *
*****************************************************************************/
void main(void)
{
sys_init();
while(1)
{
/* send per 0ms */
//delay(1);
LED0=KEY0;
LED1=KEY1;
LED2=KEY2;
LED3=KEY3;
}
}
关于单片机程序,如果使用固件库一定要配置好环境,对于实验一,不配置正确就无法完成编译,报错无法找到xxx等:
参考如下代码:
代码语言:javascript复制/*****************************************************************************
* 头文件 *
*****************************************************************************/
#include "8052.h"
#define LSA P1_5
#define LSB P1_6
#define LSC P1_7
/*****************************************************************************
* 初始化 *
*****************************************************************************/
void delay(unsigned int ms) //
{
unsigned int x;
unsigned int y;
for(x=ms;x>0;x--)
for(y=110;y>0;y--)
;
}
void sys_init(void)
{
LSA = 0;
LSB = 0;
LSC = 0;
}
/*****************************************************************************
* 主函数 *
*****************************************************************************/
void main(void)
{
sys_init();
while(1)
{
/* send per 1000ms */
delay(1000);
P0=0x55;
/* send per 1000ms */
delay(1000);
P0=0xFF;
}
}