发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表
打印
[其他]

学习HC18M003遇到的问题

[复制链接]
1360|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创# @21小跑堂
一、产品简介
HC18M002/003 是一颗采用高速低功耗 CMOS 工艺设计开发的增强型 8 位 ADC 单片机,内部有4K*16bit MTP 程序存储器,512 *8bit RAM,最多 18 个双向 I/O 口,3 个定时器/计数器,1 组 12 位带死
区控制互补 PWM,1 个 UART,1 个 SPI,1 个 IIC,1 个外部中断,PORTB 端口支持电平中断,最多 8
通道电容触摸按键检测,最多 11+1 路 12 位 ADC,内置高性能的电源稳压电路,四种系统工作模式(高
频、低频、绿色、休眠)和 12 个中断源。
1、功能特性
◆ CPU
⚫ 36条高性能精简指令
⚫ 8级堆栈缓存器
⚫ 立即、直接和两组间接寻址模式
⚫ 16位RDT查表
◆ ROM
⚫ 4K*16bit ROM
◆ RAM
⚫ 512 Bytes RAM
◆ EEPROM
⚫ 128 Bytes
◆ 时钟
⚫ 内部高精度 32MHz RC
⚫ 内部 32KHz RC
◆ 多种复位方式
⚫ 上电复位(POR)
⚫ 多级低电压复位(BOR)
- 4.2/3.9/3.6/3.0/2.6/2.4/2.0
⚫ 看门狗(WDT)复位
◆ I/O
⚫ 最多18个双向I/O口
⚫ 上下拉、输入输出
⚫ 外设功能引脚部分映射
◆ 中断
⚫ 12个中断源
⚫ 1个外部中断
⚫ PORTB口支持端口电平变化中断
◆ 定时器/计数器
⚫ Timer0:带有预分频器的8位定时器/计
数器
⚫ Timer1:带有预分频器的16位定时器/
计数器
⚫ Timer2:带有8位周期寄存器的8位定时

◆ PWM
⚫ 1组12位带死区控制互补PWM
- 可配置为 2 路独立输出
- 可当定时器使用
- 具有故障检测功能
◆ 通讯模块
⚫ 1 个 UART
⚫ 1 个 SPI
⚫ 1 个 IIC
◆ ADC 检测电路
⚫ 支持最多11+1ch 12位ADC检测
⚫ ADC参考电压可选内部
VREF(1.3V/2V/3V/4V)、外部VREF、
VDD
◆ 电容触摸按键(CTK)检测电路
⚫ 支持最多8ch电容触摸按键检测
⚫ 灵活的灵敏度调节能力
◆ 省电模式
⚫ 低频模式
⚫ 绿色模式
⚫ 休眠模式
◆ 工作条件
⚫ 宽电压 2.0V~5.5V
⚫ 温度范围-40°C~+85°C
◆ 封装类型
⚫ SOP16
⚫ SOP20
⚫ TSSOP20 HC18M002/003
HC18M002/003 使用注意事项:
1、 为保证系统的稳定性,建议在 VDD 和 GND 之间接 2 个电容(0.1μF+≥10μF);
2、 当使用 ADC 模块时,内部参考电压选择为 2V 时,VDD 电压须高于 2.7V;内部参考电压选择为
3V 时,VDD 电压须高于 3.5V;内部参考电压选择为 4V 时,VDD 电压须高于 4.5V;
3、 内部高频起振时间较长,约 1ms,如使用时钟切换请注意;
4、 PORTB 电平变化中断中,在清零 RBIF 之前必须执行 PORTB 端口读操作;
5、 仿真时请勿操作 PORTC4(VPP)端口,否则有可能会导致芯片异常损坏;
6、 仿真时无法关闭内部高频 RC,因此仿真时 HSRCRDY 会一直为 1;
7、 使用 EEP 读时,需要在 while(RD)后增加一个 10us 以上的延时,仅 CPU 时钟≥8M 时需要此操作。
8、 使用 CTK 时,需要同时配置 ADC 的参考电压(默认电压 2V),当 ADC 参考电压选择 VDD 及
4V 时,需要保证芯片 VDD 电压≥4.5V,当 ADC 参考电压选择 3V/2V/1.3V 时,芯片 VDD 电压
≥3.5V。
仿真时时钟的 2T/4T 为随机值,使用时请注意。
系统框图

3、引脚配置

TSSOP20 引脚描述

注:I =输入,O =输出,I/O =输入/输出,P =电源,AN =模拟输入输出。
测试
收到芯片后,由于是TSSOP20的封装模式,没法直接进行测试,于是我用一块转接板将其转接为DIP20的封装,这样可以使用面包板进行接线测试。

与下载器的连接
根据手册,可以通过 HC-ICD Pro 仿真器的双线方式对 MCU 进行仿真和编程,当 MCU 已经焊在用户板上后,如果用户采用上电复位的方式,只需要连接五根线(VDD、GND、PGC、PGD、VPP),用户系统必须断电,由仿真器提供电源。另外,因为编程信号非常敏感,用户需要用 4 个跳线将编程引脚(VDD、PGC、PGD、VPP)从应用电路中分离出来,如下图所示。另外,如果使用外部复位引脚进入,也需要将外部复位引脚进行跳线分离。

这里我是用杜邦线连接。

将仿真器接入电脑后,电脑端会新增一个串口设备

烧录之前的准备工作
启动下载程序PM18PRO

如果连接正常的话,在“端口”菜单中会有一个显示串口设备号的子菜单

点击“读取”操作,如果能看到芯片的相关信息,那么说明下载的连接是正常的,可以烧录程序的。
注:我在这一块的处理中走过弯路。最开始使用Win10系统构建开发环境,所有必要的程序都按照操作手册进行了安装。仿真器接入电脑后,也能在设备管理器中看到这个设备。但测试上位机和下载器的连接的时候,出了问题,总是提示“设备未连接”。后来在Win7系统上重新构建开发环境,才变正常。具体原因不明,个人怀疑是下载用的上位机程序,无法正常获得设备造成连接失败。


编写程序,测试下载
这个需要使用芯圣自己的IDE

我简单做了一个测试程序,使PA0周期输出方波,从而点亮连接的LED。结果程序正常下载完了以后,以为会运转起来,结果没想到没反应。经过一番折腾才发现,下载完以后,需要去除下载用的VPP和VDD两个连线,重新给线路提供电压才行。这个就是犯了固有思维的错误,以为下载器提供的连接,是可以作为电源使用的。**这一点能引起大家的注意。
测试时直接用的那个转换板+外接电源即可,我是用的是3.3V的电源。


使用特权

评论回复

打赏榜单

21小跑堂 打赏了 30.00 元 2023-09-15
理由:恭喜通过原创审核!期待您更多的原创作品~

评论
21小跑堂 2023-9-15 10:32 回复TA
HC18M002的代码烧录测试 
沙发
xu@xupt| | 2023-9-17 08:24 | 只看该作者
很好的资源,学习啦~~

使用特权

评论回复
板凳
rgjinxuan| | 2023-9-18 11:10 | 只看该作者
价廉物美

使用特权

评论回复
地板
lajfda001| | 2023-9-21 16:03 | 只看该作者
物美价廉,不错的。

使用特权

评论回复
5
单片小菜| | 2023-9-25 11:35 | 只看该作者
这个芯片最好的地方,就是便宜。

使用特权

评论回复
6
zhang183183| | 2023-10-25 14:45 | 只看该作者
你好,你的holychip-define.h 头文件 放在了哪里,我的IDE怎么找不到我自己写的头文件?

使用特权

评论回复
7
suncat0504|  楼主 | 2023-10-25 17:07 | 只看该作者
zhang183183 发表于 2023-10-25 14:45
你好,你的holychip-define.h 头文件 放在了哪里,我的IDE怎么找不到我自己写的头文件? ...

头文件里没有什么实质内容,我直接把代码贴给你
#ifndef __holychip_define__
#define __holychip_define__


#include"hc18m003.h"


#endif

使用特权

评论回复
8
suncat0504|  楼主 | 2023-10-25 17:08 | 只看该作者
zhang183183 发表于 2023-10-25 14:45
你好,你的holychip-define.h 头文件 放在了哪里,我的IDE怎么找不到我自己写的头文件? ...

头文件和C代码文件放在一个目录里就行

使用特权

评论回复
发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:大连伊飞特信息技术有限公司软件工程师
简介:本人于1993年毕业于大连理工大学。毕业后从事单片机开发工作5年,之后转入软件开发工作至今。

119

主题

3675

帖子

5

粉丝