蓝桥杯—单片机组—CT107D—IAP15F2K61S2

1、控制蜂鸣器

Y5C通过一个锁存器,在P0口对应位输出,可以看到第七位对应BUZZ 

而Y5C又由Y5与WR(默认通过跳线帽接地)通过或非门得来, P2口的高3位通过38译码器来控制Yx(x表示0~7)输出,所以,相应控制代码如下:

u8 bdata port;
sbit buzeer = port^6;

void Buzeer(u8 s)
{
	buzeer = s;
	P0 = port;
	P2 = 0xa0;  //P2=0xa0,表示其高3位为101(也就是十进制的5)因此控制Y5口
	_nop_();
	P2 = 0;
}

同理,控制继电器操作类似:

u8 bdata port;
sbit relay = port^4;
void Relay(u8 s)
{
	relay = s;
	P0 = port;
	P2 = 0xa0;
	_nop_();
	P2 = 0;
}


LED:

LED的控制操作:

void LED(u8 s)
{
	P0 = ~s;//因为是共阳接法,所以要取反
	P2 = 0x80;
	_nop_();
	P2 = 0;
}


数码管: 

 位码,也就是控制显示位置:

void Nixie_W(u8 s)  //位选
{
	P0 = s;  //注意位码不能取反,否则显示位置恰好相反
	P2 = 0xc0;
	_nop_();
	P2 = 0;
}

段码,控制数码管的相应段亮灭:

void Nixie_D(u8 s)  //段选
{
	P0 = ~s;
	P2 = 0xe0;
	_nop_();
	P2 = 0;
}

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值