当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]CH558T 采用 BASIC-52 系统,并具备蓝牙连接功能。CH558T 的运行频率为 48 MHz,拥有 4KB 的 xRAM,足以满足常规应用需求。

CH558T 采用 BASIC-52 系统,并具备蓝牙连接功能。CH558T 的运行频率为 48 MHz,拥有 4KB 的 xRAM,足以满足常规应用需求。

单片机运行 BASIC-52 系统

我们已经见识到了使用 CH552 运行单芯片计算机的强大能力和广阔前景。不过,CH552 的主要局限性在于其计算机的运行速度以及可供用户使用的内部存储空间的大小。

CH552 的最大时钟频率为 24 MHz。用户可用的内部 xRAM 为 1 KB。在这 1 KB 的 xRAM 中,BASIC-52 将为栈分配约 512 字节的 xRAM,并将许多其他状态位存储在 RAM 中。更多详细信息请参考 BASIC-52 手册。

增强型基于 E8051 内核的 CH558T 微控制器:

CH55x 系列包括 CH551、CH552、CH554、CH558 和 CH559。

CH558 和 CH559 采用 T & L 封装,其引脚数量更多(分别为 20 和 48),能够运行在 48 MHz 的频率下,并且分别具有 4kb 和 6kb 的更大内部 xRAM。

无线蓝牙连接:

对于串行通信和键盘而言,我们需要将单片机计算机与电脑或手机进行连接。但一旦将其连接到手机或电脑上,就很难再轻易改变这种连接方式了。

相反,如果我们通过蓝牙无线连接方式将个人电脑或手机与单片计算机连接起来,就能实现无缝连接。由于没有物理连接,所以我们可以将单片计算机放置在任何想要的位置。甚至可以把计算机放在隔壁房间。唯一的要求是蓝牙的传输范围。我们还可以将计算机安装在机器人上或任何封闭装置中,而无需任何可见的连接。

CH558T:

如果我们仔细观察上述接线图,就会发现有 PORT3、PORT4 和 PORT5 这些引脚被使用。使用 BASIC-52 软件,我们无法直接访问除了 PORT1 之外的任何 PORT。因此,选择 20 引脚的 SSOP20 封装要比 48 引脚的 QFP48 封装更为合适。

无论是在任何包装中,只要我们有 CH558 或 CH559 这两种产品,就能正常使用。

固件:

该源代码在 Windows 10/11 系统中使用微芯公司的 C51ASM 编译器进行编译时没有出现任何错误。该源代码可从微芯公司网站获取。

对原始文件进行了两项修改。由于我们将使用 48 MHz 的 IC,所以 BASIC-52 源代码的默认频率已更改以支持 48 MHz。这在我们执行任何与定时器相关的代码时会有所帮助。

11.059200 MHz 的原始代码是

当前 48.000000 MHz 的代码是

另一个变化是,CH558 使用 4KB 内部 xRAM,而 CH559 则使用 6KB 的 xRAM。CH558 和 CH559 的内部 xRAM 范围不同。CH558 的 xRAM 范围从 0000H 到 0FFFH。因此,ERAMEND 的值为 0FFFH。这一数值也已修正,以报告正确的可用内存。

连接:

我们只需要两条线连接到单片机上,即 VCC(+5V)和 GND。为此,我们使用了一个小型的微型 USB 分离板以便于连接。我们可以使用现有的任何连接器,或者直接用两根具有正确极性的线进行连接。

CH558 只需要 4 根连接线。分别是电源(VCC)、地(GND)、发送(Tx)和接收(Rx)。

蓝牙模块需要 4 根连接线。分别是电源(VCC)、地线(GND)、发送(Tx)和接收(Rx)线。

某些蓝牙模块可能仅支持 3.3 伏的逻辑电平信号。在这种情况下,我们需要将 CH558 的发送信号降低至 3.3 伏,以确保安全和可靠的运行。

I2C、SPI 等传统功能可能会共用同一根引脚。请检查该引脚是否与其他功能存在冲突。我们可以重新分配引脚,并重新编译源代码以避免任何冲突。

I2C 接口:

I2CSTART 向 I2C 总线发送起始信号。

I2CSTOP 向 I2C 总线发送停止信号。

I2CPUT [字节] 向 I2C 总线发送一个字节。

通话结束后,接收方传来的确认信息(0 或 1)会被记录在状态字段(18H)中。

I2CGET([确认])[变量]

从 I2C 接口读取一个字节并将其存储到一个 BASIC 变量中

确认(0/1)已返回给发送方,确认码(ACK)为 0,否定码(NACK)为 1

使用 BASIC-52 编写 I2C EEPROM 写入程序

使用 BASIC-52 编写的 I2C EEPROM 读取程序

SPI 接口:

SPISTART [速度] 设置 SPI 接口 - “速度”是指系统时钟的分频系数,必须为 32 或更高值

SPIPUT [字节] 将“字节”数据写入 SPI

从 SPI 接收的字节被存储在 i-ram 的地址 18h 处,其功能与 SPIROT 相同。

SPIGET [变量] 从 SPI 中获取“变量”值

SPIROT([字节])[变量] 数据旋转,将“字节”和“变量”分别用于与 SPI 进行数据的读取和写入操作。

SPICS [0/1] CS(串行)端口 低/高控制

MCP3002 - 使用 BASIC-52 编写的 10 位模拟到数字转换器程序

SPI-EEPROM 25LC040A 测试程序

ADC:

;ADCSTART [通道] 设置 ADC 功能 - “通道”为模拟输入端口编号(0 - 7)

ADCGET [变量] 从 ADC 中获取“变量”的值 [0 - 2047]

ADCSTOP 关闭 ADC 功能及模拟端口

ADC 测试程序

藍牙模組:

我们可以将模块的默认名称更改为蓝牙制造商的 AT 命令手册中所提及的任何其他有效名称。在这种情况下,名称被更改为“BASIC-52”。大多数蓝牙模块默认的波特率为 9600。在这种情况下,波特率被更改为 19200。

注意:

在 SSOP20 适配板中并未使用电容,也无需在外部设置去耦电容或大容量电容用于测试。建议根据需求添加去耦电容或大容量电容。

要对 CH558T 的内部闪存进行编程,该芯片需要进入引导加载程序模式。在这种情况下,我们需要确保 VDD33 引脚 #20 上有至少一个微小的电容。同样,VIN5 引脚 #19 也需要有少量微法拉的电容,以便在对内部闪存进行编程时实现可靠运行。之后,由于我们不使用 USB 而仅使用 Tx 和 Rx,所以这些电容就不再必要了。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭