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

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

3天内不再提示

怎么编写一个最简单的单片机程序?

2oON_changxuemc 来源:未知 作者:李倩 2018-08-13 17:56 次阅读

汇编语言中,让某个端口输出高电平或低电平都有专用的语句,以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

在以上汇编程序中,延时子程序每一行的具体含义先不管他,以后慢慢学到,上面的程序需要在一个名为“KeiluVision2”的软件中汇编完成,汇编后得到一个*.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次。

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

    关注

    237

    文章

    22353

    浏览量

    645542
  • 单片机
    +关注

    关注

    5992

    文章

    43909

    浏览量

    619652
  • 汇编语言
    +关注

    关注

    14

    文章

    404

    浏览量

    35156

原文标题:告诉你怎么编写一个最简单的单片机程序

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    8051单片机简单程序

    本人是小白。。急需8051的单片机简单,且具有定使用作用的单片机
    发表于 10-22 22:57

    怎么用C#编写上位程序来控制单片机

    求助,怎么用C#编写上位程序来控制单片机,让单片机
    发表于 04-23 20:38

    求助!制作简单单片机红外感应开关

    我在查资料中看到制作简单单片机红外感应开关,想自己尝试下,用的是STC12C4052AD单片机
    发表于 03-30 21:29

    单片机与GPS模块程序编写

    新手枚,不知道从哪学习单片机与GPS结合程序编写,想询问下从哪入手
    发表于 02-08 21:11

    简单单片机程序

    不管他,以后慢慢学到,上面的程序需要在名为“Keil uVision2”的软件中汇编完成,汇编后得到*.hex文件,这就是目标文件,
    发表于 09-03 07:26

    使用C语言编写单片机程序

    上次说到了使用C语言编写单片机程序,既然使用编程语言,就需要有软件把程序语言翻译成机器能懂的机器码,把机器码下载进单片机
    发表于 07-14 08:24

    利用C语言编写PIC单片机程序的方法是什么

    PI C单片机程序的方法,本刊特推出《PI C 单片机C 语言程序设计》系列连载文章。文中给出的C 语言程序实例,均是可执行的,读者可以放心
    发表于 07-15 08:40

    怎样去编写一个单片机程序

    一个单片机程序的功能是什么?怎样去编写一个单片机程序
    发表于 10-14 12:32

    怎样编写51单片机的项目

    1、准备工作在项目中,往往因为成本问题而去选择更适合产品的单片机,其中51单片机就是使用于低成本且功能简单的产品。我们在编写
    发表于 11-22 07:43

    怎样去编写单片机程序

    摘要:在看别人单片机程序时,你也许是奔溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也
    发表于 11-23 08:38

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

    这样还不够,单片机工作还需要两个条件,一是需要加上一定的工作电压,AT89S51工作电压为5V,第20脚接负极,第40脚接正极;另外还要给单片机安装一个心脏起搏器,就是振荡器,通常叫做时钟
    的头像 发表于 08-10 16:22 4.3w次阅读
    告诉你怎么<b class='flag-5'>编写</b>一个最<b class='flag-5'>简单</b>的<b class='flag-5'>单片机</b><b class='flag-5'>程序</b>

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

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

    单片机程序如何编写

    设计编写单片机程序是一个渐进的过程不可一蹴而就,毕竟单片机程序是与硬件有密切关系的,我们一般称为单片机
    的头像 发表于 02-12 14:38 3.6w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>程序</b>如何<b class='flag-5'>编写</b>

    关于在keil 5中编写51单片机程序

    关于在keil 5中编写51单片机程序
    发表于 11-23 16:20 2次下载
    关于在keil 5中<b class='flag-5'>编写</b>51<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>