实验十四LED显示和键盘实验.doc

实验十四LED显示和键盘实验.doc

ID:50838063

大小:74.00 KB

页数:6页

时间:2020-03-15

实验十四LED显示和键盘实验.doc_第1页
实验十四LED显示和键盘实验.doc_第2页
实验十四LED显示和键盘实验.doc_第3页
实验十四LED显示和键盘实验.doc_第4页
实验十四LED显示和键盘实验.doc_第5页
资源描述:

《实验十四LED显示和键盘实验.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验14LED显示和键盘实验1.实验目的加深用户对I2C总线的理解,熟悉I2C器件的使用,掌握ZLG7290芯片显示和键盘的简单程序设计。2.实验设备及器件IBMPC机一台DP-51PRO单片机综合仿真实验仪一台3.实验内容ZLG7290芯片LED显示、键盘控制器驱动实验。4.实验要求熟练掌握I2C总线的控制,灵活运用I2C主控器软件包,深刻理解ZLG7290芯片LED显示、键盘控制的各种功能,编写驱动程序,读出用户按键值并依次显示在8个LED数码管上(保留显示最后8次按键值,显示内容从右向左移动,最后一次按键值显示在最右侧LED数码管上)。5.实验步骤①用导线连接D5区和

2、A2区的P16→SCL,P17→SDA,P10→RST_L,INT_KEY→INT0,短接D5区的JP1跳线。②模拟I2C软件包VI2C_ASM.INC文件,使用$INCLUDE(VI2C_ASM.INC)命令加入到你的汇编源文件中。在你的汇编源文件中定义SCL、SDA、ACK等信号。③先编写显示的子程序(DISPLAY)和获取用户按键子程序(GETKEY)。④然后再进行整体编程。如果还有一难,可以先画流程一,再编写程序。⑤显示结果为:上电运行时,8位数码管显示01234567,用户按键时,键值在最右侧LED数码管显示,原显示内容左移一位,例如:显示由“01234567”变

3、为“1234567X”,(X:用户按键值,1~16,显示为1~F,G)。6.实验预习要求认真阅读ZLG7290的数据手册(附件1)和模拟I2C软件包(附件2)使用手册,理解硬件结构;先把程序编好,然后在KEIL51环境下进行软件仿真。7.实验参考程序详见附近3:计算机硬件技术基础实验参考代码(DP-51PROC).DOC文件。SDABITP1.7;I2C总线定义串行数据存取位SCLBITP1.6;I2C总线定义串行时钟位RSTBITP1.0;MCU复位输出信号,低电平复位ZLG7290INT_KEYBITP3.2;MCU中断信号输入,有效的按键动作使该引脚信号变为低电平MT

4、DEQU40H;I2C总线发送数据缓冲区(8字节)MRDEQU48H;I2C总线接收数据缓冲区(8字节)DISBUFEQU38H;显示缓冲区(8字节,可对应8位数码管显示);定义ZLG7290器件地址及子地址ZLG7290EQU70H;ZLG7290的器件地址ACKBIT10H;应答标志位SLADATA50H;器件的从地址SUBADATA51H;器件的子地址NUMBYTEDATA52H;读/写的字节数变量KEYDATA53H;返回用户按键值SYSTEMREGEQU00H;系统寄存器地址,保存ZLG7290系统状态KEYREGEQU01H;键值寄存器,表示被压按键的键值CMD

5、BUF0EQU07H;命令缓冲区0CMDBUF1EQU08H;命令缓冲区1DPRAMEQU10H;显示缓存寄存器ORG8000HLJMPMAINORG8100H;-------主程序如下:MAIN:MOVSP,#70H;堆栈区从70H开始CLRRST;复位ZLG7290LCALLDELAY;等待复位完成,ZLG7290复位周期比较长,必须等待SETBRST;结束复位LCALLDELAYLCALLCLSDISP;清除显示MAINLOOP:MOVDISBUF+0,#0;上电运行时,8位数码管显示01234567MOVDISBUF+1,#1;给显示缓冲区赋值,01234567MO

6、VDISBUF+2,#2MOVDISBUF+3,#3MOVDISBUF+4,#4MOVDISBUF+5,#5MOVDISBUF+6,#6MOVDISBUF+7,#7LCALLDISPLAY;调用显示子程序,显示内容WAITKEY:JBINT_KEY,WAITKEY;查询按键LCALLGETKEY;获取键值MOVA,KEYJZWAITKEY;KEY=0无键按下,继续查询MOVDISBUF+7,DISBUF+6;显示内容左移MOVDISBUF+6,DISBUF+5MOVDISBUF+5,DISBUF+4MOVDISBUF+4,DISBUF+3MOVDISBUF+3,DISBUF

7、+2MOVDISBUF+2,DISBUF+1MOVDISBUF+1,DISBUF+0MOVDISBUF+0,KEYLCALLDISPLAYLJMPWAITKEY;子程序名:CLSDISP;功能:清除显示内容;调用:VI2C_ASM.INC;入口参数:无;出口参数:无;占用资源:R0,R1,R2,R3(工作寄存器组1),ACC,CY,R5(当前工作寄存器组)CLSDISP:MOVR5,#8;循环计数器初值,8位数码管MOVA,#01100000B;按位下载数据且译码指令01100A2A1A0;A2~A0:对应显示位置

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。