- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一气呵成学51 第5课 流水灯实验 1. 单片机最小系统概述。 2. LED流水灯原理。 3. 流水灯程序相关语法。 4. 实际操作,验证程序。 1.1 51系列单片机的最小硬件系统 51系列单片机的最小硬件系统是指能让单片机正常工作的最小硬件电路。对于8051系列单片机及其兼容的型号,其电路的最小系统大致相同,这里以STC89C52为例,介绍典型的51系列单片机最小硬件电路,如图所示。 1.2 时钟振荡电路 时钟振荡电路用于产生单片机正常工作时所需要时钟信号。51系列单片机可以采用两种方式的时钟振荡电路:内部振荡电路和外部振荡电路。下面分别介绍这两种方式。 1.内部振荡电路 内部振荡电路是采用单片机内部振荡器来产生工作所需的时钟。51系列单片机内部包含一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内反相放大器的输入端口和输出端口。外接无源晶振。 2.外部振荡电路 外部振荡电路是采用外部振荡器产生时钟信号直接供单片机使用,外接有源晶振。 1.3 单片机的复位电路 单片机的复位电路使单片机进入复位状态。通过复位操作可以完成单片机的初始化,也可使处于死机状态下的单片机程序重新开始运行。 1.单片机复位的原理 单片机复位的原理是,在时钟电路开始工作后,在单片机的RST复位引脚施加24个以上的时钟振荡脉冲的高电平,单片机便可以实现复位。当RST引脚从高电平跳变为低电平后,单片机便从0000H地址开始执行程序。 2.复位电路 最典型的上电复位电路如图所示,其基本原理是利用RC电路的充放电效应。当单片机上电的时候,复位电路通过电容加在RST引脚一个短暂的高电平信号,这个高电平信号随着电容的充电而逐渐降低,这个高电平持续的时间和RC电路的充放电时间有关。使用时需要选择合适的电容和电阻来使高电平的持续时间大于单片机的复位时间。 2. LED流水灯原理 2.1 流水灯原理图部分 2.2 管脚电气信息 2.3 灌电流和拉电流 灌电流(sinking current) ,对一个端口而言,如果电流方向是向其内部流动的则是“灌电流”,比如一个IO通过一个电阻和一个LED连接至VCC,当该IO输出为逻辑0时可以点亮LED。 拉电流(sourcing current),对一个端口而言,如果电流方向是向其外部流动的则是“拉电流”,比如一个IO通过一个电阻和一个LED连至GND,当该IO输出为逻辑1时能不能点亮LED。 3. 相关C语言语法 3.1 C51程序的基本结构 单片机C51语言继承了C语言的特点,其程序结构与一般C语言的程序结构没有差别。C51源程序文件的扩展名为“.c”,如Test.c、Function.c等。每个C51工程中包含一个名为“main()”的主函数,C51程序的执行总是从main()函数开始的。当主函数中所有语句执行完毕,则程序执行结束。 keil uVision 项目结构 3.2 include预处理命令 以“#”号开头的是预处理命令。所谓预处理是指在进行编译的第一遍扫描之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。 #includereg51.h 包含预处理命令,文件包含命令的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。 3.3 C51的数据类型 C51的基本数据类型有整型(int)、浮点型(float)、字符型(char)、无值型(void)。在基本数据类型中,除void类型外,其前面均可以有各种修饰符。修饰符用来改变基本类型的意义,以便更准确地适应各种情况的需求。 常用的修饰符有signed(有符号)、unsigned(无符号)、long(长型符)、short(短型符)。在C51语言中的所有数据类型的字长和取值范围,如表所示。 3.4 整型变量 3.5 C51的标识符与关键字 标识符和关键字是一种编程语言最基本的组成部分,C51语言同样支持自定义的标识符以及系统保留的关键字。在进行C51程序设计时,需要了解标识符和关键字的使用规则。 3.5.1 标识符 标识符常用来声明某个对象的名称,如变量和常量的声明、数组和结构的声明、自定义函数的声明以及数据类型的声明等。示例如下。 int count; void Function1(); 在上面的例子中,count为整型变量的标识符,Function1为自定义函数的标识符。 在C51语言中,标识符可以由字母、数字(0~9)和下划线“_”组成,最多可支持3
文档评论(0)