产品概述

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

小编 2024-10-06 产品概述 23 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次。

本文转载自网络,如有侵权,请联系删除。

单片机开发简单程序如何编写?七步到位-TCOOP

大家都知道,编程程序有简单有复杂的,就像近些年非常火爆的单片机开发,其实也是有简单的,有复杂的,那如何写出一个简单的单片机开发程序呢?掌握这七步,简简单单!

单片机开发简单程序如何编写?七步到位!

1)建立工程;对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project)。点击:Project-->New uVision Project...然后会出现一个新建工程的界面。选择工程放置位置,(位置是任意的,建议不要放在系统盘)并在根目录创建文件夹,用来放置工程文件,我们将它命名为LED,软件会自动添加扩展名.uvproj。我们可以直接点保存,工程会自动保存成 LED.uvproj 文件,下次要打开 LED 这个工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。保存之后会弹出一个对话框,这个对话框让我们选择单片机型号。找到Atmel单片机,选择AT89S52. 点击 OK 之后,会弹出一个对话框每个工程都需要一段启动代码,如果点“否”编译器会自动处理这个问题,如果点“是”,这部分代码会提供给我们用户,我们就可以按需要自己去处理这部分代码,那这部分代码在我们初学 51 的这段时间内,一般是不需要去修改的,但是随着技术的提高和知识的扩展,我们就有可能会需要了解这块内容,到时候我们选择是就好了。在这里我们不需要太多复杂的内容,所以我们就点击否就好了。此时,我们会发现keil uVision4界面左边的工程窗口里多了一个目标文件夹“Target 1”,其下有一个源文件组文件夹“Suorce Group 1”。

2)建立C文件;“Suorce Group 1”这个源文件夹下还没有任何文件。接下来就是创建一个C文件。我们要建立编写代码的文件,点击“File”菜单,选择“New”,,新建一个文件,也就是我们编写程序的平台。然后点 “File”“Save ”或者直接点击那个 Save 的快捷键,可以保存文件,保存时我们把它命名为 LED.c。(注意我们必须要命名成.c)这个地方的扩展名是.asm,头文件就是.h 等等,我们编写的是 C 语言程序,这个地方必须自己添加文件的扩展名.c

3)添加C文件到工程;虽然“LED.c”这个文件已经在我们的工程文件夹里,但还不属于我们的工程文件,如果不把它添加到工程里去,它的存在对这个工程将没有任何意义。接下来就是把C文件添加到工程里,让它变成我们的工程文件。鼠标右键点 Source Group 1,点 Add Files to Group„Source Group 1‟...在弹出的对话框中,单击 LED.c 选中它,然后点 Add,然后单击 Close,关闭添加。这个时候大家会看到在 Source Group 1下边又多了一个 LED.c 文件。

4)编写C代码

#include <reg52.h> //包含特殊功能寄存器定义的头文件

sbit LED = P0^0; //位地址声明,注意:sbit 必须小写、P 大写!

void main(){ //任何一个 C 程序都必须有且仅有一个 main 函数

while(1){ //循环

LED = 0; //分号表示一条语句结束

}

}

该程序的功能是程序在反复不断的无限次执行 LED = 0;这条语句。

5)设置目标工程的选项;这一步主要是设置时钟频率和产生HEX文件这两项。在编译之前,我们先要勾选一个选项,“Project”“Options for Target” „Target1‟...,在弹出的对话框中,点击 Output 选项页,勾选其中的“Create HEX File”复选框,然后点 OK。

6)编译工程产生HEX文件;点击第二条工具栏的第三个按钮(Rebuild),工程便进入编译链接状态,编译完成后,在我们的 Keil 下方的 Output 窗口会出现相应的提示。

7)将HEX文件下载到单片机;以上步骤完成后我们只需要下载我们的程序就可以了。

单片机开发项目有简单的也有复杂的,对于想要自己研发的朋友来说,还是需要下功夫的,如果想要寻找专业厂家,通程创品或是不错的选择。以上就是今日分享内容了,如果您有其他疑问,欢迎一起探讨交流。

相关问答

单片机编写程序 ?

编写单片机程序需要熟悉单片机的指令集和编程语言,例如C、Assembly等。首先,确定程序的功能和需求,然后按照流程图或伪代码编写程序逻辑。接着,将程序转换...

单片机 编程的基本步骤?

基本步骤如下:1.确定程序的格式和数据类型:首先需要确定程序中的数据类型,如数字、字符、布尔值等。2.定义程序的地址和寄存器:在程序中定义一个地址和一...

单片机 的编程?

单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短,运行速度高,存储空间小,符合C语言的ANSI标准,生成的...

51 单片机 编写程序 是什么?

答51单片机的编写程序一般指的是单片机的编程语言有三种种:机器语言、汇编语言与高级语言。机器语言是计算机能够看懂的语言。(形式为一段二进制代码).汇编语...

如何用c语言 编写单片机程序 ?

使用单片机专用的编译器,比如AVR单片机要用ICCforAVR、AVRStudio等。然后在选项中选择单片机型号,比如ATmega16、ATmega128。最后要查询单片机所对应的...

单片机 安装步骤?

单片机的安装步骤通常包括以下几个步骤:1.准备工作:首先确定单片机的型号和规格,根据需要准备相应的开发板、编程器、电路连接线等硬件设备,以及单片机开发...

用c++怎么 编写 51 单片机程序 ,可以这么样 编写 吗?

可以的。在51单片机的嵌入式C语言中,指针同样是被支持的。所以在单片机上一样可以使用指针操作,具体使用方法,与标准C语言并没有不同。不过需要注意的是,使用...

单片机 一般是用什么编程软件?

Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和...

单片机 怎么烧写 程序 ?

单片机烧写程序的方法有多种。一种常见的方法是使用编程器连接到计算机,将程序通过编程软件下载到单片机的存储器中。另一种方法是使用串口下载器,将程序通过...

visualstudio可以 编写单片机程序 吗?

vs是开发Windows平台软件用的,arm或者51属于单片机硬件,开发环境不是vs,可选择iar或者keil进行开发,但是,编程对象不同,用到的指令不一定相同,此外开发环...v...

猜你喜欢