编辑: You—灰機 2019-07-14

9 - V1.0 4. 按键输出编码格式 4.1 CMS1832G/CMS1833G 输出编码格式 CMS1832G/1833G 通过 OUT 口采用编码格式输出数据信号. - 一帧码的构成方式:引导码(10T)+ 数据码(48T,共16Bit) - 引导码:8T 高电平 + 2T 低电平;

- 数据码:逻辑"0"----1T 高电平 + 1T 低电平;

逻辑"1"----1T 高电平 + 3T 低电平;

- 数据格式:共16 位数据,格式如下: 当Kx 按键被按下时,对应的 Kx 数据为 1,否则为 0;

Kx 表示反码. 例如:没有按键时发送:0000-1111-0000-1111 K1 按下时发送:1000-0111-0000-1111 K8 按下时发送:0000-1111-0001-1110 K1 与K8 同时有效:1000-0111-0001-1110 引导码 + 数据码时序图示例如下: 时间参数:T= 375us(± 20%) - 一帧码长度:10T(引导码)+48T(数据码)= 58T - 一帧码时间:58*375us = 21.75ms(± 20%) 数据是一帧紧接着一帧不断发码,连绵不断. CMS1832G/1833G 的OUT 口输出状态为推挽输出,该口和接收芯片相连时最好串接一个 1K 电阻;

数据传输有正码、反码做校验防通讯干扰,CMS1832G/1833G 内部已经做了按键判断延时滤波,需要快 速响应的场合理论上可以读取一次数据有效即可,但在干扰比较强的场合还是推介连续判断多次有效再确认 按键. T 数据码:16Bit,共48T '

1 ' '

0 '

3 T

2 T

8 T 引导码:8T 高+2T 低TTCmsemicon CMS183x www.mcu.com.cn -

10 - V1.0 收码范例: 函数功能:接收一个

8 位数据. 入口参数:buffer:收到的数据存储. 返回数据:0x00:数据未收完. 0x01:数据接收完成. 备注: (1) 先收低

4 位以及反码,再收高

4 位以及反码;

(2) 125us 调用一次此函数. #define DAT_IN RA0 void Rec_1833_Dat(unsigned char *buffer) { unsigned char templ;

static unsigned char rcount,rhigh,rlow;

static bit F_RECF_ROLD;

if(DAT_IN) { if(F_RECF_ROLD) { F_RECF_ROLD = 0;

if(17 != rcount) { Rdat = Rdat>>1;

if(rlow > (2 * rhigh)) { Rdat |= 0x8000;

} } rcount --;

if(0 == rcount) { templ = (Rdat0>>4) + (Rdat04) + (Rdat1

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题