- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCU起航 QQ:2246080671 点亮数码管 主要内容 1、宏定义 2、数字静止显示 3、一维数组 4、数字循环显示 5、code的用法 宏定义 它是C语言提供的一种预处理功能命令。它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。它的命令有两种格式:一种是无参宏定义,一种是有参宏定义。 如果对宏定义的作用不是很清楚,也不用介意,换个更通俗的说法:替换。是的,就是替换! 看无参宏定义的定义格式: #define 宏名 字符串 例如: #define ON 0 #define OFF 1 数字静止显示 任务要求:左侧第一位数码管,显示数字“1”,根据共阳极编码可以知道,只需要在P0口输出:0xf9即可。 一维数组 什么是数组?举个例子,需要在程序中存储一个员工的年龄,定义一个变量(例如:age_worker)就行了。但是当有一群员工的年龄需要存储时,难道要定义多个类似的变量么? 不,所以数组出现了。数组是相同数据类型的元素按一定顺序排列的集合,把有限个类型相同的变量用一个名字命名,用编号区分其中的不同变量。这个名称是数组,编号是下标。数组有一维数组、二维数组、三维数组以及多维数组。这里只研究一维数组,因为它最简单,也最常用。一维数组定义格式如下: 类型符 数组名[常量表达式]; 一维数组 例如定义一个存储工人年龄的数组: unsigned char age_worker[10]; 这里,unsigned char是类型符,表明数组的类型是无符号字符型,根据需要可以定义为char,int,unsigned int等类型。 数组名age_worker,该名称是程序员定义的,除掉关键字和特殊符号,可以根据需要定义为任何名称。 最后是10,它是常量表达式。数组中存储的数据被称为元素,10表示这个数组里有10个元素,因此常量表达式也被称为数组长度。第一个元素为age_worker[0],第二个为age_worker[1]...第十个为age_worker[9],不存在age_worker[10]这个元素。 一维数组 还有一种数组的定义方式,就是定义的时候不说明数组长度,但是元素值全部声明,这种情况下,系统会自动帮你计算数组的长度,然后帮你分配一个合适的区域来存储数据。例如: unsigned char age_worker[] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a}; 这种情况下,没有声明数组长度,但是写入了十个值,因此数组被定义为长度为10的数组,同时这十个元素的编号是从0到9。 在一维数组中还有一类比较特殊,是字符型数组,在串口通信的过程中会讲。 数字循环显示 前面已经把数码管点亮, 下一步就是让它变化起来。例如,从0~f循环显示,如何实现?如果已经掌握了流水灯的原理,那么这个过程实现的方式其实是差不多的。 先确认一下一共需要多少种状态, 然后进行状态初始化配置, 最后进入循环。在循环过程中,每隔一段时间,更新一下输出状态。
文档评论(0)