325
社区成员




1 插上LCD显示屏会扰乱数码管和LED的运行,且LCD显示屏必须插对,且51开发板过窄,建议平时不插。
2芯片型号与江科大的不同哦,晶振频率为11.0592
3Keil5的中文要删两次。
每完成一个步骤,测试一次效果,边写边调试,方便我们找到错误。由于Keil5不会帮我们自动对齐,故大括号我们最好自己上下对齐,尤其是当循环较多时。添加细节注释,让你下次更快回忆代码,也让别人更容易读懂你的代码。
1. 在文件夹“51”中新建文件夹“流水灯”
2. 打开Keil5,点击Preject,选择new project,找到文件夹“流水灯”,点击,命名为Project,确认,创建完成
3. 展开Target1,右键Source Group1,选择add new item,选择file(C.),命名为main
4. 右键面板,选择insert...即可出现头文件
5. 每次新建项目要勾上outputl里的creat HEX file
6. 每次烧录前需运行一遍代码,点击build或按F7(不要rebuild)
7. 记得save all
8. 选择Templates里的模版会更快捷
1. Ctrl C Ctrl V“矩阵键盘”得到“矩阵键盘副本”,副本包含原文件所有工程,重命名
2. 直接打开Project,关闭文件夹,得到一样的工程
传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。
模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等。
步骤:
1. 右键Source Group1,按照创建main.c文件的方法创建Delay.c文件
2. 将Delay函数的函数体移入Delay.c
3. 右键Source Group1,选择Header File创建Delay.h头文件
4. Delay.h头文件未出现在工程目录,右键Source Group1,选择Add Existing File...,文件类型改为All Files,添加即可
5. 按照模版填充.c .h 文件,调用时记得声明
6. Delay.c文件之类的有时也需其他头文件
7. 如果Delay.c文件已在其他文件创建过,则将Delay.c文件复制粘贴到项目文件,再添加到工程目录
注意事项:
c文件:函数、变量的定义
.h文件:可被外部调用的函数、变量的声明
任何自定义的变量、函数在调用前必须有定义或声明(同一个.c)
使用到的自定义函数的.c文件必须添加到工程参与编译
使用到的.h文件必须要放在编译器可寻找到的地方(工程文件夹根目录、安装目录、自定义)
函数名只有在.h文件里才全部大写,在.c文件全部大写则无法识别
1. 打开stc,找到软件延时计算器
2. 更改系统频率为11.0592,指令集为STC-Y1(具体看单片机类型)
3. 生成C代码,复制粘贴
4. void Delay(xms) //@12.000MHz
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
} 也可用以上自由延时函数
配置如图所示,
每次它都会刷新,故每次都要重新配置。
第一行要删掉,因为此单片机已默认是12T,
系统频率改为11.0592,
还需设置中断系统,代码如下:
`ET0=1;
EA=1;
PT0=0;`