- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能仪器(第1章)
1.4 CH451串行接口工作原理 1.4.1 串行接口与工作时序 4根信号线:串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。 LOAD用于加载串行数据,CH451在其上升沿加载位移寄存器中的12位数据,作为操作命令分析并处理。也就是说,LOAD的上升沿是串行数据帧的帧完成标志,此时无论位移寄存器的12位数据是否有效,CH451都会将其当作操作命令。 时序图: DCLK用于提供串行时钟,CH451在其上升沿从DIN输入数据,在其下降沿从DOUT输出数据。 串行数据输入/输出的顺序是低位在前,高位在后。 单片机通过串行接口向CH451发送12位数据001000000001 B的时序图 单片机从CH451获取按键代码的过程: (1)CPU向DIN输出读取按键代码的命令 (2) 向LOAD输出低电平脉冲,其中包括一个上升沿使CH451加载串行数据,CH451接受并判别是读取按键命令后,立即在DOUT输出按键代码; (3) CPU按位读取7位数据; 图1.4 CH451输出按键代码的时序图 CH451在时钟DCLK下降沿从DOUT输出数据 1.3.2 CH451的操作命令(12位操作数) CH451的操作命令均为12位,表1.4中列出了CH451各个操作命令所对应的12位串行数据,其中高4位为标识码,低8位为参数,标注为X的位表示该位为任意值,标有名称的位表示该位在CH451芯片内部具有相应的寄存器,其数据根据操作命令的不同而变化。 主要操作命令如下: 空操作 芯片内部复位 字数据左/右移位、左/右循环移位 设定系统参数 010000000[WDOG][KEYB][DISP] 看门狗使能WDOG、键盘扫描使能KEYB、显示驱动使能DISP。各个参数均可通过1位数据来进行控制,将相应的数据位置为1可启用该功能,否则关闭该功能(默认值)。 设定显示参数 0101 [MODE] [LIMIT] [INTENSITY] 译码方式MODE(1位)、扫描极限LIMIT (3位)、显示亮度INTENSITY(4位) 。 设定闪烁控制 加载字数据(送显示): 1 [DIG_ADDR][DIG_DATA]B 加载字数据命令用于将字节数据DIG_DATA(8位)写入DIG_ADDR(3位)指定的数据寄存器中。DIG_ADDR的000B~111B分别用于指定数据寄存器的地址0~7,并分别对应于DIG0~DIG7引脚驱动的8个数码管。DIG_DATA为待写入的字节数据。 例如: 命令数据 1 000 0111 1001 B 表示将字数据79H写入第1个数据寄存器,如果是不译码方式,则DIG0引脚驱动的数码管显示E; 命令数据 1 100 1000 1000 B 表示将字数据88H写入第5个数据寄存器 读取按键代码:0111xxxxxxxxB 读取按键代码命令用于获得CH451最近检测到的有效按键的按键代码。 CH451通常从DOUT引脚输出按键代码,按键代码总是7位数据,最高位是状态码,位5~位0是扫描码。 读取按键代码命令的位数据B7~B0可以是任意值,所以控制器可以将该操作命令缩短为4位数据B11~B8。例如,CH451检测到有效按键并中断时,则先向CH451发出读取按键代码命令0111B,然后再从DOUT获得按键代码。 1.4.2 CH451与单片机的接口电路 1.4.3 单片机接口程序 ;需要主程序定义的参数 LOAD BIT P1.2 ;串行命令加载,上升沿激活 DIN BIT P1.0 ;串行数据输出,接CH451的数据输入 DCLK BIT P1.1 ;串行数据时钟,上升沿激活 DOUT BIT P3.3 ;INT1,键盘中断和键值数据输入, ; 接CH451的数据输出 KEY DATA 45H ;存放键盘中断中读取的键值 ;********************************************* CH451_INIT: ;初始化子程序 CLR DIN ;先低后高 SETB DCLK ;置为默认的高电平 SETB DIN ;输出上升沿CH451选择4线串行接口 SETB LOAD ; SETB DOUT ;置为输入
文档评论(0)