avr flash_AVR | USART家庭自动化

avr flash

The Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) is a highly flexible serial communication device. The main features are:

通用同步和异步串行接收器和发送器(USART)是一种高度灵活的串行通信设备。 主要特点是:

  • Full Duplex Operation (Independent Serial Receive and Transmit Registers)

    全双工操作(独立的串行接收和发送寄存器)

  • Asynchronous or Synchronous Operation

    异步或同步操作

  • Master or Slave Clocked Synchronous Operation

    主或从时钟同步操作

  • High-Resolution Baud Rate Generator

    高分辨率波特率发生器

  • Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop Bits

    支持具有5、6、7、8或9个数据位和1或2个停止位的串行帧

  • Odd or Even Parity Generation and Parity Check Supported by Hardware

    硬件支持奇偶校验生成和奇偶校验

  • Data Overrun Detection

    数据溢出检测

  • Framing Error Detection

    帧错误检测

  • Noise Filtering Includes False Start Bit Detection and Digital Low Pass Filter

    噪声过滤包括错误的起始位检测和数字低通滤波器

  • Three Separate Interrupts on TX Complete, TX Data Register Empty, and RX Complete

    TX完成,TX数据寄存器为空和RX完成的三个独立中断

  • Multi-processor Communication Mode

    多处理器通讯模式

  • Double Speed Asynchronous Communication Mode

    双速异步通讯模式

These are some of the features of USART, we would now lean to create a program in which we would use Bluetooth technology to open and close a LED bulb. In our program, we would take a variable X, such that if X=A our bulb will glow and if X=B the bulb will stop glowing.

这些是USART的一些功能 ,我们现在倾向于创建一个程序,在该程序中,我们将使用蓝牙技术打开和关闭LED灯泡。 在我们的程序中,我们将使用变量X ,使得如果X = A ,则灯泡将发光,如果X = B,则灯泡将停止发光。

In the similar we can also use a fan instead of LED, then we would be controlling our Fan to start or stop.

同样,我们也可以使用风扇代替LED,然后控制风扇启动或停止。

Program:



程序:

</ s> </ s> </ s>
#include <avr/io.h>
void usart_string(char*);
int main(void)
{
char x;
DDRA = 0x01;
UBRRL= 51;
UCSRB= 0x18;
UCSRC= 0x86;
usart_string("Sam");
while(1)
{
while((UCSRA&(1<<RXC))==0);
x=UDR;
if(x=='A')
{
PORTA=0x01;
}
else if(x=='B')
{
PORTA=0x00;
}		
}
}
void usart_string(char*p)
{
while(*p!='\0')
{
UDR=*p;
while((UCSRA&(1<<TXC))==0);
UCSRA|=1<<TXC;
p++;
}
}

Explanation:

说明:

  • Write all the header files as written above.

    像上面那样写所有的头文件。

  • Take a variable X which will decide whether our bulb will be ON or OFF.

    取一个变量X来决定我们的灯泡是开还是关

  • DDRA=0x01 indicates that the Led bulb is connected.

    DDRA = 0x01指示LED灯泡已连接。

  • UBRRL=51; indicates that the baud rate is set to 9600.

    UBRRL = 51; 表示波特率设置为9600

  • UCSRB=0x18 means Rx and Tx are enabled.

    UCSRB =为0x18装置R XT X被启用。

  • The usart_string will print the word written inside it.

    usart_string将打印其中写入的单词。

  • Inside the while loop, we have written our bulb glowing condition such that when A is received the LED will glow and when B is received the LED bulb will stop glowing.

    在while循环内,我们编写了灯泡发光条件,以便当接收到A时LED发光,而当接收到B时LED灯泡停止发光。

BAUD RATE

波特率

It is the rate at which the information is processed/transferred to the communication channel.

它是信息被处理/传输到通信通道的速率。

Calculation of BAUD RATE

波特率的计算

Calculation of BAUD RATE

Where, fOSC is "System Oscillator Clock Frequency".

其中, fOSC“系统振荡器时钟频率”

Simulation:

模拟:

USART Simulation

Explanation:

说明:

  • Select the following components:

    选择以下组件:

    1. Atmega16
    2. LED Red
    3. From virtual instruments mode select a VIRTUAL TERMINAL
  • Add the components as shown in the figure.

    如图所示添加组件。

  • Double click on ATmega16 and make its speed as 8000000 and upload the hex file in it.

    双击ATmega16,使其速度达到8000000,并在其中上传十六进制文件。

  • When we will start the simulation a screen will appear that would be our simulation for a Bluetooth screen.

    当我们开始仿真时,将出现一个屏幕,该屏幕将是我们对蓝牙屏幕的仿真。

  • Typing A will glow the bulb and typing B will stop the bulb from glowing.

    键入A将使灯泡发光,键入B将使灯泡停止发光。

翻译自: https://www.includehelp.com/embedded-system/usart-home-automation.aspx

avr flash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

diskgenius 数据迁移_活见鬼,明明删除了数据,空间却没减少! - *IT界农民工*

迁移数据常用1、导出文件 - mysqldump 命令 ‍mysqldump 是 Mysql 自带的逻辑备份工具。其备份原理是通过协议连接到 Mysql 数据库&#xff0c;将需要备份的数据查询出来转换成对应的 insert 语句。当需要还原这些数据时&#xff0c;只要执行这些 insert 语句&#xff0c;即可将…

iphone短信尚未送达_第五期:从苹果 乔布斯 iPhone 说到张小龙 微信 理财通

这篇评测我是怀着敬畏之心写的。第一部分&#xff1a;从设计理念说起(一)说到设计理念&#xff0c;不得不先说下苹果的iPhone一)第一代iPhone于2007年1月9日由苹果公司前首席执行官史蒂夫乔布斯发布&#xff0c;并在2007年6月29日正式发售。让我们看一下第一代iPhone的几个细节…

declare begin end 中if怎么写_习语系列第45期:”未雨绸缪“英语怎么说?

背景介绍&#xff1a;英语习语是指一系列特定词的组合&#xff0c;但从字面上看不容易被理解。广义的习语包括短语动词、俚语、谚语、行话等。这为我们参加四六级、雅思、托福、GRE/GMAT考试做阅读理解题时带来了不少困难。抛开考试不谈&#xff0c;如果只是想单纯地读懂经济学…

python在哪个城市工资高_专硕好还是学硕好?哪个更好就业工资高?

最近有备考的小伙伴咨询关于学硕和专硕的问题&#xff0c;一篇旧文分享下。昨天的文章专硕学费贵那么多会比学硕学的东西多吗&#xff1f;九大美院研究生学费对比(点击查看)受到了不少小伙伴的关注&#xff0c;大家就专硕和学硕的问题提出了不少疑义。有人认为专硕好&#xff0…

comparator比较器用法_汽车三元催化器堵塞咋办?不拆不换,用这招清理干净、动力猛如虎...

如今汽车的价格是不断走低&#xff0c;很多人也能如愿成为有车人群。如今国庆假期即将到来&#xff0c;在国庆前买了车的朋友就能在长假里开着汽车出去好好游玩一番&#xff0c;这过程是想想都觉得美妙。不过作为车主&#xff0c;汽车不单要懂得开&#xff0c;也要学会保养&…

51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器

前言本节我们开始学习LCD1602&#xff0c;LCD1602是字符型液晶显示屏&#xff0c;在实际项目中应用非常广泛&#xff0c;学完本节就可以逐步开发一些好玩的应用了。一、基础知识1.LCD1602简介LCD1602是字符型液晶显示模块&#xff0c;专门用于显示字母、数字、符号等点阵式LCD&…

联想服务器如何u盘启动盘装系统,联想如何设置u盘启动

相信有不少网友都在使用联想电脑&#xff0c;它的性价比一直受到不少消费者的青睐。接下来教大家联想如何设置u盘启动&#xff0c;希望大家能喜欢。联想如何设置u盘启动步骤阅读1、按快捷键弹出启动选项&#xff0c;联想笔记本一般是F12或者F22、按TAB键切换App Menu菜单&#…

c语言负数左移右移_C语言 位运算符的运算规则

位运算是指按照二进制进行的运算&#xff0c;在C语言中&#xff0c;提供了6种的位运算符&#xff0c;他们分别是按位与&#xff08;&&#xff09;&#xff0c;按位或&#xff08;|&#xff09;&#xff0c;按位异或&#xff08;^&#xff09;&#xff0c;按位取反&#xff…

的标题形状工具在哪里_自媒体如何搜集素材?标题、文章、图片素材收集3大途径!...

文&#xff1a;老彭自媒体大家好&#xff0c;我是老彭&#xff0c;很多人觉得做自媒体写内容很难&#xff0c;每天想写点东西又感觉无从下手&#xff0c;那么到底是什么原因造成的呢&#xff1f;其实最主要的原因还是自己平时看的太少&#xff0c;和素材储备不足所导致的。大家…

小样本点云深度学习库_合成鲁棒的对抗样本来欺骗深度学习分类器

本期一诺sec关注深度学习系统安全问题&#xff0c;推荐一篇来自ICML 2018会议论文Synthesizing Robust Adversarial Examples。论文链接http://proceedings.mlr.press/v80/athalye18b.html。深度模型对于对抗样本具有高度的脆弱性&#xff0c;这已经是得到大家印证的事实。自从…

java数据类型_JAVA基础篇(数据类型)

首先请大家想想这几个问题&#xff1a;1.java数据类型是什么&#xff1f;2.Java数据类型有什么用&#xff1f;上一节&#xff08;JAVA基础篇&#xff08;函数&#xff09;&#xff09;有个add函数&#xff0c;里面有两个int类型&#xff0c;int类型就是整数的意思&#xff0c;这…

SharePoint CAML In Action——Part I

阅读目录 CAML In Action接下来在SharePoint中&#xff0c;我们经常要对List进行操作&#xff0c;比如要从List中取出相应的ListItem&#xff0c;利用CAML是个好办法。在没了解CAML之前&#xff0c;我是这样取数据的&#xff1a; MyList.Items.Cast<SPListItem>().ToList…

地图统计_博客 城市访问量统计并且通过Echarts+百度地图展示

本篇讲解一下 如何在Vue 中使用 Echarts 百度地图 统计 博客访问量 并且通过QQWry 解析 ip 地址 利用Echarts 展示出来效果图如下&#xff1a;1.纯真Ip地址库 QQWry这是我在github上找的 java版本的 解析 qqwry的1.1 maven 引入 qqwry<dependency> <grou…

修改console缓存大小_更改缓存的行大小将如何影响其他参数?

修改console缓存大小Prerequisites: Memory mapping and its types 先决条件&#xff1a; 内存映射及其类型 While designing a cache system of a PC, the size of cache lines is an important parameter. 在设计PC的缓存系统时&#xff0c;缓存行的大小是重要的参数。 In …

win10必须禁用的服务_Win10系统中这3个无用的设置,奉劝你还是早点关闭吧!

在PC端所有的操作系统中&#xff0c;占据市场份额最大的莫过于微软发布的windows系统。其中最经典的莫过于XP和win7&#xff0c;无奈微软已经停更了这两个操作系统&#xff0c;所以为了电脑的安全着想&#xff0c;很多人都直接升级更新至最新版的win10系统&#xff0c;目前win1…

Android 布局练习

要求&#xff1a;使用多种布局完成以下练习。 1.要求效果 完成效果 代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <…

有危害吗_涂料漆对身体有害吗?涂料漆危害怎么预防

目前很多人都会通过涂料漆来进行墙面装饰&#xff0c;用它来对墙面进行装饰是可以马上的改善墙壁的状态&#xff0c;但有些人也担心它会对身体有害&#xff0c;涂料漆对身体有害吗?由于担心涂料漆会给健康带来危害&#xff0c;很多人都想要预防&#xff0c;那涂料漆危害怎么预…

小写大写转换_小写到大写转换器JavaScript工具| 网络应用项目

小写大写转换Hi! At times, beginners always find it hard getting the application of the theory they learn in programming or a particular language. 嗨&#xff01; 有时&#xff0c;初学者总是很​​难在编程或特定语言中应用他们学到的理论。 In this article, well…

inventor扳手制作视频_弱电工程视频监控系统施工方案,可作施工组织设计

1 工程概况 1.1 编制《工程总体实施方案》 主要包括&#xff1a;结合高清监控系统设计方案作配套的深化设计&#xff0c;编制高清监控系统实施计划&#xff0c;并提出相关的配合要求。根据总体方案&#xff0c;对高清监控系统工程的技术设计作必要的补充。并提出相关的实施技术…

lol最克制诺手的英雄_LOL:究竟有没有完美克制诺手的英雄?时光上单或可一战?...

小伙伴们大家好&#xff0c;我是小数点。诺克萨斯之手德莱厄斯&#xff0c;他可以说是每一位上单玩家的噩梦了&#xff0c;因为喜欢玩诺手的人特别多&#xff0c;而会玩的诺手却一般都在对面。要知道诺手这样英雄拿到优势凶起来&#xff0c;你就没得打了&#xff0c;就算在塔下…