您的位置 首页 芯闻

跟我来编一个最简略的单片机程序

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

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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/252451.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部