标题:
IIC-24C04与蜂鸣器的单片机仿真图与程序
[打印本页]
作者:
左右aaa
时间:
2017-6-5 11:38
标题:
IIC-24C04与蜂鸣器的单片机仿真图与程序
蜂鸣器。。有用的
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
0.png
(13.27 KB, 下载次数: 31)
下载附件
2017-6-6 03:36 上传
0.png
(51.25 KB, 下载次数: 26)
下载附件
2017-6-6 03:36 上传
单片机源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define NOP4() {_nop_();_nop_();_nop_();_nop_();}
sbit SCL = P1^0;
sbit SDA = P1^1;
sbit SPK = P3^0;
uchar code HI_LIST[] =
{
0,226,229,232,233,236,238,240,241,242,245,246,247,248
};
uchar code LO_LIST[] =
{
0,4,13,10,20,3,8,6,2,23,5,26,1,4,3
};
uchar code Song_24C04[] =
{
1,2,3,1,1,2,3,1,3,4,5,3,4,5
};
uchar sidx;
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=120;t>0;t--);
}
}
void Start()
{
SDA=1;SCL=1;NOP4();SDA=0;NOP4();SCL=0;
}
void Stop()
{
SDA=0;SCL=0;NOP4();SCL=1;NOP4();SDA=1;
}
void RACK()
{
SDA=1;NOP4();SCL=1;NOP4();SCL=0;
}
void NO_ACK()
{
SDA=1;SCL=1;NOP4();SCL=0;SDA=0;
}
void Write_A_Byte(uchar b)
{
uchar i;
for(i=0;i<8;i++)
{
b<<=1;SDA=CY;_nop_();SCL=1;NOP4();SCL=0;
}
RACK();
}
void Write_IIC(uchar addr,uchar dat)
{
Start();
Write_A_Byte(0xa0);
Write_A_Byte(addr);
Write_A_Byte(dat);
Stop();
DelayMS(10);
}
uchar Read_A_Byte()
{
uchar i,b;
for(i=0;i<8;i++)
{
SCL=1;b<<=1;B|=SDA;SCL=0;
}
return b;
}
uchar Read_Current()
{
uchar d;
Start();
Write_A_Byte(0xa1);
d=Read_A_Byte();
NO_ACK();
Stop();
return d;
}
uchar Random_Read(uchar addr)
{
Start();
Write_A_Byte(0xa0);
Write_A_Byte(addr);
Stop();
return Read_Current();
}
void T0_INT() interrupt 1
{
SPK=!SPK;
TH0=HI_LIST[sidx];
TL0=LO_LIST[sidx];
}
void main()
{
uchar i;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
05 IIC-24C04与蜂鸣器.zip
(36.1 KB, 下载次数: 25)
2017-6-5 11:37 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
小白鹭
时间:
2019-8-9 20:32
程序出不了效果哎
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1