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

📄 单片机与pc机双向串口通讯仿真.c

📁 AVR单片机仿真100例
💻 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 + -