📄 单片机与pc机双向串口通讯仿真.c
字号:
//-----------------------------------------------------------------
// 名称: 单片机与PC机双向串口通讯仿真
//-----------------------------------------------------------------
// 说明: 单片机可接收PC机发送的数字字符,按下单片机K1按键时,单片机
// 可向PC机发送字符串.在Proteus环境下完成本实验时,需要
// 先安装Virtual Serial Port Driver和串口调试助手软件.
// 建议在VSPD中将COM3和COM4设为对联端口.Proteus中设COMPIM
// 为COM4,在串口助手中选择COM3,然后实现单片机程序与XP下串口
// 助手的通讯.
//
// 本例缓冲为100个数字字符,如果发送的字符串末尾没有回车符,
// 则下次接收的字符串将在上次接收字符串的后面接着存放,
// 否则将重新从开始位置存放.
//
// 如果本次PC发送的数字串是先输入回车符,再输入任意数字串,
// 则本次新接收的数字串也将从缓冲开始位置存放.
//
//-----------------------------------------------------------------
#define F_CPU 4000000UL //4M晶振
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
//数字串接收缓冲
struct
{
INT8U Buf_Array[100]; //缓冲空间
INT8U Buf_Len; //当前缓冲长度
} Receive_Buffer ;
//清空缓冲标志
INT8U Clear_Buffer_Flag = 0;
//0-9的数字编码,最后一位为黑屏
const INT8U SEG_CODE[] =
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};
char *s = "这是AVR单片机发送的字符串!\n", *p;
//------------------------------------------------------------------
// USART初始化
//------------------------------------------------------------------
void Init_USART()
{
}
//------------------------------------------------------------------
// 发送一个字符
//------------------------------------------------------------------
void PutChar(char c)
{
}
//------------------------------------------------------------------
// 显示所接收的数字字符(数字字符由PC串口发送,AVR串口接收)
//------------------------------------------------------------------
void Show_Received_Digits()
{
}
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main()
{
}
//-----------------------------------------------------------------
// 串口接收中断函数
//-----------------------------------------------------------------
ISR (USART_RXC_vect)
{
}
//-----------------------------------------------------------------
// INT1中断函数(向PC发送字符串)
//-----------------------------------------------------------------
ISR (INT1_vect)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -