8279的命令字及其格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8279的命令字及其格式
(说明:读者也可直接根据本实验讲义第24页8279命令一览表设置命令字)
8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共8位,格式为:
命令类型命令内容
如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7---D5决定。D7---D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4---D0决定。每种特征所代表的命令如表3.3所示
下面详细说明各种命令中,D4---D0各位的设置方法,以便确定各种命令字。
(1)键盘/显示命令
特征位D7 D6 D5=000
D4、D3两位用来设定4种显示方式,D2---D0三位用以设定8种键盘/显示扫描方式,分别如表3.4和表3.5所示。
表3.5中所谓译码扫描指扫描代码直接由扫描线SL0---SL3输出,每次只有1位是低电平(4选1)。所谓编码扫描是指扫描代码经SL0---SL3外接译码器输出。
由于键盘最大8*8=64个键,由SL0---SL2接3---8译码器,译码器的8位输出作为键盘扫描输出线(列线),RL0---RL7为输入线(行线)。
8279最多驱动16位显示器,故可由SL0---SL3接4---16译码器,译码器的16位输出作为显示扫描输出线(16选1),决定第几位显示。显示字段码由OUTA0---OUTA3和OUTB0---OUTB3输出。
表3.3、表3.4、表3.5三个表相互组合可得到各种键盘显示命令。
例1:若希望设置8279为键盘译码扫描方式、N键轮回,显示8个字符、右端入口方式,确定其命令字。
根据题目要求可进行分析,因为具有下列条件:
是键盘/显示命令特征位:D7 D6 D5=000 (表3.3);
8个字符右端入口显示:D4 D3=10(表3.4);
键盘译码扫描,N键轮回:D2 D1 D0=011(表3.5);
所以8位命令器存器状态D7---D0=00010011B,即该命令字13H送入命令寄存器口地址则可满足题目要求。
例2:若已知命令字为08H,判断8279工作方式。
因为命令字为08H即D7---D0=00001000B,显然D7 D6 D5=000,该条命令为键盘/显示命令,D4D3=01为16字符左端入口显示方式,D2D1D0=000,键盘为编码扫描、双键锁定方式。
(2)时钟编程命令
特征位D7 D6 D5=001
D4---D0用来设定分频系数,分频系数范围在0---31之间。
有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。(注意:实验板上8279的CLK并不直接连到ALE)。
例:若8279 CLK的输入信号频率为3.1 MHz,则分频系数应为31D=1FH,于是D4---D0=11111,则控制字为:D7---D0=00111111B=3FH
(3)读FIFO/传感器RAM命令。
特征位D7 D6 D5=010
D2---D0为8279中FIFO及传感器RAM的首地址。
D3 无效位。
D4 控制RAM地址自动加1位:D4=1时,CPU读完一个数据,RAM地址自动加1,准备读下一个单元数据;D4=0时,CPU读完一个数据,地址不变。
例:欲编程使单片机连续读8279内FIFO/传感器RAM中000---111单元的数据,设置读命令。
分析:因为要连续读数,地址又连续。所以最好设置为自动加1方式,即D4=1,RAM 内首地址000即D2---D0=000,再加上特征位,所以该命令控制字为:D7---D0=01010000B=50H (无用位D3设为0)。送入50H控制字,在执行读命令时,先从FIFO/传感器RAM中000单元读数,读完一个数,地址自动加1,又从001单元读数,依次类推,
直到读完所需数据。
(4)读显示RAM命令
特征位D7 D6 D5=011
D4=1 RAM地址自动加1,D4=0不加1。
D3---D0为显示RAM中的地址。
例:欲读显示RAM中1000单元地址,求命令字。
分析:因为只读一个数,地址不需自动加1,即设置D4=0,特征位为011,地址为1000,所以其控制命令字为D7---D0=01101000B=68H。
(5)写显示RAM命令
特征位D7 D6 D5=100。
D4是地址自动加1控制,D4=1,地址自动加1;D4=0,地址不加1。D3---D0是欲写入的RAM地址,若连续写入则表示RAM首地址。命令格式同读显示RAM。
(6)显示器禁止写入/熄灭命令
特征位D7 D6 D5=101
D4:无用位。
D3:禁止A组显示RAM写入,D3=1,禁止。
D2:禁止B组显示RAM写入,D2=1,禁止。
D1:A组显示熄灭控制。D1=1,熄灭;D1=0,恢复显示。
D0:B组显示熄灭控制。D0=1,熄灭;D0=0,恢复显示。
利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。
例:假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。
分析:根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;B组显示熄灭D0=1,除特征位外其余位设为“0”。故其控制命令字为D7---D0=10101001B=A9H。(7)清除(显示RAM和FIFO中的内容)命令
特征位D7 D6 D5=110
D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。