📄 text1dd.c
字号:
#include <compiler_defs.h>
#include <C8051F930_defs.h> // 头文件
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
SBIT (LED1, SFR_P1, 5); // 设置LED1灯引脚
SBIT (LED2, SFR_P1, 6); // 设置LED2灯引脚
SBIT (SW2, SFR_P0, 0); // SW1 == 0 设置按键2
SBIT (SW3, SFR_P0, 1); // SW2 == 0 设置按键3
//-----------------------------------------------------------------------------
// Global Constants
//-----------------------------------------------------------------------------
#define SYSCLK 20000000 // Clock speed in Hz
#define LED_ON 0
#define LED_OFF 1
//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------
void OSCILLATOR_Init (void);
void PORT_Init (void);
//-----------------------------------------------------------------------------
// main() Routine
//-----------------------------------------------------------------------------
void main (void)
{
PCA0MD &= ~0x40; // 使能看门狗
PORT_Init(); // 复位IO口
OSCILLATOR_Init (); // 复位内部时钟
while (1)
{
if (SW2 == 0)
{
LED1 = LED_OFF; // 关闭灯
}
else
{
LED1 = LED_ON; // 打开灯
}
if (SW3 == 0)
{
LED2 = LED_OFF; // 关闭灯
}
else
{
LED2 = LED_ON; // 打开灯
}
}
}
//-----------------------------------------------------------------------------
void OSCILLATOR_Init (void)
{
CLKSEL = 0x04; // 设置内部时钟 (20MHz)
}
//-----------------------------------------------------------------------------
//IO口使能
void PORT_Init (void)
{
P0MDIN |= 0x03; // P0.2, P0.3 输入
P1MDIN |= 0x60; // P1.5, P1.6 输入
P0MDOUT &= ~0x03; // P0.2, P0.3 打开输入闸门
P1MDOUT |= 0x60; // P1.5, P1.6 设置输出推挽
P0 |= 0x03; // 设置 P0.2, P0.3 为 '1'
XBR2 = 0x40; // 使IO口为不定控制状态
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -