- 打卡等级:偶尔看看I
- 打卡总天数:16
- 最近打卡:2025-05-01 07:09:37
已绑定手机
中级会员
- 积分
- 233
|
因为搞一个电子产品需单片机才可以实现,看到满大街的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>,
先用8bit下载试试
亮了.
加代码,做成一个跑马灯,改了程序后编译不了,是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指令.
|
|