單片機(jī)與計(jì)算機(jī)串口通信實(shí)踐

出版時(shí)間:2013-1  出版社:電子工業(yè)出版社  作者:張秀關(guān)  頁(yè)數(shù):315  字?jǐn)?shù):532000  
Tag標(biāo)簽:無(wú)  

前言

  采用Cygnal集成產(chǎn)品公司的C8051F020DK-U型單片機(jī)開發(fā)工具,僅需自制一條串行通信線,即可實(shí)現(xiàn)與一臺(tái)計(jì)算機(jī)進(jìn)行串口通信。在單片機(jī)程序設(shè)計(jì)中,開發(fā)工具采用C51編程語(yǔ)言;在計(jì)算機(jī)程序設(shè)計(jì)中,開發(fā)工具采用Visual C++ 6.0集成開發(fā)環(huán)境。為了易于代碼的理解,本書首先對(duì)C8051F020型單片機(jī)、Windows API串口通信函數(shù)及多線程等相關(guān)知識(shí)做簡(jiǎn)單而必要的介紹。   本書中介紹的第一種串口通信模式,也是在同一時(shí)刻下,串行通信線路上僅有一個(gè)方向的數(shù)據(jù)傳輸;當(dāng)串行通信流量較大、計(jì)算機(jī)的CPU使用率較高時(shí),可能就會(huì)發(fā)生單片機(jī)部分測(cè)量值未被傳送給計(jì)算機(jī)的情況。在第二種串口通信模式下,可以保證單片機(jī)的測(cè)量值均被發(fā)送給計(jì)算機(jī),但未考慮數(shù)據(jù)通信錯(cuò)誤時(shí)的重新傳輸。在第三種串口通信模式下,重新考慮了數(shù)據(jù)通信錯(cuò)誤時(shí)的重新傳輸。  在本書中,編者分析并嘗試了單片機(jī)接收兩個(gè)連續(xù)字符的串口通信模式,且串口通信均正常。為使計(jì)算機(jī)程序具有一定的通用性,創(chuàng)建了一個(gè)串口通信參數(shù)的設(shè)置對(duì)話框,相關(guān)地,創(chuàng)建并使用了一個(gè)ini配置文件?! 〔捎肅8051F020型單片機(jī),測(cè)量了二路差分電壓量、四路單端電壓量,及其自身的片內(nèi)溫度;在ADC中斷服務(wù)程序中,通過計(jì)數(shù)自身的執(zhí)行次數(shù),還精確記錄了單片機(jī)的上電時(shí)間、串行通信時(shí)間。單片機(jī)將各電壓量的四次ADC平均值、所記錄的兩個(gè)時(shí)間值等,串行發(fā)送到計(jì)算機(jī)中,由計(jì)算機(jī)計(jì)算出實(shí)際的電壓值、溫度值,并存儲(chǔ)到以當(dāng)前時(shí)刻命名的Excel文件中。Visual C++ 6.0向Excel 2003文件寫入數(shù)據(jù),采用了兩種方法:ODBC、自動(dòng)化?! ”緯珊?jiǎn)入繁,詳細(xì)闡述了三種串口通信模式?! 〉谝环N串口通信模式,見第2、3部分;第二種串口通信模式,見第4部分;第三種串口通信模式,見第5、6部分。編者花費(fèi)了大量的時(shí)間及精力,以盡最大可能地對(duì)文中所涉內(nèi)容進(jìn)行注解。三種串口通信模式的程序代碼,后面一種都是以前面一種為基礎(chǔ)進(jìn)行修改的,可加深讀者對(duì)代碼的理解,以及查看三種模式下代碼的差別之處。編程期間所經(jīng)歷的錯(cuò)誤,也列出了一二。愿本書能夠給您帶來滿意的收獲?! ≡诒緯某霭孢^程中,得到了郭立總經(jīng)理、符隆美編輯的有力支持,在此表示衷心的感謝?! ∮捎诰幷吣芰?、精力之所限,書中不妥之處在所難免,誠(chéng)摯接受讀者的批評(píng)及指正?! 【幷摺 ?012年8月  于中國(guó)石油集團(tuán)濟(jì)柴動(dòng)力總廠

內(nèi)容概要

  采用Cygnal公司的C8051F020DK-U型單片機(jī)開發(fā)工具,即可實(shí)現(xiàn)與計(jì)算機(jī)的串口通信。本書由簡(jiǎn)入繁,詳細(xì)闡述了三種串口通信模式,依據(jù)其各自的串行數(shù)據(jù)傳輸能力,可適用于不同的實(shí)際項(xiàng)目。單片機(jī)測(cè)量了六路電壓量、片內(nèi)溫度,記錄了兩個(gè)時(shí)間值,并將它們串行發(fā)送到計(jì)算機(jī)中;計(jì)算機(jī)將計(jì)算得到的物理電壓值等,采用ODBC、自動(dòng)化兩種方法,存儲(chǔ)到以當(dāng)前時(shí)刻命名的Excel文件中。

書籍目錄

第1篇 HTML
第1章 概述
1.1 應(yīng)用程序的分類及特點(diǎn)
1.1.1 C/S編程模型
1.1.2 B/S編程模型
1.1.3 富互聯(lián)網(wǎng)應(yīng)用程序模型
1.2 W3C和ECMA標(biāo)準(zhǔn)
1.2.1 HTML
1.2.2 CSS
1.2.3 JavaScript和jQuery
1.2.4 DOM
1.2.5 C#語(yǔ)言
1.3 VS2010集成開發(fā)環(huán)境
1.3.1 安裝集成開發(fā)環(huán)境
1.3.2 安裝擴(kuò)展開發(fā)工具
1.3.3 安裝客戶端瀏覽器
1.3.4 安裝擴(kuò)展管理工具
1.4 網(wǎng)頁(yè)分類與基本代碼交互技術(shù)
1.4.1 靜態(tài)網(wǎng)頁(yè)與動(dòng)態(tài)網(wǎng)頁(yè)
1.4.2 HTML頁(yè)與Web窗體
習(xí)題
第2章 HTML基礎(chǔ)
2.1 HTML入門
2.1.1 基本概念
2.1.2 HTML和XHTML
2.1.3 HTML5的基本結(jié)構(gòu)
2.1.4 HTML5新增標(biāo)記和不再支持的標(biāo)記
2.2 字體和排版
2.2.1 h1標(biāo)記到h6標(biāo)記
2.2.2 p標(biāo)記和br標(biāo)記
2.2.3 hr標(biāo)記
2.2.4 pre標(biāo)記
2.2.5 span標(biāo)記和div標(biāo)記
2.2.6 粗體斜體和上下標(biāo)控制標(biāo)記(b、i、sup、sub)
2.2.7 短語(yǔ)標(biāo)記(strong、em、code、cite、blockquote)
2.3 列表和圖像顯示
2.3.1 有序列表(ol、li)
2.3.2 無(wú)序列表(ul、li)
2.3.3 自定義列表(dl、dt、dd)
2.3.4 圖像顯示標(biāo)記(img)
2.4 超鏈接和頁(yè)內(nèi)框架
2.4.1 絕對(duì)URL和相對(duì)URL
2.4.2 超鏈接標(biāo)記(a)
2.4.3 頁(yè)內(nèi)框架標(biāo)記(iframe)
2.4.4 利用a標(biāo)記和iframe標(biāo)記實(shí)現(xiàn)導(dǎo)航
2.4.5 利用a標(biāo)記和iframe標(biāo)記鏈接到錨點(diǎn)
2.5 表格
2.5.1 表格標(biāo)記(table)
2.5.2 規(guī)則表格
2.5.3 非規(guī)則表格
2.6 音頻和視頻
2.6.1 音頻播放標(biāo)記(audio)
2.6.2 視頻播放標(biāo)記(video)
2.7 語(yǔ)義化標(biāo)記
習(xí)題
第3章 CSS樣式控制
3.1 基本概念
3.1.1 CSS的級(jí)聯(lián)控制
3.1.2 CSS的單位表示形式
3.1.3 設(shè)計(jì)和引用CSS
3.2 CSS選擇器
3.2.1 基本選擇器
3.2.2 關(guān)系選擇器
3.2.3 特性選擇器
3.2.4 偽元素選擇器
3.2.5 偽類選擇器
3.3 CSS的盒模型
3.3.1 盒模型簡(jiǎn)介
3.3.2 外邊距(margin)
3.3.3 內(nèi)邊距(padding)
3.3.4 盒大小(box-sizeing)
3.3.5 盒陰影效果(box-shadow)
3.4 定位與布局控制
3.4.1 寬度和高度控制
3.4.2 定位控制
3.4.3 布局控制
3.5 邊框控制
3.5.1 復(fù)合屬性(border)
3.5.2 邊框?qū)挾群蜆邮?border-width、border-style)
3.5.3 邊框顏色(border-color)
3.5.4 邊框圓角(border-radius)
3.6 字體和文本控制
3.6.1 字體控制
3.6.2 文本控制
3.7 背景控制
3.7.1 復(fù)合屬性(background)
3.7.2 背景色與背景圖像
3.7.3 背景圖像的控制
習(xí)題
第4章 JavaScript和jQuery
4.1 在網(wǎng)頁(yè)中使用JavaScript和jQuery
4.1.1 基本概念
4.1.2 在網(wǎng)頁(yè)中直接編寫JavaScript和jQuery代碼
4.1.3 在js文件中編寫JavaScript和jQuery代碼
4.1.4 提高JavaScript和jQuery性能的技巧
4.2 JavaScript和jQuery基本用法
4.2.1 變量和運(yùn)算符
4.2.2 流程控制語(yǔ)句
4.3 JavaScript內(nèi)置的函數(shù)和對(duì)象
4.3.1 定義函數(shù)和對(duì)象
4.3.2 JavaScript的內(nèi)置函數(shù)
4.3.3 數(shù)據(jù)類型轉(zhuǎn)換
4.4 瀏覽器對(duì)象和客戶端事件
4.4.1 DOM
4.4.2 window對(duì)象
4.4.3 screen對(duì)象
4.4.4 document對(duì)象
4.4.5 客戶端事件
4.5 jQuery選擇器
4.5.1 基本格式
4.5.2 基本選擇器
4.5.3 層次選擇器
4.5.4 特性選擇器
4.5.5 基本過濾選擇器
4.5.6 內(nèi)容過濾選擇器
4.5.7 可見性過濾選擇器
4.5.8 子元素過濾選擇器
4.5.9 表單對(duì)象選擇器
4.5.10 表單對(duì)象特性選擇器
4.6 jQuery方法
4.6.1 CSS操作
4.6.2 HTML操作
4.6.3 元素大小和位置操作
4.6.4 元素特性和屬性操作
4.6.5 元素自定義數(shù)據(jù)操作
4.6.6 文檔處理
4.6.7 事件處理
4.7 jQuery動(dòng)畫
4.7.1 參數(shù)(duration、easing、callback)
4.7.2 顯示隱藏和切換(hide、show、toggle)
4.7.3 滑動(dòng)效果(slideDown、slideUp、slideToggle)
4.7.4 淡入淡出效果(fadeIn、fadeOut)
4.7.5 透明度漸變(fadeTo)
4.7.6 自定義動(dòng)畫(animate)
4.7.7 jQuery動(dòng)畫常見問題
習(xí)題
第5章 Canvas
5.1 Canvas基礎(chǔ)
5.1.1 HTML5的canvas標(biāo)記
5.1.2 路徑(beginPath、closePath、stroke、fill)
5.1.3 移動(dòng)坐標(biāo)(moveTo)
5.2 基本形狀的繪制
5.2.1 直線(lineTo)
5.2.2 矩形(fillRect、strokeRect、clearRect)
5.2.3 圓形和弧形(arc)
5.2.4 用貝塞爾曲線繪制圖形(quadraticCurveTo)
5.3 顏色和樣式
5.3.1 填充樣式和輪廓樣式(fillStyle、strokeStyle)
5.3.2 透明度(Transparency)
5.3.3 漸變(Gradients)
5.3.4 圖案(Patterns)
5.4 陰影和文字繪制
5.4.1 陰影(Shadow)
5.4.2 字符文本的繪制
5.5 像素級(jí)繪圖
5.5.1 導(dǎo)入和繪制圖像
5.5.2 切片(Slicing)
5.5.3 剪切(clip)和蒙版(mask)
5.6 繪圖狀態(tài)與矩陣變換
5.6.1 繪圖狀態(tài)
5.6.2 變換(Transformations)
習(xí)題
第2篇 ASP.NET Web應(yīng)用程序
第6章 Web窗體和基本控件
6.1 基于事件的編程模型
6.1.1 Web窗體頁(yè)
6.1.2 母版頁(yè)和使用母版頁(yè)的Web窗體頁(yè)
6.1.3 主題和外觀
6.2 界面交互控件的分類
6.2.1 表單(form)
6.2.2 HTML控件
6.2.3 HTML服務(wù)器控件
6.2.4 Web服務(wù)器控件
6.3 HTML控件的基本用法
6.3.1 label標(biāo)記和button標(biāo)記
6.3.2 input標(biāo)記
6.4 基本W(wǎng)eb服務(wù)器控件
6.4.1 標(biāo)簽和按鈕
6.4.2 文本框及密碼框(TextBox)
6.4.3 列表和下拉列表(ListBox、DropDownList)
6.4.4 單選按鈕(RadioButton、RadioButtonList)
6.4.5 復(fù)選框(CheckBox、CheckBoxList)
6.4.6 容器控件(Panel、Literal、View、MultiView)
6.4.7 圖像顯示和區(qū)域控制(Image、ImageMap)
6.5 ASP.NET內(nèi)置對(duì)象與狀態(tài)管理
6.5.1 ASP.NET提供的API
6.5.2 Page類及其擴(kuò)充類
6.5.3 ASP.NET狀態(tài)管理
6.5.4 ASP.NET配置
6.6 頁(yè)面切換與頁(yè)間數(shù)據(jù)傳遞
6.6.1 從一個(gè)網(wǎng)頁(yè)轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)
6.6.2 網(wǎng)頁(yè)之間的數(shù)據(jù)傳遞
6.7 用戶控件
習(xí)題
第7章 ASP.NET AJAX
7.1 基本概念
7.1.1 ajax
7.1.2 ASP.NET AJAX
7.2 內(nèi)置的ASP.NET AJAX擴(kuò)展控件
7.2.1 ScriptManager控件
7.2.2 UpdatePanel控件
7.2.3 UpdateProgress控件
7.2.4 Timer控件
7.3 AJAX控件工具包
7.3.1 彈出擴(kuò)展
7.3.2 動(dòng)畫擴(kuò)展
7.3.3 顯示擴(kuò)展
7.3.4 數(shù)據(jù)輸入擴(kuò)展
7.3.5 數(shù)據(jù)選擇擴(kuò)展
7.3.6 其他擴(kuò)展
7.3.7 AJAX控件工具包中的獨(dú)立控件
習(xí)題
第8章 在ASP.NET中使用jQuery
8.1 jQuery UI及其基本操作
8.1.1 jQuery UI的選項(xiàng)和方法
8.1.2 拖動(dòng)(draggable)
8.1.3 拖放(droppable)
8.1.4 改變?cè)卮笮?resizable)
8.1.5 選擇(selectable)
8.1.6 排序(sortable)
8.2 聯(lián)合使用ASP.NET AJAX和jQuery UI
8.2.1 PageRequestManager類
8.2.2 拉簾式折疊面板(accordion)
8.2.3 自動(dòng)完成(autocomplete)
8.2.4 按鈕(button)
8.2.5 日期選擇(datepicker)
8.2.6 對(duì)話框(dialog)
8.2.7 進(jìn)度條(progressbar)
8.2.8 滑動(dòng)條(slider)
8.2.9 頁(yè)簽(tabs)
8.3 jQuery代碼和C#代碼之間的數(shù)據(jù)交互
8.3.1 通過HiddenField控件傳遞數(shù)據(jù)
8.3.2 通過HTML5的data特性傳遞數(shù)據(jù)
8.3.3 通過RegisterDataItem方法傳遞數(shù)據(jù)
8.3.4 通過jQuery ajax和Web服務(wù)實(shí)現(xiàn)jQuery和C#的交互
8.4 利用jQuery Validate實(shí)現(xiàn)客戶端數(shù)據(jù)驗(yàn)證
8.4.1 調(diào)用不帶參數(shù)的Validate方法實(shí)現(xiàn)客戶端驗(yàn)證
8.4.2 在Validate方法的參數(shù)中定義驗(yàn)證選項(xiàng)
8.4.3 jQuery Validate提供的驗(yàn)證規(guī)則
習(xí)題
第9章 ASP.NET數(shù)據(jù)訪問
9.1 LINQ基本技術(shù)
9.1.1 語(yǔ)言集成查詢(LINQ)
9.1.2 查詢表達(dá)式
9.1.3 Lambda表達(dá)式
9.2 ASP.NET數(shù)據(jù)綁定
9.2.1 數(shù)據(jù)綁定表達(dá)式
9.2.2 將數(shù)據(jù)源綁定到控件
9.3 利用實(shí)體框架訪問數(shù)據(jù)庫(kù)
9.3.1 實(shí)體框架基本概念
9.3.2 創(chuàng)建數(shù)據(jù)庫(kù)和實(shí)體數(shù)據(jù)模型
9.3.3 GridView控件
9.3.4 EntityDataSource控件
9.3.5 實(shí)體框架完整示例
習(xí)題
第3篇 ASP.NET MVC Web應(yīng)用程序
第10章 ASP.NET MVC基礎(chǔ)
10.1 基本概念
10.1.1 什么是MVC
10.1.2 Web窗體和MVC的兼容性
10.2 ASP.NET MVC 3 Web應(yīng)用程序模板
10.2.1 創(chuàng)建項(xiàng)目
10.2.2 查看MVC3應(yīng)用程序的結(jié)構(gòu)
10.3 ASP.NET路由
10.3.1 路由
10.3.2 URL路由
10.3.3 MVC應(yīng)用程序中的典型URL模式
10.4 控制器和操作方法
10.4.1 控制器
10.4.2 操作方法
10.4.3 創(chuàng)建控制器和操作方法
10.5 視圖
10.5.1 使用視圖呈現(xiàn)UI
10.5.2 布局頁(yè)和視圖頁(yè)
10.5.3 分部視圖
10.5.4 創(chuàng)建視圖頁(yè)
10.5.5 將參數(shù)從控制器傳遞到視圖
10.6 創(chuàng)建簡(jiǎn)單的模型
習(xí)題
第11章 Razor視圖引擎
11.1 基本知識(shí)
11.1.1 Razor視圖引擎的優(yōu)點(diǎn)
11.1.2 Razor基本用法
11.1.3 在Razor視圖中引用.NET命名空間
11.2 Razor引擎提供的類和對(duì)象
11.2.1 視圖操作類
11.2.2 數(shù)據(jù)類型轉(zhuǎn)換類
11.2.3 HttpRequestBase對(duì)象和HttpResponseBase對(duì)象
11.2.4 HttpServerUtilityBase對(duì)象
11.2.5 其他對(duì)象
11.2.6 Razor引擎增加的數(shù)據(jù)庫(kù)操作方法
11.3 常用的HTML幫助器
11.3.1 @helper標(biāo)記
11.3.2 form和input幫助器
11.3.3 在控制器中處理同一個(gè)視圖中的多個(gè)按鈕
11.4 具有特殊功能的HTML幫助器
11.4.1 URL幫助器
11.4.2 WebGrid幫助器
11.4.3 WebImage幫助器
11.4.4 Chart幫助器
11.4.5 Video幫助器
11.4.6 WebMail幫助器
11.4.7 其他HTML幫助器
習(xí)題
第12章 MVC中的數(shù)據(jù)訪問和客戶端驗(yàn)證
12.1 實(shí)體框架開發(fā)模式和技術(shù)
12.1.1 實(shí)體框架開發(fā)模式
12.1.2 采用數(shù)據(jù)庫(kù)優(yōu)先開發(fā)模式創(chuàng)建實(shí)體數(shù)據(jù)模型
12.1.3 采用代碼優(yōu)先開發(fā)模式創(chuàng)建和訪問數(shù)據(jù)庫(kù)
12.2 數(shù)據(jù)驗(yàn)證與強(qiáng)類型視圖
12.2.1 使用特性控制顯示格式和驗(yàn)證規(guī)則
12.2.2 動(dòng)態(tài)類型視圖和強(qiáng)類型視圖
12.3 MVC中的數(shù)據(jù)訪問和驗(yàn)證示例
12.3.1 修改與學(xué)生管理有關(guān)的控制器和視圖
12.3.2 利用WebGrid幫助器實(shí)現(xiàn)分頁(yè)和排序
12.3.3 為學(xué)生信息頁(yè)添加搜索框
12.3.4 使用模板化幫助器顯示日歷
附錄 上機(jī)實(shí)驗(yàn)
附錄A 基礎(chǔ)型實(shí)驗(yàn)
實(shí)驗(yàn)1 HTML5頁(yè)面設(shè)計(jì)
實(shí)驗(yàn)2 CSS3樣式控制
實(shí)驗(yàn)3 jQuery事件與動(dòng)畫設(shè)計(jì)
實(shí)驗(yàn)4 Canvas繪圖設(shè)計(jì)
實(shí)驗(yàn)5 Web窗體界面交互
實(shí)驗(yàn)6 AJAX和客戶端驗(yàn)證
實(shí)驗(yàn)7 ASP.NET數(shù)據(jù)訪問
附錄B 設(shè)計(jì)型實(shí)驗(yàn)
B.1 需求說明
B.2 系統(tǒng)模塊功能要求
B.3 成果要求

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   在串口通信協(xié)議中,計(jì)算機(jī)向單片機(jī)連續(xù)發(fā)送的字符個(gè)數(shù),由一個(gè)更改為兩個(gè),其他無(wú)任何變化。與“3.3單片機(jī)程序A—1”節(jié)相比較,單片機(jī)代碼的差異之處,主要在UARTO ISR()中斷服務(wù)程序的if(RIO){…}模塊中。 5.1單片機(jī)接收兩個(gè)連續(xù)字符的分析 1.單片機(jī)的硬件條件 在8051系列單片機(jī)中,名為SBUF的串行數(shù)據(jù)緩沖寄存器,實(shí)際是兩個(gè)寄存器:一個(gè)發(fā)送緩沖寄存器、一個(gè)接收緩沖寄存器。讀操作自動(dòng)訪問接收緩沖寄存器、寫操作自動(dòng)訪問發(fā)送緩沖寄存器。在C8051F020型單片機(jī)中,串行口UARTO的數(shù)據(jù)緩沖寄存器是SBUFO、串行口UART1的數(shù)據(jù)緩沖寄存器是SBUF1。 在單片機(jī)串口的所有工作方式下,接收到的數(shù)據(jù)被放入進(jìn)一個(gè)保持(移位)寄存器,然后才可能進(jìn)入接收緩沖寄存器SBUF;這就允許在軟件尚未讀取前一個(gè)數(shù)據(jù)字節(jié)的情況下,開始接收第二個(gè)數(shù)據(jù)字節(jié)。 2.單片機(jī)的接收工作分析 單片機(jī)UART的接收控制電路,監(jiān)測(cè)其RX信號(hào)狀態(tài):當(dāng)檢測(cè)到一個(gè)下降沿時(shí),表明起始位出現(xiàn)了;在確定起始位之后,每接收到一個(gè)二進(jìn)制數(shù)據(jù)位,就使接收(輸入)移位寄存器(共九位)移動(dòng)一位。在C8051F020單片機(jī)的UARTO工作于方式1、(SCON0.5=SM20)=1設(shè)置下,當(dāng)接收到停止位的邏輯電平為1且接收中斷標(biāo)志位RI0=0時(shí),將接收到的8個(gè)數(shù)據(jù)位裝入到接收(輸入)數(shù)據(jù)緩沖器之中,并設(shè)置RIO=1。在這一個(gè)字符接收完畢之后,UART接收控制電路繼續(xù)測(cè)試RX信號(hào)。 在C8051F020單片機(jī)的UARTO工作于方式1設(shè)置下,當(dāng)串行通信波特率為115.2kbps時(shí),接收一個(gè)字符(共十位)所用的時(shí)間為10/115.2=1/11.52≈0.0868ms=86.8us。在發(fā)送設(shè)備采取連續(xù)發(fā)送兩個(gè)字符的策略下,當(dāng)C8051F020單片機(jī)接收到第一個(gè)字符的停止位之后,只要在86.8us時(shí)間內(nèi),將這一個(gè)字符的8個(gè)數(shù)據(jù)位自移位寄存器裝入到接收緩沖寄存器SBUFO,然后復(fù)位RI0=0(其他操作無(wú)須執(zhí)行完畢),則就有條件將第二個(gè)字符的8個(gè)數(shù)據(jù)位裝入到接收數(shù)據(jù)緩沖器SBUFO中。顯然,這是非常簡(jiǎn)單的任務(wù);但是,需要繼續(xù)分析較之UARTO ISR相同優(yōu)先級(jí)及更高優(yōu)先級(jí)的中斷函數(shù)的執(zhí)行時(shí)間。 在本設(shè)計(jì)中,系統(tǒng)時(shí)鐘SYSCLK=22.1184MHz,則對(duì)于單時(shí)鐘周期的指令,每一條指令的執(zhí)行時(shí)間為1/22.1184≈0.045us,1us可執(zhí)行22.1184條指令,19.53us可執(zhí)行19.53×22.1184≈432條指令;同樣在19.53us時(shí)間內(nèi),則可執(zhí)行432/2=216條雙時(shí)鐘周期指令。本設(shè)計(jì)中的UARTO_ISR中斷函數(shù),其RIO模塊中的執(zhí)行內(nèi)容很少。雖然ADCO_ISR的中斷優(yōu)先級(jí)高于UARTO_ISR,但ADCO_ISR函數(shù)中的代碼也不算長(zhǎng),且已知ADCO_ISR晦執(zhí)行頻率為19.53us,可推知,為了給UARTO_ISR中斷函數(shù)留有處理時(shí)間,則ADCO_ISR中斷函數(shù)的執(zhí)行時(shí)間必須小于19.53us。

編輯推薦

《單片機(jī)與計(jì)算機(jī)串口通信實(shí)踐》具有思路清晰、講解詳細(xì)的特點(diǎn),從實(shí)際應(yīng)用出發(fā)、程序代碼經(jīng)過反復(fù)調(diào)試,可直接為采用Keilc的單片機(jī)編程者、采用VC++6.0的串口編程者使用。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    單片機(jī)與計(jì)算機(jī)串口通信實(shí)踐 PDF格式下載


用戶評(píng)論 (總計(jì)6條)

 
 

  •   庖丁解牛、堪稱串口通信的經(jīng)典書籍 ?。?/li>
  •   這本書的內(nèi)容很好!很喜歡這本書
  •   今天收到書,很好,質(zhì)量不錯(cuò)
  •   給同學(xué)買的,還行,講的還可以。
  •   內(nèi)容安排感覺不是太好,也沒見到代碼。
  •   講解非常細(xì)膩,看流程圖也很多、很詳細(xì),能夠節(jié)省個(gè)人思考及總結(jié)的時(shí)間,故推薦。放假了,歡歡喜喜準(zhǔn)備過大年!
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7