51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)

发布者:RadiantBreeze最新更新时间:2016-12-28 来源: eefocus关键字:51单片机  c51程序  流水灯 手机看文章 扫描二维码
随时随地手机看文章

由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主。

1 事先准备 

  a 驱动安装,注意群中已经发了,吧板子的驱动装好哦。

 

  b 烧写软件(烧录器) stc - isp  (这里说明下,板子上的芯片是stc的,你还能看到它的型号stc89c52RC,用stc的烧写软件就可以了)

   提问:什么是烧写软件?

    答:就是把你写好代码(C或者是汇编)专程的机器语言通过一定的方式下载到单片机中。称为烧写。(就先这样简单理解吧)

 

  c 编写软件  keil uVision 4 (我仅用它编译生成hex 文件)

        notpad++ (我用它写c51的代码,然后复制到keil中。写代码很棒哦,而且是国产软件,最重要的是免费哦)

   提问 :什么是编译软件?

    答 :  编译软件可以将你在编译器中写的一大堆代码编译成可以执行的相应文件。

        而在单片机中,利用keil将写好的c代码文件编译成可执行的.HEX文件。

    

 

2 开始吧!

  1 通过usb将板子和电脑连接起来。(你应该会吧?)

  2 打开notapad++ 写c51代码 (你也可以在keil中直接写,不过我不喜欢,原因到时候在说明)

  

    注意! 1 #include为头文件(有点像c语言对吧)必须有

        2 sbit LED1 = P1^0; 是位操作,记下来注意语句的结束要有 分号“;”哦

         LED1 其实是一个变量名

        3 void main()是主函数有且只有一个

    分析 :

        

 

 

 

 

 

 

 

 

 

 

P1^0 就是P10 也就是P1.0引脚 在主函数中有这样一句

  LED1 = 0;

  就是将P1.0 引脚置低电平

  关于电平

  我们的学习中 0 就是低电平 0v  

         1 就是高电平 5v

  这里计算机的串口的电平是MAX232 高电平-12v,低电平+12v 所以不能直接与单片机相连

  but! 单片机中有一个MAX232芯片,可以将电平经行转化 (可以查找开发板原理图pdf)

  ok,这样我们就不用担心电平的问题了,再回到流水灯上,我们让P1.0置低电平

这张图有些复杂,来看另外一张

其实是一样的,P1.0置于低电平 左侧是vcc电源, 右侧低电平则电路有电势差,就有电流流过。

如果反过来呢, P1.0置于高电平,电流无法通过二极管哦。

ok 我想你应该理解了吧!

3 编译程序生成hex文件

  新建一个工程

 

 

选择文件名,然后确定

选择型号

atmel AT89c51

这里说明下,keil是国外的软件并没有stc的型号(不过你可以自行添加)

不过由于AT89c51内核是一样的,所以用atmel AT89c51也是可以的

继续

new 或者(crtl+n)创建 然后将natePad++中写的代码复制进去(ctrl+c 和ctrl+v)

点击保存,注意文件名(请最好不要出现中文,后缀一定的.c 应为是c文件)

双击源组,添加c文件。

 

 

 

点击那个锤头

再traget中设置下晶振频率,11.0592Mhz (这个现在没用,不过先设置好吧)

 

一定记得勾引选create HEx File 点击确定

 

 点击rebuild 生成hex file 文件(此文件再你创建的51c文件目录中)

 注意:hex文件名是工程名

 

  

4 打开烧写软件 stc-isp(烧录器)

 

注意 1 选择好单片机型号 我们是stc89c52rc

    型号不对是无法成功烧写的哦。

  2 选择好串口, 当驱动装好后,插上usb选择串口,一般是那个很长名字的

这里就是com3

  3 打开目标程序

  

点击重复编程。显示检测目标单片机

然后 按下单片机中的电源按键,关闭电源。再打开电源按键(这是单片机的冷启动~)

显示操作成功即编写成功

 

5 效果图 

 

 

 如图LED1 第一个流水灯就亮了。


关键字:51单片机  c51程序  流水灯 引用地址:51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)

上一篇:51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)
下一篇:51单片机学习之路 —— 1.1学习准备

推荐阅读最新更新时间:2024-03-16 15:27

51单片机的直接寻址与间接寻址
指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。 以寄存器中的内容为地址,该地址的内容为操作数的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器间接寻址的存储空间包括内部数据存储器和外部数据存储器。由于内部数据存储器共有128字节,因此用一字节的R0和R1可间接寻址整个空间。而外部数据存储器最大可达64K,仅R0或R1无法寻址整个空间,为此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同寻址64K字
[单片机]
基于51单片机红外编码解码的C语言程序
当学习键按下后,红外接收头便可将接受到的信号存储到单片机中。在接受到通用遥控器发出的信号后,如果按下发射键,单片机将调出刚刚储存的信息,通过红外发射头发射出和遥控器一样的信号来达到控制的作用。 #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit studylamp=P2^7; sbit lamp=P2^6; sbit studykey=P3^2; sbit remotein=P1^1;
[单片机]
两种方法教你如何有效地利用51单片机产生PWM波
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。 1 软件延时法 利用软件延时函数,控制电平持续的时间,达到模拟pwm的效果。 程序如下: #include sbit pwm=P1^0; main() { while(1) { pwm=1; delayus(60);//置高电平后延时60us,占空比60% pwm=0; delayus(40); } } void delayus(uint x) { while(x--); } proteus软件仿真结果如下: 可见,用这种延时函数的方法就能简单地模拟出pwm输出。
[单片机]
两种方法教你如何有效地利用<font color='red'>51单片机</font>产生PWM波
51单片机实现独立按键控制LED灯
3-1独立按键控制LED亮灭 本段代码主要使用了if...else...语句实现按下按下灯亮,松开按键时灯灭 #include REGX51.H void main() { while(1) { if(P3_1==0&&P3_0==0) { P2_0=0; } else { P2_0=1; } } } 3-2独立按键控制LED状态 首先使用较为灵活的延时函数生成代码,进行修改后如下 void Delay(unsigned int xms) { unsigned char i, j; while(xms) { i = 2; j = 2
[单片机]
8051单片机的I2C接口并行扩展
1 引 言   I2C总线接口器件在视频处理、移动通信等领域的应用已经非常普遍。另外,通用的I2C总线接口器件,如带I2C总线的RAM,ROM,A/D,D/A,LCD驱动器等,也越来越多地应用于计算机及自动控制系统中。随着I2C接口器件越来越广泛的应用,8051系列单片机与他之间的通信越来越频繁。   8051系列单片机与I2C总线接口器件通信时,8051的通用口与I2C总线器件的SCL,SDA连接。根据I2C 总线数据传输协议,8051必须对其两个通用口进行频繁的置位、清零。根据基于51指令系统编制的汇编程序,传送一位数据,需要9个机器周期,而对于 8051,一个机器周期要耗费6个时钟周期,即用54个时钟周期才能传送一位数据。如
[单片机]
80<font color='red'>51单片机</font>的I2C接口并行扩展
基于51单片机的经济型高精度变送器设计
1 引言 自动化仪表主要由检测仪表和控制仪表两大部分组成。随着生产的不断发展,生产规模越来越大,相应的自动化管理系统日趋复杂。由于计算机技术的高度发展和广泛应用,近 10 年来在控制系统方面有了很大进展。变送器是工业过程重要的基础自动化设备之一。主要完成物理信号的测量和变换处理。随着高参数、大容量设备的增加和过程工艺的复杂化。对自动化的依赖性越来越大,变送器用量不断增多,要求不断提高。在实际工程应用项目中,因项目资金有限,选用市售智能变送器会大大增加项目资金的投入,项目指标要求也许仅仅为了观测某点参数的情况,选用模拟变送器达不到系统要求,选用市售智能变送器会造成功能浪费。因此,系统设计往往采用传感器+主机构成现场仪表形式,可降
[单片机]
基于<font color='red'>51单片机</font>的经济型高精度变送器设计
PIC16F628A LED流水灯示例程序
#include p IC .h __CONFIG(0x3f38); //看门狗关,内部RC震荡,RA6/RA7做I/O //----------------------------------- //延时函数 void delay() { int i; //定义循环变量 for(i=5000;i 0;i--) //循环次数控制 { NOP(); //消耗一个指令 周期 的时间 NOP(); } } //---------------------------------- //初始化函数 void init() { T
[单片机]
MSP430-GRACE 实战(一):LED流水灯
Grace 是 Graphical Code Engine 的缩写,是 TI 为了方便用户开发 MSP430 提供的图形化代码配置工具,但是目前只有部分 MSP430 的型号支持 Grace,如 G2 系列 本系列文章使用 Grace 配置 MSP430 外设,快速实现功能,帮助大家进一步了解 MSP430 文章侧重点是功能的使用,寄存器原理只有部分的阐述,适合有一定基础同学(不论是 STM32还是MSP430基础),深入的原理需要自行探索 一、开发平台 1.1 硬件平台 MSP430G2553 口袋实验平台: 1.2 软件平台 是 TI 公司推出的集成开发环境:CCS V5.5(Code Composer Stu
[单片机]
MSP430-GRACE 实战(一):LED<font color='red'>流水灯</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved