⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io.c

📁 一个关于AVR单片机的例程
💻 C
字号:
// 用途:理解AVR的端口操作,学习在AVR studio里面观查IO口状态
// 连接:电源跳线,PB0接一个按键,PA口0~7接7段数码管的a~dp,7段数码管的ABCD接VCC
// 注意:直接全速运行本程序,没有现实意义,请通过JTAG在线仿真,看各个IO口的状态,并且看数码管上的显示。

#include <iom16v.h>

void main(void)
{
 PORTA=0xff;
 DDRA=0xff; //输出 模式 ,IO口上,1为输出,0为输入。
 
 while(1)
 {
  PORTA = 0xf0; //等于 结果是:1111 0000
  PORTA &=~ 0xf0; //清零 结果是:0000 0000
  PORTA |= 0x77; //置一 结果是:0111 0111
  PORTA ^= 0x70; //翻转 结果是:0000 0111
  PORTA = 0x00; //全部清零
 
  //下面理解下移位算法
  PORTA |=(1<<PA7); //PA7置1,结果是 1000 0000
  PORTA = ((1<<PA4)|(1<<PA5)|(1<<PA6)); // PA4 5 6置一,结果为 0011 1000
  PORTA &=~((1<<PA4)|(1<<PA5));       //PA 4 5 清零, 结果为 0010 0000
  PORTA ^= ((1<<PA5)|(1<<PA6));       //PA5 PA6 取反,结果为 0001 0000
  
  //下面理解下输入
  DDRB=0x01; //PB0 接个按键
  if((PINB&0x01)==0x01) 
   { //PB0为高,没有键盘按下
    PORTA =0x00;
   }
   else
   { //PB0为低,按键按下
    PORTA =0xFF;
   }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -