擎天柱 学习记录
擎天柱到货,兴奋,赶紧上图。
这个怎么和我的不一样,改版了? soma 发表于 2025-1-3 17:38
这个怎么和我的不一样,改版了?
你的什么样子?上图看看 擎天柱 第一集
第二次看冲哥视频,擎天柱到手,能够更加沉下心去听视频内容,而不是为了写日志去特意搜寻关键知识点。
可能是登陆的人太多,无线网络有点卡。
第一集的内容擎天柱还是不大方便去实现,当然现还没有买LED屏幕。随着视频学习会逐渐购买所需要的外围器件。 擎天柱 第二集硬件及工具介绍
keil5之前安装过。
但是安装包里没有C251,只有C51不知道行不行?
转KeilC51:
改工程配置(device,memory model)
改头文件
改库文件(用库函数的话)
改各种8bit LIB(MDU\FPU\CDC\HID)
改中断(超过32的用32之前闲置的中断号,isr.asm里汇编跳转)
改寄存器操作,不能bit操作的地址用位运算
注:转自本论坛内 大神:erci***
(贴图分辨率过高,所以只好复制粘贴。)
在论坛里发现答案了。感谢大神。感谢论坛。
更新ISP。
下载头文件。
不是绿色? zhaoye818 发表于 2025-1-4 18:14
不是绿色?
紫色的 好看 擎天柱 第二集续
C251从armkeil官网下载。安装破解完成。
头文件添加完成。
keil中断拓展插件安装完成。
购买的2.54插针还没到货,到货焊接后再烧录程序吧。 擎天柱第三集点亮LED
插针到货,焊接完成。
焊接后发现问题,应该用哪个管脚烧录程序?
看论坛才知道,可以用USB直接下载。
尴尬~
软件环境搭建完成,编译下载LED程序,测试完成。 想用stc32的 USB-CDC的程序移到AI8051U上试一下,改了头文件,编译完还是很多错误,不知道为什么?
#include "ai8051u.h"
#include "stc32_stc8_usb.h"
#define FOSC 24000000UL // ISP???íê±Dè??1¤×÷?μ?êéè???a24MHz
char *USER_DEVICEDESC= NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#"; // 2?í£μ?×??ˉISP???í?üá?,?éò?×??¨ò?
void main()
{
WTST=0;
CKCON=0;
EAXFR=1;
P0M1=0x00;P0M0=0x00;
P1M1=0x00;P1M0=0x00;
P2M1=0x00;P2M0=0x00;
P3M1=0x00;P3M0=0x00;
P4M1=0x00;P4M0=0x00;
P5M1=0x00;P5M0=0x00;
P6M1=0x00;P6M0=0x00;
P7M1=0x00;P7M0=0x00;
P3M0 &=~0x03; // P3.0,P3.1oíUSBμ?D-D+12ó?PINòy??
P3M1 =0x03; // Dèòa??P3.P3.1éè???a??×èê?è??£ê?
IRC48MCR=0x80; // ê1?ü?ú2?48M?°USBרó?IRC
while (!(IRC48MCR & 0x01));
USBCLK = 0x00; // éè??USBê±?ó?′?a?ú2?48Mμ?USBרó?IRC
USBCON = 0x90; // ê1?üUSB1|?ü
usb_init(); // ?′ó?USB CDC3?ê??ˉ?aoˉêy
EUSB=1; // ê1?üUSB?D??
EA=1;
while (DeviceState != DEVSTATE_CONFIGURED); // μèì?USBíê3é????
while (1)
{
//μ±ó2?t?óê?íê3éé????úí¨1y′??ú?úê?·¢à′μ?êy?Yoó£??á×??ˉ??bUsbOutReady??1
//?óê?μ?êy?Y×??úêy±£′??úOutNumber±?á??D£??óê?μ?êy?Y±£′??úUsbOutBufferêy×é
if (bUsbOutReady)
{
USB_SendData(UsbOutBuffer,OutNumber); // ê1ó?USB_SendData?é?òé????ú·¢?íêy?Y
// ?aà?μ?′ú???a???óê?μ?μ?êy?Y?-?ù·μ??
usb_OUT_done(); // ′|àííê3é?óê?μ?êy?Yoó
// ?′ó?usb_OUT_done×?±??óê???ò?±êêy?Y
}
}
}