信号变化控制led灯的亮灭,单片机c语言编程
信号变化控制led灯的亮灭,单片机c语言编程需要了解单片机的那些基础知识,因为没时间把单片机从头学到尾,所以想尽快了解。ps:我用的是AVRATmega16是不是需要用到...
信号变化控制led灯的亮灭,单片机c语言编程
需要了解单片机的那些基础知识,因为没时间把单片机从头学到尾,所以想尽快了解。
ps:我用的是AVR ATmega16
是不是需要用到AD和DA转换,编程具体落实,能给个例子吗?我有个光敏电阻测试的程序例子,原理相同吗? 展开
需要了解单片机的那些基础知识,因为没时间把单片机从头学到尾,所以想尽快了解。
ps:我用的是AVR ATmega16
是不是需要用到AD和DA转换,编程具体落实,能给个例子吗?我有个光敏电阻测试的程序例子,原理相同吗? 展开
展开全部
首先要看Led灯和单片机的连接情况,如果你只是控制亮灭,只需要看单片机端口控制即可,关键是配置端口的DDRx方向寄存器和PORTx数据寄存器,比如端口A的0引脚控制一个灯,要配置它的输出高电平或是低电平以达到控制灯的亮灭,那就
灯亮:
DDRA |= BIT(0); //输出
PORTA |= BIT(0);//高电平
灯灭:
DDRA |= BIT(0); //输出
PORTA &= ~BIT(0);//低电平
其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的。
如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器。
灯亮:
DDRA |= BIT(0); //输出
PORTA |= BIT(0);//高电平
灯灭:
DDRA |= BIT(0); //输出
PORTA &= ~BIT(0);//低电平
其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的。
如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器。
追问
只要输入单片机的电平有明显的变化,灯就亮。 我想知道c语言编程的时候,需要写什么?比方说 if后面的括号里是不是有个什么比较的,是不是很复杂的程序。谢谢大侠。
追答
还是没具体了解你的要什么:
1.如果是用ATmega16引脚输入电平,要检测该脚电压变化,那就得AD转换,再比较前后比较的值是否在允许范围内,在转换结束中断时进行比较处理,从而用上述方法控制LED。
2.如果不用AD、那么单片机只认两个电平,分别是两个电压范围,你参看技术手册。你可以用扫描的方式检查引脚的输入,如A端口输入配置好后,通过PINA读取输入状态;也可用外部中断方式进行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询