实验二- 贾祥成-0225 独立按键大板移植小板实验

一:实验目的

1:了解大板和小板的区别

2:实现独立按键大板移植到小板。


二:实验器材

1:共阴单片机(大板)和共阳单片机(小板)

2:电脑、keil软件、烧录软件。


三、实验步骤

1、共阴和共阳数码管的区别

共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制,如图(B)所示:

共阴极数码管是指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制,如图(C)所示:


实验二- 贾祥成-0225 独立按键大板移植小板实验_第1张图片
共阴级输入高电平有效公共端接低电平或者地,共阳级输入低电平有效公共端接高电平。

2、代码修改

(1)控制端口的修改


实验二- 贾祥成-0225 独立按键大板移植小板实验_第2张图片
实验二- 贾祥成-0225 独立按键大板移植小板实验_第3张图片

大板控制端口是k3而小板我们设置控制端口是int2

大板实验程序:

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;//引脚

sbit K3=P3^2;//独立按键

修改后 小板

sbit LSA=P2^0;

sbit LSB=P2^1;

sbit LSC=P2^2;

sbit LSD=P2^3;//引脚

sbit Init=P3^2;//独立按键

(2)数码管字符编码修改

   数码管每个段均有0(不导通)和1(导通发光)两种状态,但共阳极数码管和共阴极数码管显然是不同的,它在程序中的应用是用一个八位二进制数表示,A为最低位,...,F为最高位(第八位)

共阴极数码管字符编码(大板):

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9,A-F 字形码

拿0来说在共阴数码管中a、b、c、d、e、f 亮,因为是高电平有效所以二进制代码为00111111,用8421转换为16进制0x3f,同理其它也可以这样得到。

共阳极数码管字符编码(小板):

u8 code smgduan[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//0-9,A-F 字形码

拿0来说在共阳数码管中也是a、b、c、d、e、f 亮,但却是是低电平有效二进制代码为11000000,用8421转换为16进制0xc0,同理其它也可以这样得到。

(3)消隐修改

什么是消隐:消除数码管位选和段选产生的瞬态。

0x00改为0xff

原因推荐链接:http://forum.eepw.com.cn/thread/262583/1

(4)动态显示修改


实验二- 贾祥成-0225 独立按键大板移植小板实验_第4张图片
实验二- 贾祥成-0225 独立按键大板移植小板实验_第5张图片

switch(i)

 {case(0): 

 LSA=0;LSB=0;LSC=0;break;

case(1): 

 LSA=1;LSB=0;LSC=0;break;

case(2):

 LSA=0;LSB=1;LSC=0;break;

case(3): 

 LSA=1;LSB=1;LSC=0;break; }

switch(i)

 {case(0): 

 LSA=1;LSB=1;LSC=1;LSD=0;break;

case(1): 

 LSA=1;LSB=1;LSC=0;LSD=1;break;

case(2):

 LSA=1;LSB=0;LSC=1;LSD=1;break;

case(3): 

 LSA=0;LSB=0;LSC=1;LSD=1;break; }

四、实验结果


五、实验问题

在生成hex文件中,lnit1打成了lint1,一开始还以为步骤错了,后来才看到。


你可能感兴趣的:(实验二- 贾祥成-0225 独立按键大板移植小板实验)