這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統的解決方法為使問題討論更加清晰在適當的地方給出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數據書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經通過測試這并不意味著你可以隨時把這些程序加到你的應用系統或工程中有些地方必須首先經過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發是一個好的決定你會發現使用C 進行開發將使你的工程開發和維護的時間大大減少如果你已經擁有Keil C51 那你已經選擇了一個非常好的開發工具我發現Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據你所用的開發工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計 這本書向你展示了用8051進行工程設計時的許多問題希望你讀完本書后對8051的認識能有較大的提高如果你現在還沒有夠買C編譯器你應該馬上去買一個采用C語言可是你的系統設計更簡單維護更方便這本書覆蓋面較大從C和匯編的代碼優化到8051的網絡設計再到模糊控制希望你從本書中學到的知識對你今后的系統設計有所幫助
上傳時間: 2013-10-12
上傳用戶:ommshaggar
第一章 51單片機c語言編程介紹這是一本關于 Intel 80C51 以及廣大的 51 系列單片機的書 這本書介紹給讀者一些新的技術 使你的 8051 工程和開發過程變得簡單 請注意 這本書的目的可不是教你各種8051 嵌入式系統的解決方法為使問題討論更加清晰 在適當的地方給出了程序代碼 我們以討論項目的方法來說明每章碰到的問題 所有的代碼都可在附帶的光盤上找到 你必須熟系 C 和 8051匯編 因為本書不是一本C和匯編的指導書 你可以買到不少關于ANSI C的書 最佳選擇當然是Intel的數據書 可從你的芯片供應商處免費索取 和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序 這些程序已經通過測試 這并不意味著你可以隨時把這些程序加到你的應用系統或工程中 有些地方必須首先經過修改才能結合到你的程序中這本書將教你充分使用你的工具 如果你只有 8051 的匯編程序 你也可以學習該書和使用這些例子 但是你必須把 C 語言的程序裝入你的匯編程序中 這對懂得 C 語言和 8051匯編程序指令的人來說并不是一件困難的事如果你有 C 編譯器的話 那恭喜你 使用 C 語言進行開發是一個好的決定 你會發現使用 C 進行開發將使你的工程開發和維護的時間大大減少 如果你已經擁有 Keil C51 那你已經選擇了一個非常好的開發工具 我發現 Keil 軟件包能夠提供最好的支持 本書支持Keil C 的擴展 如果你有其它的開發工具像 Archimedes 和 Avocet 這本書也能很好地為你服務 但你必須根據你所用的開發工具改變一些 Keil 的特殊指令在書的一些地方有硬件圖 實例程序在這些硬件上運行 這些圖繪制地不是很詳細主要是方框圖 但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書 而不是用來學習各種系統設計 通過本書 你可以了解給定一定的硬件和軟件設計之后 8051 的各種性能 希望你能從本書中獲取靈感 并有助于你的設計 使你豁然開朗 當然 我希望你也能夠從本書中學到有用的知識 使之能夠提升你的設計
上傳時間: 2013-11-16
上傳用戶:穿著衣服的大衛
二次諧波回旋管所需磁場僅為基模的一半,極大地降低了對工作磁場的要求。基于回旋管線性和自洽非線性理論設計了一只0.5 THz回旋管,采用TE56模為工作模式,分析了多項關鍵參數對注波互作用效率的影響,當其工作電壓為49 kV,工作電流為5 A,工作磁場為時9.94 T,效率為22.52%,輸出功率可達55 kW。
上傳時間: 2013-11-14
上傳用戶:haiya2000
傳感器網絡示例源程序使用說明書前言:本說明書主要介紹的是如何在電腦上使用串口調試助手軟件來實現對網關、路由和終端三種設備組網并讀取短地址,以及通過串口助手發送指令來實現控制節點的指示燈狀態(開關),讀取節點光敏值等內容一、程序的使用(必需先安裝‘ft232usbdriver2.0’驅動)安裝網關與計算機連接的USB 轉串口驅動, 驅動位于“ \ 軟件\ ” 目錄下“ft232usbdriver2.0”。(當我們把仿真器或者網關連接上電腦以后,硬件會自動提示您安裝驅動, 這時只要按安裝向導提示默認選擇就可以完成USB 轉串口的驅動安裝)二、下載程序1.C 盤新建目錄命名為“Texas Instruments”2.將‘傳感器網絡示例源程序’下的文件夾‘ZStack-1.4.2’復制到C 盤的‘TexasInstruments’文件夾內3、在C 盤的目錄下打開如下圖示的工程文件
上傳時間: 2013-10-19
上傳用戶:ANRAN
《DSP原理及其C編程開發技術》是一本關于數字波形產生、數字濾波器設計、數字信號處理工具及技術應用的最新綜合性教材。全書共包含9章及7個附錄,前8章分別介紹了DSP開發系統、DSK的輸入輸出、C6x系列處理器的體系結構和指令集、有限沖激響應濾波器、無限沖激響應濾波器、快速傅里葉變換、自適應濾波器、程序代碼優化技術等內容,第9章為DSP的應用及學生的一些課程設計。每章開始主要介紹基本理論,然后給出一些具體例子和必要的背景知識,最后給出了一些結論性的實驗。通過大量實驗和工程課題的DSP實時實現實例,該書為讀者提供了學習數字信號處理的快速而實用的方法。為了便于讀者理解,書中提到的所有程序實例都可以從網站上免費下載。
上傳時間: 2013-10-12
上傳用戶:牧羊人8920
本書用C語言編寫了科研和工程中最常用的166個算法,這些算法包括復數運算、多項式的計算、矩陣運算、線性代數方程組的求解、非線性方程與方程組的求解、代數插值法、數值積分法、常微分方程(組)初值問題的求解、擬合與逼近、特殊函數、極值問題、隨機數產生與統計描述、查找、排序、數學變換與濾波等。同時結合這些算法列舉了將近100個應用實例,對其進行驗證和分析。. 本書適用于C語言算法的初學者,也可以作為高等院校師生的學習參考用書。...
上傳時間: 2013-11-17
上傳用戶:段璇琮*
Visual C++通信編程工程實例精解(附盤)
上傳時間: 2013-10-23
上傳用戶:mikesering
隨著樂高NXT機器人系統在國內中、小學的深入推廣,有必要對樂高NXT機器人系統的相關問題尤其是二次開發問題做進一步深入探討、研究。利用樂高LEGO MINDSTORMS NXT機器人系統的SDK文件FantomSDK,借助C++編程,結合LEGO MINDSTORMS NXT Bluetooth Developer Kit文件,代替NXT-G、RoboLab軟件,實現對樂高NXT設備的完全控制,為青少年、科技教師運用樂高NXT機器人系統進行科技創新提供幫助與支持。
上傳時間: 2013-11-04
上傳用戶:jinyao
注:1.這篇文章斷斷續續寫了很久,畫圖技術也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調制波,通過調整輸出信號占空比,從而達到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調壓原理:PWM 有好幾種方法。而Arduino 因為電源和實現難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實現難點在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環可以看出,完成一個PWM 周期,共循環255 次。 假設bright=100 時候,在第0~100 次循環中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環是高電平,155 次循環是低電平。 如果忽略指令執行時間的話,這次的PWM 波形占空比為100/255,如果調整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設置了每次for 循環之后,將bright 加一,并且當bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應該是大家想的比較多的想法。 然后介紹一個簡單一點的。思維風格完全不同。不過對于驅動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實用意義。我們軟件模擬的價值在于:他能將任意的數字IO 口變成PWM 引腳。 當一片Arduino 要同時控制多個PWM,并且沒有其他重任務的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設置 int StartPWMPin = 0, EndPWMPin = 13; //設置D0~D13為PWM 引腳 int PWMResolution = 255; //設置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環是為14盞燈做漸亮的。每次Arduino loop()循環, //brights 自增一次。直到brights=255時候,將brights 置零重新計數。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計數一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-08
上傳用戶:dingdingcandy
pkpm2005破解版安裝方式: 一、Windows XP下PKPM的安裝方法: 1. 先安裝正版的 PKPM 。 2. 將本機的 system32\WinSCard.DLL 改名為 SysCard.DLL 。 3. 將本破解包里的 WinSCard.INI 復制到 C: 盤根目錄。 4. 將本破解包里的 WinSCard.DLL 復制到系統system32目錄。 5. 將本破解包里的 WinSCard.DLL 復制到pkpm里各模塊目錄下。 二、Win 7下PKPM的安裝方法: 1.解壓后有兩個文件夾:(PKPM2005.12.17)和(PKPM2005.12.17綜合破解方案) 先打開前一個文件夾安裝正版的 PKPM 。 2. 打開后一個文件夾將本機的 system32\WinSCard.DLL 改名為 SysCard.DLL 。 3. 將本破解包里的 WinSCard.INI 復制到 C: 盤根目錄。 4. 將本破解包里的 WinSCard.DLL 復制到系統system32目錄。 5. 將本破解包里的 WinSCard.DLL 復制到pkpm里各模塊目錄下(就是安裝好的程序中的所有文件夾)。 6。還有WinSCard.INI 復制到 C: 盤根目錄需要在安全模式下進行。 注意:(windows7中修改系統文件需要獲得TrustedInstaller權限,具體修改方法:在WINDOWS7下要刪除某些文件或文件夾時提示“您需要TrustedInstaller提供的權限才能對此文件進行更改”,這種情況是因為我們在登陸系統時的管理員用戶名無此文件的管理權限,而此文件的管理權限是“TrustedInstaller”這個用戶,在控制面板的用戶管理里面是看不到的。要想對這個文件或文件夾進行操作,可以用以下方法進行:在此文件或文件夾上點右鍵,選“屬性”→“安全”,這時在“組或用戶名”欄可以看到一個“TrustedInstaller”用戶名,而登陸系統的管理員用戶名沒有此文件的“完全控制”權限,這時我們可以選擇“高級”→“所有者”→“編輯”,在“將所有者更改為”欄中選擇登陸系統的管理員用戶名,然后點“應用”,這時出現“如果您剛獲得此對象的所有權,在查看或更改權限之前,您將需關閉并重新打開此對象的屬性”對話框,點“確定”,再點兩個“確定”,在“安全”對話框中選“編輯”,出現了該文件或文件夾“的權限”對話框,在上面的欄中選中登陸系統的管理員用戶名,在下面的欄中選擇全部“允許”,然后點“應用”,再點兩個“確定”,這時你就可以擁有該文件或文件夾的更改權限了。) 這里有兩份破解包,雖然有些文件相同,但針對不同用戶,可能一個包不能破解,所以推出兩包破解綜合方案,這兩個包文件名分別為:pkpmcr1.rar和pkpmcr2.rar,下載后,分別解壓,先運行pkpmcr1.rar中的setup.bat文件,如果提示:“一個文件正在使用,已復制0個文件。”并運行PKPM后發現未能破解,請將pkpmcr2.rar包中WinSCard.DLL文件復制到PKPM各模塊所在文件夾中,即可完成破解,本站試用過結構、建筑、鋼結構三個模塊,均可用,如需應用到工程實際中,請與正版對比后,斟酌使用,謝謝。本站對其未對比就使用此破解版導致的不良后果,不負責任,切記。本貼已關閉,有事請在本版開新貼說明。 這是PKPM2005.12.17版綜合破解方案的第二包,文件名是pkpmcr2.rar,應用請遵循第一貼的說明,這二個包是有區別的,雖然文件名和大小及其屬性相同,但還是有區別的,請看兩個包中的說明文件,如果包1未能成功破解,請用包2,謝謝. 這里FTP里有以下軟件可以下載用戶名xudown密碼down ftp://219.153.14.92/APM2005.exe ftp://219.153.14.92/PKPM2005.12.17.rar ftp://219.153.14.92/比較工具.exe ftp://219.153.14.92/橋梁通安裝狗.exe ftp://219.153.14.92/正版鎖計算模型的結果.rar
上傳時間: 2013-11-25
上傳用戶:jiangfire