51单片机实例讲解,由按钮控制流水灯程序
由按钮控制流水灯控制要求:在单片机的PP3.0口和P3.1口线上分别接上一个按钮SB1和SB2,P0口上接8只发光二极管LED1~LED8。当按下SB1时,8只发光二极管按方式一从LED1~LED8间隔1s交替正向流水点亮一次,即LED1亮→LED2亮→LED3亮→LED4亮→LED5亮→LED6亮→LED7亮→LED8亮。
当按下SB2时,8只发光二极管按方式二从LED1~LED8间隔1s依次点亮一次,即LED1亮→LED1+LED2亮→LED1+LED2+LED3亮→LED1+LED2+LED3+LED4亮→LED1+ LED2+LED3+LED4+LED5亮→LED1 +LED2 +LED3 +LED4 +LED5 +LED6亮→LED1 +LED2 + LED3 +LED4 +LED5 +LED6+LED7亮→LED1+LED2+LED3+LED4+LED5+LED6+LED7+ LED8亮。
(1)由按钮控制流水灯硬件电路(见图36)。
图36 由按钮控制流水灯接线原理图
(2)由按钮控制流水灯硬件电路元器件(见表14)。
表14 由按钮控制流水灯硬件电路元器件表
(3)由按钮控制流水灯程序流程图(见图37)。
图37 由按钮控制流水灯程序流程图 (a)主程序;(b)显示子程序
(4)由按钮控制流水灯程序。
学习单片机,除了需要电脑以外,还需要以下的一些器材
单片机开发不可避免会遇到很多头疼的问题,例如如何分配CPU的时间。其实到了这个阶段我们要越来越灵活的用单片机,如果什么东西都要自己做,你会累死的。你想一想你要开车,不用什么都自己弄吧,买一辆现成的就可以了。单片机也是一样的先行者其实对很多的问题都研究透了。我们要学会运用现成的东西,把它融入到自己的程序里面。随着需求操作系统应运而生。如果学会了在操作系统上面写程序,你就再也回不到以前的那种编程方式。
学习单片机,除了需要电脑以外,还需要以下的一些器材。
1.单片机实验开发板
这是首选,用于编程实验,通过运行一系列实验程序,逐步了解单片机内部各部件特点以及指令功能。自制或者购买一块实验开发板是比较好的选择。实验板上除了提供单片机最小系统外,还会有一些开关、键盘、LED指示灯、数码管、各种接口芯片等常用器件,通过对这些器件的编程练习,逐步掌握单片机的编程技术。
2.单片机仿真器
仿真器的用途是替代电路板上的单片机芯片,仿真器内置专门仿真软件,通过串行口、USB接口等方式与与PC机联机通信,接收PC端控制软件发出的指令,以单步、过程单步、全速运行等各种方式来执行程序,以单步或过程单步方式执行程时,每次执行完程序后可以将执行的结果反馈到PC端的控制软件中显示出来。通过仿真,我们可以明了每一条指令执行完毕后会有什么样的结果,验证实际运行后的结果是否与设想的结果相符,据此对程序进行修改,直到实现指定的任务。所以,仿真功能对于单片机的学习和开发可以起到很重要的帮助作用。
文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦///
3.编程器或者下载线
用途是将已经编写好的程序代码写入单片机芯片内部。对于初学者来说,有了仿真器也可以暂时不购置编程器或下载线,因为有了实验开发板、仿真器就完全可以做实验了。但是,要想真实知道编写的程序到底怎么样,还是建议配置编程器,这样可以对单片机开发的实时运行环境及各个环节都有所了解。
4.常用元器件、芯片,焊锡、导线等电工材料,试电笔、万用表、电烙铁等电工工具
学习单片机开发,不仅是是简单的编程而已,汇编语言是面向硬件的,所以要求开发者软、硬件方面都要熟悉,因此,这些工具或器材还是要配备的。
需要说明的是,上面所说的仿真器、实验开发板、下载线或编程器等都是就一般概念而言的,未涉及到具体的产品。目前,市场上已经有很多将实验开发板、仿真功能、下载或编程功能等中的一部分或者全部都集成到一起,构成一套完整的实验系统。
上面介绍的这些,都需要有一定的投入,爱好者未必一定有能力购买。其实,只要有一定动手能力,也可以自制一些简易的实验设备,同样可以开始学习。
这里推荐一种硬件方案,可以直接通过串口下载程序,从而将开发工具的成本降到最低。如图1所示是一个完整的电路,器件成本仅20多元,但可以实现诸如单灯闪烁、流水灯、键控灯、PC控制灯等一些常用功能,从而学习基本指令、定时器、计数器、串口通信等单片机知识。
以STC89C516RD+单片机为案例进行说明。首先我们对这个单片机的标识进行解释:
STC所代表的是这个芯片是由STC公司生成的产品。
8—表示该芯片为8051内核的芯片。
9—表示内部含FLASH存储器,如87C51中7表示内部焊EPROM存储器(紫外线可擦除ROM);还有如80C51中的0表示内部含Mask ROM(掩模ROM)存储器。
C—表示该器件为CMOS产品。还有如89LV52和89LE58中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电);而89S52表示该芯片含有可串行下载功能的FLASH存储器,就是代表它具有ISP可在线编程功能。
5—固定不变。
16—表示该芯片内部程序存储空间的大小。16为63KB,还有如1为4KB,2为8KB,3为13KB,4为16KB,8为32KB。程序空间大小决定了一个芯片所能装入执行的代码量。通常情况下程序存储空间越大芯片价格也越高,所以我们在选择芯片时要根据自己需要对单片机型号进行选择。只要程序能装的下,同类芯片的不同型号不会影响其主要功能。
RD+—表示单片机内部RAM的代销,RD+表示内部RAM为1280B,还有如RC为512B。
把所有的例程玩遍以后,我们很自然的就会产生一个想法,自己现在手上的这些程序有没有实用的价值。实际工程项目中会不会应用得上。于是我们就需要提升深度,利用单片机去做一些实际应用的小东西。由浅到深,从简单到复杂。开始积累自己的项目经验。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,私信我“林老师”就可以拿~点击打开我的头像就能领取
好了,这期分享就到这里啦,觉得对屏幕前的你有帮助的麻烦一键三连,点赞收藏加关注哦,有问题的朋友也可以在评论区评论,或者私信我
相关问答
手机遥控空调的原理是什么?_中央空调_舒适100网触屏版[回答]此信号送入定时信号发生器后产生40KHz的正弦信号和定时脉冲信号。正弦信号送入编码调制器作为载波信号;定时脉冲信号送制扫信号发生器、键控输入编...
五星宏辉扑克机破解[回答]有一种可能,那就是程序员故意制造的。这要从机台的制造说起。有实力的公司会聘请多名程序员,耗资巨大,开发出最新的产品,但上市没多久,就...这要从...
找专业解五星宏辉(♠-♡-♧-♢)扑克牌电玩游戏机路单的人员合作百度知道管理员请通过一下,本人想与楼主合作!谢谢!我们公司是专做百乐龙虎五星等电玩保单游戏机机路单解单业务!您好!我是仁享电玩科技有限公司的...