C函數速查手冊 出版社:人民郵電出版社 《C函數速查手冊》中所講的C語言函數按照功能順序和字母順序進行排序,讀者既可以按照功能順序查找,也可以按照字母順序學習。《C函數速查手冊》不僅適合于C語言初學者學習使用,而且也可以作為中、高級C語言開發人員的參考手冊。 目錄 第1章 數學函數 1.1 _clear87函數:清除浮點狀態字 1.2 _status87函數:取浮點狀態字 1.3 abs函數:求整數的絕對值 1.4 acos、acosl函數:反余弦函數 1.5 asin、asinl函數:反正弦函數 1.6 atan函數:反正切函數 1.7 atan2、atan2l函數:計算Y/X的反正切值 1.8 cabs函數:計算復數的模 1.9 ceil函數:向上取整 1.10 cos函數:余弦函數 1.11 cosh函數:雙曲余弦函數 1.12 div函數:求兩個整數相除的商和余數 1.13 exp函數:指數函數 1.14 fabs函數:求浮點數的絕對值 1.15 floor函數:向下取整 1.16 fmod函數:計算x對y的模 1.17 frexp函數:將浮點數分為底數與指數 1.18 hypot函數:計算直角三角形的斜邊 1.19 labs函數:取長整數的絕對值 1.20 ldexp、ldexpl函數:冪計算 1.21 ldiv函數:兩個長整型數相除 1.22 log、logl函數:計算自然對數 1.23 log10、log10l函數:計算常用對數 1.24 max函數:求兩個數中的最大者 1.25 min函數:求兩個數中的最小者 1.26 modf、modfl函數:分割數為整數部分和小數部分 1.27 poly函數:計算多項式 1.28 pow函數:指數函數 1.29 pow10函數:指數函數 1.30 rand函數:隨機數發生器 1.31 random函數:隨機數發生器 1.32 randomize函數:初始化隨機數發生器 1.33 sin函數:正弦函數 1.34 sinh函數:雙曲正弦函數 1.35 sqrt函數:計算平方根 1.36 srand函數:初始化隨機數發生器 1.37 tan、tanl函數:正切函數 1.38 tanh、tanhl函數:雙曲正切函數 第2章 字符串函數 2.1 atof函數:把字符串轉換成浮點數 2.2 atoi函數:將字符串轉換成整型數 2.3 atol函數:將字符串轉換成長整型數 2.4 ecvt函數:將浮點數轉換為字符串 2.5 fcvt函數:將浮點數轉換為字符串 2.6 gcvt函數:將浮點數轉換成字符串 2.7 itoa函數:將整數值轉換為字符串 2.8 isalnum函數:字母、數字判斷函數 2.9 isalpha函數:字母判斷函數 2.10 isascii函數:整數值的字符分類 2.11 iscntrl函數:控制字符判斷函數 2.12 isdigit函數:數字判斷函數 2.13 isgraph函數:打印字符判斷 2.14 islower函數:小寫字母判斷函數 2.15 isprint函數:可打印字符判斷函數 2.16 isptmct函數:標點符號判斷函數 2.17 isspace函數:空格等判斷函數 2.18 isupper函數:大寫字母判斷函數 2.19 isxdigit函數:十六進制數字判斷函數 2.20 ltoa函數:將長整值轉換為字符串 2.21 mbstowcs函數:將多字節字符序列轉換成相應的寬字符序列 2.22 mbtowc函數:將多字節字符轉換成相應的寬字符 2.23 stpcpy函數:復制字符串 2.24 strcat函數:拼接字符串 2.25 strchr函數:查找給定字符 2.26 strcmp函數:比較字符串 2.27 strcmpi函數:比較字符串 2.28 strcpy函數:復制字符串 2.29 strcspn函數:查找不包含指定字符集子串的段 2.30 strdup函數:將字符串復制到新建的位置 2.31 stricmp函數:比較字符串 2.32 strlen函數:獲取字符長度
上傳時間: 2014-12-25
上傳用戶:水口鴻勝電器
12864取模程序2
上傳時間: 2013-11-10
上傳用戶:tou15837271233
12864取模程序
上傳時間: 2014-12-25
上傳用戶:z1191176801
STC12系列單片機與PC機在數據采集系
上傳時間: 2013-11-03
上傳用戶:shirleyYim
單片機軟件,3D8光立方取模軟件。
上傳時間: 2013-11-21
上傳用戶:jyycc
lcd漢字取模軟件
上傳時間: 2013-10-09
上傳用戶:18752787361
AVR單片機技術原理 AVR單片機介紹 單片機又稱單片微控制器,它是把一個計算機系統集成到一個芯片上,概括的講:一塊芯片就成了一臺計算機。單片機技術是計算機技術的一個分支,是簡易機器人的核心元件。 1997年,由ATMEL公司挪威設計中心的A先生與V先生利用ATMEL公司的Flash新技術, 共同研發出RISC精簡指令集的高速8位單片機,簡稱AVR。[編輯本段]AVR單片機的優勢特征 單片機已廣泛地應用于軍事、工業、家用電器、智能玩具、便攜式智能儀表和機器人制作等領域,使產品功能、精度和質量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機種類很多,在簡易機器人制作和創新中,為什么選用AVR單片機呢? 一、簡便易學,費用低廉 首先,對于非專業人員來說,選擇AVR單片機的最主要原因,是進入AVR單片機開發的門檻非常低,只要會操作電腦就可以學習AVR單片機的開發。單片機初學者只需一條ISP下載線,把編輯、調試通過的軟件程序直接在線寫入AVR單片機,即可以開發AVR單片機系列中的各種封裝的器件。AVR單片機因此在業界號稱“一線打天下”。 其次,AVR單片機便于升級。AVR程序寫入是直接在電路板上進行程序修改、燒錄等操作,這樣便于產品升級。 再次,AVR單片機費用低廉。學習AVR單片機可使用ISP在線下載編程方式(即把PC機上編譯好的程序寫到單片機的程序存儲器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進行所有AVR單片機的開發應用,這可節省很多開發費用。程序存儲器擦寫可達10000次以上,不會產生報廢品。 二、高速、低耗、保密 首先,AVR單片機是高速嵌入式單片機: 1、AVR單片機具有預取指令功能,即在執行一條指令時,預先把下一條指令取進來,使得指令可以在一個時鐘周期內執行。 2、多累加器型,數據處理速度快。AVR單片機具有32個通用工作寄存器,相當于有32條立交橋,可以快速通行。 3、中斷響應速度快。AVR單片機有多個固定中斷向量入口地址,可快速響應中斷。 其次,AVR單片機耗能低。對于典型功耗情況,WDT關閉時為100nA,更適用于電池供電的應用設備。有的器件最低1.8 V即可工作。 再次,AVR單片機保密性能好。它具有不可破解的位加密鎖Lock Bit技術,保密位單元深藏于芯片內部,無法用電子顯微鏡看到。 三、I/O口功能強,具有A/D轉換等電路 1. AVR單片機的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實情況。工業級產品,具有大電流(灌電流)10~40 mA,可直接驅動可控硅SCR或繼電器,節省了外圍驅動器件。 2. AVR單片機內帶模擬比較器,I/O口可用作A/D轉換,可組成廉價的A/D轉換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機可組成零外設元件單片機系統,使該類單片機無外加元器件即可工作,簡單方便,成本又低。 4. AVR單片機可重設啟動復位,以提高單片機工作的可靠性。有看門狗定時器實行安全保護,可防止程序走亂(飛),提高了產品的抗干擾能力。 四、有功能強大的定時器/計數器及通訊接口 定時/計數器T/C有8位和16位,可用作比較器。計數器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號的AVR單片機有3~4個PWM,是作電機無級調速的理想器件。 AVR單片機有串行異步通訊UART接口,不占用定時器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標準整數頻率下,而波特率可達576K。
上傳時間: 2013-10-18
上傳用戶:二十八號
用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數轉換等。本文利用這一功能設計了一個數字電容表,可測量容量小于2微法的電容器的容量,采用3位半數字顯示,最大顯示值為1999,讀數單位統一采用毫微法(nf),量程分四檔,讀數分別乘以相應的倍率。電路工作原理 本數字電容表以電容器的充電規律作為測量依據,測試原理見圖1。電源電路圖。 壓E+經電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內部構造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變為1。以P3.6口的輸出電平為依據,用AT89C2051內部的定時器T0對充電時間進行計數,再將計數結果顯示出來即得出測量結果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數碼顯示電路等 圖3 部分組成。AT89C2051內部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關S1選擇使用,電壓比較器的基準電壓由5V電源電壓經R6、RP1、R7分壓后得到,調節RP1可調整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數以10倍遞增。由于單片機內部P1.2口的上拉電阻經實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯關系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數碼管DS1-DS4、電阻R8-R14等組成數碼顯示電路。本機采用動態掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數碼管的動態掃描位驅動碼輸出。這里采用了共陰數碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅動數碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅動數碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
6.1 存儲器概述1、存儲器定義 在微機系統中凡能存儲程序和數據的部件統稱為存儲器。2、存儲器分類 微機系統中的存儲器分為內存和外存兩類。3、內存儲器的組成 微機系統中的存儲器由半導體存儲器芯片組成。 單片機內部有存儲器,當單片機內部的存儲器不夠用時,可以外擴存儲器。外擴的存儲器就是由半導體存儲器芯片組成的。 當用半導體存儲器芯片組成內存時必須滿足個要求:①每個存儲單元一定要有8個位。②存儲單元的個數滿足系統要求。注意:內存的容量是指它所含存儲單元的個數(每個存儲單元一定要有8個位,可以存儲8位二進制信息)。6.2 半導體存儲器由于集成工藝水平的限制,一個半導體存儲器芯片上所集成的單元個數和每個單元的位數有限,用它構成內存時必須滿足:內存容量和一個存儲單元有8個位的要求,因此內存常常由多個半導體存儲器芯片構成。 半導體存儲器芯片的存儲容量是指其上所含的基本存儲電路的個數,用單元個數×位數表示。掌握:① 已知內存容量和半導體存儲器芯片的容量,求用半導體存儲器芯片構成內存時需要的芯片個數。② 內存的容量=末地址—首地址+1 半導體存儲器芯片分成ROM和RAM兩類。6.2.1 ROM芯片6.2.2 RAM芯片6.3 MCS-51單片機存儲器擴展 在微機系統中存儲器是必不可少。MCS51系列單片機內部的存儲器不夠用時需要外擴半導體存儲器芯片,外擴的半導體存儲器芯片與MCS51系列單片機通過三總線交換信息。二者連接時必須考慮如下問題:1.二者地址線、數據線、控制線的連接。2.工作速度的匹配。CPU在取指令和存儲器讀或寫操作時,是有固定時序的,用戶要根據這些來確定對存儲器存取速度的要求,或在存儲器已經確定的情況下,考慮是否需要Tw周期,以及如何實現。3.片選信號的產生。目前生產的存儲器芯片,單片的容量仍然是有限的,通常總是要由許多片才能組成一個存儲器,這里就有一個如何產生片選信號的問題。4.CPU的驅動能力 。在設計CPU芯片時,一般考慮其輸出線的直流負載能力,為帶一個TTL負載。現在的存儲器一般都為MOS電路,直流負載很小,主要的負載是電容負載,故在小型系統中,CPU是可以直接與存儲器相連的,而較大的系統中,若CPU的負載能力不能滿足要求,可以(就要考慮CPU能否帶得動,需要時就要加上緩沖器,)由緩沖器的輸出再帶負載。6.3.1 ROM芯片的擴展6.3.2 RAM芯片的擴展
標簽: 存儲器接口
上傳時間: 2013-11-22
上傳用戶:moerwang
隨著單片機性能不斷提高而價格卻不斷下降, 單片機控制在越來越多的領域得以應用。按照傳統的模式, 在整個項目開發過程中, 先根據控制系統要求設計原理圖, PCB 電路圖繪制, 電路板制作, 元器件的焊接, 然后進行軟件編程, 通過仿真器對系統硬件和軟件調試, 最后將調試成功的程序固化到單片機中。這一過程中的主要問題是, 應用程序需要在硬件完成的情況下才能進行調試。雖然有的軟件可以進行模擬調試, 但是對于一些復雜的程序如人機交互程序, 在沒有硬件的時候, 沒有界面的真實感, 給調試帶來困難。在軟硬件的配合中如需要修改硬件, 要重新制板, 在時間和投入上帶來很大的麻煩。縱觀整個過程, 無論是從硬件成本上, 還是從調試周期上, 傳統開發模式的效率有待提高。能否只使用一種開發工具兼顧仿真, 調試, 制板, 以及最大限度的軟件模擬來作為單片機的開發平臺, 用它取代編程器、仿真器、成品前的硬件測試等工作是廣大單片機開發者的夢想。 PROTEUS 軟件介紹為了更加直觀具體地說明Proteus 軟件的實用價值, 本文以一具體的TAXI 的計價器和計時器電路板的設計過程為例。其電路板要實現的功能是:㈠計時功能(相當于時鐘);㈡里程計價功能:兩公里以內價格為4 元, 以后每一公里加0.7 元, 不足一公里取整(如10.3 公里取11 公里);㈢通過鍵盤輸入里程, 模擬計算里程費, 實現Y= (X- 2)*0.7+4 的簡單計算。基于上述功能, 選用ATMEL 公司生產的通用芯片AT89C51 單片機構成應用系統。AT89C51 是內含8 位4K 程序存儲器, 128B 數據存儲器, 2 個定時器/計數器的通用芯片。系統開發環境采用ProteusISIS 6。2.1 計價器模擬系統硬件構成系統主要由一個AT89C51 單片機、74LS373、74LS240、矩陣鍵盤、4 位7 段數碼管等組成。通用AT89C51 單片機芯片作為整個電路的核心部分、74LS373 作為LED 段選控制、74LS240四路反相器則為4 位共陰極7 段數碼管提供位選通信號、矩陣鍵盤輸入控制信號。
上傳時間: 2013-11-09
上傳用戶:木子葉1