找回密码
 立即注册
查看: 1091|回复: 42

我学AI8051

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-17 20:47:46 | 显示全部楼层 |阅读模式
因为搞一个电子产品需单片机才可以实现,看到满大街的C51学习板都是用的STC的MCU.

淘了一个STC8G1K核心系统正式开启了C51之路.
在使用中被ISP下载程序一步一步引到了官网,引到了这个论坛.
在论坛里看到了有AI8051这么强大的单片机.
第一集 序
AI8051是在STC32的基础之上功能更提高的芯片。
在屏幕显示和视频播放上有很大提高。
完善IIS音频处理
上位机频谱分析仪
手写识别
等等都为开发如虎添翼。
并且全兼容8051。
硬件浮点/硬件三角函数 运算器为开发做好了坚实后盾。
第二集 Ai8051U实验箱
了解了PCB板 PCBA板概念;
这个实验箱的基本构造:
    IO部分(TF卡插座,USB转双串口,TypeC, TypeA,USBLink,示波器BNC(这个以后慢慢了解)耳机,LineOut
    接口(SPI,I2C,8/7线接口,OLED屏接口,TFT彩屏接口,红外发射接收)
    板载输入输出(8位流水灯,8位数码管,矩阵键盘,ADC键盘,6个特殊引脚按键)
    还有一个SRAM(什么作用呢?后面再学吧。)
    背面还有外部晶振,EEPROM,温度传感器,蜂鸣器等外设。
后半部讲解了keil C521,头文件下载,代码包及手册下载,ISP软件下载,及其它插件的下载及安装。
第三集 点亮第一个LED
现在我决定把我的擎天柱点亮.
按住P32->再按power->松开power->松开P32.没反应?????
换台电脑->一样的.
换条线->一样的
不服气!拿出我手机原配快充线.
终于看到了(HID1) USB-Writer.
打开一个跑马灯例程hex程序,点下载.提示下载成功.但板子上的灯没反应.
C51例程,8位指令,24MHz.问题出在哪里呢?
再看一下第二集.
仔细阅读例程:
//========================================================================
// 函数: void KeyResetScan(void)
// 描述: P3.2口按键长按1秒触发软件复位,进入USB下载模式。
// 参数: none.
// 返回: none.
// 版本: VER1.0
// 日期: 2022-6-11
// 备注:
//========================================================================
void KeyResetScan(void)
{
    if(!P32)
    {
        if(!Key_Flag)
        {
            Key_cnt++;
            if(Key_cnt >= 1000)                //连续1000ms有效按键检测
            {
                Key_Flag = 1;                //设置按键状态,防止重复触发


                USBCON = 0x00;      //清除USB设置
                USBCLK = 0x00;
                IRC48MCR = 0x00;
               
                delay_ms(10);
                IAP_CONTR = 0x60;   //触发软件复位,从ISP开始执行
                while (1);
            }
        }
    }
    else
    {
        Key_cnt = 0;
        Key_Flag = 0;
    }
}



有一个长按P32触发复位功能.试一下,长按1秒又看到了(HID1) USB-Writer.这可能就是第4集讲的内容吧.
但为什么跑以灯不亮?都能执行部分代码,程序是下载成功了.再找找原因.
分析了一下程序,端口P2,核心板也是P2上有LED.分析不出来了,换一个程序吧
找到冲哥的上课例程<03.点亮第一个LED>,
截图202502171930266416.jpg

先用8bit下载试试

截图202502171932231775.jpg

亮了.
加代码,做成一个跑马灯,改了程序后编译不了,是C251的例程.
好吧,装C251......
#include "ai8051u.h"                //调用头文件


//注意:擎天柱的LED端口在P2,且没有三极管的电源控制,所以只要控制P2端口即可




void main(void)
{
        P2M0 = 0;                //P2端口(P20-P27)为准双向口
        P2M1 = 0;
        P21=0;
        P23=0;
               
        while(1)
        {
                unsigned char i;
                for (i=0;i<8;i++){
                        
                        unsigned int m;                                                //硬循环延时
                        unsigned int n;               
                        for (m=0xff ; m != 0;m--){
                                for (n=0xfff ; n != 0 ; n--);        //硬循环延时
                        }
                        P2 = ~(1<<i);        //P2端口输出0V
                        
                }
        }
}

终于成功跑上马灯了.

必须用C251,32bit指令.




回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-17 20:59:51 | 显示全部楼层
现在建一个C51跑马灯,测试一下
截图202502172058487634.jpg
在ISP里找到头文件
截图202502172111156963.jpg

直接把刚才C251的main复制过来就行了.
编译通过,下载编程通过.
验证AI8051U是可以兼容8位80C51的.

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-17 22:59:21 | 显示全部楼层

第四集 USB不停电下载
搞了好几个小时都下载不了,
心情都搞撇了。
我直接用下载的原代码也不行。
实然发现windows在装这个驱动。
截图202502172258358272.jpg
发现下载后电脑就在装驱动/
是这个原因吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-17 23:08:12 | 显示全部楼层
果然是这个问题,等了好几分钟,不知道系统在哪里搜索到程序安装上了.
所有修改的一切都正常了.

总结一下:
不停电下载,就是把一个模板.CTRL+C CTRL+V 装到工程里,学到今天是这样.后面再详探这个模板.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 09:42:54 | 显示全部楼层
又通过芯片手册学习了一下USB-CDC虚拟串口
截图202502180944468143.jpg
STC8G也集成有

截图202502180944081620.jpg
再看了AI8051芯片手册,附录R,何老师的<USB原理及应用线上培训教程>
囫囵吞枣了看了一下,打个flag等有时间再细细学一下这个.
理解是:
在芯片内集成了USB转串口.
现在是USB通讯的天下.要好好学一下这个通讯协议.
截图202502180945592797.jpg







回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 10:24:20 | 显示全部楼层
通过再学习,这个USB还有串口数据输出.
这不就是一个大好的调试器吗?
https://www.stcaimcu.com/forum.php?mod=attachment&aid=ODUxMDd8Yzc1NzQ0YjF8MTc0NjEyMzg4NHwwfA%3D%3D
截图202502181024055468.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 11:15:51 | 显示全部楼层
第五集 C语言基础
好好学一下,冲哥整理了,我们就仔细学一下,贴这里
截图202502181115226522.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 11:21:04 | 显示全部楼层
我是搬运工
使用64位变量,需要在程序文件里添加申明:
#pragma float64
截图202502181120504457.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 11:53:56 | 显示全部楼层
截图202502181153508200.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-05-01 07:09:37
已绑定手机

1

主题

43

回帖

233

积分

中级会员

积分
233
发表于 2025-2-18 12:00:30 | 显示全部楼层

都是大师精简了的,好好笔记

截图202502181200276047.jpg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:24 , Processed in 0.306025 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表