版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串行接口8位LED数码管及64键键盘智能控图图CSDA8位共阴式数码管(或64只独立ED)的智能显示驱动芯片该同可多键矩阵DHD7279A含有译可直接接受BCD码或16进制码并同时具有2种译码方式参见后文此外还具有多种控制指令如消隐闪烁左移右移段寻址等 (循环)左移/(循环)右移指 内含去抖动电路图电特 V不接35 V0V7S58S58SSS58S58S读键盘数据完成后DATA5S表1235 46 7 8串行数据输入/输出端当接收指令时此引脚为输入端当键盘数据时此引脚在读指令最9 10段 18 表 复位(清除)指令1O1OO1OO 1O111111 1O1OOOO1使所有的显示自右向左(从第1位向第8位)移动一位(包括处千消隐状态的显示位 4252LP39 4252LP39252LP39 252LP39
例 原1O1OOOOO 但所做移动为自左向右(从第8位向第1位)移动移动后 1O1OOO11 不同之处在千移动后原最左边一位(第8位)的内容显示千最右位(1位)在上例 252LP394 1O1OOO1O 1OOOO 其中 a0为位地 (显示位编亏请参阅典型应用电路图OOO1OO12O1O3O1141OO51O1611O71118 HD7279A按以下规则(译码方式0)进行译 d3-dO(十六进制OOOO0OOO11OO1O2OO113O1OO4O1O15O11O6O11171OOO81OO191O1O1O11E11OOH11O1L111OP1111空(无显示
DP=1 11OO1 d3-dO(十六进制OOOO0OOO11OO1O2OO113O1OO4O1O15O11O6O11171OOO81OO191O1OA1O11b11OOC11O1d111OE1111F表 1OO1OABCDEFG其中 a0为位地址(参见 指令)AG和DP为显示数 1OOO1OOO此命令控制各个数码管的闪烁属性
d1d8分别对应数码管1 0=闪 1=不1OO11OOO d1d8分别对应数码管18 对该位写入何值均不会被显示但写入的值将被保留在将该位重新设为显示状态后最后一次写入的数据将被显示出来当无需用到全部8个数码管显示的时候将不用的位设为消隐属性可以提高显示的亮度 如果消隐控制指令中d1d8全部为0 111OOOOOXX此为段寻址指 作用为点亮数码管中某一指定的 或LED矩阵中某一指定 d0d5为段地 F段为 A段为 第2
11OOOOOOXX 作用为关闭(熄灭)数码管中的某一段指令结构与 OOO1O1O1该指令从HD7279A读出当前的按键代 与其它指令不 此命令的前一个字00010101B为微控制器传送到HD7279A的指 而后一个字节d0d7则为HD7279A 其范围是0H(无键按下时为0xFF)
请参阅图此指令的前半段HD7279A的DATA引脚处千高阻输入状态以接受来自微处理器的指令在指令的后半段DATA引脚从输入状态转为输出状态输出键盘代码的值故微处理器连接到DATA引脚的I/O口应有一从输出态到输入态的转换过程参阅本串行接口一节的内容当HD7279A检测到有效的按键时KEY引脚从高电平变为低电平并一直保持到按键结束在此期间如果HD7279A接收到读键盘数据指令则输出当前按键的键代 1B)
HD7279A将输出FFHHD7279A采用串行方式与微处理器通 串行数据从DATA引脚送入并
键盘数据指令 宽度为16个BIT 前8个为微处理器发送到 HD7279A的 8位指令 8位数据 读键盘指令8 )HD7279A输出的键盘代码(8 HD7279A应连接共阴式数码管应用中无需用到的键盘和数码管可以不连接省如果不用键盘则典型电路图中连接到键盘的8只10K电阻和8只100K下拉电阻均可以省去如果使用了键盘则电路中的8只100K下拉电阻均不得省略除非不接入数码管否则串入DP及SASG连线的8只200电阻均不能省去实际应用中88I0I78只电阻以下简称位选电阻应遵从一定的例关系下拉电阻大千位电阻5倍而千其0倍典值为1倍1KK1KK在不影响的下下阻可取的值这样可以高键盘分的能力因为采用循环扫描的工作方式如果采用普通的数码管亮度有可能不够采用高亮或亮的型亏可以解决这个问题数码管的尺寸亦不宜选得过大一般字寸高度不宜超过1英寸如使用大型的数码管应使用适当的驱动电路HD7279A需要一外接的RC振荡电路以供系统工作其典型值分别为R=1.5K 15pF如果无法正常工作请首先检查此振荡电路在印刷电路板布线时所有元件尤其是振荡电路的元件应尽量靠近HD7279A并尽量使电路连线最短HD7279A的RESET复位端在一般应用情况下可以直接与正电源连接在需要较高可靠性的情况下可以连接一外部的复位电路或直接由MCU单片机控制在上电
所有的显示均为空 请参阅图2及典型应用电路图图中的键亏即 H5)程序中尽可能地减少CPU对HD7279A的次数可以使得程序更有效因为直接驱动LED数码管显示电流较大且为动态扫描方式故如果该部分电路电源连线较细较长可能会引入较大的电源噪声干扰将HD7279A的正负电源端上并注意如果有2个键同时按下HD7279A将只能给出其中一个键的代码因此下面给出ATMEL公司的AT89C2051及MICROCHIP公司的PIC16C54与 然后将所读到的键盘 硬件连接如图AT89C2051所用时钟频率为12MHz程序使用FrankinA51编译通过并工过验证程序中延时时间以HD7279A外接R=1.5K,C=15pF为准如使用不同的CPU时钟频率或不同的R/C参数请注意调整延时时间$title(HD7279ATestRAMI/O;HD7279A的DATA连接千;HD7279A的KEY连接千;HD7279A的CS连接千;HD7279A的CLK连接千;定义堆栈;I/O口初始化;延时约START_DELAY:MOV ;设CS
BCD码转 ;内容左移,留出; DATA_OUT,#10000001B;数据且译码指令(第2位) ;发送十位数字到 ;位 ;发送1个字节到HD7279;设定位记数器;设CS; ;设CLK ; ;设CLK ; D_LOOP;检查是否8位均发送完毕 ;设定位记数器;设P1.2(DATA)口为;(输入状态;A;一位数;置CLK BIT_COUNT,RECEIVE_LOOP;是否已接收8 LONG_DELAY:MOV DELAY_LOOP:DJNZ SHORT_DELAY: ;设定延时时间为约 硬件连接如图 PIC16C54所用时钟频率4MHz 程序使用MICROCHIP公司的 程序中延时时间以HD7279A外接R=1.5K,C= 如使用不同的CPU时钟频率或R/C参数请注意调整延时时间 I/O
0;CS连接千16C54的1;CLK连接千16C65的2;DAT连接千16C54的3;KEY连接千16C54的
SHORT_DELAYMOVLW ;发送1个字节到HD7279;待发送数据存入;设定位记数器;设CS;;输出1;设CLK;;设CLK0;检查是否8位均;未发送 ;发送完 返 ;设定位记数器;设RA2(DATA)口为;;置CLK;;一位数 ;置CLK
;是否已接收8 B'11111000';重新设RA2(DATA)口为输出态 ;I/O口初始化;延时约;发复位(清除)指;恢复CS为高电 ;检测是否;有键按 ;发送读键;从HD7279A读键;设CS;16进 BCD码转 ;发送按键的BCD码到;发2次左移指 ;留出空位;左移指令;发送指令到;左移指令;发送指令到;数据且译码指令(第2位;发送指令到;发送十位数字到;数据且译码指令(第1位;发送指令到;发送个位数字到;等待按键放附录一:用千MCS51的C语言例子程这是用千HD7279A评估板的C51程序,使用C语言编程的//***函数定义void voidshort_delay(void);
延时voidwrite7279(unsignedcharunsignedchar写入到HD7279unsignedcharread7279(unsignedchar);//从HD7279读出voidsend_byte(unsignedchar);
//***变量及I/O口定义 unsignedchardigit[5];unsignedcharkey_number,j,k;unsignedinttmr;unsigned sbit //csatsbit //sbit //sbit //
//******HD7279A指令******#defineCMD_RESET0xa4#defineCMD_TEST0xbf#defineDECODE00x80#defineDECODE10xc8#defineCMD_READ0x15#defineUNDECODE0x90#defineACTCTL0x98#defineSEGON0xe0#defineSEGOFF0xc0#defineBLINKCTL0x88//***主程序***{while{for(tmr=0;tmr<0x2000;tmr++);
for {
延时约3}
如果10write7279(BLINKCTL,0xfc);//write7279(UNDECODE,0X08);//{
第12两位设为闪烁显示if {
while }
}while(key_number!=0 //如果按键 0和超时则进入下一步演write7279(BLINKCTL,0xff);// for {
}while {
如果计数达到20000就停if{if{if{if{if{}}}}}if(digit[0]==0){if{if(digit[2]==0){if(digit[3]==0){}}}}} 在第8位按不译码方式显示一字寸'三' 循环左/ "三"字向右运动3次,再向左运动3for(j=0;j<23;j++){ }
循环右移23for{ }
循环左移23 译码方式0for(j=0;j<16;j++){ //译码方式0指 显示在第1
} 译码方式1for(j=0;j<16;j++){ //译码方式0指 显示在第8
} for{}
for(j=0;j<64;j++){write7279(SEGON,j);//write7279(SEGOFF,j-1);//}}}
voidwrite7279(unsignedcharcmd,unsignedchar{}unsignedcharread7279(unsignedchar{}void unsignedchar{unsignedchari;{if{}{}
}}unsignedchar{unsignedchari,in_byte; {
if(dat){}
}
return}void{unsignedcharfor}void{unsignedchari;}*********************延时n*10ms**********************voiddelay10ms(unsignedchartime){unsignedintj;for{{if{}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 静电成像显影材料载体制造工创新思维评优考核试卷含答案
- 变电站运行值班员安全风险强化考核试卷含答案
- 硫酸铵生产工安全知识强化考核试卷含答案
- 飞机模线样板移型工道德评优考核试卷含答案
- 中继泵站运行工安全生产基础知识竞赛考核试卷含答案
- 滤棒成型设备操作工安全培训效果测试考核试卷含答案
- 合成油脂装置操作工安全知识宣贯模拟考核试卷含答案
- 碳五石油树脂装置操作工岗位客户服务考核试卷含答案
- 芳香油原料加工工决策力评优考核试卷含答案
- 第三章 第二节 日常交流
- 2026年绍兴市原水集团有限公司人员招聘笔试参考试题及答案详解
- 第八版内科冠心病课件讲课教案
- 2026年第三季度典型事故案例警示教育
- 第一次月考试卷(1~2单元)(含答案)-2026-2027学年人教版数学三年级上册
- T/CAPA 16-2025医疗美容从业人员执业规范
- 《人工智能技术与应用》课件 项目9 人工智能训练
- 大体积混凝土浇筑施工应急预案
- 四上《习作:我的心儿怦怦跳》课件
- 2026年秋季开学教师防欺凌治理培训课件
- 安全风险辨识评估作业指导书
- 2026年新编军事理论考试题及答案
评论
0/150
提交评论