ATmega16L单片机数码管显示示例程序设计

来源:本站
导读:目前正在解读《ATmega16L单片机数码管显示示例程序设计》的相关信息,《ATmega16L单片机数码管显示示例程序设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《ATmega16L单片机数码管显示示例程序设计》的详细说明。
简介:在这里为大家提供一个ATmega16L单片机数码管显示示例程序设计。

;******************************************************

;*标题: ATmega16L单片机数码管显示示例程序

;*文件:

;*版本: 1.0

;*******************************************************

#include <avr/io.h>

#include <avr/delay.h>

//注: 内部函数_delay_ms() 最高延时 262.144mS@1MHz 即 32.768ms@8MHz

// 该函数可以实现较精确的定时for()/while()指令很难计算延时时间

// 为了使 _delay_ms()函数的延时正确,须在makefile中设定F_CPU为实际的系统时钟频

// 本范例为4MHz内部RC振荡器 即 F_CPU=4000000

//**********************************

#define uchar unsigned char //数据类型说明

#define uint unsigned int //数据类型说明

#define RD4 4 //

#define RD5 5 //

#define RD6 6 //

#define RD7 7 //

//**********************************

uchar table[11]={0xc0,0xf9,0xa4,0xb0,0x99, // 0, 1, 2, 3,4,

0x92,0x82,0xf8,0x80,0x90, 0xff} ;// 5, 6, 7, 8, 9, off

uchar buf[4] ;

uchar disppoint; //

//**********************************

void DelayMs(uint i) //Ms级延时函数,参数i:延时时间

{ uint j ;

for( ;i!=0 ;i--)

{for(j=8000 ;j!=0 ;j--) ;}

}

//**********************************

//**********************************

void put_num(char c)

{

PORTC=table[c&0x0f]; //

}

//*********************************

void main()

{

DDRD=0xFF ; //置PD口为输出

PORTD=0xFF ;

DDRC=0xFF ;

PORTC=0xFF ; //置PC口为输出

buf[0]=0; //

buf[1]=1; //

buf[2]=2; //

buf[3]=3; //

while(1)

{

disppoint=0; //

put_num(buf[disppoint]); //

PORTD &=~(1<<RD4); //

DelayMs(1); //

PORTD |= (1<<RD4); //

disppoint++; //

put_num(buf[disppoint]); //

PORTD &=~(1<<RD5); //

DelayMs(1); //

PORTD |= (1<<RD5); //

disppoint++; //

put_num(buf[disppoint]); //

PORTD &=~(1<<RD6); //

DelayMs(1); //

PORTD |= (1<<RD6); //

disppoint++; //

put_num(buf[disppoint]); //

PORTD &=~(1<<RD7); //

DelayMs(1); //

PORTD |= (1<<RD7); //

//

}

}

提醒:《ATmega16L单片机数码管显示示例程序设计》最后刷新时间 2024-03-14 01:00:14,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《ATmega16L单片机数码管显示示例程序设计》该内容的真实性请自行鉴别。