嵌入式作业2:stem32的程序编译及c51仿真

软件

本次作业需要的软件有:keil5、proteus
两个软件安装的步骤很简单,这里不再赘叙。

stem32流水灯程序编译

1、创建工程

(1)project—>new uvsion project

(2)选择单片机种类

(3)创建成功
在这里插入图片描述

2、编写程序

这次流水灯程序的编译需要创建三个文件
main.c、 led.c 、led.h
(1)main.c
在这里插入图片描述

(2)led.c
在这里插入图片描述
(3)led.h
在这里插入图片描述
(代码为工程模板)

3、编译运行

在这里插入图片描述

4、注意

自己编写程序时,遇到了以下问题:

user\main.c(29): warning:  #223-D: function "LED1_OFF" declared implicitly
user\main.c(10): error:  #5: cannot open source input file "stm32f1xx_hal.h": No such file or directory

第一个是“LED1_OFF”没有声明
第二个是没找到“stm32f1xx_hal.h”文件的位置(一般可以通过修改target属性中,文件目录路径来解决)
这两个错误都是因为没在工程里面添加相应的头文件
工程模板的project如下:
需要包括程序中用到的头文件
在这里插入图片描述

C51流水灯程序编译及仿真

编程(keil4)

1、创建项目

(1)project—>new uvsion project
在这里插入图片描述
(2)选择单片机:Atmel—>AT89C51
在这里插入图片描述
(3)成功创建一个空白工程
在这里插入图片描述

2、编程

在这里插入图片描述
(1)intrins.h是函数 crol 的头文件
(2)delay 函数是延时,通过改变delay(i)中的i的数值,可以改变灯亮的时间长短
(3)crol:向左移,crol(P1,1)表示将P1的二进制数循环向左移一位,而_cror_则是向右移。
_crol_与"<<"的区别:_crol_是循环向左,<<是向左,末尾补0.

3、编译运行

在这里插入图片描述

注意

需要在target1的属性output一栏勾选create HEX file (仿真时需要hex文件)
在这里插入图片描述

proteus仿真

(1)仿真电路图
在这里插入图片描述
(2)运行在这里插入图片描述

小结

这次作业是我第一次接触stem32,相比于C51,stem32在建立工程方面比较复杂,也是我在这次作业遇到的最大困难,但是由一个流水灯小程序,可以看出,stem32的标准库比C51的丰富,程序大部分可以直接用标准库的函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值