完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
相关寄存器:DDRD,DDRB方向寄存器。PORTB,PORTD。 PINB(PINA,PINC,PIND)数据输入寄存器。当方向寄存器设置为输入时,此时PINB起作用,用来保存当前引脚的状态 说明:利用按键来改变B0口的状态。然后通过数据输入寄存器,来读取当前引脚的状态。 51单片机中的IO口是不分为输入和输出的。所以直接读取引脚的状态即可。而在AVR中,首先需要设置为输入状态。然后设置数据寄存器为高--就是为了使能内部的上拉电阻。
#include void gpio_init(void)//端口初始化 { DDRD=0xff;//将D0口设置为输出 DDRB=0xfe;//11111110将B0口设置为输入 PORTB=0xff;//B0口的上拉使能,端口状态在外部不改变时始终处于高 DDRD=0xff;//初始化D端口都为高 } void main(void) { gpio_init();//端口的初始化 while(1) { if(!(PINB&0x01))//判断D0口的状态,如果按键按下,输入为低 { PORTD=0xfe;//点亮LED } while(!(PINB&0x01));//判断按键是否松开。没松开则停留在此循环中。 PORTD=0xff;//当松开时灭LED } } |
|
相关推荐
4 个讨论
|
|
习了学习了习了学习了
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5009 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7665 浏览 0 评论
2948 浏览 2 评论
3042 浏览 1 评论
9932 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-30 20:33 , Processed in 0.657443 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191