欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
4*8矩陣鍵盤單片機仿真+程序 新手一枚
[打印本頁]
作者:
dyyyx
時間:
2017-7-9 13:01
標題:
4*8矩陣鍵盤單片機仿真+程序 新手一枚
4*8矩陣鍵盤顯示0-31,使用 一陰一陽數碼管,當然有一個疑問本來兩位數碼管同時可以使用一個位選端口,和同一個P0口的但是發現會出現亂碼,而且發現。共陰數碼管亮的數據段位,剛好是共陽不亮的段位,怎么用三極管是兩者的電壓達到平衡呢。不得已把代碼改了共陰管使用P0口,共陽管使用P3口,實現功能
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
捕獲.PNG
(61.61 KB, 下載次數: 101)
下載附件
2017-7-9 12:53 上傳
0.png
(55.86 KB, 下載次數: 79)
下載附件
2017-7-9 18:01 上傳
單片機源程序如下:
#include "reg51.h"
#define uchar unsigned char
sbit disn2=P3^5;
sbit disn1=P3^6;
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code dab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar temp,num,n1,n2;
void display();
keyscan();
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
keyscan() //矩陣鍵盤掃描程序
{
P1=0xfe;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0x7f : num=31;break;
case 0xbf : num=30;break;
case 0xdf : num=29;break;
case 0xef : num=28;break;
case 0xf7 : num=27;break;
case 0xfb : num=26;break;
case 0xfd : num=25;break;
case 0xfe : num=24;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);
P1=0xfd;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0x7f : num=23;break;
case 0xbf : num=22;break;
case 0xdf : num=21;break;
case 0xef : num=20;break;
case 0xf7 : num=19;break;
case 0xfb : num=18;break;
case 0xfd : num=17;break;
case 0xfe : num=16;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);
P1=0xfb;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0x7f : num=15;break;
case 0xbf : num=14;break;
case 0xdf : num=13;break;
case 0xef : num=12;break;
case 0xf7 : num=11;break;
case 0xfb : num=10;break;
case 0xfd : num=9;break;
case 0xfe : num=8;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);
P1=0xf7;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0x7f : num=7;break;
case 0xbf : num=6;break;
case 0xdf : num=5;break;
case 0xef : num=4;break;
case 0xf7 : num=3;break;
case 0xfb : num=2;break;
case 0xfd : num=1;break;
case 0xfe : num=0;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);
/*P0=0xde;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0xdf : num=12;break;
case 0xef : num=11;break;
case 0xf7 : num=10;break;
case 0xfb : num=9;break;
case 0xfd : num=8;break;
case 0xfe : num=7;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);
P0=0xbe;
if(P2!=0xff)
{
delay(10);
if(P2!=0xff)
{
temp=P2;
switch(temp)
{
case 0xdf : num=6;break;
case 0xef : num=5;break;
case 0xf7 : num=4;break;
case 0xfb : num=3;break;
case 0xfd : num=2;break;
case 0xfe : num=1;break;
}
while(temp!=0xff)
{
temp=P2;
display();
}
}
}
delay(5);*/
return num;
}
void display()
{
//if( disn1==1)
{P0=tab[n1];
//delay(10);
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
1616.rar
(37.11 KB, 下載次數: 42)
2017-7-9 12:52 上傳
點擊文件名下載附件
4*8矩陣掃描
下載積分: 黑幣 -5
作者:
YangCJ
時間:
2017-7-10 15:38
學習學習!
作者:
yuwei664
時間:
2020-1-13 14:13
這個仿真軟件并不大好
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1