第一集 使用自制开发板点亮跑马灯
前言:有幸接触到stc推出的最新MCU-AI8051U,本着学习共勉,记录自己的本次学习心得。
第一步:使用KEIL创建项目模板demo工程。
新建工程,选择MCU,点击OK。

创建main函数,

编译验证环境没问题。

第二步:根据实验板原理图,分析控制原理,
查看led控制电路图,根据控制逻辑,要想点亮DS1-DS8这8个LED,首先需要打开Q1三极管,及P4.0口为低电平0,电压SYS_VCC才可传输到LED的正极,此时led还不能点亮,必须让P0.0-P0.7以此由高电平变为低电平才可以点亮,及LED两端有电势差,从而形成电流,这样LED才可以发光发亮。

第三步:根据控制逻辑对流水灯所在的IO口进行控制
软件配置IO寄存器;

keil 设置输出固件,点击魔法棒 选择Output选项 勾选 Create HEX File

编译工程,查看输出结果
无错误,根据HEX文件输出地址,使用ISP工具烧录程序。
第四步:烧录程序,使用新版内置的USB功能,结合ISP上位机
使用数据线连接电脑,按住实验板SW1(p32)按键不放,按一下SW7重上电按钮,等ISP上位机的扫面串口位置显示(HID1)USB-Writer后,说明串口识别成功,然后就可以松开SW1按键了。选择对应的波特率和程序,点击下载/编程按钮,进行程序烧录。

烧录成功。

null第五步:验证查看流水灯效果。
附件:第一集-点亮流水灯.zip
第二集 学习补充C语言基础知识
说明,本次验证使用屠龙刀核心板。结合板载的P20接口的LED指示灯,用于调试测试。
知识点1:printf函数结合ISP上位机实现串口打印数据,用于程序调试,最便捷最便宜的调试方式。

printf函数常用格式字符含义介绍
例如:当串口接收到数据时,串口打印室内温度,同时开发板点亮LED指示灯P20
if( DeviceState != DEVSTATE_CONFIGURED ) //判断USB设备是否连接成功,连接成功继续下一步程序
continue;
if( bUsbOutReady ) //如果USB接口接收到数据,则执行以下函数体
{
usb_OUT_done();
printf("室内温度:%2.3f",23.5); //ISP上位机,HID设备,打印调试
printf("℃\r\n");
}
P20 = 0; //LED指示灯打开


知识点:关于printf格式字符的含义介绍。
例如:printf("室内温度:%2.3f",23.5); 2.3参照以下表格的n.m,
在此处,ISP打印的数据是23.500,级小数部分占3位。


知识点2:程序开发中说到的数据是什么,数据的类型有哪些,什么又是数据转换。
知识点3:数据转换在程序开发中的作用。
例如ISP软件在打印数据时为什么会出现两种格式的显示方式,文本是大家可以直接理解的,但是HEX的数字和字母倒是是什么含义呢:

此处知识点设计到ASCII码转换.可借助电脑自带的计算器进行一些进制转换。
将ISP显示的HEX(十六进制)转十进制,然后查ASCII表得出字符
例如 上图中HEX区域显示的最后两位数是十六进制0X21,转换成是十进制为33,对应ASCII表格字符!


知识点4:C语言基础知识点在单片机开发过程中的妙用。
常用运行算符以及验证。

为什么有数据类型?又为什么具有数值大小限制?它与常说的数据越界有什么关联?
