- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. P1口 3. P2口 (2)硬件原理图设计 (3)软件程序设计 (4)软硬件联合调试 (2)硬件原理图设计 (3)软件程序设计 (4)软硬件联合调试 项目小结 本项目主要介绍了51单片机I/O口结构和应用,通过两个任务实现了单片机对单个LED灯闪烁和多个循环LED灯的控制。 51单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。对于P0口要注意其内部没有上拉电阻,所以在硬件设计中要给P0口外接上拉电阻,以保证P0口可以输出高电平。P1口是唯一一个只有输入/输出功能的I/O口。P0口和P2口当有外部扩展存储器时,作为数据/地址的复用口。P3口每一位都具有第二功能。 对于单片机的编程,离不开对特殊功能寄存器的操作,所以在程序中一定要有包含对特殊功能寄存器声明的头文件。 recy=0xfe; for(k=1;k=8;k++) //8只LED灯从P1.0到P1.7依次全部点亮 { P1=recy; Delay(50000); recy=recy1; //将recy左移1位后再赋给recy } P1=0xff; //全部熄灭 Delay(50000); recy=0x7f; for(k=1;k=8;k++) //8只LED灯从P1.7到P1.0逐个点亮 { P1=recy; //先点亮P1.7的LED灯 Delay(50000); recy=_cror_(recy,1); //将recy循环右移1位后再赋给recy } recy=0x7f; for(k=1;k=8;k++) //8只LED灯从P1.7到P1.0依次全部点亮 { P1=recy; Delay(50000); recy=recy1; //将recy右移1位后再赋给recy } P1=0xff; //全部熄灭 Delay(50000); } } 将编写的程序在Keil C51中编译成*.hex后调入Proteus硬件电路图的AT89C52中运行,八只LED灯从P1.0到P1.7逐个点亮,接下来再从P1.0到P1.7依次全部点亮,然后全部熄灭后又从P1.7到P1.0逐个点亮,最后再从P1.7到P1.0依次全部点亮,如此反复形成流水灯。 电子工业出版社 单片机控制技术 项目式教程 (C语言版) 电子工业出版社 项目4 单片机控制 LED灯的设计 能了解51单片机I/O口的结构; 能掌握51单片机I/O口的特点及应用; 能掌握51单片机控制LED灯的硬件设计方法; 能熟练编写单片机控制LED灯闪烁的程序。 学习目标 工作任务 叙述51单片机I/O口的结构和特点; 设计单片机控制单个LED灯闪烁的电路和工作软件; 设计单片机控制多个循环LED灯的电路和工作软件。 任务4.1 单片机控制单个LED灯 任务4.2 单片机控制多个循环LED灯 项目小结 项目4 单片机控制LED灯的设计 任务4.1 单片机控制单个LED灯 4.1.1 MCS-51单片机的I/O口介绍 MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。它们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。 1.P0口 P0口是一个三态双向口,包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成 ,它的一位结构如图 : 输出驱动器 控制电路 P0口功能 1、通用I/O接口:不需要外部扩展时,内部控制信号将使MUX开关接通到锁存器。此时,由于P0口没有内部上拉电阻,通常要在外部加一个上拉电阻来提高驱动能力。 2、地址/数据分时复用:需要进行外部扩展时,内部控制信号将使MUX开关接通到内部地址/数据线。此时,P0口在ALE信号的控制下,分时输出低8位地址和8位数据信号。 P0口的工作原理 (1)通用I/O口 ①用作输入口(端口外数据 内部寄存器) 方式1(读锁存器): Q 缓冲器2 D 内部总线, 适于“读—修改—写” 方式
文档评论(0)