找回密码
 立即注册
楼主: 浦江一水

初学51单片机的爱好者之入门佳配+擎天柱 (多项实验源码)

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-03-07 08:12:52

31

主题

402

回帖

4861

积分

荣誉版主

积分
4861
发表于 2025-3-27 08:51:46 | 显示全部楼层
vb2*** 发表于 2025-3-27 00:31
擎天柱那个电位器是做 掉电检测的嘛?

是的.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-03-07 10:28:39

2

主题

41

回帖

500

积分

高级会员

积分
500
发表于 2025-4-6 12:12:33 | 显示全部楼层
  这是我多年前购买的普中试验箱.配上擎天柱真是如鱼得水!

前几天试用了楼主介绍的1.8寸7735tft彩屏.楼主这个屏的驱动写的真好.
功能齐全,有详尽注释.正好手上备有几个,可以好好玩玩了.
不知楼主是否能发表这个驱动的8位51机版本.8位机应用更多.

IMG_20250406_114455.jpg
IMG_20250406_114221.jpg
IMG_20250406_114221.jpg

点评

这位朋友贴上了普中实验箱的图片,很漂亮的。充分利用它,学习编程,是其乐无穷的。 也感谢你对我所写7735彩屏驱动程序代码的肯定和缪赞。 关于希望改编成8位单片机的7735彩屏驱动版本,我觉得是不需要做大动作的  详情 回复 发表于 2025-4-6 19:15
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-03-07 08:12:52

31

主题

402

回帖

4861

积分

荣誉版主

积分
4861
发表于 2025-4-6 19:15:58 | 显示全部楼层
蓝天*** 发表于 2025-4-6 12:12
这是我多年前购买的普中试验箱.配上擎天柱真是如鱼得水!

前几天试用了楼主介绍的1.8寸7735tft彩屏.楼主 ...

这位朋友贴上了普中实验箱的图片,很漂亮的。充分利用它,学习编程,是其乐无穷的。

也感谢你对我所写7735彩屏驱动程序代码的肯定和缪赞。

关于希望改编成8位单片机的7735彩屏驱动版本,我觉得是不需要做大动作的。

聊聊本人的认知理解:

首先,AI8051U是32位单片机,不同于传统的8051单片机,它兼容8位模式,但是它不并是所有功能都可以用8位的模式来实现的。
如果说,所有功能都可以用8位的模式来实现的话,那么AI8051U升级为32位模式,就失去意义了。

然而它确实兼容8位模式,能实现传统8051单片机的功能。
对于驱动7735屏这样的操作,其实没有啥特殊性,用的都是最基础功能语句,因此改写为8位模式,源代码几乎是不需要做任何修改的。

只是在工程的制作编译方面是需要做一点点修改的。
因为32位模式,是用C251编译,8位模式是用C51编译的。
所以,若需要兼容8位模式, 只要改用C51编译器就可以了。

具体做法是这样的,打开原有工程文件...
1,在Keilc工程的Device页CPU选项中选择“AI8051U-8bit”即可,如图:
PIC1.bmp
  此时,Keil已经自动转为使用C51编译了。  
2,正确设置Target页中的存储器设置选项等,如图:
PIC2.bmp
3,正确设置Output页,创建HEX文件。如图:
PIC3.bmp
其它设置一如往常。
这样编译生成的HEX就是8位模式了,执行的效果感觉与32位模式是没啥区别的。
4, 最后别忘了,用ISP下载时,要选择8bit模式。

可以按照上述方法,自己先实践一下,你肯定是行的。有问题再交流

另外,要注意理解一点:(你可能会遇到编译不通的貌似奇怪的问题,其实并不奇怪)
32位模式与8位模式,它们的头文件是不同的。如果工程当前目录下,没有AI8051U.H的话,
那么Keil会自动在自己的环境下寻找到它的。
要特别注意,8位模式下的头文件, 对某些特殊寄存器的定义与访问是不同的。有的寄存器只有字节访问,没有位访问功能。

举一个例子:
像 AUXR 这个寄存器,32位模式的头文件中是这样定义的:
sfr         AUXR        =         0x8E;
    sbit    T0x12       =         AUXR^7;
    sbit    T1x12      =          AUXR^6;
    sbit    S1M0x6    =         AUXR^5;
    sbit    T2R         =         AUXR^4;
    sbit    T2_CT      =         AUXR^3;
    sbit    T2x12       =        AUXR^2;
    sbit    EXTRAM   =         AUXR^1;
    sbit    S1BRT      =         AUXR^0;

而8位模式的头文件中是这样定义的:
sfr         AUXR        =           0x8E;
    #define T0x12                 0x80
    #define T1x12                 0x40
    #define S1M0x6               0x20
    #define T2R                    0x10
    #define T2_CT                0x08
    #define T2x12                 0x04
    #define EXTRAM              0x02
    #define S1BRT                 0x01

这说明啥?
这说明32位模式下,AUXR寄存器中的各个位,是可以位访问的,如果...
写   T2R = 1;       //是可以的,是合法的。
而8位模式下,AUXR中的各个位,是不可以位访问的,只能字节访问,8位一起访问,
写   T2R = 1;       //是不可以的,是非法的,编译通不过的。
遇到这种类似情况,源代码就要改写了。

此外,也建议你看看本版块荣誉版主ercircle写的”普中单片机学习板◎89C52教学程序移植到强大的AI8051U..."的帖子,定有收获的。




回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-03-07 10:28:39

2

主题

41

回帖

500

积分

高级会员

积分
500
发表于 2025-4-13 15:38:10 | 显示全部楼层
浦江*** 发表于 2025-4-6 19:15
这位朋友贴上了普中实验箱的图片,很漂亮的。充分利用它,学习编程,是其乐无穷的。

也感谢你对我所写773 ...

  谢谢楼主指导.7735演示程序移植至8位模式终于搞定了.过程中许多伪错误,费时很久终于搞定.
void delayAms(void)        //@22.1184MHz
{ unsigned long  i; //unsigned long edata i;
        _nop_();
        i = 5528UL;
        while (i) i--;
}
上面语句中,unsigned long edata i;
32位模式没问题.
8位模式通不过.改为unsigned long  i;
就可以了.
不理解.不管了,能用就行.
另外,串口通信函数因为暂时用不上懒得排错就移除了.
感谢楼主授人以鱼,更授人以渔.

点评

移植8位模式已经搞定, 为你高兴. 在2楼的例程中, 如果不使用串口通讯, 可以将有关串口的文件和语句删除,直接改为8位模式编译即可,是没有任何问题的. 如果日后需要用到串口通讯, 只要稍稍修改即可,不是太麻烦的,若有  详情 回复 发表于 2025-4-14 11:16
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-03-07 10:28:39

2

主题

41

回帖

500

积分

高级会员

积分
500
发表于 2025-4-13 18:16:36 | 显示全部楼层
蓝天*** 发表于 2025-4-13 15:38
谢谢楼主指导.7735演示程序移植至8位模式终于搞定了.过程中许多伪错误,费时很久终于搞定.
void delayAm ...

看了手册,明白了,8位模式,没有edate空间,可以用xdate空间但速度慢些.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-03-07 08:12:52

31

主题

402

回帖

4861

积分

荣誉版主

积分
4861
发表于 2025-4-14 11:16:38 | 显示全部楼层
蓝天*** 发表于 2025-4-13 15:38
谢谢楼主指导.7735演示程序移植至8位模式终于搞定了.过程中许多伪错误,费时很久终于搞定.
void delayAm ...

移植8位模式已经搞定, 为你高兴.

在2楼的例程中, 如果不使用串口通讯, 可以将有关串口的文件和语句删除,直接改为8位模式编译即可,是没有任何问题的.
如果日后需要用到串口通讯, 只要稍稍修改即可,不是太麻烦的,若有问题再交流, 共同学习.

擎天柱核心板, 将自身原来的P3.0和P3.1作为USB口下载调试(Type-C接口), 而将P5.0和P5.1(UART3)引到了DIP40排针的原P3.0和P3.1位置, 这一点是很用心的. 这样就很方便连接传统实验板的原串口1外设了. 就像你这块普中的HC6800-MS实验板, 红色USB线(通过CH340芯片)是可以连接到擎天柱核心板的P5.0和P5.1了,很方便做串口通讯实验.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:273
  • 最近打卡:2026-03-07 12:54:45
已绑定手机

0

主题

2

回帖

1150

积分

金牌会员

积分
1150
发表于 2025-5-16 21:44:44 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:386
  • 最近打卡:2026-03-07 10:55:50
已绑定手机

1

主题

137

回帖

307

积分

中级会员

积分
307
发表于 2025-12-19 16:50:02 | 显示全部楼层
一直没搞明白,老版本的实验板为什么要加一片MAX232转换一下,我用的USB转串口线是内置CH340的,板子上还要经过232转换。并且232电平在8--9伏左右了,不会通过RXD TXD 口烧毁MC吗

点评

感谢您的浏览和留言. 关于"老版本的实验板为什么要加一片MAX232转换"的问题,聊聊个人的认知: 这是一个传统的配置 (当然现在新的开发板已普遍不用了). 在上世纪开始普及单片机技术时期, PC机电脑用的是DOS系统(不是现  详情 回复 发表于 2025-12-20 11:49
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-03-07 08:12:52

31

主题

402

回帖

4861

积分

荣誉版主

积分
4861
发表于 2025-12-20 11:49:27 | 显示全部楼层
ZRF19*** 发表于 2025-12-19 16:50
一直没搞明白,老版本的实验板为什么要加一片MAX232转换一下,我用的USB转串口线是内置CH340的,板子上还要 ...

感谢您的浏览和留言.
关于"老版本的实验板为什么要加一片MAX232转换"的问题,聊聊个人的认知:
这是一个传统的配置 (当然现在新的开发板已普遍不用了).
在上世纪开始普及单片机技术时期, PC机电脑用的是DOS系统(不是现在普遍使用的Windows等系统),是没有USB接口的. 而那时的PC台式机和早期笔记本电脑都配有RS232的DB9串行接口. 使用三线的RS232交叉线就可以连接与PC机进行串口通信了. 因此,一开始单片机的开发学习版都配有RS232接口,常用MAX232集成电路(也可用分列元器件搭建), 完成RS232电平到TTL电平的转换. 一直延用至今. 而现在的PC台式机和笔记本电脑, 已没有DB9接口了, 但并不影响传统单片机DB9接口的应用. 因为现在有USB转RS232的转换器. 如同USB转TTL转换器一样(如CH340等)使用,也很方便.
那么是否会"通过RXD TXD 口烧毁MC"?  是不会的.
RS232接口特点是电压比较高,并且是有正负极性和反逻辑. 其逻辑"1"是负电压-5~-12V, 逻辑"0"是正电压+5~+12V. 因为RS232的Rx和Tx不是直接连接MCU的, 所以是不会烧毁单片机MCU的! 这是经过MAX232这样电路转换, 实际与单片机MCU接口连接的电压最高就是3~5V了(没有负电压).
以上所述,仅供参考. 欢迎指正.
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-12-25 08:37:08

0

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2025-12-25 08:37:08 | 显示全部楼层
【新手提问】感谢STC的老师指引,我找到这了。我是新手,没有基础,请假一下关于AI8051单片机的问题:
1.复位后端口的状态是高阻,如果这个时候P口用正输出的接线方式外接了一个LED,会不会自动点亮?

点评

除P3.0和P3.1以外,端口复位后都是高阻输入状态, 我理解为隔离悬空状态,既不输出电流,也不吸收电流. 所以不会驱动输出, 不会使外接LED点亮. 供参考.  详情 回复 发表于 2025-12-25 11:44
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-7 13:37 , Processed in 0.119785 second(s), 95 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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