㈠ 用51單片機控制4位led數碼管,使其顯示出想要的數字,程序怎樣寫,謝謝
模擬串口方式0:
#include"reg52.h"
#define
uint
unsigned
int
#define
uchar
unsigned
char
sbit
P3_2=P3^2;
//模擬接受
sbit
P3_3=P3^3;
//模擬發送
uchar
code
smg[11]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};//數碼管編碼0~
9
void
display(uchar
z);
main()
{
display(5);
display(0);
display(4);
while(1);
}
/************模擬串口顯示**************/
void
display(uchar
z)
{
uchar
i;
uchar
temp;
temp
=
smg[z];
for(i=0;i<8;i++)
{
P3_3=
0;
if(temp
&
0x01)
P3_2=1;
else
P3_2
=
0;
P3_3=
1;
temp
=
temp>>1
;
}
}
串口}方式0:
void
display()
{
SM0=0;
SM1=0;
//方式0
for(i=0;i<3;i++)
{
SBUF=smg[snum[2-i]];
while(!TI)
;
TI=0;
delay(1000);
}
}
還有並行口方式
佔用I/O不推薦
不過程序很簡單