?? usart2._c
字號:
#include <iom128v.h>
#include <macros.h>
#pragma interrupt_handler UART0_RX_interrupt:19
void UART0_RX_interrupt( void )
{ MCURC=(1<<IVCE);
MCURC=(1<<IVSEL);
unsigned char Temp;
Temp=UDR0;
if(Temp=='b')Buzzer();
}
void Buzzer(void)
{
PORTB&=0xfe; //開蜂鳴器
delay(50);
PORTB|=0x01; //關蜂鳴器
}
void delay(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<1000;j++)
;
}
void USART_Transmit(char data)
{
while(!(UCSR0A&(1<<UDRE0)))
;
UDR0=data;
}
void USART_Init(unsigned int baud)
{
UBRR0H=(unsigned char)(baud>>8);
UBRR0L=(unsigned char)baud;
UCSR0B=(1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0); //接收終端使能,發送和接受使能
UCSR0C=(1<<UCSZ00)|(1<<UCSZ01); //設置字符長度,一個停止位,八位數據
}
main()
{
DDRB=0xff;
PORTB=0xff;
USART_Init(51);
USART_Transmit('s');
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -