- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、内部基准电压模块的使用介绍
一、内部基准电压模块的使用介绍
SC8F27XX 和 SC8F28XX 系列芯片在内部集成了一个基准电压,其个体间误差范围
大约为 (0.9V-1.2V ),用户可以根据实际情况用来对某些电压点进行监测。使用方法
为:开启AD 转换功能,并将AD 通道选择内部电压基准通道(第 11 通道) ,测试其AD
值。该值表示的是当前电源电压下 AD 输入口的电压为基准电压时,芯片通道所测试得
到的AD 值。
内部基准电压AD 通道使用流程:
1. A/D 转换使能,即 ADC_EN(SYS_GEN.1)=1 ;
2. 设置AD 转换时钟 ADCON[2:1]为第 11 通道,采样通道 ADCON[7:4] ;
3. 置 CONV(ADCON[0])=1 ,触发 AD 转换;
4. 等待至少 1 个 CLK 的延时后,清CONV(ADCON[0])=0 ;
5. 等待 AD 转换结束,判断 EOC(ADCON[3])是否为“1” ,等于“1”代表转换结束;
6. 读取AD 数据 ADDATAH[14H]跟ADDATAL[1BH] ;
7. 根据测试到的 AD 值,通过比例关系换算成当前电压。
例:当前芯片电压下的内部基准电压的AD 值测试程序:
BASE_AD_START :
BSF SYS_GEN,ADC_EN ;开启ADC 使能
MOVLW B
MOVWF ADCON ;选择电压基准通道(AN11)
NOP
BSF ADCON,CONV
NOP
NOP
NOP
BCF ADCON,CONV ;开始AD 转换
WAIT :
BTFSS ADCON,EOC ;等待AD 转换结束
GOTO WAIT
MOVF ADDATAH,0 ;保存AD 转换结果
MOVWF AD_H ;高位AD
MOVF ADDATAL,0
MOVWF AD_L ;低位 AD
BCF SYS_GEN,ADC_EN ;关断ADC 模块
GOTO XXXX ;AD 转换结束转到其他程序
二、获取存放在 ROM 的基准AD 值
由于有些方案提供给芯片的电压点不确定 ,需要通过内部基准电压来获取对应的
电压值。为了减少测试带来的误差,SC8F27XX 和 SC8F28XX 系列的芯片将内部基准电
压在标准 5V 供电下的 10bit 的AD 值写入了相应的 ROM 空间,用户可以通过程序查表
指令进行访问获取,存放地址为:ROM=1K 的芯片存放在 03FDH 与 03FEH 中 ,
ROM=2K 的芯片则存放在 07FDH 与 07FEH 中。(其中 0XFDH 存放 AD 值,0XFEH 存放
AD 值的反码)
需要注意:这两个地址是不能用作程序的其他用途,在编写程序的时候必须避开
这两个地址空间。
例:获取存放在芯片 ROM 的内部基准电压的AD 值:
;当前的芯片选用 1K 的为例
THE_AD_TEST:
MOVLW .3
MOVWF TABLE_SPH ;表格高位地址
MOVLW 0FDH
MOVWF TABLE_SPL ;表格低位地址
TABLEA
MOVWF R01 ;10 位 AD
MOVLW 0FEH
MOVWF TABLE_SPL ;调用 0FEH 地址
TABLEA
MOVWF
文档评论(0)