出版時(shí)間:2005-9 出版社:人民郵電出版社 作者:邊春遠(yuǎn) 頁(yè)數(shù):459 字?jǐn)?shù):719000
內(nèi)容概要
本書(shū)從工程應(yīng)用的角度出發(fā),系統(tǒng)地介紹了MCS-51單片機(jī)在計(jì)算、轉(zhuǎn)換、應(yīng)用等方面的各種子程序,內(nèi)容包括二進(jìn)制數(shù)運(yùn)算、十進(jìn)制數(shù)運(yùn)算、數(shù)據(jù)轉(zhuǎn)換、排序與查找、數(shù)學(xué)函數(shù)、樹(shù)和圖、延時(shí)和跳轉(zhuǎn)、人機(jī)交互、單片機(jī)測(cè)控、單片機(jī)內(nèi)部資源編成、單片機(jī)數(shù)據(jù)傳輸、波形發(fā)生與控制以及單片機(jī)軟件抗干擾和數(shù)字濾波。對(duì)每個(gè)子程序,本書(shū)給出了入口條件、出口信息、影響資源、堆棧要求及經(jīng)過(guò)詳細(xì)注釋的程序清單。本書(shū)的子程序具有很強(qiáng)的實(shí)用性。 本書(shū)可作為高等院校相關(guān)專業(yè)師生學(xué)習(xí)MCS-51程序設(shè)計(jì)的參考書(shū)和工具書(shū),也可供MCS-51單片機(jī)應(yīng)用開(kāi)發(fā)的科技人員參考。
書(shū)籍目錄
第1章 二進(jìn)制定點(diǎn)數(shù)運(yùn)算 1.1 加法 1.1.1 子程序1——雙字節(jié)無(wú)符號(hào)數(shù)加法 1.1.2 子程序2——多字節(jié)無(wú)符號(hào)數(shù)加法 1.1.3 子程序3——雙字節(jié)有符號(hào)數(shù)加法 1.1.4 子程序4——多字節(jié)有符號(hào)數(shù)加法 1.2 減法 1.2.1 子程序5——雙字節(jié)無(wú)符號(hào)數(shù)減法 1.2.2 子程序6——多字節(jié)無(wú)符號(hào)數(shù)減法 1.2.3 子程序7——雙字節(jié)有符號(hào)數(shù)減法 1.2.4 子程序8——多字節(jié)有符號(hào)數(shù)減法 1.3 乘法 1.3.1 子程序9——雙字節(jié)無(wú)符號(hào)數(shù)乘法 1.3.2 子程序10——多字節(jié)無(wú)符號(hào)數(shù)乘法 1.3.3 子程序11——雙字節(jié)有符號(hào)數(shù)乘法 1.3.4 子程序12——多字節(jié)有符號(hào)數(shù)乘法 1.4 除法 1.4.1 子程序13——雙字節(jié)無(wú)符號(hào)數(shù)除法 1.4.2 子程序14——多字節(jié)無(wú)符號(hào)數(shù)除法 1.4.3 子程序15——雙字節(jié)有符號(hào)數(shù)除法 1.4.4 子程序16——多字節(jié)有符號(hào)數(shù)除法 1.5 開(kāi)方 1.5.1 子程序17——單字節(jié)開(kāi)方 1.5.2 子程序18——雙字節(jié)開(kāi)方 1.5.3 子程序19——多字節(jié)開(kāi)方 第2章 二進(jìn)制浮點(diǎn)數(shù)運(yùn)算 2.1 加法 2.1.1 子程序20——雙字節(jié)無(wú)符號(hào)數(shù)加法 2.1.2 子程序21——多字節(jié)無(wú)符號(hào)數(shù)加法 2.1.3 子程序22——雙字節(jié)有符號(hào)數(shù)加法 2.1.4 子程序23——多字節(jié)有符號(hào)數(shù)加法 2.2 減法 2.2.1 子程序24——雙字節(jié)無(wú)符號(hào)數(shù)減法 2.2.2 子程序25——多字節(jié)無(wú)符號(hào)數(shù)減法 2.2.3 子程序26——雙字節(jié)有符號(hào)數(shù)減法 2.2.4 子程序27——多字節(jié)有符號(hào)數(shù)減法 2.3 乘法 2.3.1 子程序28——雙字節(jié)無(wú)符號(hào)數(shù)乘法 2.3.2 子程序29——多字節(jié)無(wú)符號(hào)數(shù)乘法 2.3.3 子程序30——雙字節(jié)有符號(hào)數(shù)乘法 2.3.4 子程序31——多字節(jié)有符號(hào)數(shù)乘法 2.4 除法 2.4.1 子程序32——雙字節(jié)無(wú)符號(hào)數(shù)除法 2.4.2 子程序33——多字節(jié)無(wú)符號(hào)數(shù)除法 2.4.3 子程序34——雙字節(jié)有符號(hào)數(shù)除法 2.4.4 子程序35——多字節(jié)有符號(hào)數(shù)除法 第3章 十進(jìn)制(BCD碼)數(shù)運(yùn)算 3.1 加法 3.1.1 子程序36——單字節(jié)加法 3.1.2 子程序37——雙字節(jié)加法 3.1.3 子程序38——多字節(jié)加法 3.2 減法 3.2.1 子程序39——單字節(jié)減法 3.2.2 子程序40——雙字節(jié)減法 3.2.3 子程序41——多字節(jié)減法 3.3 乘法 3.3.1 子程序42——單字節(jié)乘法 3.3.2 子程序43——雙字節(jié)乘法 3.3.3 子程序44——多字節(jié)乘法 3.4 除法 3.4.1 子程序45——單字節(jié)除法 3.4.2 子程序46——雙字節(jié)除法 3.4.3 子程序47——多字節(jié)除法 3.5 開(kāi)方 3.5.1 子程序48——單字節(jié)開(kāi)方 3.5.2 子程序49——雙字節(jié)開(kāi)方 3.5.3 子程序50——多字節(jié)開(kāi)方 第4章 代碼轉(zhuǎn)換 4.1 十六進(jìn)制數(shù)到ASCII碼的轉(zhuǎn)換實(shí)例 4.1.1 子程序51——一位十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼 4.1.2 子程序52——二位十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼 4.1.3 子程序53——多位十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼 4.2 ASCII碼到十六進(jìn)制數(shù)的轉(zhuǎn)換實(shí)例 4.3 十六進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換實(shí)例 4.3.1 子程序54——單字節(jié)整數(shù)轉(zhuǎn)換 4.3.2 子程序55——雙字節(jié)整數(shù)轉(zhuǎn)換 4.3.3 子程序56——多字節(jié)整數(shù)轉(zhuǎn)換 4.3.4 子程序57——單字節(jié)十六進(jìn)制小數(shù)轉(zhuǎn)換成單字節(jié)BCD碼小數(shù) 4.3.5 子程序58——雙字節(jié)十六進(jìn)制小數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼小數(shù) 4.3.6 子程序59——多字節(jié)十六進(jìn)制小數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼小數(shù) 4.4 BCD碼到十六制數(shù)的轉(zhuǎn)換實(shí)例 4.4.1 子程序60——單字節(jié)整數(shù)轉(zhuǎn)換 4.4.2 子程序61——雙字節(jié)整數(shù)轉(zhuǎn)換 4.4.3 子程序62——多字節(jié)整數(shù)轉(zhuǎn)換 4.4.4 子程序63——小數(shù)轉(zhuǎn)換 4.4.5 子程序64——雙字節(jié)BCD碼小數(shù)轉(zhuǎn)換成雙字節(jié)十六進(jìn)制小數(shù) 4.5 BCD碼到ASCII碼轉(zhuǎn)換實(shí)例 4.6 ASCII碼到BCD碼轉(zhuǎn)換實(shí)例 4.7 二進(jìn)制數(shù)到格雷碼的轉(zhuǎn)換實(shí)例 4.8 格雷碼到二進(jìn)制數(shù)的轉(zhuǎn)換實(shí)例 4.8.1 子程序65——8位格雷碼轉(zhuǎn)換為二進(jìn)制數(shù) 4.8.2 子程序66——9位格雷碼轉(zhuǎn)換為二進(jìn)制數(shù) 第5章 數(shù)據(jù)變換 5.1 移位 5.1.1 子程序67——二進(jìn)制定點(diǎn)數(shù)移位 5.1.2 子程序68——BCD碼移位 5.2 求補(bǔ) 5.2.1 子程序69——二進(jìn)制定點(diǎn)數(shù)求補(bǔ) 5.2.2 子程序70——BCD碼求補(bǔ) 5.3 規(guī)格化 5.3.1 子程序71——二進(jìn)制數(shù)左規(guī) 5.3.2 子程序72——二進(jìn)制浮點(diǎn)數(shù)右規(guī) 5.3.3 子程序73——雙字節(jié)定點(diǎn)數(shù)轉(zhuǎn)換成格式化浮點(diǎn)數(shù) 5.3.4 子程序74——多字節(jié)二進(jìn)制數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) 5.3.5 子程序75——格式化浮點(diǎn)數(shù)轉(zhuǎn)換成雙字節(jié)定點(diǎn)數(shù) 5.3.6 子程序76——32位整數(shù)轉(zhuǎn)換為4字節(jié)規(guī)格化浮點(diǎn)數(shù) 5.4 浮點(diǎn)數(shù)對(duì)階 5.4.1 子程序77——多字節(jié)浮點(diǎn)數(shù)對(duì)階 5.4.2 子程序78——多字節(jié)浮點(diǎn)數(shù)減法對(duì)階 第6章 排序和查找 6.1 數(shù)據(jù)塊的排序 6.1.1 子程序79——單字節(jié)無(wú)符號(hào)數(shù)據(jù)塊排序 6.1.2 子程序80——單字節(jié)有符號(hào)數(shù)據(jù)塊排序 6.1.3 子程序81——雙字節(jié)無(wú)符號(hào)數(shù)據(jù)塊排序 6.2 數(shù)據(jù)的查找 6.2.1 子程序82——單字節(jié)順序查找 6.2.2 子程序83——浮點(diǎn)數(shù)順序查找 6.2.3 子程序84——單字節(jié)折半查找 6.2.4 子程序85——單字節(jié)最值查找 6.2.5 子程序86——浮點(diǎn)數(shù)最值查找 6.2.6 子程序87——雙字節(jié)字符串順序查找 6.2.7 子程序88——N字節(jié)字符串順序查找 6.3 線性表的排序 6.3.1 子程序89——插入排序 6.3.2 子程序90——選擇排序 6.3.3 子程序91——冒泡排序 6.3.4 子程序92——并歸排序 6.3.5 子程序93——快速排序 6.4 線性表的查找 6.4.1 子程序94——順序查找單字節(jié)表 6.4.2 子程序95——順序查找雙字節(jié)表 6.4.3 子程序96——單字節(jié)無(wú)符號(hào)增序數(shù)據(jù)表對(duì)分查找 6.4.4 子程序97——雙字節(jié)無(wú)符號(hào)增序數(shù)據(jù)表對(duì)分查找 6.4.5 子程序98——表的分塊查找 6.4.6 子程序99——串的匹配 6.5 遞歸實(shí)例 6.6 遞推實(shí)例 6.7 回溯實(shí)例 第7章 數(shù)學(xué)函數(shù) 7.1 浮點(diǎn)數(shù)操作與處理函數(shù)實(shí)例 7.1.1 子程序100——浮點(diǎn)數(shù)傳送 7.1.2 子程序101——浮點(diǎn)數(shù)壓棧 7.1.3 子程序102——浮點(diǎn)數(shù)彈棧 7.1.4 子程序103——浮點(diǎn)數(shù)代數(shù)值比較 7.1.5 子程序104——浮點(diǎn)絕對(duì)值函數(shù) 7.1.6 子程序105——浮點(diǎn)符號(hào)函數(shù) 7.1.7 子程序106——浮點(diǎn)取整函數(shù) 7.1.8 子程序107——浮點(diǎn)倒數(shù)函數(shù) 7.1.9 子程序108——浮點(diǎn)數(shù)牛頓迭代開(kāi)平方 7.1.10 子程序109——浮點(diǎn)弧度數(shù)轉(zhuǎn)換成浮點(diǎn)度數(shù) 7.1.11 子程序110——浮點(diǎn)度數(shù)轉(zhuǎn)換成浮點(diǎn)弧度數(shù) 7.1.12 子程序111——最小二乘法擬合 7.1.13 子程序112——浮點(diǎn)數(shù)多項(xiàng)式計(jì)算 7.2 三角函數(shù)和反三角函數(shù)實(shí)例 7.2.1 子程序113——浮點(diǎn)正弦函數(shù) 7.2.2 子程序114——浮點(diǎn)余弦函數(shù) 7.2.3 子程序115——反正弦函數(shù) 7.2.4 子程序116——反余弦函數(shù) 7.2.5 子程序117——反正切函數(shù) 7.3 指數(shù)函數(shù)和對(duì)數(shù)函數(shù)實(shí)例 7.3.1 子程序118——以10為底的浮點(diǎn)指數(shù)函數(shù) 7.3.2 子程序119——以e為底的浮點(diǎn)指數(shù)函數(shù) 7.3.3 子程序120——以2為底的浮點(diǎn)指數(shù)函數(shù) 7.3.4 子程序121——以10為底的浮點(diǎn)對(duì)數(shù)函數(shù) 7.3.5 子程序122——以e為底的浮點(diǎn)對(duì)數(shù)函數(shù) 第8章 樹(shù)和圖 8.1 二叉樹(shù)的遍歷 8.1.1 子程序123——編號(hào)遍歷 8.1.2 子程序124——前根遍歷 8.1.3 子程序125——中根遍歷 8.1.4 子程序126——后跟遍歷 8.2 普通樹(shù)的遍歷實(shí)例 8.2.1 子程序127——利用父指針數(shù)組的普通樹(shù)前根遍歷算法 8.2.2 子程序128——利用子指針數(shù)組的普通樹(shù)前根遍歷算法 8.2.3 子程序129——利用子指針數(shù)組的普通樹(shù)后根遍歷算法 8.3 圖的遍歷實(shí)例 8.3.1 子程序130——利用鄰接矩陣的圖廣度優(yōu)先遍歷算法 8.3.2 子程序131——利用鄰接表的圖廣度優(yōu)先遍歷算法 8.3.3 子程序132——利用鄰接矩陣的圖深度優(yōu)先遍歷算法 8.3.4 子程序133——利用鄰接表的圖深度優(yōu)先遍歷算法 8.3.5 子程序134——利用鄰接表圖的深度優(yōu)先生成樹(shù)生成算法 8.4 網(wǎng)絡(luò)最小生成樹(shù)和最短路徑實(shí)例 8.4.1 子程序135——利用鄰接矩陣的網(wǎng)絡(luò)最小生成樹(shù)算法 8.4.2 子程序136——利用鄰接表的圖最短路徑算法 第9章 延時(shí)與跳轉(zhuǎn)控制 9.1 循環(huán)延時(shí) 9.1.1 子程序137——一重循環(huán)延時(shí) 9.1.2 子程序138——多重循環(huán)延時(shí) 9.2 簡(jiǎn)單延時(shí) 9.2.1 子程序139——精確延時(shí) 9.2.2 子程序140——突發(fā)等待延時(shí) 9.3 分支程序 9.3.1 子程序141——無(wú)條件轉(zhuǎn)移 9.3.2 子程序142——條件分支轉(zhuǎn)移 9.4 散轉(zhuǎn)程序?qū)嵗? 9.4.1 子程序143——N種分支的散轉(zhuǎn)程序 9.4.2 子程序144——256種分支的散轉(zhuǎn)程序 第10章 人機(jī)交互接口 10.1 鍵盤接口 10.1.1 子程序145——鍵盤輸入需要解決的問(wèn)題 10.1.2 子程序146——獨(dú)立式鍵盤接口 10.1.3 子程序147——8279鍵盤接口 10.1.4 子程序148——撥碼盤接口 10.1.5 子程序149——鍵盤掃描 10.2 LED顯示接口 10.2.1 子程序150——六位數(shù)碼管時(shí)鐘顯示 10.2.2 子程序151——串行口擴(kuò)展顯示 10.2.3 子程序152——基于8155軟件譯碼鍵盤顯示 10.2.4 子程序153——基于8279的顯示器 10.3 LCD顯示接口 10.3.1 子程序154——段式LCD顯示 10.3.2 子程序155——字符型LCD顯示 10.3.3 子程序156——圖形LCD顯示 10.3.4 子程序157——LCD點(diǎn)陣字符型液晶顯示 10.4 打印機(jī)接口實(shí)例 10.4.1 子程序158——LH-GP16打印機(jī)接口 10.4.2 子程序159——XLF微型打印機(jī)接口 10.5 CRT顯示實(shí)例 第11章 單片機(jī)測(cè)控接口 11.1 8位A/D轉(zhuǎn)換器ADC0809接口實(shí)例 11.2 12位A/D轉(zhuǎn)換器AD578/AD678/AD1678接口實(shí)例 11.3 12位串行A/D轉(zhuǎn)換器接口實(shí)例 11.4 串行A/D轉(zhuǎn)換器MAX187接口實(shí)例 11.5 16位A/D轉(zhuǎn)換器ADC1143接口實(shí)例 11.6 單路8位D/A轉(zhuǎn)換器DAC0832接口實(shí)例 11.7 單路10位D/A轉(zhuǎn)換器AD7520接口實(shí)例 11.8 12位串行D/A轉(zhuǎn)換器7543接口實(shí)例 11.9 16位D/A轉(zhuǎn)換器 AD1147接口實(shí)例 第12章 51單片機(jī)內(nèi)部資源編程實(shí)例 12.1 51單片機(jī)I/O口的應(yīng)用 12.1.1 子程序160——P1口的應(yīng)用 12.1.2 子程序161——P0口的擴(kuò)展使用 12.1.3 子程序162——并行I/O口編程 12.1.4 子程序163——單片機(jī)的FPGA并行配置 12.2 中斷服務(wù)子程序 12.2.1 子程序164——利用T0、T1作為外部中斷源 12.2.2 子程序165——INT0中斷 12.3 定時(shí)器/計(jì)數(shù)器應(yīng)用 12.3.1 子程序166——定時(shí)器/計(jì)數(shù)器0工作在模式0方式 12.3.2 子程序167——定時(shí)器/計(jì)數(shù)器0工作在模式1方式 12.3.3 子程序168——定時(shí)器/計(jì)數(shù)器0工作在模式2方式 12.3.4 子程序169——定時(shí)器/計(jì)數(shù)器0工作在模式3方式 12.4 程序存儲(chǔ)器的擴(kuò)展 12.4.1 子程序170——擴(kuò)展EPROM的典型電路 12.4.2 子程序171——擴(kuò)展EPROM的 12.4.3 子程序172——擴(kuò)展EEPROM的典型電路 12.4.4 子程序173——擴(kuò)展EEPROM的 12.5 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 12.5.1 子程序174——數(shù)據(jù)存儲(chǔ)區(qū)擴(kuò)展的典型電路 12.5.2 子程序175——擴(kuò)展RAM到擴(kuò)展RAM的數(shù)據(jù)復(fù)制 12.5.3 子程序176——擴(kuò)展RAM到片內(nèi)RAM數(shù)據(jù)復(fù)制 第13章 單片機(jī)數(shù)據(jù)傳輸接口 13.1 串行接口 13.1.1 子程序177——RS-232-C/RS-485接口標(biāo)準(zhǔn) 13.1.2 子程序178——數(shù)據(jù)傳輸率發(fā)生 13.1.3 子程序179——單片機(jī)RS-485接口 13.1.4 子程序180——用外部中斷配合查詢方式接收串行數(shù)據(jù) 13.1.5 子程序181——PC機(jī)和51單片機(jī)的快速串行通信 13.1.6 子程序182——單片機(jī)多機(jī)通信 13.2 USB總線接口 13.2.1 子程序183——USB總線協(xié)議 13.2.2 子程序184——通用USB程序模塊 13.3 I2C總線接口 13.3.1 子程序185——基于I2C的時(shí)鐘模塊X1203 13.3.2 子程序186——用兩個(gè)普通IO模擬I2C總線 13.4 SPI和MICROWIRE串行總線接口 13.4.1 子程序187——SPI和MICROWIRE串行總線協(xié)議 13.4.2 子程序188——SPI接口LCD顯示模塊EDM1079 13.4.3 子程序189——SPI接口語(yǔ)音錄放模塊ISD4104 13.4.4 子程序190——SPI接口時(shí)鐘日歷模塊DS1302 13.4.5 子程序191——MICR0WIRE接口E2PR0M存儲(chǔ)器NM93Cx6應(yīng)用 13.5 1-WIRE總線接口 13.5.1 子程序192——單總線數(shù)據(jù)通信協(xié)議 13.5.2 子程序193——單總線數(shù)字溫度傳感器 13.6 CAN總線接口 13.6.1 子程序194——CAN接口匯編語(yǔ)言編程 13.6.2 子程序195——CAN接口C語(yǔ)言編程 13.7 單片機(jī)的紅外接口 第14章 波形發(fā)生與控制實(shí)例 14.1 波形發(fā)生實(shí)例 14.1.1 子程序196——鋸齒波信號(hào)發(fā)生 14.1.2 子程序197——單極性PWM信號(hào)發(fā)生 14.1.3 子程序198——正弦信號(hào)發(fā)生 14.2 控制實(shí)例 14.2.1 子程序199——位置式PID控制 14.2.2 子程序200——增量式PID控制 第15章 C51單片機(jī)軟件抗干擾和數(shù)字濾波 15.1 單片機(jī)執(zhí)行過(guò)程中的軟件抗干擾措施 15.1.1 子程序201——采用指令冗余對(duì)程序“跑飛”的軟件處理 15.1.2 子程序202——采用軟件陷阱對(duì)程序“跑飛”的軟件處理 15.1.3 子程序203——軟件“看門狗”對(duì)程序“跑飛”的處理 15.1.4 子程序204——通過(guò)“復(fù)位”使系統(tǒng)恢復(fù)正常 15.2 信息冗余校驗(yàn)實(shí)例 15.2.1 子程序205——漢明碼校驗(yàn)實(shí)例 15.2.2 子程序206——循環(huán)冗余校驗(yàn) 15.3 數(shù)字濾波子程序 15.3.1 子程序207——程序判斷濾波 15.3.2 子程序208——中值濾波 15.3.3 子程序209——算術(shù)均值濾波 15.3.4 子程序210——加權(quán)平均濾波 15.3.5 子程序211——滑動(dòng)平均濾波 15.3.6 子程序212——防脈沖干擾數(shù)字濾波 15.3.7 子程序213——一階滯后濾波 附錄1 ATMEL8051系列單片機(jī) 附錄2 單片機(jī)常見(jiàn)縮略語(yǔ) 附錄3 常用存儲(chǔ)器型號(hào)
圖書(shū)封面
評(píng)論、評(píng)分、閱讀與下載
MCS-51單片機(jī)應(yīng)用開(kāi)發(fā)實(shí)用子程序 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版