实验2单片机控制LED灯点亮一、实验目的1、熟悉实验板的电路结构。2、完成简单的功能,并掌握程序调试的方法。二、实验准备1.实验电路连接实验板LED电路图2.实验中常见问题:区别中英文字符,区别字母O和数字0注意关键字的拼写include、void、mainSFR寄存器需要大写三、实验内容一、基础实验(一)、点亮1个LED分别用汇编和C语言编程,对比2种语言的相同和不同1.用汇编语言编写ORG0000HLJMPMAINORG0030HMAIN:CLRP1.0CLRP1.1;可随意指定一个输出口作为驱动,点亮LED灯END2.用C语言编写#include//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitP1_0=P1^0;//用sbit关键字定义LED到P1.0端口,//LED是自己任意定义且容易记忆的符号/*---------------主函数-------------------*/voidmain(void){P1_0=0;//将P1.0口赋值0,对外输出低电平}(二)、1个LED闪烁分别用汇编和C语言编程,对比2种语言的相同和不同问题:若想改变闪烁的频率,应该修改程序的哪部分?1.用汇编语言编写ORG0000HLJMPMAINORG0030HMAIN:CLRP1.0;点亮LED灯CLRP1.1LCALLDELAYSETBP1.0;熄灭LED灯SETBP1.1LCALLDELAYLJMPMAINDELAY:MOVR6,#125;延时50ms子程序LOOP2:MOVR7,#200LOOP1:DJNZR7,LOOP1DJNZR6,LOOP2RETEND2.用C语言编写#include"reg51.h"sbitP1_0=P1^0;//延时50ms子程序voiddelay50ms(){unsignedchari,j;for(i=125;i>0;i--){for(j=200;j>0;j--){}}}//主程序段voidmain(){while(1)//重复循环执行,实现闪烁{P1_0=0;delay50ms();P1_0=1;delay50ms();}}思考:对比2中语言编写的延时子程序的相同和不同二、提高实验(一)、自己修改例程,试着实现:点亮左边4个LED(二)、自己修改例程,试着实现:右边4个LED闪烁