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

📄 intmcu._c

📁 LED显示面板
💻 _C
字号:
#include "main.h"


void port_init(void)
{
 PORTA = 0x00;
 DDRA  = 0xff;
 PORTB = 0x00;
 DDRB  = 0x00;
 PORTC = 0x00; //m103 output only
 DDRC  = 0xff;
 PORTD = 0x00;
 DDRD  = 0x83;
 PORTE = 0xff;
 DDRE  = 0xfc;
 PORTF = 0x00;
 DDRF  = 0xff;
 PORTG = 0xf8;
 DDRG  = 0x18;
}

void watchdog_init(void)
{
 WDR(); //this prevents a timout on enabling
 WDTCR = 0x0e; //WATCHDOG ENABLED - dont forget to issue WDRs
}


//UART1 initialize
// desired baud rate:9600
// actual baud rate:9615 (0.2%)
void uart0_init(void)
{
 UCSR0B = 0x00; //disable while setting baud rate
 UCSR0A = 0x00;
 UCSR0C = 0x06;
 UBRR0L = 0x67; //set baud rate lo
 UBRR0H = 0x00; //set baud rate hi
 UCSR0B = 0xD8;
}


void timer0_init(void)
{
 TCCR0A = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT0 = 0x83; //set count
 OCR0  = 0x7D;
 TCCR0A = 0x05; //start timer
}


void USART_Transmit( unsigned char data )
{
//Wait for empty transmit buffer 
while ( !( UCSR0A & (1<<UDRE0)) )
;
//Put data into buffer, sends the data 
UDR0 = data;
}

unsigned char USART_Receive( void )
{
//Wait for data to be received 
while ( !(UCSR0A & (1<<RXC0)) )
;
//Get and return received data from buffer 
return UDR0;
}


#pragma interrupt_handler uart0_rx_isr:22
void uart0_rx_isr(void)
{


}

void init_devices(void)
{
 port_init();
 timer0_init(); 
 uart0_init();
 TIMSK0 = 0x01; 
 relay_out_reset();                           //继电器输出复位
 led_clear();                                 //LED输出复位
 led7_clear();                                //7段码输出复位
 shd_led_init();                              //LED属性初始化
}

⌨️ 快捷键说明

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