当前位置:首页 > 单片机 > 单片机
[导读]//------------------------------------------------------------------------------//ATMEGA16与PC机的通信实验1//PC机发送一个字符给单片机,单片机收到后既在发光二极管进行显示,同时将其回传给PC//单片机的发送





//------------------------------------------------------------------------------
//ATMEGA16与PC机的通信实验1
//PC机发送一个字符给单片机,单片机收到后既在发光二极管进行显示,同时将其回传给PC
//单片机的发送和接收都采用查询方式
#include"ioavr.h"
#include"intrinsics.h"
#include"delayics.h"
//------------------------------------------------------------------------------
typedef unsigned char uchar;
typedef unsigned intuint;
#define UDRE5
#define RXC 7
//------------------------------------------------------------------------------
//端口初始化函数
void port_init()
{
DDRB=0XFF;
PORTB=0XFF;
DDRD=0X02;
PORTD=0XFF;
}
//------------------------------------------------------------------------------
//USART初始化函数
void usart_init()
{
UCSRA=0X02;//置位U2X,倍速发送
UCSRC=0X06;//选择字符长度为8位
UBRRL=0X67;//设置波特率9600,查看datesheet
UBRRH=0X00;
UCSRB=0X18;//发送使能、接收使能
}
//------------------------------------------------------------------------------
//芯片初始化函数
void device_init()
{
__disable_interrupt();
port_init();
usart_init();
}
//------------------------------------------------------------------------------
//发送5~8位数据位的帧
void usart_send_8(uchar i)
{
while(!(UCSRA&(1<UDR=i;
}
//------------------------------------------------------------------------------
//接收5~8位数据位的帧
uchar usart_receive_8()
{
while(!(UCSRA&(1<return(UDR);
}
//------------------------------------------------------------------------------
//main
void main()
{
uchar temp;
device_init();
while(1)
{
temp=usart_receive_8();
PORTB=~temp;
usart_send_8(temp);
}
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

机器人的寻路系统基于A*算法,该算法能有效地计算出有障碍物环境中的最优路径。该系统实现为分布式架构,其中计算密集型寻路运行在机器人的树莓派4上,而机器人的TI板执行计算路径。

关键字: 机器人 树莓派4 串行通信

在高速串行通信中,集成误码率测试仪(Integrated Bit Error Ratio Tester,简称IBERT)是Xilinx提供的一款用于测试transceiver的免费IP。IBERT的example des...

关键字: IBERT 串行通信

在现代工业控制系统和汽车电子领域,CAN(Controller Area Network)总线作为一种高效、可靠的串行通信协议,得到了广泛的应用。CAN总线通过广播的方式发送报文,每个节点都可以接收到总线上的所有信息,但...

关键字: CAN总线 串行通信 节点

串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。

关键字: 串口 串行通信

串行通信是一种通信方式,数据在通信线上按位进行传输。每位数据占据固定的时间长度,使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

关键字: 串行通信 UART

串行通信接口是一种数据传输方式,采用串行通信协议(Serial Communication Protocol)。它通过串行数据线(Serial Data Line)进行数据传输,通常使用标准的RS-232、RS-485或...

关键字: 串行通信 RS-232

串行通信是一种通信方式,其中数据按顺序一位一位地传输。与并行通信不同,串行通信在一条线路上传输数据,因此需要较少的数据线。串行通信主要用于长距离通信,因为它的功耗低、成本低、简单易实现。

关键字: 串行通信 波特率

传输方式不同:一个是并行一个是串行。效率不同:并行传输效率高,一次可传输多个数据;串行传输一次可传输一个数据。

关键字: 并行通信 串行通信 通信

在通信领域,并行通信和串行通信是两种常见的通信方式。它们在数据传输方式、传输速度、传输距离等方面存在明显的区别。本文将详细介绍并行通信和串行通信的区别,并分析各自的优缺点。

关键字: 通信领域 并行通信 串行通信
关闭