版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、硬件实验三 按键与显示实验1. 实验目的 熟练运用keil环境对硬件接口进行调试。 掌握io扩展键盘的软硬件设计方法; 掌握数字转换成显示段码的软件译码方法; 掌握静态显示的原理和相关程序的编写。 掌握动态显示的原理和相关程序的编写;2. 预习要求 理解51单片机io实现独立式键盘扩展的工作原理。 理解8段数码管静态显示的电路工作原理,采用静态显示有何优缺点; 理解8段数码管动态显示的电路工作原理,采用动态显示有何优缺点; 理解8段数码管静态显示的io控制方式及同步串行口控制方式如何实现软件设计;3. 实验设备计算机 1台; zdgdth-1型80c51实验开发系统 1套;2号导线、8p数据线
2、 若干条。4. 基础型实验内容 查询式键盘和静态显示实验8个独立式键盘的电路如图2-1所示,串口扩展的6个静态数码管电路如图2-2所示。设将p0口连接到键盘接口,则如果有键按下,相应的口线输出为低,否则输出为高。单片机通过读取接口的状态,判断按下什么键。有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。8个按键的键值从右至左分别为07。实验例程是查询按键操作,并将按下的键值在6个静态数码管上显示出来。6个静态数码管与6片74ls164(串转并移位寄存器)连接,通过io口与单片机连接,实现串行静态显示的控制。用8p数据线将80c51/c8051f020mcu模块的 jd1(p1口)与查询
3、式键盘模块jd1c7相连。在实验箱右上角的扩展区中插入静态串行显示模块,用二号导线将80c51/c8051f020mcu模块的 p3.0(rxd)、p3.1(txd)分别与静态数码显示模块的din、clk相连;将a7区的电源短路帽jd5a7打到右端。在keil环境连续运行该程序,观察实验结果。电路图:图2-1 8个独立式按键电路 图2-2 6位静态数码管显示接口电路dbufequ30hdatequp3.0clkequp3.1org0000hl0:movp1, #0ffhl1:mova, p1cjnea, #0ffh,keyputsjmpl1keyput: cjnea,#0feh,next1sj
4、mpk0next1:cjnea,#0fdh,next2sjmpk1(请自行展开填写)k0:movb,#00hlcalldispljmpl0k1:movb,#01hlcalldispljmpl0(请自行展开填写)ljmpl0disp:movdbuf, bmovdbuf+1,bmovdbuf+2,bmovdbuf+3,bmovdbuf+4,bmovdbuf+5,b movr0,#dbufmovdptr,#tabmovr2,#06hdp0:mova,r0movca,a+dptrmovr3,#08hdp1:rlcamovdat,cclrclksetbclkdjnzr3,dp1incr0djnzr2,d
5、p0rettab:db 3fh,06h,5bh,4fh,66h,6dh ; 0,1,2,3,4,5db 7dh,07h,7fh,6fh,77h,7ch ; 6,7,8, 9,a,bdb 58h,5eh,79h,71h,00h,40h ; c,d,e,f, ,- end 动态显示实验6位动态数码管显示的接口电路设计如图2-3所示,假设p0口输出显示的段码,p2口输出位码,用8p数据线将80c51/c8051f020mcu模块的jd0(p0口)、jd2(p2口)分别与a7区的jd1a7、jd2a7相连;a7区的电源短路帽jd5a7打到右端。在keil环境连续运行该程序,观察实验结果。图2-3 6位
6、动态数码管显示接口电路流程图如下:在动态数码管上显示168168的源程序:dbuf equ 30h temp equ 40h org 0000h ljmp disp org 0100h disp: mov 30h,#8 mov 31h,#6 mov 32h,#1 mov 33h,#8 mov 34h,#6 mov 35h,#1 mov r0,#dbuf mov r1,#temp mov r2,#6 mov dptr,#segtabdp00: mov a,r0 movc a,a+dptr mov r1,a inc r1 inc r0 djnz r2,dp00disp0: mov r0,#temp
7、 mov r1,#6 mov r2,#1 dp01: mov a,r0 mov p0,a mov a,r2 mov p2,a acall delay mov a,r2 rl a mov r2,a inc r0 djnz r1,dp01 sjmp disp0segtab:db 3fh,06h,5bh ; 0,1,2db 4fh,66h,6dh ; 3,4,5db 7dh,07h,7fh, ; 6,7,8,db 6fh,77h,7ch ; 9,a,bdb 58h,5eh,7bh, ; c,d,edb 71h,00h,40h ; f, ,-delay: mov r4,#03haa1: mov r5,
8、#0ffhaa: nop nop djnz r5,aa djnz r4,aa1 ret end5. 设计型实验内容 在最后一个数码管上依次显示a、b、.f各段,每段显示时间为100ms,用t0定时器实现;1)源程序org 0000h ljmp startorg 0030h start: mov tmod,#01h ;计数器0工作于方式1 mov th0,#0d8h ;设置10ms定时初值 mov tl0,#0f0h setb tr0 mov r7,#10 mov p2,#01 l1: mov a,#01h mov r6,#06 l2: jbc tf0,re ;等待定时器溢出sjmp $ re:
9、 mov th0,#0d8h ;重置计数初值 mov tl0,#0f0h djnz r7,l2 mov r7,#10 mov p0,a rl a ;存入下一个显示的段码 djnz r6,l2;利用动态数码管扫描实现 ljmp l1 end 2) 硬件连接将“静态数码显示/动态数码显示”扩展板插到实验箱右上角的扩展区中;用8p数据线将80c51 mcu模块的jd0(p0口),jd2(p2口)分别与a7区的jd1a7,jd2a7相连;a7区的电源短路帽jd5a7打到右端。 3) 实验结果看到最后一个动态数码管上依次循环显示八段码外围,每段显示时间100s。 分别指定io控制动态扫描显示模块或静态显
10、示模块电路,画出流程并设计程序实现数码管显示自己的学号后六位号码;1)流程图2) 源程序mov 30h,#9mov 31h,#0mov 32h,#0mov 33h,#4mov 34h,#0mov 35h,#1;在30h至35h逆序存入学号后六位mov r0,#30hmov r1,#40hmov r2,#6mov dptr,#tabmm: mov a,r0movc a,a+dptrmov r1,ainc r1inc r0djnz r2,mm;查询得到学号后六位的段码,对应存放在40h至45h中nn: mov r0,#40hmov r1,#6mov r2,#1;设置位码初值yy: mov a,r0
11、mov p0,a;显示mov a,r2mov p2,a acall delay;调用延时1ms程序mov a,r2rl amov r2,ainc r0;指向下一个数字djnz r1,yy;循环,未结束,取下一个数sjmp nn ;开始新的循环显示tab: db 3fh,06h,5bhdb 4fh,66h,6dhdb 7dh,07h,7fh,6fhdelay: mov r4,#03haa1:mov r5,#0ffhaa:nopnopdjnz r5,aadjnz r4,aa1retend3) 实验结果运行程序,能够在动态显示模块上显示学号后六位 104009 用按键输入自己的学号,并在静态或动态数
12、码管上显示出来。1) 流程图2) 源程序datequp3.0clkequp3.1main:movr0,#6loop:acallkey;查询按键acalldisp;显示键值acalldelay;延时,防止连击djnzr0,loop;6次循环sjmp$;查询按键程序key:movp1,#0ffhkey1:mova,p1cjnea,#0ffh,keyputsjmpkey1keyput:cjnea,#0feh,next1sjmpkonext1:cjnea,#0fdh,next2sjmpk1next2:cjnea,#0fbh,next3sjmpk2next3:cjnea,#0f7h,next4sjmpk
13、3next4:cjnea,#0efh,next5sjmpk4next5:cjnea,#0dfh,next6sjmpk5next6:cjnea,#0bfh,next7sjmpk6next7:cjnea,#07fh,key1sjmpk7ko:mova,#3fhretk1:mova,#06hretk2:mova,#5bhretk3:mova,#4fhretk4:mova,#66hretk5:mova,#6dhretk6:mova,#7dhretk7:mova,#07hretdisp:movr7,#8dp1:rlcamovdat,cclrclksetbclkdjnzr7,dp1ret;延时程序dela
14、y:movr4,#0ffhlp0:movr5,#0ffhlp1:nopnopdjnzr5,lp1djnzr4,lp0retend 3) 硬件连接用8p数据线将80c51 mcu模块的jd1(p1口)与查询式键盘模块jd1c7相连。在实验箱右上角的扩展区中插入静态串行显示模块,用二号线将80c51 mcu模块的p3.0(rxd),p3.1(txd)分别与静态数码显示模块的din,clk相连;将a7区的电源短路帽jd5a7打到右端。4) 实验结果每按一次键,就把对应键值在最后一个静态数码管上显示出来,同时之前输入的键值左移一位。6. 综合型实验 循环显示6个数码管的边缘各段,形成一个运动着的大边框
15、。1)源程序 org 0000h mov 30h,#02h mov 31h,#04h mov 32h,#08h mov 33h,#10h mov 34h,#20h mov 35h,#01h start: mov r0,#30h;动态显示段码 mov r1,#2 mov r2,#1 l1:mov a,r0 ;显示最右边led的b,c段 mov p0,a mov a,r2mov p2,a;输出位码 acall delay inc r0 djnz r1,l1 mov r1,#6 l2: mov a,r0 ;从右到左显示led的d段 mov p0,a mov a,r2 mov p2,a acall d
16、elay rl a mov r2,a djnz r1,l2 mov r2,#20h ;修正位码 mov r1,#2 inc r0 l3: mov a,r0 ;显示最左边led的e,f段 mov p0,a mov a,r2 mov p2,a acall delay inc r0 djnz r1,l3 mov r1,#6 l4:mov a,r0 ;从左到右显示led的a段 mov p0,a mov a,r2 mov p2,a acall delay rr a mov r2,a djnz r1,l4 ljmp start delay: mov r3,#0fah mov r4,#0c8hdelayloop:djnz r3,delayloop djnz r4,delayloop ret end2) 硬件连接将“静态数码显示/动态数码显示”扩展板插到实验箱右上角的扩展区中;用8p数据线将80c51 mcu模块的jd0(p0口),jd2(p2口)分别与a7区的jd1a7,jd2a7相连;a7区的电源短路帽jd5a7打到右端。 3) 实验结果看到从右到左六个动态数码管最外围大边框依次循环点亮。 按键连击的消除和利用。利用连击
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖瓦装出窑工班组建设水平考核试卷含答案
- 肉品分级员达标测试考核试卷含答案
- 特种弹簧制作工诚信竞赛考核试卷含答案
- 选煤工操作知识能力考核试卷含答案
- 医疗废弃物处理工操作规程模拟考核试卷含答案
- 补充保险风险应对策略-面对市场变革建立健全风险管理
- 亚运会题目多选题及答案
- 2024-2025学年广东省潮州市饶平县八年级(下)期中数学试卷及答案
- 课件12 交车服务
- 2021年西藏高考政治真题及答案 附答题思路解析
- 地应力及其测量
- 采购管理制度及流程采购管理制度及流程
- 全国优质课一等奖人教版初中八年级美术《设计纹样》公开课课件
- 水工隧洞的维护-水工隧洞的检查与养护
- 室内给水管道及配件安装工程检验批质量验收记录表
- 奔驰GLK汽车说明书
- 广东开放大学学位外语(本23春)形成性考核1试题及答案
- 数字填图系统新版(RgMap2.0)操作手册
- 对石灰石和稀硫酸反应的创新实验研究 说课 课件
- 宝坻事业单位招聘2022年考试《职业能力倾向测验》真题及答案解析【word版】
- 我们的生命周期ppt
评论
0/150
提交评论