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

📄 set_ubrr.s

📁 GCC source code for do it yoursel a avr programer and jtagice debuger.
💻 S
字号:
//***************************************************************************
//*
//* Title		: Set_UBRR
//* Author		: Andrew Leech
//***************************************************************************
#if #cpu (atmega16).arch atmega16
#elif #cpu (atmega32)
.arch atmega16
#endif

#define __SFR_OFFSET 0
#include <avr/io.h>
//#include <avr/iom16.h>
#include "crystal.h"
#include "memory.h"

.list

//*****************************
//* Global Register Variables *
//*****************************
//New registers used for get_codes (V3.0)

#define	UBRR_IN		 r16	// Device code

	.section .ubrr,#execinstr,#alloc


// Pulse SCK Line

//Initialize UART.
ubrr_set:	
	cpi    	r16,03
	breq	three
	cpi		r16,05
	breq	five
	cpi		r16,07
	breq	seven
	cpi		r16,11
	breq	eleven		//0x0b
	cpi		r16,15
	breq	fifteen		//0x0f
	cpi		r16,23		
	breq	twothree	//0x17
	cpi		r16,31
	breq	threeone	//0x1f
	cpi		r16,47
	breq	fourseven	//0x2f
	cpi		r16,95
	breq	ninefive	//0x5f
//	cpi		r16,191
//	breq	onenineone
	rjmp	load


three:
	ldi		r16,N115200		// set baud rate
	rjmp	load
five:
	ldi		r16,N76800		// set baud rate
	rjmp	load
seven:
	ldi		r16,N57600		// set baud rate
	rjmp	load
eleven:
	ldi		r16,N38400		// set baud rate
	rjmp	load
fifteen:
	ldi		r16,N28800		// set baud rate
	rjmp	load
twothree:
	ldi		r16,N19200		// set baud rate
	rjmp	load
threeone:
	ldi		r16,N14400		// set baud rate
	rjmp	load
fourseven:
	ldi		r16,N9600		// set baud rate
	rjmp	load
ninefive:
	ldi		r16,N4800		// set baud rate
//	rjmp	load
//onenineone:
//	ldi		r16,N2400		// set baud rate

load:	
	out     0x20,r17
	out		0x09,r16

	ret



⌨️ 快捷键说明

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