当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]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

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

在单片机的世界里,“字节”(Byte)是一个贯穿始终的核心概念。从存储数据到执行指令,从变量定义到外设通信,字节无处不在。很多初学者在学习单片机时,往往更关注复杂的程序逻辑和外设驱动,却忽略了字节这个基础知识点,导致在后...

关键字: 单片机 字节

在单片机的数字逻辑中,我们通常最关注的是高电平和低电平两种状态,它们构成了二进制数字世界的基础。然而,除了这两种状态之外,还有一种至关重要但常常被忽视的状态——高阻态(High Impedance State)。高阻态就...

关键字: 单片机 高阻态

对于PIC入门者来说,不需要盲目追求高端开发板,一块功能均衡、资料丰富的入门款就能满足需求。比如Microchip官方推出的PIC16F84A开发板,它搭载经典的8位PIC内核,引脚布局清晰,自带LED、按键等基础外设,...

关键字: PIC 单片机

该低功耗器件支持5V运行,在实现高性能的同时,能有效保障系统简洁性与成本效益

关键字: MCU 单片机 工业自动化

RGB显示屏凭借高分辨率、真彩色显示优势,在工业控制、智能终端、消费电子等领域应用广泛。裸屏RGB显示屏无内置驱动电路,需搭配专用LCD驱动芯片才能与单片机协同工作,其核心作用是将单片机输出的图像数据转换为屏幕可识别的R...

关键字: 显示屏 驱动芯片 单片机

在嵌入式系统开发中,单片机(MCU)作为控制核心,广泛应用于工业自动化、智能家居等领域。然而,当需要控制继电器或电磁阀等大功率负载时,直接连接单片机引脚往往会导致系统故障甚至硬件损坏。

关键字: 单片机 MCU

在嵌入式系统领域,单片机作为核心控制单元,其软硬件结合机制是理解电子设备运行逻辑的关键。

关键字: 单片机 CPU‌

物联网与智能控制蓬勃发展,温度传感器作为感知环境温度变化的关键元件,广泛应用于工业生产、智能家居、医疗设备等众多领域。而单片机凭借其强大的控制能力和灵活的编程特性,成为处理温度传感器数据的理想平台。下面将深入剖析单片机程...

关键字: 单片机 温度传感器

在医疗科技飞速发展的当下,便携式医疗设备以其便捷、高效的特点,逐渐成为人们日常健康管理的重要工具。其中,便携式心率监测仪凭借其实时监测心率、为健康状况提供关键数据的功能,受到了广泛关注。而单片机程序开发作为便携式心率监测...

关键字: 单片机 医疗设备

在嵌入式系统设计中,单片机通过模数转换器(ADC)读取外部电压信号是常见的应用场景。然而,阻抗匹配问题常导致测量误差,成为工程师的“隐形陷阱”。

关键字: 嵌入式 单片机
关闭