求C语言实现一个51单片机的数码管程序!!!(看似简单实际不好整!你测测!)
想实现的功能或现象:1.素材:2个51单片机、2个2位一体数码管、其他电阻等。2.描述:①单片机A在2个数码管显示数字“12”(例),然后单片机B通过获取A的管脚电平值达...
想实现的功能或现象:
1.素材:2个51单片机、2个2位一体数码管、其他电阻等。
2.描述:①单片机A在2个数码管显示数字“12”(例),然后单片机B通过获取A的管脚电平值达到B的数码管显示值与A同步;
②通过外部中断INT0、INT1获取电平。(有其他方式也可)
大体仿真如图: 展开
1.素材:2个51单片机、2个2位一体数码管、其他电阻等。
2.描述:①单片机A在2个数码管显示数字“12”(例),然后单片机B通过获取A的管脚电平值达到B的数码管显示值与A同步;
②通过外部中断INT0、INT1获取电平。(有其他方式也可)
大体仿真如图: 展开
4个回答
展开全部
你这个太简单了。。不过前提是你2个单片机驱动的数码管是同样规格的和同样的接法,比如P1.0接LED的a P1.1接LED的b。。。。
先吧一个单片机A编写好数码管的显示代码,另一个只是读取就是了比如你这个图说实在的看不清。。。我就按左边这组是P0,右边从上往下分别是P1,P2,P3口吧。
B单片机的P1口始终读取A单片机P1口的显示段码数据。读过来就直接传送给P0,你读位码的那2个应该是PX.2和PX.3(我是按上句说的从上往下排他应该是P3.2,P3.3)这样同时把位码读取过来其实直接赋值给你的B单片机显示位控制也可以好像是P2.0~P2.3不过你说的就2位,那么就按P2.0,P2.1就可以了
用你说的中断方式也行,直接轮询也行 按中断说吧:先开外部中断设定成低电平触发,打开2个外部中断,中断0里代码为
{
P2^0=1;
P2^1=1;
P0=P1;
P2^0=0;
}
中断1和0基本一样
{
P2^0=1;
P2^1=1;
P0=P1;
P2^1=0;
}
主程序里写好初始化,即开外部中断,把各IO全初始化为1,即P0=0XFF;P1=0XFF;....
先吧一个单片机A编写好数码管的显示代码,另一个只是读取就是了比如你这个图说实在的看不清。。。我就按左边这组是P0,右边从上往下分别是P1,P2,P3口吧。
B单片机的P1口始终读取A单片机P1口的显示段码数据。读过来就直接传送给P0,你读位码的那2个应该是PX.2和PX.3(我是按上句说的从上往下排他应该是P3.2,P3.3)这样同时把位码读取过来其实直接赋值给你的B单片机显示位控制也可以好像是P2.0~P2.3不过你说的就2位,那么就按P2.0,P2.1就可以了
用你说的中断方式也行,直接轮询也行 按中断说吧:先开外部中断设定成低电平触发,打开2个外部中断,中断0里代码为
{
P2^0=1;
P2^1=1;
P0=P1;
P2^0=0;
}
中断1和0基本一样
{
P2^0=1;
P2^1=1;
P0=P1;
P2^1=0;
}
主程序里写好初始化,即开外部中断,把各IO全初始化为1,即P0=0XFF;P1=0XFF;....
展开全部
判断电平不好操作,还不如用串口通信来同步显示内容了。A机通过串口把要显示的内容发送到B机。B机再把收到的内容译码显示就就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接读取IO口,然后进行操作 很简单的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学过按键的检测不?把B单片机中接A的所有io口想成按键会用了吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询