永发信息网

求人帮我注释下这段程序(是一段关于电子密码锁的)

答案:1  悬赏:10  手机版
解决时间 2021-05-19 16:48

#include<reg51.h>
#define uchar unsigned char
sbit OUT = P0^0 ;
sbit CS7279 = P2^2;
sbit CLK = P1^2;
sbit DAT = P1^3;
sbit KEY = P3^3;
sbit LED = P3^7;
//******************7279子程序******************
void s_7279(uchar dat);
uchar r_7279(void);
//******************延时子程序******************
void delay(uchar s);
//******************寄存器的定义和数组的开辟****
uchar MIMA[]={8,8,4,0,2,0,1,9};
uchar codebuf[8],codenum,ERROR;
uchar code TABLE[32]={0xff,0xff,0xff,0xf6,0x01,0x04,0x07,0xff,0xff,0xff,0xff,0x00,0x02,0x05,0x08,0xff,0xff,0xff,0xff,0xf5,0x03,0x06,0x09,0xff,0xff,0xff,0xff,0xf4,0xf3,0xf2,0xf1,0xff};
//******************中断子程序*****************
void int1(void) interrupt 2 using 1
{ uchar keynum,key,i;
s_7279(0x15);
keynum = r_7279();
CS7279 = 1;
key=TABLE[keynum];
if(key<10)
{ if(codenum<8)
{codebuf[codenum]=key;
CS7279=0;
s_7279(0x80+codenum);
s_7279(key);
CS7279=1;
codenum++;
}
}
if(key==0xf4)
{ERROR=0;
if(codenum<8)
{
ERROR=1;}
else
{
for(i=0;i<8;i++)
{
if(MIMA[i]!=codebuf[i])
ERROR=1;}
}
if(ERROR==0)
{LED=1;}
else
{LED=0;}
codenum=0;
}
}



//******************主程序*********************
void main()
{ CS7279=0;
s_7279(0xa4);
CS7279 = 1;
EA = 1;
EX1 = 1;
IT1 = 1;
while(1)
{}
}
//******************7279发送子程序******************
void s_7279(uchar dat)
{ uchar i;
// LED = ~LED;
CS7279 = 0;
CLK = 0;
delay(0);
for(i=1;i<=8;i++)
{
if(dat&0x80)
DAT = 1;
else
DAT = 0;
dat = dat* 2; //数据右移
CLK = 1;
delay(1);
CLK = 0;
}
DAT = 0;
}
//******************7279接收子程序*****************
uchar r_7279(void)
{ uchar i,dat;
CS7279= 0;
DAT = 1;
delay(0);
for(i=1;i<=8;i++)
{ CLK=1;
delay(1);
dat = dat*2;
if(DAT)
dat = dat|0x01; //数据右移
CLK = 0;
delay(1);
}
DAT = 0;
return dat;
}
//******************延时子程序******************
void delay(uchar s)
{ uchar i;
if(s==0) //长延时
for(i=30;i>1;i--)
{;}
if(s==1) //短延时
for(i=8;i>1;i--)
{;}

}

最好能把注释好的发我邮箱,主要解释下每句的作用

邮箱89532231@qq.com

最佳答案

已经发你邮箱了,看看行不???快把分拿来

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
网易老板谁?
脚上起水泡怎么办?
田螺外壳怎么洗干净,怎么洗去田螺外壳上的绿
福克斯开动 后边摆动大 是为何???
万花筒的代收費是什麽意思啊
修真该加什么点
财务管理专业有哪些大学?
怎么给校园英语杂志社投稿呢
为什么消息模式切换不了
丙肝是什么?
盗梦空间经典语录,要中英文对照的
手机内存要装什么程序吗?加QQ急急急急急急急
十个人你不能站排头排尾有几种排法.
好的照顾用英语怎么说,我会告诉他们如何照顾
描写归来的诗句
推荐资讯
电脑屏幕休眠怎么唤醒,计算机休眠的如何将计
怎样才能分辨是好人还是坏人?
哪有电影落丁山英文影评
我家的公萨摩三个月左右了拉肚子怎么办?是不
QQ三国从55级带到65级用齐心,双倍,十倍,最
仿照下面的例句,以“汉字里”为开头,另写一
宝来1.4T省油吗??
QQ空间导航总变位
三星i8000和i8910哪个好
仿照木芙蓉的句子,有关芙蓉的诗句
现实中有真实的感情吗?有谁给我真感情
保定哪的美女最漂亮
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?