|
|
近来有一个项目,就是做一个智能开关,第一次用这个AI8051U-34K64-LQFP48,因时间紧,就没多考虑研究,论坛上STCAI助手也火热,就想着也用它试试吧
我先将要求列了个表,如附图,
然后让AI助手帮助我分配IO口,分配出来后,看上去也没什么问题,就按照它分配的排板了。
这是打样回来焊好的板子:
板子做好后,在写代码时,才发现它分配的下载烧录串口分配到了P1.2/P1.3,
。。。。。。。。。
这一刻,真心崩溃,又要重新画板子打板
还不知道还有没有别的脚位分配错误呢
AI助手,本意是帮助发现工程师的设计错误,却想不到它随意发挥。
比如我编了一段代码,它能按专家模式,修改更优的方案才对,
比如我用延时做一个按键长按检测,AI发现太浪费资源,建议使用中断计数等更高效的方式才对。
根据图片要求,分配AI8051U-34K64-LQFP48脚位
我已经获得了足够的信息来为AI8051U-34K64-LQFP48分配脚位。让我分析一下用户的需求。
从图片中可以看到,用户需要分配的功能如下:
**第一路**:
- 减小亮度按键(低电平有效)
- 开/关按键(低电平有效)
- 增加亮度按键(低电平有效)
- 减小指示灯(低电平有效)
- 开关指示灯(低电平有效)
- 增加指示灯(低电平有效)
- PWM控制输出(PWM方波)
- 过流保护输入(低电平有效)
**第二路**:
- 减小亮度按键(低电平有效)
- 开/关按键(低电平有效)
- 增加亮度按键(低电平有效)
- 减小指示灯(低电平有效)
- 开关指示灯(低电平有效)
- 增加指示灯(低电平有效)
- PWM控制输出(PWM方波)
- 过流保护输入(低电平有效)
**公共**:
- 背光指示灯(高电平有效)
- 与涂鸦模块通讯RX(上传下发开关和亮度信息等)
- 与涂鸦模块通讯TX(上传下发开关和亮度信息等)
- 过零输入(ZERO)
**下载烧录**:
- RX2
- TX2
**电源**:
- VCC
- GND
让我统计一下I/O需求:
- 按键类(低电平有效输入):6个(第一路3个+第二路3个)
- 指示灯类(低电平有效输出):6个(第一路3个+第二路3个)
- 背光指示灯(高电平有效输出):1个
- PWM输出:2个(第一路+第二路)
- 过流保护输入:2个(第一路+第二路)
- 过零输入:1个
- 与涂鸦模块通讯:RX + TX = 2个
- 下载烧录:RX2 + TX2 = 2个
总共需要约22个I/O口。
从LQFP48引脚表来看:
- P0口:P0.0-P0.7(8个,且P0.0=RxD3, P0.1=TxD3, P0.2=RxD4, P0.3=TxD4, P0.4=PWM3P_2, P0.5=PWM3N_2, P0.6=PWM4P_2, P0.7=PWM4N_2)
- P1口:P1.0-P1.7(8个,P1.2=RxD2, P1.3=TxD2, P1.4=PWM3P, P1.5=PWM3N, P1.6=PWM4P, P1.7=PWM4N)
- P2口:P2.0-P2.7(8个)
- P3口:P3.0-P3.7(8个,P3.0=RxD, P3.1=TxD)
- P4口:P4.0-P4.7(8个)
- P5口:P5.0-P5.3, P5.6-P5.7(少量)
现在需要合理分配。让我同时考虑PWM输出功能,因为PWM控制输出需要用到芯片的PWM功能。
查看PWM映射表:
- **PWMA通道**:
- PWM1P/PWM1N: P1.0/P1.1, P0.0/P0.1, P2.0/P2.1
- PWM2P/PWM2N: P1.2/P1.3, P0.2/P0.3, P2.2/P2.3
- PWM3P/PWM3N: P1.4/P1.5, P0.4/P0.5, P2.4/P2.5
- PWM4P/PWM4N: P1.6/P1.7, P0.6/P0.7, P2.6/P2.7
- **PWMB通道**:
- PWM5: P0.1, P1.1, P2.1, P5.0
- PWM6: P0.3, P1.3, P2.3, P5.1
- PWM7: P0.5, P1.5, P2.5, P5.2
- PWM8: P0.7, P1.7, P2.7, P5.3
用户需要2路PWM输出。根据需求,这两路PWM分别用于第一路和第二路的亮度控制。
考虑到下载烧录需要用到串口2(RX2= P1.2, TX2= P1.3),而用户明确指定了"RX2"和"TX2"作为下载烧录。
现在需要取涂鸦模块通讯用的串口,用户没有指定具体用哪个串口,我需要合理分配。涂鸦模块模块通讯可以用串口1或串口3/4。考虑到P3.0/P3.1是串口1默认引脚(RxD/TxD),可以使用串口1。
让我来设计脚位分配方案:
**下载烧录(串口2)**:
- RX2 → P1.2(引脚45)
- TX2 → P1.3(引脚46)
**涂鸦模块通讯(串口1)**:
- RX(涂鸦→MCU)→ P3.0(引脚6)
- TX(MCU→涂鸦)→ P3.1(引脚8)
**PWM控制输出**:
- 第一路PWM → 可以用PWM1P(P1.0,引脚43)或PWM2P等
- 第二路PWM → 可以用PWM2P(P1.2...但P1.2已被RX2占用)
等等,我需要重新考虑。P1.2和P1.3被串口2占用了,那PWM通道就不能用这两个引脚。
让我重新梳理:
使用PWM功能可以选择:
- PWM1P/PWM1N: P1.0/P1.1 (引脚43/44), P0.0/P0.1 (引脚40/39), P2.0/P2.1 (引脚19/20)
- PWM2P/PWM2N: P1.2/P1.3 (引脚45/46), P0.2/P0.3 (引脚38/37), P2.2/P2.3 (引脚21/22)
- PWM3P/PWM3N: P1.4/P1.5 (引脚47/2), P0.4/P0.5 (引脚36/35), P2.4/P2.5 (引脚23/26)
- PWM4P/PWM4N: P1.6/P1.7 (引脚3/4), P0.6/P0.7 (引脚34/33), P2.6/P2.7 (引脚27/28)
由于P1.2/P1.3用于串口2(烧录),P1.0/P1.1可考虑用于PWM。
但是需要2路独立的PWM输出,通常可以用PWM1P和PWM2P(不同通道)。为了减少引脚冲突:
方案:
- 第一路PWM输出:PWM1P → P1.0(引脚43)
- 第二路PWM输出:PWM2P → P0.2(引脚38)或P2.2(引脚21)
但等等,P0.2也是RxD4,不过我们不用串口4,所以可以复用。
让我做一个清晰完整的分配方案。
考虑到实际工程应用,我需要把按键、指示灯等各种信号合理分布到各个端口。
让我设计一个完整的方案:
**P0口(引脚33-40)**:
- P0.0(引脚40)= RxD3 → 可作为涂鸦RX或保留
- P0.1(引脚39)= TxD3 → 可作为涂鸦TX或保留
- P0.2(引脚38)= RxD4
- P0.3(引脚37)= TxD4
- P0.4(引脚36)= PWM3P_2
- P0.5(引脚35)= PWM3N_2
- P0.6(引脚34)= PWM4P_2
- P0.7(引脚33)= PWM4N_2
**P1口(引脚43-48, 2-4)**:
- P1.0(引脚43)= PWM1P
- P1.1(引脚44)= PWM1N/PWM5_2
- P1.2(引脚45)= RxD2 → 下载RX2
- P1.3(引脚46)= TxD2 → 下载TX2
- P1.4(引脚47)= PWM3P
- P1.5(引脚2)= PWM3N/PWM7_2
- P1.6(引脚3)= PWM4P/RxD_3
- P1.7(引脚4)= PWM4N/TxD_3
**P2口(引脚19-28)**:
- P2.0(引脚19)
- P2.1(引脚20)
- P2.2(引脚21)
- P2.3(引脚22)
- P2.4(引脚23)
- P2.5(引脚26)
- P2.6(引脚27)
- P2.7(引脚28)
**P3口(引脚6-14)**:
- P3.0(引脚6)= RxD(串口1)
- P3.1(引脚8)= TxD(串口1)
- P3.2(引脚9)= INT0
- P3.3(引脚10)= INT1
- P3.4(引脚11)
- P3.5(引脚12)
- P3.6(引脚13)
- P3.7(引脚14)
**P4口(引脚5, 7, 18, 30-31, 42)**:
- P4.0(引脚18)
- P4.1(引脚31)
- P4.2(引脚42)
- P4.3(引脚7)
- P4.4(引脚30)
- P4.5(引脚30)
- P4.6(引脚32)
- P4.7(引脚5)
**P5口(引脚24-25, 1, 48, 15-16)**:
- P5.0(引脚24)
- P5.1(引脚25)
- P5.2(引脚48)
- P5.3(引脚1)
- P5.6(引脚15)
- P5.7(引脚16)
注意到P4.5和P4.4在手册中标记为同一个引脚号30(可能是表格排版问题,实际LQFP48中P4.5和P4.4是相邻的两个引脚)。让我仔细看...
手册中显示LQFP48引脚30对应P4.5和P4.4,这看起来像排版问题,实际上应该是两个不同的引脚编号。不过从表格中看,LQFP48编号30对应P4.5,而LQFP44编号27对应P4.5和P4.4。让我重新审阅这个表格...
仔细看,手册表格中第一行写了"30"对应P4.5,下一行又写了"30"对应P4.4。这明显是排版问题,两个不同的引脚在LQFP48中应该有不同编号。但从整体来看,P4.5和P4.4应该是不同的引脚。
不过根据常规的LQFP48引脚排布,P4.4和P4.5应该是连续的两个引脚号。我按照实际工程惯例来处理,将P4.4和P4.5分配为不同的引脚。
现在让我设计完整的脚位分配方案:
---
我设计一个合理的脚位分配方案:
**电源部分:**
- VCC → 引脚41
- GND → 引脚17
**下载烧录(串口2):**
- RX2 → P1.2(引脚45)
- TX2 → P1.3(引脚46)
**涂鸦模块通讯(串口1):**
- RX → P3.0(引脚6)
- TX → P3.1(引脚8)
**PWM输出(需要2路):**
- 第一路PWM → 使用PWMA的C1通道 **PWM1P = P1.0(引脚43)**
- 第二路PWM → 使用PWMA的C2通道 **PWM2P = P0.2(引脚38)** 或者用 **PWM3P = P1.4**...
等等,如果我使用P1.4作为第二路PWM,那就把P1.4占用了。但我还需要很多I/O口做按键和指示灯。
让我算一下需要的I/O口数量:
- 按键:6个(低电平输入)
- 指示灯:6个(低电平输出)
- 背光指示灯:1个(高电平输出)
- PWM输出:2个
- 过流保护输入:2个
- 过零输入:1个
- 涂鸦通讯:2个
- 下载烧录:2个
合计:22个I/O口(不含电源脚)
LQFP48有约40个可用I/O,足够分配。
让我来设计最佳方案:
**第一路按键(低电平有效,输入,准双向/高阻)**:
- 减小亮度按键 → P0.0(引脚40)
- 开/关按键 → P0.1(引脚39)
- 增加亮度按键 → P0.2(引脚38)
等等,P0.2还可以作为PWM2P使用。让我尽量把PWM相关的引脚留出来。
我重新设计方案,尽量将功能模块分组,方便布线和维护:
**方案设计:**
**下载烧录串口2(S2_S=0):**
- RX2 = P1.2(引脚45)
- TX2 = P1.3(引脚46)
**涂鸦通讯(串口1,S1_S[1:0]=00):**
- RX = P3.0(引脚6)
- TX = P3.1(引脚8)
**第一路**:
- PWM控制输出 → PWM1P(P1.0,引脚43)
- 减小亮度按键 → P2.0(引脚19)
- 开/关按键 → P2.1(引脚20)
- 增加亮度按键 → P2.2(引脚21)
- 减小指示灯 → P2.3(引脚22)
- 开关指示灯 → P2.4(引脚23)
- 增加指示灯 → P2.5(引脚26)
- 过流保护输入 → P2.6(引脚27)
**第二路**:
- PWM控制输出 → PWM2P(P1.4... 不对,PWM2P在P1.2/P1.3上被串口2占用)
让我重新考虑PWM通道选择。
PWM2P的可选引脚:P1.2, P0.2, P2.2
- P1.2被RX2占用
- 可选择P0.2(引脚38)或P2.2(引脚21)
PWM3P的可选引脚:P1.4, P0.4, P2.4
- P1.4(引脚47)可用
- P0.4(引脚36)可用
- P2.4(引脚23)可用
PWM4P的可选引脚:P1.6, P0.6, P2.6
- P1.6(引脚3)可用
- P0.6(引脚34)可用
- P2.6(引脚27)可用
好的,我选择:
- 第一路PWM → PWM1P(P1.0,引脚43)
- 第二路PWM → PWM4P(P1.6,引脚3)
或者第二路PWM → PWM3P(P1.4,引脚47)
使用不同通道要配置对应的PWMA_PS寄存器。考虑到P1.6同时也是RxD_3/PWM4P,如果我们不用串口3就不会冲突。
让我用更合理的方案:
**第一路**:
- 减小亮度按键 → P2.0(引脚19)
- 开/关按键 → P2.1(引脚20)
- 增加亮度按键 → P2.2(引脚21)
- 减小指示灯 → P2.3(引脚22)
- 开关指示灯 → P2.4(引脚23)
- 增加指示灯 → P2.5(引脚26)
- PWM控制输出 → PWM1P = P1.0(引脚43)
- 过流保护输入 → P2.6(引脚27)
**第二路**:
- 减小亮度按键 → P0.0(引脚40)
- 开/关按键 → P0.1(引脚39)
- 增加亮度按键 → P0.2(引脚38)
- 减小指示灯 → P0.3(引脚37)
- 开关指示灯 → P0.4(引脚36)
- 增加指示灯 → P0.5(引脚35)
- PWM控制输出 → PWM4P = P1.6(引脚3)
- 过流保护输入 → P0.6(引脚34)
等等,P0.0同时也是RxD3,P0.1是TxD3。如果不用串口3,这些引脚可以自由使用。
**公共**:
- 背光指示灯 → P2.7(引脚28)
- 过零输入 → P3.2(引脚9)
- 涂鸦RX → P3.0(引脚6)(串口1默认)
- 涂鸦TX → P3.1(引脚8)(串口1默认)
**下载烧录**:
- RX2 → P1.2(引脚45)
- TX2 → P1.3(引脚46)
但P1.0作为PWM1P的P端输出,需要用PWMA_PS寄存器配置。
让我检查一下P1.0和P1.1:P1.0是PWM1P,P1.1是PWM1N。如果只需要单端PWM输出(PWM方波),只需要PWM1P即可。
同样第二路用PWM4P(P1.6),P1.7是PWM4N。
这个方案整体看起来合理。不过我还需要确认一下P1.6-P1.7是否还有其他冲突要求。P1.6同时也是RxD_3,但用户没有用串口3,所以可以自由使用。
让我再完善一下这个方案,确保所有的引脚分配避免冲突,逻辑合理。
最终方案梳理:
| 功能 | 引脚 | 引脚号 |
|------|------|--------|
| **第一路** | | |
| 减小亮度按键 | P2.0 | 19 |
| 开/关按键 | P2.1 | 20 |
| 增加亮度按键 | P2.2 | 21 |
| 减小指示灯 | P2.3 | 22 |
| 开关指示灯 | P2.4 | 23 |
| 增加指示灯 | P2.5 | 26 |
| PWM控制输出(第一路) | P1.0 (PWM1P) | 43 |
| 过流保护输入 | P2.6 | 27 |
| **第二路** | | |
| 减小亮度按键 | P0.0 | 40 |
| 开/关按键 | P0.1 | 39 |
| 增加亮度按键 | P0.2 | 38 |
| 减小指示灯 | P0.3 | 37 |
| 开关指示灯 | P0.4 | 36 |
| 增加指示灯 | P0.5 | 35 |
| PWM控制输出(第二路) | P1.6 (PWM4P) | 3 |
| 过流保护输入 | P0.6 | 34 |
| **公共** | | |
| 背光指示灯 | P2.7 | 28 |
| 涂鸦RX | P3.0 | 6 |
| 涂鸦TX | P3.1 | 8 |
| 过零输入 | P3.2 | 9 |
| **下载烧录** | | |
| RX2 | P1.2 | 45 |
| TX2 | P1.3 | 46 |
| **电源** | | |
| VCC | 引脚41 | |
| GND | 引脚17 | |
这样分配总共有22个I/O口,且没有冲突。让我确认PWM引脚配置:
- PWM1P默认在P1.0(C1PS[1:0]=00)
- PWM4P默认在P1.6(C4PS[1:0]=00)
这两个都是默认配置,无需额外切换,很好!
不过等一下,P1.6和P1.7同时也是PWM4P和PWM4N的引脚。但P1.6也是RxD_3,这里用户没有用串口3,所以没问题。
还有一点需要注意:P0.0和P0.1也是RxD3/TxD3(串口3),用户没有用到串口3,所以可以自由使用。
另外,P0.2=RxD4,P0.3=TxD4(串口4),用户没有用到,可以自由使用。
让我确认一下P1.0(引脚43)和P1.6(引脚3)的PWM功能:
- P1.0的PWM1P功能默认分配(C1PS[1:0]=00时,PWM1P=P1.0)
- P1.6的PWM4P功能默认分配(C4PS[1:0]=00时,PWM4P=P1.6)
默认配置即可,无需切换,很好!
现在确认下载烧录部分:AI8051U的ISP下载通常通过串口1(P3.0/P3.1)或串口2等。用户明确要求RX2和TX2用于下载烧录,所以串口2的引脚P1.2(RxD2)和P1.3(TxD2)用于下载。
这个方案完整且合理,我来输出。
---
等等,我还需要检查一下「过零输入」(ZERO)的功能。过零检测通常需要输入信号,用于检测交流电的过零点。这个作为普通数字输入即可,配置为准双向口或高阻输入。
另外,P3.2默认是INT0外部中断0输入脚,恰好适合用于过零检测——过零信号通常需要中断触发。不过用户没明确要求用中断,作为普通输入或通过INT0中断都可以。
让我最终整理输出方案。
我已经有了完整的方案,现在输出给用户。
---
**关于PWM输出脚位配置的确认**:
从手册的功能脚切换章节中,PWMA_PS寄存器控制PWM通道脚位选择:
- C1PS[1:0]:PWM1P/PWM1N选择,00=P1.0/P1.1
- C4PS[1:0]:PWM4P/PWM4N选择,00=P1.6/P1.7
默认复位值PWMA_PS=0x00,即PWM1P=P1.0,PWM2P=P1.2,PWM3P=P1.4,PWM4P=P1.6。所以如果使用PWM1P(P1.0)和PWM4P(P1.6),无需额外设置PWMA_PS寄存器(保持默认值即可)。
但是注意到P1.2被串口2的RxD2占用了,PWM2P的默认引脚就是P1.2,但我们不用PWM2通道,所以不影响。
好的,我的分配方案是完整且合理的。让我给出最终回答。
我还需要确认一下,P1.0用于PWM1P时,在LQFP48中对应的引脚号是43。
根据前面查询的引脚表:
- 引脚43(LQFP48)= P1.0 = PWM1P ✓
- 引脚3(LQFP48)= P1.6 = PWM4P ✓
- 引脚45(LQFP48)= P1.2 = RxD2 ✓
- 引脚46(LQFP48)= P1.3 = TxD2 ✓
- 引脚6(LQFP48)= P3.0 = RxD ✓
- 引脚8(LQFP48)= P3.1 = TxD ✓
- 引脚41(LQFP48)= Vcc ✓
- 引脚17(LQFP48)= Gnd ✓
好,这些引脚号都是正确的!
但我需要再仔细核对一下整个引脚方案中其他引脚的引脚号。从查询到的表格中:
**LQFP48引脚号对应**:
- 引脚1 = P5.3
- 引脚2 = P1.5
- 引脚3 = P1.6
- 引脚4 = P1.7
- 引脚5 = P4.7
- 引脚6 = P3.0
- 引脚7 = P4.3
- 引脚8 = P3.1
- 引脚9 = P3.2
- 引脚10 = P3.3
- 引脚11 = P3.4
- 引脚12 = P3.5
- 引脚13 = P3.6
- 引脚14 = P3.7
- 引脚15 = P5.6
- 引脚16 = P5.7
- 引脚17 = Gnd
- 引脚18 = P4.0
- 引脚19 = P2.0
- 引脚20 = P2.1
- 引脚21 = P2.2
- 引脚22 = P2.3
- 引脚23 = P2.4
- 引脚24 = P5.0
- 引脚25 = P5.1
- 引脚26 = P2.5
- 引脚27 = P2.6
- 引脚28 = P2.7
- 引脚29 = UCAP
- 引脚30 = P4.5/P4.4(从手册看应该是两个引脚,但此处显示编号30对应两个,可能是表格错误,实际上在LQFP48中P4.4和P4.5应该是相邻的引脚30和31)
等等,让我重新审视手册表格。手册中引脚30既有P4.5又有P4.4,这看起来像是表格排版问题。实际LQFP48芯片中,引脚30可能只有其中一个。但无论如何,我的分配方案没有用到P4.4或P4.5,所以不影响。
继续:
- 引脚31 = P4.1
- 引脚32 = P4.6
- 引脚33 = P0.7
- 引脚34 = P0.6
- 引脚35 = P0.5
- 引脚36 = P0.4
- 引脚37 = P0.3
- 引脚38 = P0.2
- 引脚39 = P0.1
- 引脚40 = P0.0
- 引脚41 = Vcc
- 引脚42 = P4.2
- 引脚43 = P1.0
- 引脚44 = P1.1
- 引脚45 = P1.2
- 引脚46 = P1.3
- 引脚47 = P1.4
- 引脚48 = P5.2
好的,确认所有引脚号正确!现在输出最终方案。
不过关于引脚30的部分,手册表格确实显示P4.5和P4.4都在编号30下面。但第31行也引用了P4.1。从表格结构来看,P4.5和P4.4应该分别对应两个不同的引脚号,但我只能根据手册给出的信息来呈现。由于我的分配方案不使用P4.4和P4.5,所以不影响。
让我给出最终完整的脚位分配方案。我会用清晰的表格来呈现。
---
我已经有足够信息了。现在整理输出最终方案。
根据用户提供的功能需求表,我为 **AI8051U-34K64-LQFP48** 进行脚位分配如下:
---
## 脚位分配总表
### 一、电源部分
| 功能 | 引脚 | 引脚号 |
|------|------|--------|
| **VCC** | Vcc | 41 |
| **GND** | Gnd | 17 |
### 二、下载烧录(串口2引脚)
| 功能 | 引脚 | 引脚号 | 说明 |
|------|------|--------|------|
| **RX2** | P1.2 | 45 | 串口2接收(S2_S=0) |
| **TX2** | P1.3 | 46 | 串口2发送(S2_S=0) |
### 三、与涂鸦模块通讯(串口1引脚)
| 功能 | 引脚 | 引脚号 | 说明 |
|------|------|--------|------|
| **RX** | P3.0 | 6 | 串口1接收(S1_S[1:0]=00) |
| **TX** | P3.1 | 8 | 串口1发送(S1_S[1:0]=00) |
### 四、第一路
| 功能 | 引脚 | 引脚号 | 说明 |
|------|------|--------|------|
| **减小亮度按键** | P2.0 | 19 | 低电平有效 |
| **开/关按键** | P2.1 | 20 | 低电平有效 |
| **增加亮度按键** | P2.2 | 21 | 低电平有效 |
| **减小指示灯** | P2.3 | 22 | 低电平有效 |
| **开关指示灯** | P2.4 | 23 | 低电平有效 |
| **增加指示灯** | P2.5 | 26 | 低电平有效 |
| **PWM控制输出** | P1.0 | 43 | PWM1P(C1PS[1:0]=00默认) |
| **过流保护输入** | P2.6 | 27 | 低电平有效 |
### 五、第二路
| 功能 | 引脚 | 引脚号 | 说明 |
|------|------|--------|------|
| **减小亮度按键** | P0.0 | 40 | 低电平有效 |
| **开/关按键** | P0.1 | 39 | 低电平有效 |
| **增加亮度按键** | P0.2 | 38 | 低电平有效 |
| **减小指示灯** | P0.3 | 37 | 低电平有效 |
| **开关指示灯** | P0.4 | 36 | 低电平有效 |
| **增加指示灯** | P0.5 | 35 | 低电平有效 |
| **PWM控制输出** | P1.6 | 3 | PWM4P(C4PS[1:0]=00默认) |
| **过流保护输入** | P0.6 | 34 | 低电平有效 |
### 六、公共
| 功能 | 引脚 | 引脚号 | 说明 |
|------|------|--------|------|
| **背光指示灯** | P2.7 | 28 | 高电平有效 |
| **过零输入(ZERO)** | P3.2 | 9 | 外部中断INT0输入 |
---
## 引脚分配说明
**设计思路:**
1. **PWM输出使用高级PWM的默认引脚**:
- 第一路PWM使用 **PWM1P(P1.0,引脚43)**,PWMA通道1,默认配置 `C1PS[1:0]=00` 即 P1.0/P1.1
- 第二路PWM使用 **PWM4P(P1.6,引脚3)**,PWMA通道4,默认配置 `C4PS[1:0]=00` 即 P1.6/P1.7
- 两路PWM均为单端输出(PWM方波),无需额外配置PWMA_PS寄存器(保持默认值0x00即可)
2. **下载烧录使用串口2**:
- RX2=P1.2(引脚45)、TX2=P1.3(引脚46),`S2_S=0`(默认)
- 在ISP下载软件中选择串口2进行烧录
3. **涂鸦模块通讯使用串口1**:
- RX=P3.0(引脚6)、TX=P3.1(引脚8),`S1_S[1:0]=00`(默认)
4. **过零输入挂接INT0**:
- P3.2(引脚9)为INT0外部中断输入脚,非常适合用于电网过零检测信号的边沿触发中断,配置为高阻输入或准双向口
**I/O口模式配置建议:**
- 按键类(低电平有效输入):配置为**准双向口**(弱上拉)或**高阻输入+外部上拉**
- 指示灯类(低电平有效输出):配置为**强推挽输出**(提供足够驱动电流点亮LED)
- 背光指示灯(高电平有效输出):配置为**强推挽输出**
- PWM输出:配置为**强推挽输出**
- 过流保护/过零输入:配置为**高阻输入**或**准双向口**
如需我进一步提供I/O口模式配置的具体寄存器初始化代码,或需要调整某些脚位,请告知!
---
[🔍 搜索 "AI8051U LQFP48 引脚分配"](https://www.stcaimcu.com/plugin. ... relevance&fid=0)
**📌 相关论坛讨论**
1. [AI8051U-34K64-LQFP48](https://www.stcaimcu.com/forum.p ... mp;extra=#pid126854)
2. [STC单片机的原理图库和PCB库分享共建](https://www.stcaimcu.com/forum.p ... mp;extra=#pid162480)
3. [AI8051U 测试无问题,51新时代全面来临,单片机创意设计大赛 @【STC & 嘉立创EDA】](https://www.stcaimcu.com/forum.p ... amp;extra=#pid86837)
⏱️ 查找用时 12.8s | 总回答用时 78.6s
|
|