单片机实验4报告_第1页
单片机实验4报告_第2页
单片机实验4报告_第3页
单片机实验4报告_第4页
单片机实验4报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机实验4报告学号序号 19单片机原理与接口技术实验报告实验四例项目转实验项目名动态显示与矩阵式键盘实验姓 名雄 专 业电子信息工程班级电信14-2BF完成时间2016-05-10一、实验目的1、进一步理解数码管与单片机的接口原理与动态显示原理,理解单片机 矩阵式键盘按键识别的原理;2、掌握单片机动态显示应用和编程方法;3、掌握单片机矩阵式键盘按键识别的方法。二、实验内容实验内容为3项,其中第1、2项必做。1、动态显示。未按键不显示,按K1键,动态显示“19491001” ;按K2键,动态显示 “20141210” o2、动态显示与按键识别。矩阵式键盘键值分别是0-

2、F,未按键不显示。每按键一次,键值在最低位 显示,原键值向高位移一位。3、可控动态显示与按键识别。矩阵式键盘键值分别是0-9,最下面一排键位功能键,左右两个键分别为 “清。键” “C",和” “回车键” “ ”,其它键无效。未按键不显示,每按 键一次,键值在最低位显示,原键值向高位移一位。按8个键后,再按键无 效。按清0键全显示“0”。按“7 ”后全部熄灭,再按键重新开始。三、实验原理图IE3H561885888886,鸵之3品骷hfc86883886S百824总监非XU1IMOWmuu)iPt 2的XVUPOAXDPtCAXE RSTPtTAOTP2 6*BP2 WM1*»

3、;OHOTP2J*HAltM4*I2er。2Ms纬,M4PUKQMDPti力 VTXDP,2M2flRTOPU”817«*n>3.4动态显示与矩阵式键盘实验电路原理图动态显示共8个共阴极数码管,采用两片74LS573进行驱动,74LS573与74LS373都是8D锁存器,只是573引脚排列更易于布线。其引脚功能为:DLD8为数据输入端;QLQ8为数据输出端;LE为数据输入锁存端,LE=1数据输入D锁存器,LE=0数据不能输入D锁存器,即LE下降沿锁存当前输入数 据;而地址输出允许端,诬=0输出锁存数据,而=1输出高阻。电路中,U1输出段码abcdefgdb,控制显示的字形与小数

4、点,U2输出 位选码,控制第几个螃管显示。单片机P14、P15分别连接到UI、U2的 LE,连接UI、U2的丽。四、源程序第一项:#include<reg51. h>tidefine uchar unsigned chardata uchar f8;data uchar a, b, num, y, k, g;data uchar c=0; table 18 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, Ox7c, 0x39, 0x5e, 0x79, 0x71, 0x00; 共阴极数码管显示段码

5、(0-F)void delay ( j ) 延时函数data uchar j; data uchar i;while(j-)for(i=0;i<l;i+);)uchar code sled_bit = 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80: / 定义点亮数码管位选码data uchar d = l, 9, 4, 9,1, 0, 0, 1;data uchar e = 2, 0,1, 4,1, 2,1, 0);sbit oe=Pr3; 2个573的三态使能端sbit dula=Pr4;段码573控制信号sbit wela=Pr5;位码

6、573控制信号延时函数void main(void)(TM0D=0x01;/设置定时器TO为方式1定时TH0= (65536-500) /256;给 TO 装入初值TL0= (65536-500) %256; 给 T0 装入初值ETO=1;允许TO中断EA=1;EXO=1;IT0=l;g=o;PO=OXOO;whiled);CPU 开中断)void EX0_int(void) interrupt 0 TRO=1;y=P2;y=y;if(y=l)for(g=0;g<8;g+)fg=dg;if(y=2)for(g=0;g<8;g+)fg=eg;void T0_int (void) in

7、terrupt 1T0 中断函数 TH0=(65536-500)/256;TL0= (65536-500)%256;oe=l;关闭2个573输出,防止送数据时相互影响k = fg;/每次显示dispj的数据P0= table k;/相应显示数字段码dula=l;dula=0;/锁存段码PO=sled_bitg; /选择相应数码管位选wela=l;wela=0;/锁存位码oe=0;g+;if(g>=8)g=0;/打开2个573三态门,输出段码和位码第二项#include<reg52> h>#define uchar unsigned char#define uint un

8、signed intsbit oe=P3;数码管段选、位选锁存器输出控制信号sbit dula=Pr4;数码管段选锁存器控制信号sbit wela=Pr5;数码管位选锁存器控制信号uchar j=0;uchar code sled.bit = 0xfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f ; / 定义点亮数码管位选码data uchar disp8 = 16, 16,16, 16,16,16, 16, 16);ucharcodetable 18 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0

9、x7f, 0x6f, 0x77, Ox 7c, 0x39, 0x5e, 0x79, 0x71, 0x00; 共阴极数码管显示段码(0-F)void delay ( n )延时函数data uchar n; data uchar m;while(n-)for(m=0;m<l;m+);uchar a, b, c, i, num;TM0D=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;ETO=1;void main(void)/设置定时器TO为方式1定时/给TO装入初值/给T0装入初值/允许T0中断EA=1; CPU开中断TRO=1;启动 TO oe

10、=0;P2=0xff;while(1) P2=0xf0;delay(5);P2=0xf0;a=P2;P2=0x0f;delay (5);P2=0x0f;b=P2;a=a|b;if(a!=0xff)while(P2!=0x0f);switch(a)caseOxee:num=0; break;caseOxde:num=l; break;caseOxbe:num=2; break;case0x7 e:num=3; break;caseOxed:num=4; break;caseOxdd:num=5; break;caseOxbd:num=6; break;caseOx7d:num=7; break;

11、caseOxeb:num=8; break;caseOxdb:num=9; break;caseOxbb:num=10;break;case0x7b:num=ll;break;case0xe7:num=12;break;case0xd7:num=13;break;case0xb7:num=14;break;case0x77:num=15;for(i=0;i<7;i+) dispi=dispi+l;disp7=num;delay(255);void T0_int(void) interrupt 1 data uchar k;TH0=(65536-1000)/256;TL0=(65536-1

12、000)%256;oe=l;互影响k = disptj;P0 = tablek;dula=l;关闭2个573输出,防止在送数据时相/每次显示ar j的数据/相应显示数字段码/锁存段码dula=0;PO=sled_bitj;wela=l;wela=0;oe=0;j+;if(j>=8)j=0;)/选择相应数码管位选/锁存位码打开2个573三态门,输出段码和位码/为下一个显示做准备五、实验结果第一项:给单片机上电,未按键不显示,按K1键,动态显示 “19491001” ;按 K2 键,动态显示 “20141210”。第二项:给单片机上电,未按键不显示,按矩阵式键盘键值从小到大依次按 键,依次显

13、示为:0,01,012,0123,01234,012345,0123456,01234567,12345678,23456789,3456789A,456789Ab, 56789AbC,6789AbC(l,789AbCdE,89AbCdEFo六、实验思考题1、电路中为什么壑 74LS573,不用74LS573,可用什么器件代替?如 果UI、U2的丽都直接接地,应如何编程?答:电路中需要2片74LS573来驱动8个共阴暨:码管,所以不育匣 74LS573,可用74LS373代替。如果UI、U2的°E都直接接地,即°E 一直为0, 74LS573总是输出锁存数据,所以应控制数据输入锁存端 LE,使之在需要锁存时置1。2、 为什么要等键弹起,才进行键值分析?答:因为在按键前后都有一个过渡期,在这个阶段电平忽高忽低,最 好等这个时期过去再判断是否按键,同样,最好等键弹起,才进行键 值分析,这样才能分析准确。3、 如果用简单按键与矩阵式键盘构成组合按键,组合按键如何编程得到键值?答:采用线反转法,将行和列得到的键值相或来得到键值。七、实验心得通过这次实验,使我学到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论