小白C51流水灯的踩坑之路

您所在的位置:网站首页 流水灯c51实验原理是什么 小白C51流水灯的踩坑之路

小白C51流水灯的踩坑之路

2024-07-12 14:28| 来源: 网络整理| 查看: 265

C51单片机流水灯案例(包括Keil与Proteus的连接)

看到很多大神在说流水灯就好像是单片机里面的Hello world,但是对于像我这样的初学者而言还是存在一定的问题。记录下我的踩坑之路。

1连接问题

我现在看来比较方便的方式是在Proteus中去连接,首先在proteus(ISIS中)构建一个类似这样的结构。要注意的是你选择的是第几个P口,例如下图就是P1口,那么后面的编程你就要对P1口编程(虽然很傻的问题,但如果后面你要是直接复制别人的代码就一定要注意这一点) 在这里插入图片描述 这个结构对于小白来说创建起来不算太难,但也有一定的坑,就是在于这个接地装置,是首先要点击下图的红箭头。 在这里插入图片描述 是在下面这个位置去选择的POWER 在这里插入图片描述 选择完毕之后双击添加组件,还要把string 这个位置改为ground 在这里插入图片描述 再者,灯的选择是LED(颜色随意在窗口p的位置挑选,这个应该比较常见)就是如下这个地方,同理C51单片机也是在这个地方直接输入就可以,至于电阻也是输入res就可以找到电阻,在双击确定电阻之后可以双击修改电阻值,来改变灯泡亮度。 在这里插入图片描述 在这里插入图片描述 后面就是链接这里首先右击C51单片机然后点击Edit Properties 在这里插入图片描述 在这里的Program File中选择你的hex文件 在这里插入图片描述 但是这个时候问题就来了有的小伙伴不知道怎么生成.hex文件,不知道的话没关系下面的编程中会详细介绍如何生成.hex文件,如果现在你已经写完了流水灯的C语言代码,且生成了对应.hex文件你就直接在这个地方选择对应的文件路径就可以运行了,如果没有写代码的话,就继续看下去。

C51代码

打开Keil4这个时候应该会独立创建一个.C文件,如果不会的话自行百度。。 代码如下:

#include #include"intrins.h" typedef unsigned char u8;/*char 为1字节,8位 */ typedef unsigned int u16; #define led P1 void delay(u16 i) { while(i--); } void main() { u8 i; led=0x01; delay(50000); while(1) { led=led如果超过最高位溢出,溢出位会被舍弃掉变为0x00。

之后就是要生成.hex文件的步骤了如果你用的是Keil4的话按照如下步骤进行即可(其他版本不清楚)

在这里插入图片描述 那么这个时候你编译出来的文件就会生成.hex文件,这是回答之前说的,在proteus中右击C51单片机再选择Edit Properties在修改对应的Program Files的路径改为你的Keil的Project对应的目录下就会找到.hex文件,之后添加。 在这里插入图片描述 之后就运行即可 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3