LED 灯控制实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息科学与技术学院无线网络技术
实验题目:LED 灯控制实验指导老师:
成员:
实验二LED 灯控制实验
2.1 实验目的:
学习使用C8051F1xx 单片机。
2.2 实验内容:
使用按键SW2 控制LED灯亮灭。
2.3 实验设备:
1、装有KeilC 开发及调试环境的PC。
2、通用调试器母板。
2.4 预备知识:
仔细阅读C8051F12x 器件手册关于I/O端口的说明。
2.5 实验原理及说明:
使用C8051F120 控制的LED共有 2 个,阴极控制,原理图如下:
LED[1:2]为阴极控制,即MCU输出低电平,LED点亮,输出高电平,LED关闭。
LED
颜色, MCU管脚,信号控制关系如下:
LED LED颜色MCU控制管脚控制方式
LED1 红色P0.2 低电平点亮
LED2 红色P0.3 低电平点亮
2.6 实验步骤:
(1)启动Keil µVision3,打开工程test.Uv2。
(2)连好实验设备,打开电源。
(3)编译程序并生成可执行文件,将程序下载到目标板上。
(4)将目标板断电后重启,观察LED灯的状态。
如图:146
(5)按下SW2 按键,再次观察LED灯的况态。
如图:
2.7 程序框图:
2.8 实验参考程序:
void main (void)
{
WDTCN = 0xde; // Disable watchdog timer WDTCN = 0xad;
PORT_Init(); // Initialize Port I/O OSCILLATOR_Init (); // Initialize Oscillator
while (1)
{
if (SW1 == 0) // If switch depressed
{
LED1 = 1;
// Turn on LED
LED2 = 0; 148
// d=1;
}
else
{
LED1 = 0;
LED2 = 1;
// d=0; // Else, turn it off
}
SFRPAGE = CONFIG_PAGE; // set SFR page before reading or writing // to P4 registers
} // end of while(1)
}。