AVR单片机开发5——串口通信仿真
/***************************************************************************/
/*串口0测试程序 */
/*目标器件:ATmega168 */
/*晶振:RC 8MHZ */
/***************************************************************************/
/*********************************包含头文件********************************/
#include<_iom88to328v.h>
#include<macros.h>
/***********************************宏定义**********************************/
#define fosc 8000000 //晶振8MHZ
#define baud 2400 //波特率
void uart0_init(void)
{
UCSR0B = 0x00; //关闭UART00
UCSR0A = 0x00; //不使用倍速发送(异步)
UCSR0C =(1<<UCSZ01)|(1<<UCSZ00); //数据位为8位
UBRR0L=(fosc/16/(baud+1))%256; //异步正常情况下的计算公式
UBRR0H=(fosc/16/(baud+1))/256;
UCSR0B =(1<<RXEN0)|(1<<TXEN0); //接收使能和发送使能
}
void putchar0(unsigned char c)
{
while (!(UCSR0A&(1<<UDRE0)));//表明发送器已经准备就绪
UDR0=c; //将要发送的数据装入UDR0寄存器
}
unsigned char getchar0(void)
{
while(!(UCSR0A& (1<<RXC0)));//表明已经接收完毕
return UDR0;
}
void puts0(char *s)
{
while (*s)
{
putchar0(*s);
s++;
}
putchar0(0x0a);//回车换行
putchar0(0x0d);
}
void delay()
{
unsigned int i;
for(i=0;i<65000;i++)
;
}
void main(void)
{
unsigned char i;
uart0_init();//UART0初始化
puts0("HELLO!");
while(1)
{
puts0("Haha!");
//putchar0(0x30) ;
delay();
}
}
完整资料打包(含仿真):
AVR单片机开发1-5程序及仿真合集-单片机文档类资源-CSDN下载
AVR单片机开发5——串口通信仿真相关推荐
- AVR单片机开发2——流水灯及仿真
用ICCAVR编写流水灯程序,所用单片机为ATMega168: //PD口流水灯实验 #include<_iom88to328v.h> #include <AVRdef.h> ...
- 单片机 串口编程之串口通信仿真实验
单片机 串口编程之串口通信仿真实验 一.简述 记--简单的使能串口,串口收发数据的例子.(使用Proteus仿真+虚拟串口调试) 代码,仿真文件打包:链接: https:/ ...
- AVR单片机开发1——IO口的输入和输出
所用环境为iccavr,检测单片机的输入输出.proteus仿真如下: #include<_iom88to328v.h> #define uchar unsigned char #defi ...
- AVR单片机开发3——定时器T0 查询方式
用定时器0控制PB0的电平变化. 定时器0和2(均为八位的定时计数器)有四种工作模式,此例是工作在普通模式. 在此模式下,计数器不断的累加,当计数到最大值0xff后返回到0x00重新开始,在TCNT0 ...
- AVR单片机开发4——定时器T0 中断方式
/*定时器T0测试程序 */ /*目标器件:ATmega168 ...
- AVR单片机开发8——EEPROM操作
所用单片机ATmega168: //当单片机型号选错时,出现的错误都是莫名其妙,比如delay函数的注释 #include<_iom88to328v.h> #include <AVR ...
- AVR单片机开发10——Nrf2401 模拟spi
//外部晶振8m,烧写时选择时钟8分频 #include <_iom88to328v.h> #include "nrf.h" typedef unsigned char ...
- 基于51单片机的双机串口通信排队叫号系统(LCD显示)设计
基于51单片机的双机串口通信排队叫号系统(LCD显示)设计 1 开发环境 视频讲解 2 功能说明介绍 3 仿真图 4 程序 5 原理图 6 视频讲解 7 设计报告 7.1 设计目的 7.2 设计要求及 ...
- 单片机 多机通讯c语言,单片机多机串口通信.doc
单片机多机串口通信 摘要 本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理.实现方法和相应的通信硬件.软件设计.该设计是由单片机与单片机组成的主从控制系统,其中单片 关键词: 单 ...
最新文章
- 如何从0-1构建自己的”pytorch“(自己专属的深度学习框架)——part02
- 借助液态金属传感器和AI,这次机械手可能真的找到感觉了
- Spark Shuffle 解析
- xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
- 《移动应用开发》作业——HTML、CSS
- 你准备好了在云中工作吗?
- 将python程序打包为exe及一些问题
- sklearn 下的 SVM 及其参数
- 关于Spring.net+NHibernate的事务控制
- vue2.0 实现导航守卫(路由守卫)
- python实现水仙花数
- CAD导入arcgisMap进行shp导出异常现象
- 鲜花销售管理系统jsp全部代码_[内附完整源码和文档] 基于JSP网上花店销售系统的设计与实现...
- 关于2020年全国大学生数学建模竞赛——我的感想
- 第jiu届蓝桥杯单片机省赛真题_2018第九届蓝桥杯省赛真题 C语言B组 第二题
- 无法修改计算机睡眠,win7不能睡眠怎么办,通过两个步骤的设置轻松解决
- python卸载库命令_python常用删除库的方法
- 【独家专访】李飞飞团队、康奈尔Weinberger团队、密歇根大学最新CVPR热点论文作者解读
- 达芬奇机器人变身‘模仿达人’,通过看视频模仿手术缝合、穿针、打结等动作...
- 智云通CRM:如何发现高附加值客户,让他们直接按原价购买?