用51单片机编写一个并行口实验
发布网友
发布时间:2022-04-22 14:54
我来回答
共2个回答
热心网友
时间:2023-11-02 01:31
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code seg1[]={ 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; //控制字) 从左向右开始逐个点亮
uchar code seg2[]={ 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff} ;//控制字(从 右向左LED发光二极管再逐个熄灭)//
uchar code seg3[]= {0x7e, 0x3c, 0x18,0x00,0xff,0x00,0xff}; //控制字(由两边到中间点亮再明暗2次)
sbit P2_0=P2^0;
sbit P2_1=P2^1;
/********************延时y*1mS子函数*********************/
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++){
for(j=0;j<121;j++)
{;}}
}
main()
{
uchar m,n,p;
while(1)
{ while((P2_0!=0)||(P2_1!=1))//P2_0,P2_1接按键K1 K2
{for(m=0;m<8;m++) //K1 k2均未按下,8个LED发光二极管依次从左向右开始逐个点亮
{ delay(1000);//延时1S
P1=seg1[m];
}
}
while(P2_0==0) //K1 按下 状态2
{
for(n=0;n<8;n++)
{
delay(1000);
P1=seg2[n];
}
}
while(P2_1==0) //K2 按下 状态3
{
for(p=0;p<7;p++)
{
delay(1000);
P1=seg3[p];
}
}
}
}
热心网友
时间:2023-11-02 01:32
c 啊 汇编啊