授人以鱼不如授人以渔,在此,笔者觉得应该给大家简单剖析一下以上的代码,以方便初学者更加容易更改和理解代码。
不要纠结0xfe或者0xfd的,对应单片机来说,P1口的值不重要,这个值包含的位才是控制单片机的关键所在,单片机只在意它所代表的二进制数的位是0还是1。
一端高电平,一端低电平才能形成电压,发光二极管才能点亮。两边都是高电平或者两边都是低电平发光二极管都不能被点亮。
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
。 第三,编译软件,KEIL C,全名是keil uvision,下载地址:它是美国Keil Software公司研发的51系列兼容单片机的C语言软件开发系统,我这一代人学51用的都是它。在2005年的时候被ARM公司收购,所以,现在基于ARM内核的STM32单片机也可以用这个软件开发,但是要去官网下载相应的版本。启动界面如下: 另外说一句,现在国内用的基本都是破-解-版,使用上没有问题,也就不要大声嚷嚷了,仅做学习交流用,不要有商业
的准备工作 /
很多人学单片机的时候都会遇到的情况,程序写的漂漂亮亮,原理理解的通通透透,但是.......不会用编译软件,不知道怎么下载程序,貌似大学的时候我老师就没讲过,呵呵。所以今天主要讲一下这两个软件的应用。 注:单片机种类多种多样,编译自然也有很多种。学习一种编译软件肯定需要一定的时间,不过软件界面基本都是大同小异,会了一个再去学另一个会很快。还有个现象,很多人喜欢用汉化版,个人感觉没必要。首先,汉化的不一定标准;其次,工具英语就那么几个单词,记下来就OK了,汉化反而会增加不必要的麻烦。 好了
-KEIL的使用与程序的下载 /
之前讲了如何点亮LED,包括硬件电和程序,今天说一下如何让LED闪烁。单片机控制LED闪烁有两种方法,一种是软件延时,另一种是定时器中断。因为涉及到单片机指令集的问题,还有一些简单的C语言,今天只讲第一种。 先说指令集,早期的51单片机都是复杂指令集,因为沿用的习惯现在用的STC89C52单片机也是复杂指令集,和复杂指令集对应的,就是精简指令集,常见的有AVR和430单片机。 这两种指令集的区别是啥?最明显的就是一条指令执行的时间,举个例子:51单片机和AVR单片机都外接一个12M的晶体
-指令周期与LED闪烁 /
同时清零了中断标志;去付款,处理了中断子程序;付完款继续吃饭,回到了主程序。STC89C52RC单片机中的中断分为三种:外部中断,一般是IO口的高低电平触发;定时/计数器溢出中断,一般是内部定时/计数器溢出中断;UART口中断,收发数据时引发的中断。这次只说定时/计数器溢出中断。程序如下:/**********************51单片机学习例程************************平台:Keil U4 + STC89C52*名称:LED闪烁*晶体:11.0592
;接下来说应用电,如下图所示,这是常见的应用电: 检测方式有两种,一种是扫描检测,另一种是中断检测。这次先说第一种,什么是扫描检测? 就是单片机每隔一段时间,就去检测一下IO口的状态,未触发的时候,该引脚是高电平,触发的时候是低电平。 有人会有疑问,这种方式会不会有遗漏?基本不会,因为单片机以微秒甚至纳秒的级别运行指令,而触发一次按键至少需要几十毫秒,汽车电子里面用到的触发按键,测试你的古代身份它的触发时间到了100毫秒。只要扫描次数足够,基本不会有遗漏。
-按键的扫描检测与消抖 /
接着昨天,继续说按键的事。昨天说的是扫描检测,今个说一下中断检测。先一个小故事~~ 当年我和凯凯学单片机的时候,我用扫描检测的方法做的项目,他用中断检测的方法做的项目。当我俩坐一起交流按键检测的方式时,他火了,直接跳起来跟我吼:你不用中断怎么检测? 当时我就意识到他可能陷入了只能用中断的误区,然后就乐呵呵的说:用扫描啊~ 他继续吼,我继续乐,我俩就这样陷入了死循环。终于都累了,然后把程序和原理给他看,了解~
-按键的中断检测 /
51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云:
网友评论 ()条 查看