MJBZ 发表于 前天 09:42

学习了Ai8051U学习视频的第三集,点亮一个led,
我了解到Ai8051U使用的keil是跟stm32一样的arm版本,还需要用isp软件给keil一键安装Ai8051U的头文件。
点亮led的代码过程与STC8的一样,先配置引脚的工作模式,再开设置引脚的高低电平。
代码如下:
#include "ai8051U.h"
void main(void)
{
P0M1=0X00;//配置P0口工作模式为双向模式
P0M0=0X00;
P4M1=0X00;//配置P1口工作模式为双向模式
P4M0=0X00;

while(1)
{
P40=0;
P00=0;
}
}
PNM0,PNM1要同时设置才能对某一个或者某几个引脚起作用。

看了视频才知道,用P00点亮led是因为P40配置低电平启动一个三极管,这个三极管的作用是给P0口做开关。所以要点亮P00口的led,需要把P40和P00都设置为低电平。

MJBZ 发表于 前天 14:49

今天学习了Ai8051U深度入门课程的第四节,USB不停电下载,学习到了1.下载usb库,2.ISP软件和Keil程序中引用usb库、相关头文件,3.修改寄存器,可以免去了下载rhex文件时还要按两个按键,实现Ai8051U的不停电下载,USB不停电下载功能是真的好,我就因为不懂STC8G1A08A的下载方法,在下载这个环节卡了一个多月,哈哈哈。

MJBZ 发表于 前天 15:47

今天学习了 Ai8051U深度入门视频课的第五集 C语言基础,学习了Ai8051U的USB-CDC模拟串口的设置和printf函数的使用(usb-cdc模拟串口就是usb通信速率最快可到12M,所以在ISP软件中设置任何波特率都可以,速度都是一样的),变量类型的使用以及用错可能出现的现象,还复习了C语言算数运算符,关系运算符,赋值运算符等C语言基础知识。温故而知新。

MJBZ 发表于 昨天 09:29

今天学习了Ai8051U深度入门第六集 I/O输入输出,学习到了 PNM0 PNM1组合配置一个或几个I/O接口,有四种模式,
PNM1   PNM0   工作模式
0         0         准双向口既能做输入也能做输出
0         1         推挽输出
1         0         高阻输入
1         1         开漏模式

端口触发施密特要注意触发的高电平和低电平是否达到要求。
还通过按P32按键点亮P00的LED灯学习了if else语句和 变量取反控制led灯
可以用while()语句钳住led状态。
代码调用延时函数Delay之前还要设置寄存器 WTST EAXFR,CKCON

MJBZ 发表于 昨天 10:50

今天学习了《Ai805U深度入门》学习视频第七集 定时器中断
定时器非常有用,可以避免delay一根筋的浪费cpu时钟,使用定时器可以让单片机执行多个任务,提高效率
在printf打印的时候汉字“数”出不来,因为字符串中不吭含有带0xFD编码的汉字,否则keil编译时会跳过0xFD,因为keil编译器使用了0xfd、0xfe和0xff这三个字符编码,
解决办法也很简单,在0xfd编码的字符后面增加一个0xfd就可以了,
例如printf(“数\xdf学”),"\x"表示后面的1-2个字符为16进制数,“\xfd”表示16进制数0xfd插入到字符串中。因为“数”的汉字编码是0xcafd,keil会跳过其中的fd,再手动添加fd就可以正常显示汉字“数”
还学习了时钟计算方法,学习了定时频率计算和定时时间计算。
还学习了函数的定义、声明、调用
返回值类型 函数名(入口参数)
{
    //函数体
    函数执行的代码;
    return返回值;
}
返回值类型 函数名(入口参数);
函数名(入口参数);
定时器看起来使用的时候比delay多几个步骤,但是灵活性非常高,可以最大程度发挥cpu时钟资源,实现很多需要的功能

MJBZ 发表于 1 小时前

今天学习了西西坛主推荐的视频“printf_usb("Hello World !\r\n")及usb不停电下载”,学习了ISP软件V6.95v中AIcube的使用,
AiCube实验一
在isp软件中点击AiCube,点击新建-》选择单片机型号-》数目项目名称-》设置项目保存路径-》选择单文件项目
在AiCube项目创建助手中,可以使用图形化I/O口配置,左键选择管脚功能,右键配置管脚模式,需要注意的是,在软件界面右侧选中管脚并设置管脚模式后,还要在软件界面左侧在相应的管脚大类中打勾选中,按F5创建工程
在生成的keil5工程中修改代码,例如isp软件范例代码,深圳大学的,程序编译完成后
在ISP6.59Y中,打开程序文件-》IRC调节模式选择不调节,使用内部预制频率-》IRC频率选择40MHz-》点击下载,还可以设置不停电下载,在“收到用户命令后复位到ISP监控程序区”把下面的三个勾都勾上,之后keil工程编译之后就可以自动下载

AiCube实验二
USB-CDC查询方式 printf_usb打印返回
步骤与实验一类似,点击回送“Hello World”就接收到“Hello World ”

AiCube实验 三
USB-CDC中断方式 printf_usb打印返回
步骤与实验一类似,点击回送“Hello World”就接收到“Hello World ”

MJBZ 发表于 半小时前

今天学习了西西坛主推荐的第二个视频,实验一直接输出,实验二查询方式,实验三中断方式
内容与推荐的第一个视频类似,但是使用的isp软件版本是6.95W,推荐的第一个视频版本是6.95Y,两个版本中间相隔7天左右,软件更新的真快,我学习STC8G1K08A的时候,就用了5个版本的isp,很明显的能看到添加Keil5 C51头文件的数量是不断增加的。
在AiCube中生成HEX格式选项中,超过64k就选HEX-386,一般选80就够了。
整体的内容与7月11日的视频内容类似,但是两个视频中都强调了用户程序要放在//《AICUBE_USER_INCLUDE_BEGIN》 //《AICUBE_USER_INCLUDE_END》之间,好像是用Aicube再次添加功能的时候,用户自己写的程序会被保留,提高效率。
还可以在keil中点击windows-》Split,把编程界面四分屏。
页: 1 [2]
查看完整版本: Ai8051U学习打卡