C函數(shù)速查手冊(cè) 出版社:人民郵電出版社 《C函數(shù)速查手冊(cè)》中所講的C語(yǔ)言函數(shù)按照功能順序和字母順序進(jìn)行排序,讀者既可以按照功能順序查找,也可以按照字母順序?qū)W習(xí)。《C函數(shù)速查手冊(cè)》不僅適合于C語(yǔ)言初學(xué)者學(xué)習(xí)使用,而且也可以作為中、高級(jí)C語(yǔ)言開(kāi)發(fā)人員的參考手冊(cè)。 目錄 第1章 數(shù)學(xué)函數(shù) 1.1 _clear87函數(shù):清除浮點(diǎn)狀態(tài)字 1.2 _status87函數(shù):取浮點(diǎn)狀態(tài)字 1.3 abs函數(shù):求整數(shù)的絕對(duì)值 1.4 acos、acosl函數(shù):反余弦函數(shù) 1.5 asin、asinl函數(shù):反正弦函數(shù) 1.6 atan函數(shù):反正切函數(shù) 1.7 atan2、atan2l函數(shù):計(jì)算Y/X的反正切值 1.8 cabs函數(shù):計(jì)算復(fù)數(shù)的模 1.9 ceil函數(shù):向上取整 1.10 cos函數(shù):余弦函數(shù) 1.11 cosh函數(shù):雙曲余弦函數(shù) 1.12 div函數(shù):求兩個(gè)整數(shù)相除的商和余數(shù) 1.13 exp函數(shù):指數(shù)函數(shù) 1.14 fabs函數(shù):求浮點(diǎn)數(shù)的絕對(duì)值 1.15 floor函數(shù):向下取整 1.16 fmod函數(shù):計(jì)算x對(duì)y的模 1.17 frexp函數(shù):將浮點(diǎn)數(shù)分為底數(shù)與指數(shù) 1.18 hypot函數(shù):計(jì)算直角三角形的斜邊 1.19 labs函數(shù):取長(zhǎng)整數(shù)的絕對(duì)值 1.20 ldexp、ldexpl函數(shù):冪計(jì)算 1.21 ldiv函數(shù):兩個(gè)長(zhǎng)整型數(shù)相除 1.22 log、logl函數(shù):計(jì)算自然對(duì)數(shù) 1.23 log10、log10l函數(shù):計(jì)算常用對(duì)數(shù) 1.24 max函數(shù):求兩個(gè)數(shù)中的最大者 1.25 min函數(shù):求兩個(gè)數(shù)中的最小者 1.26 modf、modfl函數(shù):分割數(shù)為整數(shù)部分和小數(shù)部分 1.27 poly函數(shù):計(jì)算多項(xiàng)式 1.28 pow函數(shù):指數(shù)函數(shù) 1.29 pow10函數(shù):指數(shù)函數(shù) 1.30 rand函數(shù):隨機(jī)數(shù)發(fā)生器 1.31 random函數(shù):隨機(jī)數(shù)發(fā)生器 1.32 randomize函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.33 sin函數(shù):正弦函數(shù) 1.34 sinh函數(shù):雙曲正弦函數(shù) 1.35 sqrt函數(shù):計(jì)算平方根 1.36 srand函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.37 tan、tanl函數(shù):正切函數(shù) 1.38 tanh、tanhl函數(shù):雙曲正切函數(shù) 第2章 字符串函數(shù) 2.1 atof函數(shù):把字符串轉(zhuǎn)換成浮點(diǎn)數(shù) 2.2 atoi函數(shù):將字符串轉(zhuǎn)換成整型數(shù) 2.3 atol函數(shù):將字符串轉(zhuǎn)換成長(zhǎng)整型數(shù) 2.4 ecvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.5 fcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.6 gcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換成字符串 2.7 itoa函數(shù):將整數(shù)值轉(zhuǎn)換為字符串 2.8 isalnum函數(shù):字母、數(shù)字判斷函數(shù) 2.9 isalpha函數(shù):字母判斷函數(shù) 2.10 isascii函數(shù):整數(shù)值的字符分類(lèi) 2.11 iscntrl函數(shù):控制字符判斷函數(shù) 2.12 isdigit函數(shù):數(shù)字判斷函數(shù) 2.13 isgraph函數(shù):打印字符判斷 2.14 islower函數(shù):小寫(xiě)字母判斷函數(shù) 2.15 isprint函數(shù):可打印字符判斷函數(shù) 2.16 isptmct函數(shù):標(biāo)點(diǎn)符號(hào)判斷函數(shù) 2.17 isspace函數(shù):空格等判斷函數(shù) 2.18 isupper函數(shù):大寫(xiě)字母判斷函數(shù) 2.19 isxdigit函數(shù):十六進(jìn)制數(shù)字判斷函數(shù) 2.20 ltoa函數(shù):將長(zhǎng)整值轉(zhuǎn)換為字符串 2.21 mbstowcs函數(shù):將多字節(jié)字符序列轉(zhuǎn)換成相應(yīng)的寬字符序列 2.22 mbtowc函數(shù):將多字節(jié)字符轉(zhuǎn)換成相應(yīng)的寬字符 2.23 stpcpy函數(shù):復(fù)制字符串 2.24 strcat函數(shù):拼接字符串 2.25 strchr函數(shù):查找給定字符 2.26 strcmp函數(shù):比較字符串 2.27 strcmpi函數(shù):比較字符串 2.28 strcpy函數(shù):復(fù)制字符串 2.29 strcspn函數(shù):查找不包含指定字符集子串的段 2.30 strdup函數(shù):將字符串復(fù)制到新建的位置 2.31 stricmp函數(shù):比較字符串 2.32 strlen函數(shù):獲取字符長(zhǎng)度
標(biāo)簽: 函數(shù) 書(shū)下載 速查手冊(cè)
上傳時(shí)間: 2014-12-25
上傳用戶(hù):水口鴻勝電器
本程序包括內(nèi)容有: 1、外控制線路接線 2、控制板接線 3、參考:三相異步電動(dòng)機(jī)Y-△起動(dòng)電路的工作原理 4、程序控制運(yùn)行流程 5、完整程序
標(biāo)簽: 單片機(jī) C語(yǔ)言 控制 電機(jī)
上傳時(shí)間: 2013-10-14
上傳用戶(hù):shenlan
主要內(nèi)容: 1、Sonix 26xx單片機(jī)簡(jiǎn)介;2、Sonix 26xx單片機(jī)特點(diǎn);3、Sonix 26xx單片機(jī)內(nèi)部結(jié)構(gòu);4、Sonix 26xx單片機(jī)資源;5、Sonix 26xx單片機(jī)ROM、RAM的映射;6、Sonix 26xx寄存器(ACC、PFLAG、PC、Y、Z、R);
上傳時(shí)間: 2013-10-29
上傳用戶(hù):遠(yuǎn)遠(yuǎn)ssad
第一章 序論……………………………………………………………6 1- 1 研究動(dòng)機(jī)…………………………………………………………..7 1- 2 專(zhuān)題目標(biāo)…………………………………………………………..8 1- 3 工作流程…………………………………………………………..9 1- 4 開(kāi)發(fā)環(huán)境與設(shè)備…………………………………………………10 第二章 德州儀器OMAP 開(kāi)發(fā)套件…………………………………10 2- 1 OMAP介紹………………………………………………………10 2-1.1 OMAP是什麼?…….………………………………….…10 2-1.2 DSP的優(yōu)點(diǎn)……………………………………………....11 2- 2 OMAP Architecture介紹………………………………………...12 2-2-1 OMAP1510 硬體架構(gòu)………………………………….…12 2-2.2 OMAP1510軟體架構(gòu)……………………………………...12 2-2.3 DSP / BIOS Bridge簡(jiǎn)述…………………………………...13 2- 3 TI Innovator套件 -- OMAP1510 ……………………………..14 2-2.1 General Purpose processor -- ARM925T………………...14 2-2.2 DSP processor -- TMS320C55x …………………………15 2-2.3 IDE Tool – CCS …………………………………………15 2-2.4 Peripheral ………………………………………………..16 第三章 在OMAP1510上建構(gòu)Embedded Linux System…………….17 3- 1 嵌入式工具………………………………………………………17 3-1.1 嵌入式程式開(kāi)發(fā)與一般程式開(kāi)發(fā)之不同………….….17 3-1.2 Cross Compiling的GNU工具程式……………………18 3-1.3 建立ARM-Linux Cross-Compiling 工具程式………...19 3-1.4 Serial Communication Program………………………...20 3- 2 Porting kernel………………………………………………….…21 3-2.1 Setup CCS ………………………………………….…..21 3-2.2 編譯及上傳Loader…………………………………..…23 3-2.3 編譯及上傳Kernel…………………………………..…24 3- 3 建構(gòu)Root File System………………………………………..…..26 3-3.1 Flash ROM……………………………………………...26 3-3.2 NFS mounting…………………………………………..27 3-3.3 支援NFS Mounting 的kernel…………………………..27 3-3.4 提供NFS Mounting Service……………………………29 3-3.5 DHCP Server……………………………………………31 3-3.6 Linux root 檔案系統(tǒng)……………………………….…..32 3- 4 啟動(dòng)及測(cè)試Innovator音效裝置…………………………..…….33 3- 5 建構(gòu)支援DSP processor的環(huán)境…………………………...……34 3-5.1 Solution -- DSP Gateway簡(jiǎn)介……………………..…34 3-5.2 DSP Gateway運(yùn)作架構(gòu)…………………………..…..35 3- 6 架設(shè)DSP Gateway………………………………………….…36 3-6.1 重編kernel……………………………………………...36 3-6.2 DEVFS driver…………………………………….……..36 3-6.3 編譯DSP tool和API……………………………..…….37 3-6.4 測(cè)試……………………………………………….…….37 第四章 MP3 Player……………………………………………….…..38 4- 1 MP3 介紹………………………………………………….…….38 4- 2 MP3 壓縮原理……………………………………………….….39 4- 3 Linux MP3 player – splay………………………………….…….41 4.3-1 splay介紹…………………………………………….…..41 4.3-2 splay 編譯………………………………………….…….41 4.3-3 splay 的使用說(shuō)明………………………………….……41 第五章 程式改寫(xiě)………………………………………………...…...42 5-1 程式評(píng)估與改寫(xiě)………………………………………………...…42 5-1.1 Inter-Processor Communication Scheme…………….....42 5-1.2 ARM part programming……………………………..…42 5-1.3 DSP part programming………………………………....42 5-2 程式碼………………………………………………………..……43 5-3 雙處理器程式開(kāi)發(fā)注意事項(xiàng)…………………………………...…47 第六章 效能評(píng)估與討論……………………………………………48 6-1 速度……………………………………………………………...48 6-2 CPU負(fù)載………………………………………………………..49 6-3 討論……………………………………………………………...49 6-3.1分工處理的經(jīng)濟(jì)效益………………………………...49 6-3.2音質(zhì)v.s 浮點(diǎn)與定點(diǎn)運(yùn)算………………………..…..49 6-3.3 DSP Gateway架構(gòu)的限制………………………….…50 6-3.4減少I(mǎi)O溝通……………….………………………….50 6-3.5網(wǎng)路掛載File System的Delay…………………..……51 第七章 結(jié)論心得…
上傳時(shí)間: 2013-10-14
上傳用戶(hù):a471778
1 . 系統(tǒng)概述C8051F330/1器件是完全集成的混合信號(hào)片上系統(tǒng)型MCU。下面列出了一些主要特性,有關(guān)某一產(chǎn)品的具體特性參見(jiàn)表1.1。 高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核(可達(dá)25MIPS) 全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi)) 真正10位200 ksps的16通道單端/差分ADC,帶模擬多路器 10位電流輸出DAC 高精度可編程的25MHz內(nèi)部振蕩器 8KB可在系統(tǒng)編程的FLASH存儲(chǔ)器 768字節(jié)片內(nèi)RAM 硬件實(shí)現(xiàn)的SMBus/ I2C、增強(qiáng)型UART和增強(qiáng)型SPI串行接口 4個(gè)通用的16位定時(shí)器 具有3個(gè)捕捉/比較模塊和看門(mén)狗定時(shí)器功能的可編程計(jì)數(shù)器/定時(shí)器陣列(PCA) 片內(nèi)上電復(fù)位、VDD監(jiān)視器和溫度傳感器 片內(nèi)電壓比較器 17個(gè)端口I/O(容許5V輸入)
標(biāo)簽: C8051F330D 混合信號(hào) 控制器 數(shù)據(jù)手冊(cè)
上傳時(shí)間: 2013-10-18
上傳用戶(hù):haohao
C51原理及相關(guān)基礎(chǔ)入門(mén)知識(shí) 第一章:C51 流程控制語(yǔ)句一、分類(lèi)條件語(yǔ)句、循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句。下面將對(duì)這些語(yǔ)句作詳細(xì)介紹。(1) 條件語(yǔ)句條件語(yǔ)句的一般形式為:if(表達(dá)式)語(yǔ)句 1;else語(yǔ)句 2;上述結(jié)構(gòu)表示: 如果表達(dá)式的值為非0(TURE)即真, 則執(zhí)行語(yǔ)句1, 執(zhí)行完語(yǔ)句1 從語(yǔ)句2 后開(kāi)始繼續(xù)向下執(zhí)行; 如果表達(dá)式的值為 0(FALSE)即假, 則跳過(guò)語(yǔ)句1 而執(zhí)行語(yǔ)句2。所謂表達(dá)式是指關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)合式。注意:1. 條件執(zhí)行語(yǔ)句中"else 語(yǔ)句2;"部分是選擇項(xiàng), 可以缺省, 此時(shí)條件語(yǔ)句變成:if(表達(dá)式) 語(yǔ)句1;表示若表達(dá)式的值為非 0 則執(zhí)行語(yǔ)句1 , 否則跳過(guò)語(yǔ)句1 繼續(xù)執(zhí)行。2. 如果語(yǔ)句1 或語(yǔ)句2 有多于一條語(yǔ)句要執(zhí)行時(shí), 必須使用"{"和"}" 把這些語(yǔ)句包括在其中, 此時(shí)條件語(yǔ)句形式為:if(表達(dá)式){語(yǔ)句體 1;}else{語(yǔ)句體 2;}3. 條件語(yǔ)句可以嵌套, 這種情況經(jīng)常碰到, 但條件嵌套語(yǔ)句容易出錯(cuò), 其原因主要是不知道哪個(gè)if 對(duì)應(yīng)哪個(gè)else。例如:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");對(duì)于上述情況,規(guī)定: else 語(yǔ)句與最近的一個(gè)if 語(yǔ)句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了使 else 與if(x>20||x<-10) 相匹配, 必須用花括號(hào)。如下所示:if(x>20||x<-10){if(y<=100&&y>x)printf("Good");}
標(biāo)簽: C51 入門(mén)知識(shí)
上傳時(shí)間: 2013-10-24
上傳用戶(hù):Sophie
linux 中斷和設(shè)備驅(qū)動(dòng) 本章介紹L i n u x內(nèi)核是如何維護(hù)它支持的文件系統(tǒng)中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統(tǒng)),再解釋一下L i n u x內(nèi)核的真實(shí)文件系統(tǒng)是如何得到支持的。L i n u x的一個(gè)最重要特點(diǎn)就是它支持許多不同的文件系統(tǒng)。這使 L i n u x非常靈活,能夠與許多其他的操作系統(tǒng)共存。在寫(xiě)這本書(shū)的時(shí)候, L i n u x共支持1 5種文件系統(tǒng): e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。無(wú)疑隨著時(shí)間的推移,L i n u x支持的文件系統(tǒng)數(shù)還會(huì)增加。
標(biāo)簽: linux 中斷 設(shè)備驅(qū)動(dòng)
上傳時(shí)間: 2013-11-13
上傳用戶(hù):zxh122
PC機(jī)之間串口通信的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.熟悉微機(jī)接口實(shí)驗(yàn)裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會(huì)串行通信程序的編制方法。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求主機(jī)接收開(kāi)關(guān)量輸入的數(shù)據(jù)(二進(jìn)制或十六進(jìn)制),從鍵盤(pán)上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過(guò)8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說(shuō)明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過(guò)調(diào)整乒乓開(kāi)關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤(pán)上按“R”鍵,系統(tǒng)將此時(shí)乒乓開(kāi)關(guān)的狀態(tài)讀入計(jì)算機(jī)I中,并顯示出來(lái),同時(shí)顯示經(jīng)串行通訊后,計(jì)算機(jī)II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶(hù)需要,在鍵盤(pán)按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤(pán)按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進(jìn)行出錯(cuò)處理,例如采用奇偶校驗(yàn),出錯(cuò)重傳或者采用接收方回傳和發(fā)送方確認(rèn)來(lái)保證發(fā)送和接收正確。 三、設(shè)計(jì)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱(chēng)為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時(shí),必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號(hào),是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來(lái)的對(duì)CPU請(qǐng)求發(fā)送信號(hào)的響應(yīng)信號(hào)。然后就開(kāi)始發(fā)送過(guò)程。在發(fā)送時(shí),每當(dāng)CPU送往發(fā)送緩沖器一個(gè)字符,發(fā)送器自動(dòng)為這個(gè)字符加上1個(gè)起始位,并且按照編程要求加上奇/偶校驗(yàn)位以及1個(gè)、1.5個(gè)或者2個(gè)停止位。串行數(shù)據(jù)以起始位開(kāi)始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗(yàn)位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時(shí)鐘TXC的下降沿同步的,也就是說(shuō)這些數(shù)據(jù)總是在發(fā)送時(shí)鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時(shí)指定的波特率因子,為發(fā)送器時(shí)鐘頻率的1、1/16或1/64。當(dāng)波特率指定為16時(shí),數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時(shí)鐘頻率的1/16。CPU通過(guò)數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時(shí),命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過(guò)檢測(cè)RxD引腳上的低電平來(lái)準(zhǔn)備接收字符,在沒(méi)有字符傳送時(shí)RxD端為高電平。8251A不斷地檢測(cè)RxD引腳,從RxD端上檢測(cè)到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動(dòng)接收控制電路中的一個(gè)計(jì)數(shù)器來(lái)進(jìn)行計(jì)數(shù),計(jì)數(shù)器的頻率等于接收器時(shí)鐘頻率。計(jì)數(shù)器是作為接收器采樣定時(shí),當(dāng)計(jì)數(shù)到相當(dāng)于半個(gè)數(shù)位的傳輸時(shí)間時(shí)再次對(duì)RxD端進(jìn)行采樣,如果仍為低電平,則確認(rèn)該數(shù)位是一個(gè)有效的起始位。若傳輸一個(gè)字符需要16個(gè)時(shí)鐘,那么就是要在計(jì)數(shù)8個(gè)時(shí)鐘后采樣到低電平。之后,8251A每隔一個(gè)數(shù)位的傳輸時(shí)間對(duì)RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進(jìn)入接收移位寄存器,通過(guò)校驗(yàn)并除去停止位,變成并行數(shù)據(jù)以后通過(guò)內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時(shí)發(fā)出有效狀態(tài)的RxRDY信號(hào)通知CPU,通知CPU8251A已經(jīng)收到一個(gè)有效的數(shù)據(jù)。一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)可以是5~8位。如果一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)不到8位,8251A會(huì)在移位轉(zhuǎn)換成并行數(shù)據(jù)的時(shí)候,自動(dòng)把他們的高位補(bǔ)成0。 五、系統(tǒng)總體設(shè)計(jì)方案根據(jù)系統(tǒng)設(shè)計(jì)的要求,對(duì)系統(tǒng)設(shè)計(jì)的總體方案進(jìn)行論證分析如下:1.獲取8位開(kāi)關(guān)量可使用實(shí)驗(yàn)臺(tái)上的8255A可編程并行接口芯片,因?yàn)橹灰@取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實(shí)驗(yàn)臺(tái)上的8位開(kāi)關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時(shí),雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個(gè)時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計(jì)算機(jī)之間的通信只采用異步通信。3.由于8251A本身沒(méi)有時(shí)鐘,需要外部提供,所以本設(shè)計(jì)中使用實(shí)驗(yàn)臺(tái)上的8253芯片的計(jì)數(shù)器2來(lái)實(shí)現(xiàn)。4:顯示和鍵盤(pán)輸入均使用DOS功能調(diào)用來(lái)實(shí)現(xiàn)。設(shè)計(jì)思路框圖,如下圖所示: 六、硬件設(shè)計(jì)硬件電路主要分為8位開(kāi)關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個(gè)部分。1.8位開(kāi)關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開(kāi)關(guān)的數(shù)據(jù)。此次設(shè)計(jì)在獲取8位開(kāi)關(guān)數(shù)據(jù)量時(shí)采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實(shí)驗(yàn)臺(tái)上CS1口,對(duì)應(yīng)端口為280H-283H,PA0-PA7接8個(gè)開(kāi)關(guān)。2.串行通信電路串行通信電路本設(shè)計(jì)中8253主要為8251充當(dāng)頻率發(fā)生器,接線如下圖所示。
上傳時(shí)間: 2013-12-19
上傳用戶(hù):小火車(chē)?yán)怖怖?/p>
AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)詳細(xì)介紹ATMEL公司開(kāi)發(fā)的AVR高速嵌入式單片機(jī)的結(jié)構(gòu);講述AVR單片機(jī)的開(kāi)發(fā)工具和集成開(kāi)發(fā)環(huán)境(IDE),包括Studio調(diào)試工具、AVR單片機(jī)匯編器和單片機(jī)串行下載編程;學(xué)習(xí)指令系統(tǒng)時(shí),每條指令均有實(shí)例,邊學(xué)習(xí)邊調(diào)試,使學(xué)習(xí)者看得見(jiàn)指令流向及操作結(jié)果,真正理解每條指令的功能及使用注意事項(xiàng);介紹AVR系列多種單片機(jī)功能特點(diǎn)、實(shí)用程序設(shè)計(jì)及應(yīng)用實(shí)例;作為提高篇,講述簡(jiǎn)單易學(xué)、適用AVR單片機(jī)的高級(jí)語(yǔ)言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版) 目錄 第一章ATMEL單片機(jī)簡(jiǎn)介1.1ATMEL公司產(chǎn)品的特點(diǎn)11.2AT90系列單片機(jī)簡(jiǎn)介21.3AT91M系列單片機(jī)簡(jiǎn)介2第二章AVR單片機(jī)系統(tǒng)結(jié)構(gòu)2.1AVR單片機(jī)總體結(jié)構(gòu)42.2AVR單片機(jī)中央處理器CPU62.2.1結(jié)構(gòu)概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運(yùn)算邏輯單元92.3AVR單片機(jī)存儲(chǔ)器組織102.3.1可下載的Flash程序存儲(chǔ)器102.3.2內(nèi)部和外部的SRAM數(shù)據(jù)存儲(chǔ)器102.3.3EEPROM數(shù)據(jù)存儲(chǔ)器112.3.4存儲(chǔ)器訪問(wèn)和指令執(zhí)行時(shí)序112.3.5I/O存儲(chǔ)器132.4AVR單片機(jī)系統(tǒng)復(fù)位162.4.1復(fù)位源172.4.2加電復(fù)位182.4.3外部復(fù)位192.4.4看門(mén)狗復(fù)位192.5AVR單片機(jī)中斷系統(tǒng)202.5.1中斷處理202.5.2外部中斷232.5.3中斷應(yīng)答時(shí)間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機(jī)的省電方式242.6.1休眠狀態(tài)242.6.2空閑模式242.6.3掉電模式252.7AVR單片機(jī)定時(shí)器/計(jì)數(shù)器252.7.1定時(shí)器/計(jì)數(shù)器預(yù)定比例器252.7.28位定時(shí)器/計(jì)數(shù)器0252.7.316位定時(shí)器/計(jì)數(shù)器1272.7.4看門(mén)狗定時(shí)器332.8AVR單片機(jī)EEPROM讀/寫(xiě)訪問(wèn)342.9AVR單片機(jī)串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機(jī)模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態(tài)寄存器ACSR462.11AVR單片機(jī)I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機(jī)存儲(chǔ)器編程612.12.1編程存儲(chǔ)器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機(jī)開(kāi)發(fā)工具3.1AVR實(shí)時(shí)在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機(jī)開(kāi)發(fā)下載實(shí)驗(yàn)器SL?AVR703.4AVR集成開(kāi)發(fā)環(huán)境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態(tài)開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)793.6SL?AVR*.ASM源文件說(shuō)明81第四章AVR單片機(jī)指令系統(tǒng)4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達(dá)式874.2尋址方式894.3數(shù)據(jù)操作和指令類(lèi)型924.3.1數(shù)據(jù)操作924.3.2指令類(lèi)型924.3.3指令集名詞924.4算術(shù)和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補(bǔ)指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉(zhuǎn)移指令1114.5.1無(wú)條件轉(zhuǎn)移指令1114.5.2條件轉(zhuǎn)移指令1144.6數(shù)據(jù)傳送指令1354.6.1直接數(shù)據(jù)傳送指令1354.6.2間接數(shù)據(jù)傳送指令1374.6.3從程序存儲(chǔ)器直接取數(shù)據(jù)指令1444.6.4I/O口數(shù)據(jù)傳送指令1454.6.5堆棧操作指令1464.7位指令和位測(cè)試指令1474.7.1帶進(jìn)位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長(zhǎng)間接調(diào)用子程序1624.8.2EIJMP--擴(kuò)展間接跳轉(zhuǎn)1634.8.3ELPM--擴(kuò)展裝載程序存儲(chǔ)器1644.8.4ESPM--擴(kuò)展存儲(chǔ)程序存儲(chǔ)器1644.8.5FMUL--小數(shù)乘法1664.8.6FMULS--有符號(hào)數(shù)乘法1664.8.7FMULSU--有符號(hào)小數(shù)和無(wú)符號(hào)小數(shù)乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號(hào)數(shù)乘法1694.8.10MULSU--有符號(hào)數(shù)與無(wú)符號(hào)數(shù)乘法1694.8.11SPM--存儲(chǔ)程序存儲(chǔ)器170 第五章AVR單片機(jī)AT90系列5.1AT90S12001725.1.1特點(diǎn)1725.1.2描述1735.1.3引腳配置1745.1.4結(jié)構(gòu)縱覽1755.2AT90S23131835.2.1特點(diǎn)1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點(diǎn)1865.3.2描述1875.3.3引腳配置1895.3.4開(kāi)發(fā)實(shí)驗(yàn)工具1905.4AT90S2333/44331915.4.1特點(diǎn)1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點(diǎn)1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點(diǎn)1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結(jié)構(gòu)2015.6.6定時(shí)器/計(jì)數(shù)器2125.6.7看門(mén)狗定時(shí)器 2175.6.8EEPROM讀/寫(xiě)2175.6.9串行外設(shè)接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數(shù)轉(zhuǎn)換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點(diǎn)2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點(diǎn)2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點(diǎn)2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點(diǎn)2405.10.2描述2415.10.3引腳配置2435.10.4開(kāi)發(fā)實(shí)驗(yàn)工具2455.11ATmega1612465.11.1特點(diǎn)2465.11.2描述2475.11.3引腳配置2475.12AVR單片機(jī)替代MCS51單片機(jī)249第六章實(shí)用程序設(shè)計(jì)6.1程序設(shè)計(jì)方法2506.1.1程序設(shè)計(jì)步驟2506.1.2程序設(shè)計(jì)技術(shù)2506.2應(yīng)用程序舉例2516.2.1內(nèi)部寄存器和位定義文件2516.2.2訪問(wèn)內(nèi)部 EEPROM2546.2.3數(shù)據(jù)塊傳送2546.2.4乘法和除法運(yùn)算應(yīng)用一2556.2.5乘法和除法運(yùn)算應(yīng)用二2556.2.616位運(yùn)算2556.2.7BCD運(yùn)算2556.2.8冒泡分類(lèi)算法2556.2.9設(shè)置和使用模擬比較器2556.2.10半雙工中斷方式UART應(yīng)用一2556.2.11半雙工中斷方式UART應(yīng)用二2566.2.128位精度A/D轉(zhuǎn)換器2566.2.13裝載程序存儲(chǔ)器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲(chǔ)的檢查2566.2.164×4鍵區(qū)休眠觸發(fā)方式2576.2.17多工法驅(qū)動(dòng)LED和4×4鍵區(qū)掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能12596.2.22驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能22596.2.23驗(yàn)證SLAVR實(shí)驗(yàn)器及具有DIP40封裝的口功能第七章AVR單片機(jī)的應(yīng)用7.1通用延時(shí)子程序2607.2簡(jiǎn)單I/O口輸出實(shí)驗(yàn)2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤(pán)掃描綜合程序2747.3.2LED鍵盤(pán)掃描綜合程序2757.3.3在LED上實(shí)現(xiàn)字符8的循環(huán)移位顯示程序2757.3.4電腦放音機(jī)2777.3.5鍵盤(pán)掃描程序2857.3.6十進(jìn)制計(jì)數(shù)顯示2867.3.7廉價(jià)的A/D轉(zhuǎn)換器2897.3.8高精度廉價(jià)的A/D轉(zhuǎn)換器2947.3.9星星燈2977.3.10按鈕猜數(shù)程序2987.3.11漢字的輸入3047.4復(fù)雜實(shí)用程序3067.4.110位A/D轉(zhuǎn)換3067.4.2步進(jìn)電機(jī)控制程序3097.4.3測(cè)脈沖寬度3127.4.4LCD顯示8字循環(huán)3187.4.5LED電腦時(shí)鐘3247.4.6測(cè)頻率3307.4.7測(cè)轉(zhuǎn)速3327.4.8AT90S8535的A/D轉(zhuǎn)換334第八章BASCOMAVR的應(yīng)用8.1基于高級(jí)語(yǔ)言BASCOMAVR的單片機(jī)開(kāi)發(fā)平臺(tái)3408.2BASCOMAVR軟件平臺(tái)的安裝與使用3418.3AVR I/O口的應(yīng)用3458.3.1LED發(fā)光二極管的控制3458.3.2簡(jiǎn)易手控廣告燈3468.3.3簡(jiǎn)易電腦音樂(lè)放音機(jī)3478.4LCD顯示器3498.4.1標(biāo)準(zhǔn)LCD顯示器的應(yīng)用3498.4.2簡(jiǎn)單游戲機(jī)--按鈕猜數(shù)3518.5串口通信UART3528.5.1AVR系統(tǒng)與PC的簡(jiǎn)易通信3538.5.2PC控制的簡(jiǎn)易廣告燈3548.6單總線接口和溫度計(jì)3568.7I2C總線接口和簡(jiǎn)易IC卡讀寫(xiě)器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類(lèi)型及其擴(kuò)展名3659.1.3附注和擴(kuò)充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對(duì)安裝完成的軟件進(jìn)行注冊(cè)3679.3ICC AVR導(dǎo)游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環(huán)境3709.4.1編譯一個(gè)單獨(dú)的文件3709.4.2創(chuàng)建一個(gè)新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應(yīng)用構(gòu)筑向?qū)?719.4.6狀態(tài)窗口3719.4.7終端仿真3719.5C庫(kù)函數(shù)與啟動(dòng)文件3729.5.1啟動(dòng)文件3729.5.2常用庫(kù)函數(shù)3729.5.3字符類(lèi)型庫(kù)3739.5.4浮點(diǎn)運(yùn)算庫(kù)3749.5.5標(biāo)準(zhǔn)輸入/輸出庫(kù)3759.5.6標(biāo)準(zhǔn)庫(kù)和內(nèi)存分配函數(shù)3769.5.7字符串函數(shù)3779.5.8變量參數(shù)函數(shù)3799.5.9堆棧檢查函數(shù)3799.6AVR硬件訪問(wèn)的編程3809.6.1訪問(wèn)AVR的底層硬件3809.6.2位操作3809.6.3程序存儲(chǔ)器和常量數(shù)據(jù)3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對(duì)內(nèi)存地址3849.6.9C任務(wù)3859.6.10中斷操作3869.6.11訪問(wèn)UART3879.6.12訪問(wèn)EEPROM3879.6.13訪問(wèn)SPI3889.6.14相對(duì)轉(zhuǎn)移/調(diào)用的地址范圍3889.6.15C的運(yùn)行結(jié)構(gòu)3889.6.16匯編界面和調(diào)用規(guī)則3899.6.17函數(shù)返回非整型值3909.6.18程序和數(shù)據(jù)區(qū)的使用3909.6.19編程區(qū)域3919.6.20調(diào)試3919.7應(yīng)用舉例*3929.7.1讀/寫(xiě)口3929.7.2延時(shí)函數(shù)3929.7.3讀/寫(xiě)EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環(huán)移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機(jī)簡(jiǎn)介398附錄2AT94K系列現(xiàn)場(chǎng)可編程系統(tǒng)標(biāo)準(zhǔn)集成電路401附錄3指令集綜合404附錄4AVR單片機(jī)選型表408參 考 文 獻(xiàn)412
上傳時(shí)間: 2013-11-08
上傳用戶(hù):xcy122677
隨著單片機(jī)性能不斷提高而價(jià)格卻不斷下降, 單片機(jī)控制在越來(lái)越多的領(lǐng)域得以應(yīng)用。按照傳統(tǒng)的模式, 在整個(gè)項(xiàng)目開(kāi)發(fā)過(guò)程中, 先根據(jù)控制系統(tǒng)要求設(shè)計(jì)原理圖, PCB 電路圖繪制, 電路板制作, 元器件的焊接, 然后進(jìn)行軟件編程, 通過(guò)仿真器對(duì)系統(tǒng)硬件和軟件調(diào)試, 最后將調(diào)試成功的程序固化到單片機(jī)中。這一過(guò)程中的主要問(wèn)題是, 應(yīng)用程序需要在硬件完成的情況下才能進(jìn)行調(diào)試。雖然有的軟件可以進(jìn)行模擬調(diào)試, 但是對(duì)于一些復(fù)雜的程序如人機(jī)交互程序, 在沒(méi)有硬件的時(shí)候, 沒(méi)有界面的真實(shí)感, 給調(diào)試帶來(lái)困難。在軟硬件的配合中如需要修改硬件, 要重新制板, 在時(shí)間和投入上帶來(lái)很大的麻煩。縱觀整個(gè)過(guò)程, 無(wú)論是從硬件成本上, 還是從調(diào)試周期上, 傳統(tǒng)開(kāi)發(fā)模式的效率有待提高。能否只使用一種開(kāi)發(fā)工具兼顧仿真, 調(diào)試, 制板, 以及最大限度的軟件模擬來(lái)作為單片機(jī)的開(kāi)發(fā)平臺(tái), 用它取代編程器、仿真器、成品前的硬件測(cè)試等工作是廣大單片機(jī)開(kāi)發(fā)者的夢(mèng)想。 PROTEUS 軟件介紹為了更加直觀具體地說(shuō)明Proteus 軟件的實(shí)用價(jià)值, 本文以一具體的TAXI 的計(jì)價(jià)器和計(jì)時(shí)器電路板的設(shè)計(jì)過(guò)程為例。其電路板要實(shí)現(xiàn)的功能是:㈠計(jì)時(shí)功能(相當(dāng)于時(shí)鐘);㈡里程計(jì)價(jià)功能:兩公里以?xún)?nèi)價(jià)格為4 元, 以后每一公里加0.7 元, 不足一公里取整(如10.3 公里取11 公里);㈢通過(guò)鍵盤(pán)輸入里程, 模擬計(jì)算里程費(fèi), 實(shí)現(xiàn)Y= (X- 2)*0.7+4 的簡(jiǎn)單計(jì)算。基于上述功能, 選用ATMEL 公司生產(chǎn)的通用芯片AT89C51 單片機(jī)構(gòu)成應(yīng)用系統(tǒng)。AT89C51 是內(nèi)含8 位4K 程序存儲(chǔ)器, 128B 數(shù)據(jù)存儲(chǔ)器, 2 個(gè)定時(shí)器/計(jì)數(shù)器的通用芯片。系統(tǒng)開(kāi)發(fā)環(huán)境采用ProteusISIS 6。2.1 計(jì)價(jià)器模擬系統(tǒng)硬件構(gòu)成系統(tǒng)主要由一個(gè)AT89C51 單片機(jī)、74LS373、74LS240、矩陣鍵盤(pán)、4 位7 段數(shù)碼管等組成。通用AT89C51 單片機(jī)芯片作為整個(gè)電路的核心部分、74LS373 作為L(zhǎng)ED 段選控制、74LS240四路反相器則為4 位共陰極7 段數(shù)碼管提供位選通信號(hào)、矩陣鍵盤(pán)輸入控制信號(hào)。
標(biāo)簽: Proteus 單片機(jī) 出租車(chē)計(jì)價(jià)器
上傳時(shí)間: 2013-11-09
上傳用戶(hù):木子葉1
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1