汇编数码显示及键盘实验实验报告

汇编数码显示及键盘实验实验报告

ID:33446110

大小:88.50 KB

页数:12页

时间:2019-02-26

汇编数码显示及键盘实验实验报告_第1页
汇编数码显示及键盘实验实验报告_第2页
汇编数码显示及键盘实验实验报告_第3页
汇编数码显示及键盘实验实验报告_第4页
汇编数码显示及键盘实验实验报告_第5页
资源描述:

《汇编数码显示及键盘实验实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数码显示及键盘实验【实验内容】1、数码管显示0・72、独立按键识别【需要了解的知识】1、GPIO设定2、数码管动态扫描显示原理,键盘扫描工作原理,输入与输出及其处理【实验预习】仔细预读实验指导电子文档的实验六、七及其前面的实验流程【实验设备】KeilC51软件、ICE52仿真驱动、MEFlash编程软件、USB驱动程序【实验过程】实验一数码管显示0-7实验任务:1)先将“0-7”数码管的段码值写入存储器中,使8位数码管从右至左显示0-7.实验步骤:1)首先在硬盘上建立一个文件夹;2)启动KeilC51软件;3)执行KeilC51软件

2、的菜单"Project]NewProject”,弹出一个名为“CreeiteNewProjectv的对话框。输入工程文件名,选择保存路径uv2后缀,点击“保存”按钮;4)紧接着弹出“OptionsforTarget'Target17”,为刚才的项目选择ATMEL的AT89S52的CPU。选择之后,点击“确定”按钮;5)接下来弹出一个对话框提示你是否要把标准8051的启动代码添加项目中去,此时,点击“否”按钮;6)执行菜单"File

3、New……”,出现一个名为“Textl”的文档。接着执行菜单“F订e

4、Save”弹出一个名为“Save

5、As”的对话框,将文件名改为".asm"后缀,然后保存;7)添加源程序文件到工程中,一个空的源程序文件建成。单击KeilC51软件左边项目工作窗口"Targetl"上的“+”,将其展开。然后右击“SourceGroup1”文件夹弹出下拉菜单,单击其中的"AddFilestoGroup'SourceGroup1?项;8)在弹出的对话框中先选择文件类型为“AsmSourcefile(*・s*;*・src;*・a*)”,这时对话框内创建的空的源程序文件已经出现在项目工作窗口的uSourceGroup1n文件夹中;输入源程序代码;9)点击工

6、具栏"Optionsfortarget按钮,弹出一个对话框,定义“Xtal”为11.0592.下面依序是存储模式、程序空间大小等设置,均用默认值即可。点击Output选项,选中uCreateHexF订e”,10)单击编译按钮,编译当前源程序;11)运行。12)将JP21的8个短接子用短接帽短接,使数码管的位控制线与P2端口接通。13)将JP22的9个短接子用短接帽短接,使数码管的位控制线与P0端口接通,并使VCC向数码管接口电路供电。14)将JP24的OFF端用短接帽短接,禁止LCD1602显示功能,否则数码管将不能正常显示。程序设

7、计:数码管显示的编程方法:1)先准备好要显示的数据,放入相应的显示存储单元中。2)根据要使用的数码管的具体位置来确定扫描初值和扫描方向。3)根据使用数码管的个数来确定扫描的位数。4)查表要将显示的数据转换为能使数码管正确显示相对应的段码。5)分时送段码和位码,数码管开始循环显示。试验流程图:W6.13EX57SEG;显示单元首地址;数码管数据口定义;初始化;跳转到主函数;初始化;设置堆栈指针;初始化汇编源程序:DISSTARTEQU4011LED_DATAEQUP0ORG000011AJMPMAINORG005011MAIN:MOV

8、SP,#6011MOVP0,#OFFHMOVP2,#OFFH;初始化;8组数据MOVR2,#0811MOVRO,ttDISSTART;显示存储单元首地址MOVR1,#OOH;初始化MAIN1:MOVA,R1;将0-7分别存入累加器AMOV@R0,A;将0-7分别存入显示存储单元INCR1;R1自增1INCR2;R2自増1DJNZR2,MAIN1;若不按键则跳转回到MAIN1LOOP:ACALLPLAY;循环显示SJMPLOOP;不长按键则转移到LOOPPLAY:;业示子无王序MOVRO,#DISSTART;获得显示单元首地址MOVR

9、1,#OFEH;位码初始值MOVR2,#0811;有8位数码管显示DISP1:MOVA,@R0;取要显示的数据MOVDPTR,#TAB_NU;置段码表首址MOVCA,@A+DPTR;根据数据查段码表MOVLED_DATA,A;段码输出MOVP2,R1;位码输岀MOVA,R1;准备下一次显示的位码RLAMOVRl,A;保存位码TNCRO;取下一个显存单元地址DJNZR2,DISP1;8位数码管是否显示完MOVP2,#OFFII;关闭显示RET;显示完成返回DELAY:;1ms延时子程序MOVR6,#5DELI:MOVR7,#93DEL

10、2:DJNZR7,DEL2;第一层循环DJNZR6,DELI;第二层循环RETTAB_NU:;断码表DBOCOH,0F9H,0A4H,OBOH,099H,092H,082H,0F8H,080HDB090II,08811,083II,0

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

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

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