任务:写一个单片机程序控制一个LED灯第隔一秒钟亮灭一次;
一、单片机程序的编写软件Keil C 那事
我们都用Keil C 来编写单片机程序,现在已经到第四版本了,但还是用第三版稳定,网上都有下载,googel一下就OK了。这里我就不多说了。
1、建立一个工程
慢慢的你会发现,凡是我们电子的开发软件都要先建立一个工程文件,这证明我们可是搞工程的哦。
打开软件,
打开软件,点工程,
点新建,
如上图所示,点第一个选项,出现提示要保存工程,找一个喜欢的地方保存起来,最好专门为工程新建一个文件夹。输入工程名保存后出现下图,选择单片机的型号,我们选Atmel公司的AT89S52.
确定后出现下图
点是,
就完成工程的建立
2、建一个C文件编写程序
点新建按钮
点保存
输入文件名称
我在这输入LED.C 后缀 为C表示为C语言文件,后缀为ASM为汇编语言文件。
输入程序
//开始
#include
sbit LED=P1^0; //写这条语句后以后我们就可以用LED代替P1^0了,但管制LED的管脚发生了变化 ,
//即我们想用P1^1来控制LED时,那程序我们只要改变sbit LED=P1^0;就可以了,很方便
void Delay(unsigned int MS) //一个MS毫秒的延时程序,
{
int i,j;
for(i=0;i
for(j=0;j<104;j++);
}
void main(void)
{
while(1)//单片机程序就是这样做的,一个死循环,即说明我们的系统要不断的处于运行状态
{
Delay(500) ; //延时500MS
LED=0; //点亮
Delay(500) ; //延时500MS
LED=1;// 熄灭
}
}[page]
保存后,将C程序文件加入工程
右键点
加入文件Add
后点编译如下图
没有错误
生成.HEX文件,用来下载到单片机里运行。
如下图所示,右击 Target1,
弹出下图
按上图配置完成后确定,从新编译一次
在输了信息窗口出现多了一条信息,如下图反蓝色所示
成功生成了一个HEX文件、
,。。。。。。。。。。。。。。
到这软件部分完成,以下是硬件电路设计
完成,,,,。。下载到单片机板看结果,
现在我们没有单片机电路,那么我们可以用一个仿真软件来实现,那就是有名的Proteus,现在稳定的版本为7.4版,这个软件怎么用,我就不说了,让新手们自己上网查一下教程,或是自己摸索。
1、双击 打开软件,
画好电路图如下,
在这个软件里,单片机的最小系统是不用画完成就能工作的,所以我们就简单画了一下,如果是实际的电路还得加是复位电路和晶振电路等,
加入.HEX文件。
双击单片机元件。出现下图
找到相应的HEX文件后打开点OK。完成。
点下图的打一下按键运行程序,后就可以看到现象。
,,,
第一个单片机程序完成。。。
关键字:单片机 单片机程序
引用地址:
第四课 第一个单片机程序
推荐阅读最新更新时间:2024-03-16 14:41
嵌入式技能-51单片机仿真芯片调试
程序是调出来的!!经常有小伙伴在知乎里面提问,说怎么实现花样流水灯,怎么实现按键控制LED灯,还有C语言的一些例子怎么输出的和自己想的不一样等等诸如此类的问题,我想说的是机器是个死东西,程序的写法有千千万种,各路知乎大神不可能涵盖所有问题,只能提供指导思路,重要的还是自己要掌握排除问题的方法,其中调试程序就是让程序一步一步的执行,当出现疑难杂症时我们可以用这种方法去查看单片机寄存器和数据变量是否按照正常的逻辑运行,当我们慢慢掌握了这个技能,就算再大的问题也能排查出来,甚至能让我们少走很多弯路,话不多说,老铁们开始干吧✌✌ 实验环境 :Keil软件,版本:C51 V9.54 STC-ISP综合下载软件,版本:V6.88 仿真芯
[单片机]
利用小型MCU实现LED照明的色彩控制
LED用于通用照明已指日可待。LED在通用照明系统中优势很多,如寿命更长以及效率更高。然而, LED技术还面临着一些挑战。其中一个挑战就是如何产生高品质的白光。白光LED的构成包含了蓝光LED 和能将光输出移至光谱的其他波段的一种荧光粉。许多白光LED都无法产生高显色指数(Color Rendering Index,CRI),该参数用于衡量光源真实重现色彩的能力。 通过混合两种或两种以上颜色的LED光,可以获得品质更高的白光系统。在这些多色系统中,每种色源的光输出会随时间和温度而漂移。光传感器和小型单片机(MCU)可用于维持特定颜色和相关色温(Correlated Color Temperature,CCT)。在本文中,
[电源管理]
MSP430单片机实践篇---内部FALSH的操作
//****************************************************************************** // 测试MSP430单片机向FLASH中写入操作 // // 描述; 每次掉电或复位后都能看到数码管上显示的数值增1,说明对flash的写入与读取成功 // // 注意:修改flash中的内容必须首先执行擦除操作, // 因为对FLASH的操作只能将1写成0,而不能将0写成1只有擦除才能将0写回1 // 擦除操作至少将擦除1个段 // // 如果使用其它型号的单片机,只需将头文件改为相应的 msp430xx.h ; // 并在Option的Target中的device改
[单片机]
基于MCU和FPGA的LED图文显示屏控制系统
引言 目前,市场上的中小规模LED显示系统,一般采用传统的单片机作为主控芯片。对LED大屏幕显示屏来说,由于数据传输量大,要求扫描速度快,而单片机内部的资源较少、运行速度较慢,难于满足系统要求。以FPGA作为控制器,一方面,FPGA采用软件编程实现硬件功能,速度较快;另一方面,它的引脚资源丰富,可扩展性强。因此,用单片FPGA和简单的外围电路就可以实现大屏幕LED显示屏的控制,无需另外设计汉字库,具有集成度高、稳定性好、设计灵活和效率高等优点。 1 系统总体结构 LED大屏幕显示系统由上位机(PC机)、单片机系统、FPGA控制器、LED显示屏的行列驱动电路等模块组成,如图1所示。上位机负责汉字、字符等数据的采
[电源管理]
单片机中的C知识
1、在没有任何后缀标志的情况下,整型变量的数据类型是在能承受范围内中最短的一个! 2、实际编程中,应尽可能采用 unsigned 的变量,因为计算机内存的数据存储都是补码的形式,有符号类型(特别是其中的负数)还得来回转换,导致效率不高。 3、另外unsigned long的取值最大可达到42亿,这个有必要记住。 4、实数型数据在内存中的存储是23位有效二进制,且有一位固定为1不存储,所以实际能表示24位有效值。(这有详细介绍)若24位全为1,十进制最大整数值为16777215(不考虑指数),换言之,纯整数在7位以内是准确的。同样的方法也可达到,纯小数在7位以内是准确的*。当小数整数都有的时候,只有前6位数据是准确的*。
[单片机]
51单片机的延时及定时器
经常看些东西,有时在书上,有时在网上,还有的是突然醒悟,也该做一些总结,最近想总结一下单片机的定时以及延时问题。 单片机主要是两种延时方式: 1.硬件延时:要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时; 2.软件延时:软件延时有时候不能够做到非常精确地延时,主要靠循环体或是一些无意义的指令来完成。 单片机都有一个属于自己的晶振频率:11.0592Mhz(主要是为了设置波特率的方便),12Mhz,6Mhz等(后面的例子全都用12M晶振)。对于12Mhz的晶振频率,一个机器周期为1us,对于51单片机的库函数就有nop()这个函数(调用时需要#include intrins.h ),实现延时一个
[单片机]
PIC16F84A单片机教程板详解(PCB图和原理图
这是一个新的设计,基于流行PIC16F84A单片机教程板 。它具有8个单个的LED,7段显示器,LCD显示器和五个按钮 。这是一个理想的解决方案,为初学者采取/她在微控制器的世界第一的编程步骤。有一个在电路编程(ICP)头,它可以轻松地重新编程,无需拔下单片机每次,提供程序员也支持此功能(如OziPic'er) 。 连接 功能说明 - S1 开关板的开启和关闭。时,LED指示灯LED9点亮 - S2的 复位微控制器。 - S8 开关液晶显示器和关闭 - S9 交换机八个单独的LED和七段显示和关闭。 -按钮 S3,S6对应的RA0 - RA3投入。他们SW
[工业控制]
采用C8051F410为微处理器实现光纤通信传输组件的设计
光纤通信在现代通信领域的地位日趋重要,因其具有带宽大、信噪比低、抗干扰的特点在工程建设中应用广泛。某新品研制中需要一款能够同时传输多路模拟电压信号、脉冲控制信号及故障指示信号的传输组件,若采用传统的电缆传输方式将不可避免地存在体积大、重量沉及传输性能受外界电磁辐射干扰大的问题。基于以上情况,文中采用以光纤通信的方式设计了一款实用的传输组件,满足新品设计要求。 1 整体架构 光纤传输组件是指以光纤作为传输信道的功能器件,通常包括发射端、接收端、光纤跳线3部分。主要原理即是在采集端实现电光转换,在接收端实现光电转换,通过光纤实现两端通信的连接。由于其特殊的传输材质和模式,使得光纤传输组件可满足在某些特殊工作环境下的要求。组件主要由
[单片机]