,熟悉I2C器件的使用,掌握ZLG7290芯片显示和键盘的简单程序设计。-、键盘控制器驱动实验。,灵活运用I2C主控器软件包,深刻理解ZLG7290芯片LED显示、键盘控制的各种功能,编写驱动程序,读出用户按键值并依次显示在8个LED数码管上(保留显示最后8次按键值,显示内容从右向左移动,最后一次按键值显示在最右侧LED数码管上)。①用导线连接D5区和A2区的P16→SCL,P17→SDA,P10→RST_L,INT_KEY→INT0,短接D5区的JP1跳线。②,使用$INCLUDE()命令加入到你的汇编源文件中。在你的汇编源文件中定义SCL、SDA、ACK等信号。③先编写显示的子程序(DISPLAY)和获取用户按键子程序(GETKEY)。④然后再进行整体编程。如果还有一难,可以先画流程一,再编写程序。⑤显示结果为:上电运行时,8位数码管显示01234567,用户按键时,键值在最右侧LED数码管显示,原显示内容左移一位,例如:显示由“01234567”变为“1234567X”,(X:用户按键值,1~16,显示为1~F,G)。(附件1)和模拟I2C软件包(附件2)使用手册,理解硬件结构;先把程序编好,然后在KEIL51环境下进行软件仿真。:计算机硬件技术基础实验参考代码(DP-51PROC).DOC文件。 SDA BIT ;I2C总线定义串行数据存取位 SCL BIT ;I2C总线定义串行时钟位 RST BIT ;MCU复位输出信号,低电平复位ZLG7290 INT_KEY BIT ;MCU中断信号输入,有效的按键动作使该引脚信号变为低电平 MTD EQU 40H ;I2C总线发送数据缓冲区(8字节) MRD EQU 48H ;I2C总线接收数据缓冲区(8字节) DISBUF EQU 38H;显示缓冲区(8字节,可对应8位数码管显示) ;定义ZLG7290器件地址及子地址 ZLG7290EQU 70H ;ZLG7290的器件地址 ACK BIT 10H ;应答标志位 SLA DATA 50H ;器件的从地址 SUBA DATA 51H ;器件的子地址 NUMBYTE DATA 52H ;读/写的字节数变量 KEY DATA 53H;返回用户按键值 SYSTEMREG EQU 00H;系统寄存器地址,保存ZLG7290系统状态 KEYREG EQU 01H;键值寄存器,表示被压按键的键值 CMDBUF0 EQU 07H;命令缓冲区0 CMDBUF1 EQU 08H;命令缓冲区1 DPRAM EQU 10H; 8000H LJMP 8100H;-------主程序如下:MAIN: MOV SP,#70H ;堆栈区从70H开始 CLR RST ;复位ZLG7290 LCALL DELAY;等待复位完成,ZLG7290复位周期比较长,必须等待 SETB RST ;结
实验十四LED示键盘实验 来自淘豆网m.daumloan.com转载请标明出处.