单片机交流
直播中

李巍

7年用户 1400经验值
私信 关注
[问答]

C51单片机如何点亮LED灯?

C51单片机如何点亮LED灯?

回帖(1)

孙榕

2021-10-15 16:30:49
   摘要:学习嵌入式开发板STM32之前,我们先来回顾学习一下proteus软件的仿真设计以及C51单片机LED点亮。
关键字:Proteus 8C51单片机
  
  
   前提知识:掌握一定的C语言编译知识,和C51单片机的基础知识。
这里我主要做的是C52的库以及程序设计,C52对于C51做了简单的升级,但编程是两个可以互相用代码的。
  
  一、点亮LED的程序编译

  1.打开Keil uVision 4新建一个工程

  
  

  

  2.在Atmel下寻找AT89C52芯片并点击"OK"

  ①展开Atmel

  

  

  ②选择AT89C52
  

  

  
  

  

  
   该提醒翻译结果为:是否将标准8051启动代码复制到项目并将文件添加到项目中,此次项目可以不添加8051启动代码,所以这里我选择了"否"。
  
  ③正常打开界面

  

  

  3.新建文本进行C语言程序编译

  ① 新建文本

  

  

② 我们先点击保存对该文本进行命名,由于是C语言所以该文本命名格式为"led点亮.c" ,并点击"保存"。
  

  


  

  

③ 由于新建文本与工程并没有连接,所以下来对工程Source Group 1进行添加文件

  

  

在此目录下会自动出现刚才保存的文本,即"led点亮.c"文件,并点击"Add"。

  

  

④ LED点亮程序编译

  

  

  
   上图是我的C52开发板的LED模块的原理图,由于LED为共阳极,所以当负极为低电平时,LED亮;当负极为高电平的时候,LED灯灭。且LED的端口连在P2端口
  
  #include                  ***it LED=P2^0;                        //将端口P2^0定义为LED void main ()                        //主函数 {         LED=0;                            //LED端口为低电平 }   点击其中任意一个都可完成编译。此时我已经编译过了,且无错误。

  

  

⑤ 编写hex文件
hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式(该解释源自百度百科—hex文件格式)。所以我们需要生成hex文件进行之后的软件仿真和调试。
①点击魔法棒

  

  

②选择"Output"并点击"Create HEX File",再点击"OK"确认。

  

  

③点击编译当前文件生成hex文件

  

  

当出现"creating hex file from …"则表示成功生成hex文件。
  二、 Proteus软件仿真

  1. 打开 Proteus 8软件并新建一个工程

  ①

  

  



  

  



  

  

  ④

  

  



  

  

⑥正常打开界面

  

  

  2. 设计电路并进行仿真

  ①添加元器件

  

  

  
  

  

  
   此次仿真需要89C52、LED灯、电源、电阻。
在proteus中上面的元器件依次选择为,AT89C52,LED-BULE(这里的BLUE仅代表颜色,不代表型号),POWER,RES。
  
  ②元件库如下

  

  

在终端模式下进行选择电源

  

  

③设计电路

  

  

  
   LED串联一个电阻是为了限流,电阻的阻值可以小一点,这样LED灯会更亮一点。
  
  ④双击89C52添加hex文件

  

  

⑤点击左下角仿真按钮进行软件仿真

  

  

⑥LED成功点亮界面

  

  

  三、 开发板调试*

  
   *开发板调试需要自行购买开发板并安装程序烧入软件,但由于涉及广告问题,这里我不提供我的开发板厂商以及烧录软件,请大家理解。
  
  1.USB连接开发板
2.打开开发板开关
3.进行程序烧录

  

  

程序下载成功界面

  

  

  
   温馨提示:芯片类型,波特率,需要根据自己的芯片以及程序的波特率进行相对应的设置,上图设置仅是我的设置。
  
  4.成果展示

  
  

  四、 总结

  在此次入门学习中,我慢慢的对proteus软件的使用以及C51的知识有了一定的掌握。但也只是做了入门级别的实例,没有做到对proteus和C51单片机的深入探讨,希望自己可以在之后的时间里认真学习单片机和proteus。
本博客旨在分享一些入门学习经验,以上步骤如有问题或者侵权请联系我,谢谢各位阅读。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分