郭天祥单片机教程:五实战例点亮LED

需积分: 33 18 下载量 20 浏览量 更新于2024-07-31 收藏 148KB DOC 举报
本资源是郭天祥教授针对初学者设计的一套“十天学会单片机”教学视频的配套程序。视频教程和这些源代码紧密相连,旨在帮助学员快速掌握单片机的基本操作。这里提供了五个具体的编程练习示例,主要针对TX-1C单片机实验板,使用的是8051系列(如8052)的52单片机。 1. "Lesson1作业 - 位操作点亮第一个发光管": 这段代码展示了如何通过位操作来控制P1.0口的LED灯。`led1 = 0;`将该位设置为低电平,使得LED熄灭,而`led1 = 1;`则点亮LED。这是一种基础的位操作技巧,通过位寻址来控制单片机的I/O引脚功能。 2. "用总线操作点亮第一个发光管": 这部分代码更简洁,通过直接赋值P1=0xFE,将P1口的所有8位同时置1,除了最低位(P1.0),其余全部点亮。这体现了总线操作的优势,可以一次性设置多个引脚状态。 3. "位操作点亮最后一个发光管": 类似于第一例,但这里是控制P1.7口的LED,使用`sbit led8 = P1^7;`来声明该位,并在`led8 = 0;`时使LED关闭,`led8 = 1;`时开启。 4. "总线操作点亮最后一个发光管": 同样的原理,通过`P1 = 0x7F;`将P1口设置为01111111,只有最低位(P1.7)被置0,其他7位均亮起。 5. "位操作点亮特定引脚:1,3,5,7": 这个例子涉及到多个位操作,通过组合不同的位操作,如`led1 = 0;`、`led3 = 1;`等,实现对1,3,5,7号引脚LED的控制。这种方法需要理解二进制和位掩码的概念,以便精确选择和组合所需的信号。 这些代码不仅展示了如何使用单片机的I/O口,还涉及到位操作和总线操作的区别,以及如何通过循环(`while(1);`)实现基本的控制结构,这些都是学习单片机编程的重要基础知识。跟随视频教程学习这些实践操作,可以帮助学员快速上手单片机编程,为进一步深入学习打下坚实的基础。