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

📄 iar16-2.c

📁 手把手教你学AVR单片机C程序设计实验程序
💻 C
字号:
#include <iom16.h>		//包含头文件
#include<intrinsics.h>	
#define  uchar unsigned char		//变量类型的宏定义
#define  uint unsigned int
//----------------------------------------
#define xtal 8	//定义晶振频率
void delay_1ms(void)		//1mS延时子函数
{
uint i;
for(i=1;i<(uint)(xtal*143-2);i++)
	;
}
//=========================================
void delay_ms(uint n)	//n*1mS延时子函数
{
uint i=0;
 while(i<n)
 {
 delay_1ms();
 i++;
 }
}
//-------------------------------------------
void port_init(void)		//初始化I/O口
{
 PORTA = 0x00;
 DDRA  = 0x00;
 PORTB = 0xFF;	//PB端口初始化输出11111111
 DDRB  = 0xFF;	//将PB端口设为输出
 PORTC = 0x00; 
 DDRC  = 0x00;
 PORTD = 0x00;
 DDRD  = 0x00;
}
//***************看门狗初始化,分频系数为16K 
void watchdog_init(void)
{
 __watchdog_reset(); 
 WDTCR = 0x08; 
}
//=========================================
void init_devices(void)//器件的初始化子函数
{
 port_init();
 watchdog_init();
 }
//*****************************************
void main(void)  //主函数
{
 init_devices();		//初始化
 while(1)			//无限循环
 {
 PORTB=0xfe;		//点亮D1。
 delay_ms(3);		//延时3ms。
 PORTB=0xfd;		//点亮D2。
 delay_ms(3);	//延时3ms。
 PORTB=0xfb;		//点亮D3。
 delay_ms(3);	//延时3ms。
 PORTB=0xf7;		//点亮D4。
 delay_ms(3);	//延时3ms。
 PORTB=0xef;		//点亮D5。
 delay_ms(3);	//延时3ms。
 PORTB=0xdf;		//点亮D6。
 delay_ms(3);	//延时3ms。
 PORTB=0xbf;		//点亮D7。
 delay_ms(3);	//延时3ms。
 PORTB=0x7f;		//点亮D8。
 delay_ms(3);	//延时3ms。
 PORTB=0xff;		//关闭所有的发光管。
 delay_ms(3);	//延时3ms。
 }
}

⌨️ 快捷键说明

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