信号变化控制led灯的亮灭,单片机c语言编程

信号变化控制led灯的亮灭,单片机c语言编程需要了解单片机的那些基础知识,因为没时间把单片机从头学到尾,所以想尽快了解。ps:我用的是AVRATmega16是不是需要用到... 信号变化控制led灯的亮灭,单片机c语言编程
需要了解单片机的那些基础知识,因为没时间把单片机从头学到尾,所以想尽快了解。

ps:我用的是AVR ATmega16
是不是需要用到AD和DA转换,编程具体落实,能给个例子吗?我有个光敏电阻测试的程序例子,原理相同吗?
展开
 我来答
龚炜林
2012-12-18 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:578万
展开全部
首先要看Led灯和单片机的连接情况,如果你只是控制亮灭,只需要看单片机端口控制即可,关键是配置端口的DDRx方向寄存器和PORTx数据寄存器,比如端口A的0引脚控制一个灯,要配置它的输出高电平或是低电平以达到控制灯的亮灭,那就
灯亮:
DDRA |= BIT(0); //输出
PORTA |= BIT(0);//高电平
灯灭:
DDRA |= BIT(0); //输出
PORTA &= ~BIT(0);//低电平
其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的。

如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器。
追问
只要输入单片机的电平有明显的变化,灯就亮。 我想知道c语言编程的时候,需要写什么?比方说 if后面的括号里是不是有个什么比较的,是不是很复杂的程序。谢谢大侠。
追答
还是没具体了解你的要什么:
1.如果是用ATmega16引脚输入电平,要检测该脚电压变化,那就得AD转换,再比较前后比较的值是否在允许范围内,在转换结束中断时进行比较处理,从而用上述方法控制LED。
2.如果不用AD、那么单片机只认两个电平,分别是两个电压范围,你参看技术手册。你可以用扫描的方式检查引脚的输入,如A端口输入配置好后,通过PINA读取输入状态;也可用外部中断方式进行。
序观今古今h
2012-12-18 · TA获得超过339个赞
知道小有建树答主
回答量:758
采纳率:50%
帮助的人:204万
展开全部
业余代做课程设计,毕业设计,电路单片机等项目设计!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
6793asd
2012-12-18 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:226
采纳率:100%
帮助的人:102万
展开全部
你不想从头学的话,会发现非常难学,真的。而且编程老容易犯一些低级的算法错误,甚至是一些很难发现的编译错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式