基于单片机 X 矩阵键盘控制数码管显示的Proteus仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6
7
break; case 0xe7 : disnum=12;
break; case 0xd7 : disnum=13;
break; case 0xb7 : disnum=14;
break; case 0x77 : disnum=15;
3
break; } } } P0=table_du[disnum]; } }
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
{
case 0xee : disnum=0;
2
break; case 0xde : disnum=1;
break; case 0xbe : disnum=2;
break; case 0x7e : disnum=3;
break; case 0xed : disnum=4;
break; case 0xdd : disnum=5;
5
C1
22PF
C2
X1
U1
19 XTAL1
18 XTAL2
22PF
R1
10k
9 RST
C3
10u
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C52
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
39 38 37 36 35 34 33 32
21 22 23 24 25 26 27 P2.6 28 P2.7
10 11 12 13 14 15 16 17
K0
K1
K4
K5
K8
K9
KC
KD
图 3-1:当按下 K0 键时,数码管显示数字‘0’
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
39 38 37 36 35 34 33 32
21 22 23 24 25 26 27 P2.6 28 P2.7
10 11 12 13 14 15 16 17
K0
K1
K4
K5
K8
K9
KC
KD
图 3-2:当按下 K4 键时,数码管显示数字‘4’
break; case 0xbd : disnum=6;
break; case 0x7d : disnum=7;
break; case 0xeb : disnum=8;
break; case 0xdb : disnum=9;
break; case 0xbb : disnum=10;
break; case 0x7b : disnum=11;
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
39 38 37 36 35 34 33 32
21 22 23 24 25 26 27 P2.6 28 P2.7
10 11 12 13 14 15 16 17
K0
K1
K2
K3
K4
K5
K6
K7
K8
K9
KA
KB
KC
KD
KE
KF
3.仿真 C51 程序
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
软件设计方面,我感觉到在编写循环嵌套程序时非常容易出错,需要反复的查错 和耐心的调试。我虽然能够编写出程序,其可读性却有待于提高。
经过这次仿真设计,我对 51 系统的单片机内部构造的了解认识有了一定程度的提 高。我体会到做设计是一项细致的工作,必须要投入时间及精力,要有耐心有韧性。
我相信这几次的仿真设计会为我以后的发展打下一定的基础,我会更加努力,争取 自己在单片机的开发上有更深层次的提高,与此同时经过此次仿真,锻炼了团队协作 能力。
K2
K3
K6
K7
KA
KB
KE
KF
C1
22PF
C2
X1
U1
19 XTAL1
18 XTAL2
22PF
R1
10k
9 RST
C3
10u
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C52
AT89C52
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
图 1:4*4 键盘控制数码管显示
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; uchar disnum,temp,key; void delay(uchar i)
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
39 38 37 36 35 34 33 32
void main()
{
disnum=16;
wela=0;
while(1)
{
P3=0xf0;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
Baidu Nhomakorabeatemp=P3;
temp=temp|0x0f;
P3=temp;
key=P3;
switch(key)
Proteus
4x4 矩阵键盘控制数码管显示
班 级: 姓 名:
成 绩:
电信 13-2 段学亮 邓成智 崔俊杰 邓石磊 陈亮 高金玉
电子与信息工程学院 信息与通信工程系
1. 设计要求
单片机的 P3 口的 P3.0~P3.7 连接 4×4 矩阵键盘,P0 口控制一只数码管,当 4×4 矩 阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1 号键按下时,数码管显 示“1”, 14 号键按下时,数码管显示“E”等等.
3.电路图仿真效果
当按下键盘时,所显示的效果如图 3-1 至图 3-4
C1
22PF
C2
X1
U1
19 XTAL1
18 XTAL2
22PF
R1
10k
9 RST
C3
10u
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
K2
K3
K6
K7
KA
KB
KE
KF
4
C1
22PF
C2
X1
U1
19 XTAL1
18 XTAL2
22PF
R1
10k
9 RST
C3
10u
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C52
2. 仿真电路图
仿真电路图,如图一
C1
22PF
C2
X1
U1
19 XTAL1
18 XTAL2
22PF
R1
10k
9 RST
C3
10u
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C52
1
{ uchar j,k; for(j=0;j<i;j++) for(k=0;k<200;k++);
}
uchar
code
table_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x7f8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,
0x8e,0xff};
21 22 23 24 25 26 27 P2.6 28 P2.7
10 11 12 13 14 15 16 17
K0
K1
K2
K3
K4
K5
K6
K7
K8
K9
KA
KB
KC
KD
KE
KF
图 3-4:当按下 KF 键时,数码管显示数字‘F’
5.总结
电路设计方面,根据书本上还是课堂上老师所讲的知识,很快设计出来此仿真电 路。
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
39 38 37 36 35 34 33 32
21 22 23 24 25 26 27 P2.6 28 P2.7
10 11 12 13 14 15 16 17
K0
K1
K2
K3
K4
K5
K6
K7
K8
K9
KA
KB
KC
KD
KE
KF
图 3-3:当按下 K8 键时,数码管显示数字‘8’
相关文档
最新文档