📄 usart2.c
字号:
#include <iom128v.h>
#include <macros.h>
#pragma interrupt_handler UART0_RX_interrupt:19
void UART0_RX_interrupt( void )
{
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 + -