用51单片机先在EEPROM中写入数据,然后读取数据显示在数码管上

用51单片机先在EEPROM中写入数据,然后读取数据显示在数码管上,第1张

#include<reg52h>

#include<intrinsh>

#define uchar unsigned char

sbit sda=P2^0;

sbit scl=P2^1;

sbit duan=P2^6;

sbit wei=P2^7;

uchar smg_duan[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

void delay()

{

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

}

void start()

{

sda=1;

delay();

scl=1;

delay();

sda=0;

delay();

}

void stop()

{

sda=0;

delay();

scl=1;

delay();

sda=1;

delay();

}

void ack()

{

uchar i=0;

scl=1;

delay();

while((sda==1)&&(i<200))i++;

scl=0;

delay();

}

void noack()

{

sda=1;

delay();

scl=1;

delay();

scl=0;

delay();

}

void iicwr_byte(uchar dat)

{

uchar i;

scl=0;

for(i=0;i<8;i++)

{

if(dat&0x80)

{

sda=1;

}

else

{

sda=0;

}

dat=dat<<1;

delay();

scl=1;

delay();

scl=0;

delay();

}

sda=1;

delay();

}

uchar iicre_byte()

{

uchar i,dat;

scl=0;

delay();

sda=1;

delay();

for(i=0;i<8;i++)

{

scl=1;

delay();

dat=dat<<1;

if(sda)

{

dat++;

}

scl=0;

delay();

}

return dat;

}

void init()

{

sda=1;

scl=1;

}

void iicwrite_byte(uchar add,uchar dat)

{

init();

start();

iicwr_byte(0xa0);

ack();

iicwr_byte(add);

ack();

iicwr_byte(dat);

ack();

stop();

}

uchar iicread_byte(uchar add)

{

uchar a;

init();

start();

iicwr_byte(0xa0);

ack();

iicwr_byte(add);

ack();

start();

iicwr_byte(0xa1);

ack();

a=iicre_byte();

noack();

stop();

return a;

}

void main()

{

uchar k;

k=iicread_byte(1);

k=k%10;

duan=1;

wei=1;

P0=smg_duan[k];

k++;

iicwrite_byte(1,k);

while(1);

}

Proteus软件是一款可以对单片机及外围电路进行仿真的软件,对于资金有限的人,可以不用买实物就能在电脑上用此软件仿真,能达到同样的效果。

打开Proteus软件,出现以下界面,右面的一大块是绘图窗口,左面有视图小窗口,紧挨着下面分别是元器件列表、控制按钮点击菜单栏中的File,在下拉菜单中选择OpenDesign(打开设计),此处在下已经提前准备好了设计图,下面都以此为例作为讲解。然后从中选择DSN类型文件(为默认Proteus软件类型)。打开后,绘图窗口里面有做好的图,右面是数码管,左面的是AT89C51单片机。在绘图窗口双击AT89C51单片机,d出窗口,需要根据硬件参数修改时钟周期,此处为12MHz再选择ProgramFile(就是程序的HEX形式文件)

以上就是关于用51单片机先在EEPROM中写入数据,然后读取数据显示在数码管上全部的内容,包括:用51单片机先在EEPROM中写入数据,然后读取数据显示在数码管上、proteus仿真软件怎么用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10635982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存