» 您尚未 [登录 - 注册] ┆ 帮助 ┆ Archiver ┆ ┆ 
--> 标题: [分享]51单片机小项目设计【点亮一盏小灯】
您是本帖第3482个阅读者。
性别:男<br>状态:离线<br>积时:10 个月 0 天 2 小时 24 分 46 秒
aj8714523


管理员

头衔:眼镜蛇管理员
等级:管理员
帖数:1402
金钱:1017
S币:74

收藏 举报 1F 资料 | 留言 | 编辑 | 引用 | 评帖 | 主页
置顶 (置顶帖子)
[分享]51单片机小项目设计【点亮一盏小灯】

和编程的 “Hello Word” 一样,点亮一盏小灯,同样是单片机入门的经典程序,

通过点亮一盏小灯,能让人明白到怎样使用单片机来实现控制!继而激发起学习的动力!

其主要目的是使用单片机点亮一盏LED小灯

需要的元器件:51单片机最小板一块、LED小灯一个

【项目招稿中。。。。】

本项目投稿被录取后可获得50金钱奖励!

投稿地址:1522066584@qq.com

欢迎新手投稿或跟贴,让我们一起查找错误,完善程序!

学单片机多做项目不仅可以提升自己,也可以帮助到其他人哦!







----签名档 --------------------------------------------------------
世界上比毒品更容易成瘾的,是装逼时的感觉。。。。

Posted:2012-02-13 17:59:45
性别:男<br>状态:离线<br>积时:10 个月 0 天 2 小时 24 分 46 秒
aj8714523


管理员

头衔:眼镜蛇管理员
等级:管理员
帖数:1402
金钱:1017
S币:74

2F 资料 | 留言 | 编辑 | 引用 | 评帖 | 主页


单片机试验一:点亮一个发光二极管

    拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89S52的芯片,下面我们就看一下如何给它连线。 

    1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 

    2、 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。

    3、 复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。

    4、 EA引脚:EA引脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。

    当然:您并不一定完全需要一片89S52, 实际上我们用8051系列的任何一种芯片都是可以的。 例如89s51,89c52等等。 


上传的图片
  抱歉,您所在的组无权下载附件,请注册登陆
 

图1

    我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的5个引脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R2是限流电阻)

    按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1引脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。

    名字有了,我们又怎样让它变'高'或变'低'呢?叫人做事,说一声就可以,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就可以了。

    现在我们已经有办法让计算机去将P1.0输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。

    第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西——数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。

    第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具"编程器"或者“ISP下载线”(单片机支持在线编程,可使用ISP下载线,更方便快捷)。当然, 如果您使用我们的单片机开发试验应用板, 那么编程器和试验板都有了,只需要编程序就可以了。ISP下载线和试验板下载程序接口如图2和3所示。


上传的图片
  抱歉,您所在的组无权下载附件,请注册登陆

图2


上传的图片
  抱歉,您所在的组无权下载附件,请注册登陆
图3

    这里是我们迈出单片机编程的第一步,别看很简单可是却对于您有重要的意义,没错,您在编程序了:

    打开WAVE软件;写入程序


上传的图片
  抱歉,您所在的组无权下载附件,请注册登陆
 

    我们把它的名字设为:sy1.asm ;最后把生成的sy1.hex烧入我们的单片机试验开发板的89S52里面,这时候我们可以看到p1.0这个灯亮了。


上传的图片
  抱歉,您所在的组无权下载附件,请注册登陆

    此图上就是我们试验开发板上的8只发光二极管!

    这时可能有的朋友会问:这么简单的问题, 为啥要用单片机搞得这么复杂?接一个电池, 灯不就亮了?

    没错,但是这是在编程序,如果我们不要p1.0亮。 而是要p2.0亮,那么写入clr p2.0就可以啦,不需要你动烙铁来改线。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就可以改变电路的输出效果。

 

    由此可见,用硬件实现起来非常困难的问题,用单片机解决起来就很简单快捷.







----签名档 --------------------------------------------------------
世界上比毒品更容易成瘾的,是装逼时的感觉。。。。

Posted:2013-03-30 10:16:09
×
性别:男<br>状态:离线<br>积时:10 个月 0 天 2 小时 24 分 46 秒
aj8714523


管理员

头衔:眼镜蛇管理员
等级:管理员
帖数:1402
金钱:1017
S币:74

3F 资料 | 留言 | 编辑 | 引用 | 评帖 | 主页


附上使用STC89C52单片机编译的源代码,直接编译下载到单片机就可以实现功能:

#include

sbit LED = P0^0;

void main()

LED=0;

while(1);



点亮小灯是进入单片机的第一步,可以控制小灯的亮灭,就可以控制任何电器的开关,实现单片机的根本功能“控制”!!






----签名档 --------------------------------------------------------
世界上比毒品更容易成瘾的,是装逼时的感觉。。。。

Posted:2016-05-14 17:45:08
×
 每页10条,共1页,合计3条记录
9  1  :
转到  


Powered By:Discuz! 6.0 Processed in:0.093750s,21 queries.
眼镜蛇论坛|单片机论坛| 技术支持:【QQ】1522066584

免 责 声 明 本站提供网上自由讨论使用,所有个人言论并不代表本站立场,与本站立场无关,本站不会对其內容负上任何责任。
假若內容有涉及侵权,请立即联络我们。我们将立刻从网站上刪除,并向所有持版权者致最深的歉意。