产品概述

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

小编 2024-11-24 产品概述 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或汇编语言)来编写代码,这些代码将控制单片机的操作。编写单片...

单片机 串口 程序编写 流程?

GCC只是一个编译器,和别的编译器一样。串口通讯程序一般都是这样一个流程(AVR单片机正常工作的情况下):1配置时钟,包括使能时钟,配置串口波特率。2其他配...

单片机 是怎样编程的?

单片机编程是将计算机指令转换为可执行的二进制代码,并将其储存在单片机中,以便控制硬件执行任务。编程的过程包括选择编程语言、编写代码、编译代码以生成可...

单片机 项目的开发流程?

单片机项目开发流程:一、项目评估:出初步技术开发方案,据此出预算,包括可能的开发成本、样机成本、开发耗时、样机制造耗时、利润空间等,然后根据开发项...

proteus怎么添加 单片机程序 ?

1.使用其他的编写软件编写单片机程序,并生成.hex文件.2.在proteus中,直接双击芯片在其中的程序路径中添加你的代码文件.hex格式.3.仿真1.使用其他的编写软...

51 单片机 怎么在电脑编程?

要在电脑上编程51单片机,可以按照以下步骤进行:1.准备编程工具:首先,需要一个可以编写和烧录单片机程序的集成开发环境(IDE)。常见的IDE有KeiluVision、SD...

怎样 编写单片机 的串口通信的 程序 ,一般的步骤是怎么样的?

确定T1的工作方式(编程TMOD寄存器);计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR1位);确定串行口控制(编程SCON寄存器);串行口在中断方式工...确定T...

如何用C++ 编写 一个 程序 放到 单片机 中运行?

c++程序执行时比较耗内存,在单片机中的内存都是很少的,基本上没有人用c++来写单片机的程序;另外单片机也都不支持c++编译后的汇编指令如try等c++程序执行时比...

单片机 怎么烧写 程序 ?

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

单片机 如何设计电路板?

...一是可以在实验板(多孔板)放好芯片后,用电线进行连接,这种方法适合作实验,电路不太复杂的;二是在腐铜板上根据设计好的电路自己用漆什么的画电路,然后...

猜你喜欢