资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电子工程设计I-2显示与键盘控制电路设计与实现显示与键盘控制电路设计与实现一.基本要求1. 4 位7 段数码显示,前 3 位含小数点2. 0 9数字输入键及若干功能设置按键控制 3. 独立电路板安装结构2.1 LED 数码显示器内部电路a bcdefgdp1 234 5109 8 76edVccc dpgfVccab123、84510976edcdp bafg124510976edc dp b afg3、8共阳共阴二.显示电路基本原理本实验中用到2位数码管2.2 用74LS273设计显示数据输出电路显示数据输出74LS273输出P2.0(A8)D0D7显示内容刷新Q1Q8Q1Q874LS273C8051F023 74LS32数码管“静态”缺陷:芯片较多、影响总线驱动2.3.1. 静态扫描显示控制电路2.3 基本显示控制电路二次译码单片机板AT89C51(PDF:Rev. 0265G02/00,第13页)CS2.3.2. 动态扫描显示控制电路驱动驱动驱动驱动C8051F02374LS3274LS273原理图Q1Q8LED1LED2LED3LED4LED1LED2LED3LED4P30 P31P32P3320mS时序 图“动态”缺陷:需外加驱动、程序控制麻烦(必须20ms以内写4次数)、瞬 间点亮LED(LED的频繁开关影响电源,造成冲激,对模拟电路不利)显示控制电路方案对比静态显示电路方案:使用的元件多,成本相对较高。每位独立控制,程序设计比较简单,适用于显示位数较少的场合。采用此方案。动态显示电路方案:电路简单,成本低,控制程序复杂,适用于显示位数较多的场合。三.按键控制电路基本原理3.1 轻触按键内部电路实物外形示意 内部电路电路符号3.2 用74LS244设计键盘状态读入电路键盘状态 74LS244输出P2.0(A8)键盘状态读入74LS244C8051F023 74LS32AT89C51(PDF:Rev. 0265G02/00,第12页)最大值:252ns最小值:0ns最大值:97ns12 MHz Oscillator3.3 基本键盘状态读取方式3.3.1 按键状态直接读取电路单片机板二次译码3.3.2 阵列式键盘及其状态读取电路 阵列式键盘电路工作原理S1S2S3S4 R1R2R3R4K0K1K2K3K7K11K15K14K13K12K8K9K10K6K5K4原理图R1 R2R3 R4S1S4时序图D0D7D0D7P2.0P2.0 D0D7R1R4S1S4 1Y11Y474LS24474LS273原理图时序图74LS32 阵列式键盘电路设计参考键盘实现方案一:先写后读键盘实现方案二:仅读操作R1 R2 R3 R4调试代码直读键盘电路方案:按键较多时,成本高,控制程序较简单,适用于按键较少的场合。矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。采用此方案。按键状态读取方案对比四.显示控制与按键状态读取集成电路方案显示控制电路键盘控制电路译码电路4.1. 电路方案方框图4.2. 安装结构+5V+5V ALE RSTWR D0RD D1A4 D2A3 D3A2 D4A1 D5C4 D6C3 D7C2 C1 GNDGND显示键盘电路ROW5ROW5ROW4ROW4LINE1LINE1LINE2LINE2ROW3ROW3ROW2ROW2LINE3LINE3ROW1ROW1LINE4LINE4显示键盘板电路板母版图显示板焊接参考图1. 显示电路模块调试汇编程序$include (C8051F020.inc) DP_DATA1 EQU 000H DP_DATA2 EQU 100H DP_DATA3 EQU 200H DP_DATA4 EQU 300H 清除显示; MAIN:LCALL Init_Device CLR A MOV DPTR,#DP_DATA1 MOVX DPTR,AMOV DPTR,#DP_DATA2 MOVX DPTR,A七.使用集成调试环境调试显示电路模块MOV DPTR,#DP_DATA3 MOVX DPTR,AMOV DPTR,#DP_DATA4 MOVX DPTR,A 显示数据寄存器R7清0; MOV R7,#0H 显示数据加1; LOOP:INC R7 数据合理性检查(应该小于10); MOV A,R7 小于10继续处理; CJNE A,#10,L1 否则,显示数据寄存器清0; MOV R7,#0H CLR A二进制数值转换为显示段码(换码); L1:CALL DECODE 显示段码数据送第一位数码管显示数据所存器; MOV DPTR,#DP_DATA1 MOVX DPTR,A 延时等待; CALL DELAY 显示数据加1; INC R7 数据合理性检查(应该小于10); MOV A,R7 小于10继续处理; CJNE A,#10,L2 否则,显示数据寄存器清0; MOV R7,#0H CLR A二进制数值转换为显示段码(换码); L2:CALL DECODE 显示段码数据送第二位数码管显示数据所存器; MOV DPTR,#DP_DATA2 MOVX DPTR,A 延时等待; CALL DELAY 显示数据加1; INC R7 数据合理性检查(应该小于10); MOV A,R7 小于10继续处理; CJNE A,#10,L3 否则,显示数据寄存器清0; MOV R7,#0H CLR A二进制数值转换为显示段码(换码); L3:CALL DECODE 显示段码数据送第三位数码管显示数据所存器; MOV DPTR,#DP_DATA3 MOVX DPTR,A 延时等待; CALL DELAY 显示数据加1; INC R7 数据合理性检查(应该小于10); MOV A,R7 小于10继续处理; CJNE A,#10,L4 否则,显示数据寄存器清0; MOV R7,#0HCLR A二进制数值转换为显示段码(换码); L4:CALL DECODE 显示段码数据送第四位数码管显示数据所存器; MOV DPTR,#DP_DATA4 MOVX DPTR,A 延时等待; CALL DELAY 返回; JMP LOOP二进制数值转换为显示段码(换码); 段码表头(#TAB)送数据指针DPTR; DECODE:MOV DPTR,#TAB 以显示数据作变址以段码表头作基址取段码; MOVC A,A+DPTR RET延时等待; DELAY:MOV R5,#00H D1:MOV R6,#0H DJNZ R6,$ DJNZ R5,D1 RET显示段码表; TAB:DB0C0H,0F9H,0A4H,0B0H,099H DB092H,082H,0F8H,080H,090H $include (Init_Device.inc) ENDLOOPL1L2NNYY2. 显示电路模块汇编调试程序流程图L3L4LOOPNNYY3. 显示电路模块调试C程序#include “C8051F020.h“ #include “absacc.h“ #include “data_define.c“#define DP1 XBYTE0x0000 #define DP2 XBYTE0x0001 #define DP3 XBYTE0x0002 #define DP4 XBYTE0x0003 #define TIMER 0x8000#include “Init_Device.c“unsigned char table = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;void delay(void); void display(unsigned char x, y);void main(void) unsigned char i = 0, num = 0;Init_Device(); DP1 = DP2 = DP3 = DP4 = !i;while( 1 ) for( num=0; num9; +num ) i+;if( i = 4 )display(i, num);else i = 1;display(i, num);delay(); void display(unsigned char x, y) if( x = 1 )DP1 = tabley;else if( x = 2 )DP2 = tabley;else if( x = 3)DP3 = tabley;elseDP4 = tabley; void delay(void) unsigned int i;for( i=0; iTIMER; +i ); 4. 显示电路模块调试电路组成 JTAG适配器单片机板C8051F电路模块电源板键盘及显示板5. 显示模块故障检测方法运行显示模块测试程序,如果电路工作正常,在 4个数码管上应有数字 0-9 滚动显示。否则,说明电 路存在故障,可以根据故障现象,按照下面的方法进 行检查。全黑 -数码管未接电源 -74LS237未接电源或地 -74LS237触发控制信号(CK)不正常 -数据线全部漏接 全亮 -74LS237的CLR引脚未接高电平乱显示且无规律、无变化 -74LS237触发控制信号(CK)不正常 显示不正确,但有变化 -数据线顺序接错 74LS237触发控制信号(CK)故障 -信号线漏接 -无信号 74LS237触发控制信号线上无信号 -WR信号线漏接或信号线无信号 -二次译码信号线漏接或信号线无信号 WR信号线上无信号 -逆向检查至单片机板WR引脚 二次译码信号线上无信号 -一次译码信号线漏接或信号线上无信号 -二次译码电路74LS138的E2、E3连接错误 -二次译码电路74LS138漏接电源或地线 -地址信号( 74LS138 的A、B、C输入)不正常 一次译码信号线上无信号-逆向检查至一次译码74LS138相应引脚 地址信号不正常-逆向检查至单片机 P2 口-访问地址错误-访问地址错误-访问地址错误1. 键盘控制模块调试汇编程序 $include (C8051F020.inc) KEY_WRITE EQU 400H KEY_READ EQU 500H DP_DATA1 EQU 000H DP_DATA2 EQU 100HL_BUF EQU30H R_BUF EQU31H清除显示; LCALL Init_Device MOV A,#0FFH MOV DPTR,#DP_DATA1 MOVX DPTR,A MOV DPTR,#DP_DATA2 MOVX
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号