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.pswp.cn/news/542850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

diskgenius 數據遷移_活見鬼,明明刪除了數據,空間卻沒減少! - *IT界農民工*

遷移數據常用1、導出文件 - mysqldump 命令 ?mysqldump 是 Mysql 自帶的邏輯備份工具。其備份原理是通過協議連接到 Mysql 數據庫&#xff0c;將需要備份的數據查詢出來轉換成對應的 insert 語句。當需要還原這些數據時&#xff0c;只要執行這些 insert 語句&#xff0c;即可將…

單片機小精靈t2_搭建S5P4418 ARM環境下 GPU OPENGL ES開發環境(適用 NANOPI2,3,M2,M3,T2,T3)...

本帖最后由 3guoyangyang7 于 2017-8-20 22:38 編輯先說一下背景&#xff0c;這幾天做一個攝像頭處理的qt項目&#xff0c;攝像頭的像素是1280*720的&#xff0c;25fps&#xff0c;用qt的painter重繪widget窗體&#xff0c;會出現大量占cpu的情況&#xff0c;在刷新圖片的時候整…

求出數組中元素的總和_數組中所有元素的總和可被給定數K整除

求出數組中元素的總和This program will help to find out the sum of elements in an array which is divisible by a number K. It uses the basic concept of modulo % or the remainder of a number. 該程序將幫助找出數組中被數字K整除的元素之和 。 它使用“&#xff05…

iphone短信尚未送達_第五期:從蘋果 喬布斯 iPhone 說到張小龍 微信 理財通

這篇評測我是懷著敬畏之心寫的。第一部分&#xff1a;從設計理念說起(一)說到設計理念&#xff0c;不得不先說下蘋果的iPhone一)第一代iPhone于2007年1月9日由蘋果公司前首席執行官史蒂夫喬布斯發布&#xff0c;并在2007年6月29日正式發售。讓我們看一下第一代iPhone的幾個細節…

74161功能表_分析圖 11 所示電路 74161 的 Q 3 為高電平時功能。 74194 功能表如表 1 所示。 74161 功能表如表 2 所示。 (7.2分)_學小易找答案...

【多選題】下列各項中,關于交易性金融資產表述正確的是( )。 (5.0分)【簡答題】JAVA融教材(2)-工作頁-項目8——集合框架一.docx【單選題】甲公司2018年7月1日購入乙公司2018年1月1日發行的債券,支付價款為1 100萬元(含已到付息期但尚未領取的債券利息20萬元),另支付交易費用15…

Python | 不使用庫函數將十進制數轉換為二進制

Given a decimal number and we have to convert it into binary without using library function. 給定一個十進制數&#xff0c;我們必須不使用庫函數就將其轉換為二進制數。 Example: 例&#xff1a; Input: 10Output: 1010Python code to convert decimal to binary Pyth…

declare begin end 中if怎么寫_習語系列第45期:”未雨綢繆“英語怎么說?

背景介紹&#xff1a;英語習語是指一系列特定詞的組合&#xff0c;但從字面上看不容易被理解。廣義的習語包括短語動詞、俚語、諺語、行話等。這為我們參加四六級、雅思、托福、GRE/GMAT考試做閱讀理解題時帶來了不少困難。拋開考試不談&#xff0c;如果只是想單純地讀懂經濟學…

vue判斷組件是否顯示_vue組件中watch props根據v-if動態判斷并掛載DOM的問題

問題復現:父組件中通過名為 source 的 prop 向子組件 chart 傳入數據 import chart from ../components/chart export default {name: home, components: { chart }, data () {return {chartdata: [] } }, mounted () {settimeout(() => {this.chartdata = [ [89.3, 58212,…

兩個鏈表求交集_實現兩個排序鏈表的并集和交集

兩個鏈表求交集In computer science, a linked list is a linear collection of data elements, whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes w…

python在哪個城市工資高_專碩好還是學碩好?哪個更好就業工資高?

最近有備考的小伙伴咨詢關于學碩和專碩的問題&#xff0c;一篇舊文分享下。昨天的文章專碩學費貴那么多會比學碩學的東西多嗎&#xff1f;九大美院研究生學費對比(點擊查看)受到了不少小伙伴的關注&#xff0c;大家就專碩和學碩的問題提出了不少疑義。有人認為專碩好&#xff0…

html input不能輸入小數_【Python基礎(八)】輸入和輸出

本節將會介紹python中的輸入和輸出操作&#xff0c;基礎部分主要就是介紹input()和print()的用法&#xff0c;print()我們在之前的學習中已經多次使用了&#xff0c;并不陌生&#xff0c;這一節再詳細的梳理一下print()中可以支持的各種方法。另外一大內容是文件的讀寫和OS命令…

comparator比較器用法_汽車三元催化器堵塞咋辦?不拆不換,用這招清理干凈、動力猛如虎...

如今汽車的價格是不斷走低&#xff0c;很多人也能如愿成為有車人群。如今國慶假期即將到來&#xff0c;在國慶前買了車的朋友就能在長假里開著汽車出去好好游玩一番&#xff0c;這過程是想想都覺得美妙。不過作為車主&#xff0c;汽車不單要懂得開&#xff0c;也要學會保養&…

mongodb添加創建修改時間_MongoDB數據庫插入、更新和刪除操作詳解

一、Insert操作Insert操作是MongoDB插入數據的基本方法&#xff0c;對目標集合使用Insert操作&#xff0c;會將該文檔添加到MongoDB并自動生成相應的ID鍵。文檔結構采用類似JSON的BSON格式。常見的插入操作主要有單條插入和批量插入兩種形式。插入時只是簡單地將文檔存入數據庫…

51單片機怎么顯示當前時間_51單片機玩轉物聯網基礎篇06-LCD1602液晶顯示器

前言本節我們開始學習LCD1602&#xff0c;LCD1602是字符型液晶顯示屏&#xff0c;在實際項目中應用非常廣泛&#xff0c;學完本節就可以逐步開發一些好玩的應用了。一、基礎知識1.LCD1602簡介LCD1602是字符型液晶顯示模塊&#xff0c;專門用于顯示字母、數字、符號等點陣式LCD&…

在JavaScript中以Hours24:Minutes:Seconds格式獲取當前時間

使用JavaScript獲取當前時間 (Getting current time in JavaScript) To get the current time in JavaScript, we need to use three library functions of Date class, 要獲取JavaScript中的當前時間 &#xff0c;我們需要使用Date類的三個庫函數&#xff0c; Date getHours(…

聯想服務器如何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…

Android 帶著用戶名的SharedPreferences

/*** 設置當前用戶的簽到信息* account&info;account&info** param context* param sign* author jrjin* time 2016-1-5 下午2:27:47*/public static void setSignInfo(Context context, String sign) {String account getAccount(context);if (TextUtils.isEmpty(acc…

python數據分析與可視化-Python數據分析與數據可視化

數據分析、數據挖掘與數據可視化是一個古老的話題&#xff0c;并非什么新生事物。近些年來&#xff0c;借助于計算機軟硬件的飛速發展&#xff0c;數據分析、挖掘、可視化相關理論和技術在各領域的應用更是有了質的飛躍。飯店選址、公交路線與站牌規劃、物流規劃、春運加班車次…

c語言 函數的參數傳遞示例_C-用戶定義的函數示例,沒有參數,沒有返回類型...

c語言 函數的參數傳遞示例Define a function with no argument and no return type in C language. 用C語言定義一個沒有參數且沒有返回類型的函數。 In the program, we have function named fun1 which has no argument and no return type (void is the return type - that…