• atemega8例程:灯闪烁


    C语言“位运算”:

    “与&”运算:    1=1       0=0   0×1=0   0×0=0

    “或|”运算:       11=1       10=1       01=1       00=0

    “异或^”运算: 11=0       10=1       01=1       00=0

    设:PORTA==10110100  x=(0~7)

    PORTA &= ~(0x01<<x) x位置“0

    PORTA |= (0x01<<x)     x位置“1

    PORTA^=(0x01<<xx位置“取反”

    ______________________________________

    C语言常识:逻辑“真”:非“0”,  逻辑“假”:“0”。

    ______________________________________

    判断端口A的某一“位”的值:x= ( 0 ~ 7 )

    IfPORTA &(0x01<<x))then …

    if表达式中,如果x位的值为1,则表达式因为“非0”而为“真”,如果x位的值为0,则表达式因为值为“0”而为“假”。

    AVR的端口寄存器中DDRx默认为0x00PORTx默认为0x00
    
    
    /*********************************************************** 
    * 函数库说明:ATMEGE8 灯闪烁
    * 版本: v1.0
    * 修改: 庞辉
    * 修改日期: 2011年08月01日
    *
    * 说明: 无
    *
    * 版本更新:
    *
    ************************************************************
    *注意: LED C5
    **********************************************************
    */

    #include <avr/io.h>

    int main(void)
    {
    unsigned int i,j;

    //PORTC5设置为输出
    DDRC |= (1 << DDC5);
    //PORTC5输出低电平,LED亮
    PORTC &= ~(1 << PORTC5);

    while(1)
    {
    //取反
    PORTC ^= (1 << PORTC5);
    for(i = 0;i < 100;i ++)
    for(j = 0;j < 1000;j ++);
    }
    }


  • 相关阅读:
    2019届宝鸡理数质检Ⅱ解析版
    随机事件的概率
    三视图
    求曲线的轨迹方程
    组合法破解二项式系数问题
    二项式定理
    计数原理
    HBase的Shell命令
    HBase伪分布安装
    HBase基础知识
  • 原文地址:https://www.cnblogs.com/pang123hui/p/2312384.html
Copyright © 2020-2023  润新知