亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区

利用PC的RS232口控制LED燈

2016-07-05 15:37
利用PC的RS232口控制LED燈 AVR單片機串口程序的編寫 Atmega8單片機的串口具支持多種數據幀結構、有三個完全獨立的中斷(接收完成、發送完成、發送數據寄存器空)等特點,同時也支持多機通訊模式。本實驗就以Atmega8為例來介紹AVR單片機串口的編程。 單片機串口在使用前必須對其進行初始化。初始化內容如下: 1.串口接收器和發送器的使能設置:首先我們要根據需要,使能M8串口的接收器或者發射器,這樣I/O口(PD1:TXD,PD2:RXD)才能為USART工作。 2.串口中斷工作方式的設置:如果需要串口工作于中斷方式,則要根據需要設置USART的中斷設置,如果工作于查詢方式,那么中斷設置就沒有必要了。本實驗中串口設置為響應接收完成中斷,即接收器接收到一個完整的數據幀后,將觸發一次接收完成中斷。 3.波特率設置:也就是設置串口的數據傳輸速率,兩個串口之間要正常通訊就必須要保證波特率相同。本實驗設置的波特率為9600,系統使用內置8MHZ時鐘源,可以直接查表(《Atmega8原理及應用手冊》129頁)得到UBRR=51。 4.數據幀結構設置:本實驗設置為8位數據位+1位停止位。 因此,本實驗的串口初始化程序如下: void UART_init(void){UCSRB = BIT(RXCIE)| BIT(RXEN) |BIT(TXEN); //允許串口發送和接收,并響應接收完成中斷UBRR = 51; //設置串口波特率為9600 UCSRC = BIT(URSEL)|BIT(UCSZ1)|BIT(UCSZ0); //幀結構為8位數據+1位stop位} 如果你對AVR單片機串口的設置還不是太熟悉的話,也可以使用ICC編譯器中的應用向導直接生成串口的相關代碼。操作方法如下: 1.在ICC中新建一個文件; 2.點擊Tools菜單中的Application Builder子菜單,將彈出以下界面,然后根據需要選擇CPU為M8,晶振頻率為8MHZ。 利用PC的RS232口控制LED燈 3.點擊上面界面中的UART菜單,出現下面界面。然后按下圖選項選擇使能接收和發送、波特率9600、數據位8位、接收完成中斷。 利用PC的RS232口控制LED燈 4.點擊OK后,在剛才新建的文件中即生成了完整代碼,其中串口初始化的代碼如下: //UART0 initialize// desired baud rate: 9600// actual: baud rate:9615 (0.2%)// char size: 8 bit// parity: Disabledvoid uart0_init(void){UCSRB = 0x00; //disable while setting baud rateUCSRA = 0x00;UCSRC = BIT(URSEL) | 0x06;UBRRL = 0x33; //set baud rate loUBRRH = 0x00; //set baud rate hiUCSRB = 0x98;} 大家看看使用ICC自動生成的代碼和我們自己編寫的代碼中UCSRC、UBRR、UCSRB是不是一樣的呢? 通訊協議及命令(2004-10-29) 為了保證單片機和PC機的正常可靠的通訊,避免系統出現誤動作,我們需要制訂一個簡單的通訊協議,同時還要定義能夠讓PC和單片機理解的命令。這里我們簡單定義如下: 1.PC機發送的繼電器控制指令采用4個字符組成的字符串格式“s” S1S0 “p”,如“s00p”。 其中s和p字符用于數據的簡單校驗,也就是說當單片機收到的串口數據中如果第一位是“s”第四位是“p”,則單片機接收到的命令有效,否則指令無效。 S1是單片機地址識別,如果單片機接收到的S1字符等于自己的地址碼,則單片機執行命令,否則無效。通過這個字符我們就可以通過一個PC機串口和多個單片機進行通訊,這種通訊方式的設置我們會在后面闡述。S0對應繼電器編碼,指定相應繼電器的吸合或者釋放,如果S0=“a”,則該板的所有繼電器全部吸合,如果是“b”則全部釋放。 2.單片機返回給PC機的指令也同樣采用4個字符串格式S2S1S0 “t”,如“000t”。 其中“t”為校驗碼。S2為單片機地址碼,S1、S0對應繼電器編碼。返回指令用于PC機判斷單片機是否執行了發出的指令。S1S0的二進制數據中,每一位對應一個繼電器的狀態,如果為1表示繼電器吸合,為0表示繼電器釋放。 3.通訊檢測。當后臺程序啟動后,PC機先發送“s00t”命令,如果PC機在6秒以內能夠收到單片機返回的繼電器狀態(該狀態是讀取控制繼電器的I/O口的電平獲得的),則PC機判斷通訊正常,可以正常使用,否則PC機提示串口通訊不正常。 此后,PC機還會每隔5秒鐘自動請求一次繼電器狀態,并且按鍵對繼電器進行操作以后,控制板也會主動向PC機發送狀態字。 4.軟件升級指令。當需要升級單片機軟件時,PC機發送該指令讓單片機進入BOOT load程序區,準備更新軟件版本。該指令格式為“su” S0 “p”,S0為單片機地址碼。 當單片機進入BOOT區后,向PC機發送S0 “upd”指令,S0為單片機地址碼,通知PC機軟件升級已經準備好。然后PC機關閉串口,提示您打開ISP下載軟件進行升級。 5.單片機復位指令。當單片機在線升級完成以后,PC機可以通過發送復位指令讓單片機復位重新進入應用程序區。 Atmega8的IAP應用我們將在后面進行闡述。 后臺PC程序及使用介紹 后臺程序使用VB6.0編寫,其中利用VB的MSComm控件完成PC和單片機的通訊。界面如下: 4.點擊OK后,在剛才新建的文件中即生成了完整代碼,其中串口初始化的代碼如下: //UART0 initialize// desired baud rate: 9600// actual: baud rate:9615 (0.2%)// char size: 8 bit// parity: Disabledvoid uart0_init(void){UCSRB = 0x00; //disable while setting baud rateUCSRA = 0x00;UCSRC = BIT(URSEL) | 0x06;UBRRL = 0x33; //set baud rate loUBRRH = 0x00; //set baud rate hiUCSRB = 0x98;} 大家看看使用ICC自動生成的代碼和我們自己編寫的代碼中UCSRC、UBRR、UCSRB是不是一樣的呢? 通訊協議及命令(2004-10-29) 為了保證單片機和PC機的正常可靠的通訊,避免系統出現誤動作,我們需要制訂一個簡單的通訊協議,同時還要定義能夠讓PC和單片機理解的命令。這里我們簡單定義如下: 1.PC機發送的繼電器控制指令采用4個字符組成的字符串格式“s” S1S0 “p”,如“s00p”。 其中s和p字符用于數據的簡單校驗,也就是說當單片機收到的串口數據中如果第一位是“s”第四位是“p”,則單片機接收到的命令有效,否則指令無效。 S1是單片機地址識別,如果單片機接收到的S1字符等于自己的地址碼,則單片機執行命令,否則無效。通過這個字符我們就可以通過一個PC機串口和多個單片機進行通訊,這種通訊方式的設置我們會在后面闡述。S0對應繼電器編碼,指定相應繼電器的吸合或者釋放,如果S0=“a”,則該板的所有繼電器全部吸合,如果是“b”則全部釋放。 2.單片機返回給PC機的指令也同樣采用4個字符串格式S2S1S0 “t”,如“000t”。 其中“t”為校驗碼。S2為單片機地址碼,S1、S0對應繼電器編碼。返回指令用于PC機判斷單片機是否執行了發出的指令。S1S0的二進制數據中,每一位對應一個繼電器的狀態,如果為1表示繼電器吸合,為0表示繼電器釋放。 3.通訊檢測。當后臺程序啟動后,PC機先發送“s00t”命令,如果PC機在6秒以內能夠收到單片機返回的繼電器狀態(該狀態是讀取控制繼電器的I/O口的電平獲得的),則PC機判斷通訊正常,可以正常使用,否則PC機提示串口通訊不正常。 此后,PC機還會每隔5秒鐘自動請求一次繼電器狀態,并且按鍵對繼電器進行操作以后,控制板也會主動向PC機發送狀態字。 4.軟件升級指令。當需要升級單片機軟件時,PC機發送該指令讓單片機進入BOOT load程序區,準備更新軟件版本。該指令格式為“su” S0 “p”,S0為單片機地址碼。 當單片機進入BOOT區后,向PC機發送S0 “upd”指令,S0為單片機地址碼,通知PC機軟件升級已經準備好。然后PC機關閉串口,提示您打開ISP下載軟件進行升級。 5.單片機復位指令。當單片機在線升級完成以后,PC機可以通過發送復位指令讓單片機復位重新進入應用程序區。 Atmega8的IAP應用我們將在后面進行闡述。 后臺PC程序及使用介紹 后臺程序使用VB6.0編寫,其中利用VB的MSComm控件完成PC和單片機的通訊。界面如下:利用PC的RS232口控制LED燈 界面中的每一個小按鈕控制實驗板上的每一個LED和繼電器。如果串口通訊正常的話,按一下,實驗板上對應的LED將點亮繼電器吸合,再按一下,LED又被關閉繼電器釋放。而全開按則控制實驗板上所有的LED和繼電器開或者關。 下面的PC指令框是顯示PC機發出的每一個控制指令,而返回結果框將顯示實驗板返回的執行結果。 最下面的軟件升級按鈕是執行實驗板的在線升級控制。如果需要對單片機進行軟件升級,我們這里就沒有必要再使用ISP下載程序了。點擊軟件升級,單片機獲得升級指令后將會返回升級準備好的命令,程序就會自動關閉串口,然后提示你使用SL的下載軟件下載程序。 當軟件升級完畢后,CPU是不會自動進入應用程序區的,這是你可以復位單片機或者點擊前臺復位按鍵讓CUP自動復位進入應用程序區。 實際應用 在本實驗的實際應用中,增加了繼電器控制電路和鍵盤電路。既可以通過PC機來控制也可以用過按鍵來控制電器的開關 線路:利用PC的RS232口控制LED燈gdfgdff.pdf 應用程序:利用PC的RS232口控制LED燈fsfe.rar boot程序:利用PC的RS232口控制LED燈dsadas.rar NIH232CP資料下載 MAX232CPE資料下載
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲国产欧美| 久久成人精品视频| 欧美日本精品一区二区三区| 日韩一级精品| 亚洲一级在线观看| 国产一区二区你懂的| 乱码第一页成人| 日韩视频一区二区在线观看 | 欧美精品激情blacked18| 一区二区三区视频在线| 亚洲欧洲99久久| 在线观看日韩国产| 国产精品久久久久9999| 久久阴道视频| 亚洲视频综合| 欧美一区二区精品| 欧美日韩国产色站一区二区三区| 久久成人18免费观看| 久久狠狠久久综合桃花| 亚洲级视频在线观看免费1级| 欧美午夜电影在线| 久久久综合网站| 亚洲视频免费看| 亚洲第一精品影视| 中国成人黄色视屏| 合欧美一区二区三区| 欧美视频二区36p| 美女视频一区免费观看| 亚洲免费一级电影| 亚洲精品视频免费在线观看| 亚洲尤物视频网| 亚洲精品乱码久久久久| 国产在线观看一区| 国产精品爱啪在线线免费观看| 久久久人人人| 亚洲欧美日韩国产综合在线| 亚洲国产日韩一级| 久久亚洲综合网| 欧美偷拍一区二区| 麻豆精品在线观看| 欧美在线视频一区| 亚洲一区二区三区精品在线 | 亚洲天堂偷拍| 亚洲人人精品| 精品动漫一区二区| 国产香蕉97碰碰久久人人| 欧美视频中文一区二区三区在线观看| 女人色偷偷aa久久天堂| 久久久激情视频| 西西人体一区二区| 亚洲一级在线| 一区二区av在线| 亚洲美女在线看| 亚洲黄色高清| 久久精品伊人 | 亚洲一区二区三区三| 亚洲毛片一区二区| 亚洲国产精品黑人久久久| 国产有码一区二区| 国产亚洲欧美另类中文| 国产精品乱人伦中文| 欧美日韩精品免费| 欧美日韩国产高清| 欧美日本韩国在线| 欧美日韩久久| 欧美日韩二区三区| 99精品欧美一区| 亚洲区第一页| 亚洲经典一区| 亚洲激情视频网站| 久久精品视频免费观看| 欧美在线播放| 欧美影院午夜播放| 欧美一区二区三区四区在线 | 久久九九久精品国产免费直播| 亚洲欧美亚洲| 亚洲欧美国产精品桃花| 亚洲综合色噜噜狠狠| 亚洲影院色无极综合| 亚洲一区二区视频在线观看| 亚洲午夜电影网| 亚洲免费在线观看| 欧美一级大片在线观看| 午夜精品久久久久久久久久久久| 午夜精品国产更新| 西西人体一区二区| 久久精品一区蜜桃臀影院| 久久久久久久久岛国免费| 99精品国产99久久久久久福利| 久久国产精品久久久久久| 亚洲激情校园春色| 亚洲国产日韩欧美| 亚洲国产视频a| 亚洲人成网站精品片在线观看| 亚洲国产精品久久久久婷婷884| 亚洲第一毛片| 亚洲老司机av| 亚洲午夜久久久| 欧美亚洲自偷自偷| 亚洲第一中文字幕| 亚洲美女91| 亚洲午夜精品久久久久久app| 亚洲综合精品四区| 久久国产高清| 狼人社综合社区| 欧美区在线播放| 国产精品久久久久久久久久直播| 国产午夜亚洲精品不卡| 亚洲大胆人体在线| 一本色道久久综合亚洲精品不 | 亚洲一区美女视频在线观看免费| 午夜国产欧美理论在线播放| 狠狠久久亚洲欧美专区| 中文国产成人精品| 一本色道久久综合| 欧美一区二区大片| 亚洲精品免费在线观看| 亚洲一区二区三区四区视频| 久久精品成人一区二区三区蜜臀| 免费观看亚洲视频大全| 欧美偷拍一区二区| 精东粉嫩av免费一区二区三区| 99日韩精品| 久久狠狠亚洲综合| 亚洲午夜一区二区三区| 欧美一区高清| 欧美美女bb生活片| 国产日韩欧美在线| 91久久黄色| 性色av一区二区三区| 99国产精品视频免费观看| 欧美一站二站| 欧美大片免费久久精品三p| 国产精品入口夜色视频大尺度| 136国产福利精品导航| 亚洲一区二区日本| 亚洲精品乱码久久久久久蜜桃91| 欧美亚洲一区二区在线| 欧美金8天国| 狠狠干成人综合网| 亚洲午夜激情免费视频| 亚洲三级性片| 久久久91精品国产| 国产精品mv在线观看| 欧美福利小视频| 久久免费视频这里只有精品| 欧美日韩国产在线一区| 激情欧美一区二区| 亚洲欧美韩国| 亚洲视频国产视频| 欧美福利视频网站| 韩日在线一区| 亚洲欧美一区二区视频| 亚洲午夜视频在线| 欧美激情 亚洲a∨综合| 狠狠色狠狠色综合系列| 亚洲欧美国产另类| 亚洲一区免费在线观看| 欧美韩日一区二区三区| 国产在线精品成人一区二区三区| 亚洲视频福利| 一区二区欧美在线| 欧美精品一级| 亚洲国产精品一区二区www在线| 先锋影音久久| 亚洲欧美中文日韩v在线观看| 欧美日韩亚洲国产精品| 亚洲成色精品| 亚洲国产成人av| 久久免费黄色| 国产欧美丝祙| 亚洲性人人天天夜夜摸| 亚洲视频一起| 欧美日韩中文字幕精品| 亚洲精品中文字幕在线| 亚洲麻豆av| 欧美激情中文字幕乱码免费| 精品69视频一区二区三区| 久久精品一区二区| 老司机亚洲精品| 一区二区三区在线不卡| 欧美在线不卡视频| 久久精品二区三区| 国产精品丝袜xxxxxxx| 亚洲伊人伊色伊影伊综合网| 午夜免费日韩视频| 国产乱码精品一区二区三区忘忧草| 亚洲在线观看免费视频| 欧美一区日韩一区| 国产一区二区三区久久精品| 亚洲欧美日韩一区在线| 欧美在线国产| 国产亚洲一区二区精品| 久久精品国产欧美亚洲人人爽| 久久久久久亚洲精品杨幂换脸 | 91久久在线| 欧美激情视频一区二区三区不卡| 亚洲国产精品成人精品| 日韩视频永久免费| 欧美午夜精品久久久久久浪潮 |