0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

告诉你怎么编写一个最简单的单片机程序

GReq_mcu168 来源:未知 作者:李倩 2018-08-10 16:22 次阅读

汇编语言中,让某个端口输出高电平或低电平都有专用的语句,以P1.0端口为例:

让该端口输出高电平的语句是:

SETB P1.0

让该端口输出低电平的语句是:

CLR P1.0

好了,现在我们将小灯接在单片机的P1.0端口上,如下图所示:

由上图可知,当端口P1.0输出高电平时,小灯D不亮,因为小灯中不会有电流通过;当端口P1.0输出低电平时,小灯就亮,因为此时小灯中有电流通过。

要让小灯亮一会儿、灭一会儿,还必须要有一个延时的程序,下面就是让小灯亮一会儿、灭一会儿,交替闪烁的程序:

MAIN:;程序开始

SETB P1.0;让P1.0输出高电平

LCALL DELAY;这一行是调用延时子程序

;目的是让P1.0保持高电平

;多停留一段时间

CLR P1.0;让P1.0输出低电平

LCALL DELAY;这一行也是调用延时子程序

;和刚才一样,让P1.0保持低

;电平停留一段时间,其实就

;是让它多亮一会儿再熄灭

LJMP MAIN;跳转到MAIN处执行(循环)

;以下是延时子程序,有关该延时程序的内容以后再学

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

在以上汇编程序中,延时子程序每一行的具体含义先不管他,以后慢慢学到,上面的程序需要在一个名为“Keil uVision2”的软件中汇编完成,汇编后得到一个*.hex文件,这就是目标文件,然后用编程器将该文件“写”到单片机89s51中,这样该89s51就具有自动控制小灯闪烁的功能了。

在实验的时候,通常用发光二极管LED代替小灯,由于LED工作电压小,由此LED要串接一个小电阻,用220欧姆——1k之间的都行,我用的是510欧姆的。

这样还不够,单片机工作还需要两个条件,一是需要加上一定的工作电压,AT89S51工作电压为5V,第20脚接负极,第40脚接正极;另外还要给单片机安装一个心脏起搏器,就是振荡器,通常叫做时钟,只要在18脚和19脚之间接一个石英晶体就行了,我用的是12MHz的,另外为了保证振荡器稳定工作,还要在18脚、19脚分别接一个27PF的小电容到地(就是接到负极),此外,89s51的第9脚为复位端,要接一个10uF电容到正极,再接一个10K电阻到负极,最后,第31脚也要和电源的正极接起来,关于31脚,以后再说,这样一台由单片机控制的会自动闪烁的小灯就做好了。下面是完整的电路图:

没有使用的管脚空着就行了,什么也不用接。一通上电,小灯就开始不停的闪烁了。大约1秒钟闪烁3——4次。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6034

    文章

    44548

    浏览量

    634382
  • 发光二极管
    +关注

    关注

    13

    文章

    1197

    浏览量

    66271
  • 汇编语言
    +关注

    关注

    14

    文章

    409

    浏览量

    35787

原文标题:跟我来编一个最简单的单片机程序

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何编写STC单片机的ISP协议

    如何编写STC单片机的ISP协议 STC单片机包含两Flash块,在块Flash中运行的程序
    发表于 10-12 12:18 3978次阅读
    如何<b class='flag-5'>编写</b>STC<b class='flag-5'>单片机</b>的ISP协议

    单片机蜂鸣器简单发声程序【C语言版】

    单片机蜂鸣器简单发声程序【C语言版】单片机蜂鸣器简单发声程序【C语言版】
    发表于 12-29 13:53 0次下载

    51单片机汇编语言教程_第一个单片机程序

    51单片机汇编语言教程:4课第一个单片机程序
    发表于 01-19 15:27 0次下载

    怎么编写简单单片机程序?

    在以上汇编程序中,延时子程序行的具体含义先不管他,以后慢慢学到,上面的程序需要在名为“K
    的头像 发表于 08-13 17:56 3.6w次阅读
    怎么<b class='flag-5'>编写</b><b class='flag-5'>一</b><b class='flag-5'>个</b>最<b class='flag-5'>简单</b>的<b class='flag-5'>单片机</b><b class='flag-5'>程序</b>?

    给要接触单片机和刚接触单片机的人程序编写的经验之谈,Some experience of MCU

    编写一个是LED点亮的程序,烧录到单片机里面看看效果,这个目的:1.熟悉单片机怎么编写程序2.怎
    的头像 发表于 09-20 18:26 735次阅读

    使用单片机一个简单的流水灯的程序和烧写资料免费下载

    本文档的主要内容详细介绍的是使用单片机一个简单的流水灯的程序和烧写资料免费下载。
    发表于 08-20 17:31 3次下载
    使用<b class='flag-5'>单片机</b>做<b class='flag-5'>一个</b><b class='flag-5'>简单</b>的流水灯的<b class='flag-5'>程序</b>和烧写资料免费下载

    简单的51单片机串口接收和发送的程序免费下载

    本文档的主要内容详细介绍的是简单的51单片机串口接收和发送的程序免费下载。
    发表于 06-19 17:44 5次下载
    <b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>简单</b>的51<b class='flag-5'>单片机</b>串口接收和发送的<b class='flag-5'>程序</b>免费下载

    使用单片机编写的音乐程序

    本文档的主要内容详细介绍的是使用单片机编写的音乐程序
    的头像 发表于 01-21 12:18 5929次阅读
    使用<b class='flag-5'>单片机</b><b class='flag-5'>编写</b>的音乐<b class='flag-5'>程序</b>

    单片机程序如何编写

    设计编写单片机程序渐进的过程不可蹴而就,毕竟单片机
    的头像 发表于 02-12 14:38 3.8w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>程序</b>如何<b class='flag-5'>编写</b>

    如何制作单片机的最小系统程序和资料详细说明

    。再在电脑上写出相应上位程序,就算单片机学的差不多了。要强调:不会画PCB 板及编写上位程序
    发表于 09-11 16:55 12次下载
    如何制作<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>单片机</b>的最小系统<b class='flag-5'>程序</b>和资料详细说明

    单片机最小JSON解析,含编写非常简单的JSON资料下载

    电子发烧友网为提供单片机最小JSON解析,含编写非常简单的JSON资料下载的电子资料下载
    发表于 04-27 08:44 13次下载
    <b class='flag-5'>单片机</b>最小JSON解析,含<b class='flag-5'>编写</b>了<b class='flag-5'>一</b><b class='flag-5'>个</b>非常<b class='flag-5'>简单</b>的JSON资料下载

    推荐简单好用的单片机

    推荐简单好用的单片机 -----------------------------STC15F10
    发表于 11-17 11:21 6次下载
    推荐<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>简单</b>好用的<b class='flag-5'>单片机</b>

    基于51单片机的呼吸灯程序编写

    利用51单片机编写的呼吸灯小程序,实验程序内容截图分享~
    发表于 11-23 16:36 33次下载
    基于51<b class='flag-5'>单片机</b>的呼吸灯<b class='flag-5'>程序</b><b class='flag-5'>编写</b>

    单片机硬件知识介绍 基于单片机点亮LED灯

    本章的标题名为“点亮的第一个 LED”,从功能上讲是项非常简单的工作。其实本章包含的内容比较多,包括单片机硬件知识的介绍、C 语言
    发表于 07-24 11:48 1709次阅读
    <b class='flag-5'>单片机</b>硬件知识介绍 基于<b class='flag-5'>单片机</b>点亮LED灯

    keil5mdk怎么编写51单片机程序

    编写51单片机程序需要以下步骤: 编写程序框架:首先,需要定义程序所需要的变量和常量,以及设置
    的头像 发表于 12-25 14:54 1526次阅读