解壓包包含了C語言入門經典教程和Visuak c++軟件 【基本簡介】 Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業程序員進行軟件開發的首選工具。 雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平臺。 Visual C++6.0不僅是一個C++編譯器,而且是一個基于Windows操作系統的可視化集成開發環境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發環境。 在Visual C++ 6.0 企業版的基礎上集成官方的SP6升級補丁制作而成!免序列號,安裝完即可使用,無需再打補丁! 【使用方法】 有些朋友反應在安裝后出現 "Error spawning error" 可以看看下面綠色軟件找到的一些解決方案: 點擊VC“TOOLS(工具)”—>“Option(選擇)”—>“Directories(目錄)”重新設置“Excutable Fils、Include Files、Library Files、Source Files”的路徑。很多情況可能就一個盤符的不同(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
上傳時間: 2013-10-09
上傳用戶:hui626493
CH451 使用一個系統時鐘信號來同步芯片內部的各個功能部件,例如,當系統時鐘信號的頻率變高時,顯示驅動刷新將變快、按鍵響應時間將變短、上電復位信號的寬度將變窄、看門狗周期也將變短。一般情況下,CH451 的系統時鐘信號是由內置的阻容振蕩提供的,這樣就不再需要任何外圍電路,但內置RC 振蕩的頻率受電源電壓的影響較大,當電源電壓降低時,系統時鐘信號的頻率也隨之降低。在某些實際應用中,可能希望CH451 提供更長或者更短的顯示刷新周期、按鍵響應時間等,這時就需要調節系統時鐘信號的頻率。CH451 提供了CLK 引腳,用于外接阻容振蕩。當在CLK 引腳與地GND 之間跨接電容后,系統時鐘信號的頻率將變低;當在CLK 引腳與正電源VCC 之間跨接電阻后,系統時鐘信號的頻率將變高。因為CH451 的系統時鐘信號被用于芯片內部的所有功能部件,所以其頻率不宜進行大幅度的調節,一般情況下,跨接電容的容量在5pF 至100pF 之間,跨接電阻的阻值在20KΩ至500KΩ之間。跨接一個47pF 的電容則頻率降低為一半,跨接一個47KΩ的電阻則頻率升高為兩倍。另外,CH451 的CLK 引腳可以直接輸入外部的系統時鐘信號,但外部電路的驅動能力不能小于±2mA。CH451 在CLKO 引腳提供了系統時鐘信號的二分頻輸出,對于一些不要求精確定時的實際應用,可以由CLKO 引腳向單片機提供時鐘信號,簡化外圍電路。 單片機接口程序下面提供了U1(MCS-51 單片機)與U2(CH451)的接口程序,供參考。;**********************;需要主程序定義的參數CH451_DCLK BIT P1.7 ;串行數據時鐘,上升沿激活CH451_DIN BIT P1.6 ;串行數據輸出,接CH451 的數據輸入CH451_LOAD BIT P1.5 ;串行命令加載,上升沿激活CH451_DOUT BIT P3.2 ;INT0,鍵盤中斷和鍵值數據輸入,接CH451 的數據輸出CH451_KEY DATA 7FH ;存放鍵盤中斷中讀取的鍵值
上傳時間: 2013-11-22
上傳用戶:671145514
注: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
Port1.0 使用說明 Port1.0是作者本人在進行電子制作和維修過程中萌發的一個思路。在電子制作、維修中,經常要用到多路的脈沖信號或是要測量多路的脈沖信號。本軟件可通過微機并口向用戶提供多達12路的標準TTL脈沖信號,同時可進行5路的標準TTL脈沖信號的波形顯示。 軟件的使用方法極為簡單。輸出信號時,只要選中或取消引腳號,就能在相應的引腳得到相應的脈沖信號(統一為選中為高電平,取消為低電平),“清零”按鈕為對應該組的所有信號清零。 輸入信號的波形顯示,按“開始”按鈕為開始進行顯示,“停止”為暫停。 在設置面板中,“數據讀入時間間隔”為讀入時間的設定。“并行打印端口設置”為顯示微機中存在的可用打印端口,并可以設定本軟件當前要使用的端口(如只有一個可用端口,就為缺省端口,如有多個可用端口軟件自動選擇最后一個可用端口為當前使用端口)。 本軟件的輸入波形顯示沒有運用VXD等的技術支持,在速度上不能做到高頻的實時性,只能用在低速的環境下。這個版本沒有提供多數據的連續輸出。這些問題在下一個版本中得到改進和支持。 本軟件可使用在微機的打印適配器、打印機等各種的并口設備檢修中,還可用在各種數字電路、單片機的制作和維修中。在下一版本在這方面會有更大的支持。 * 注意:只支持win9x * 注意:并口的輸入/輸出電平為0-5伏TTL,不能連接高電壓高電流的電路,以免塤壞主板或打印適配器。要連接COMS的0-12伏時請用戶自做轉換電路再連接。 * 注意:在使用本軟件時最好不要同時使用打印機之類的并口設備。如本程序已運行請先關閉,再使用并口設備。
上傳時間: 2014-04-18
上傳用戶:paladin
《Verilog HDL程序設計與實踐》系統講解了Verilog HDL的基本語法和高級應用技巧,對于每個知識點都按照開門見山、自頂向下的方式來組織內容,在介紹相關知識點之前,先告訴讀者其出現的背景、本質特征以及應用場景,讓讀者不僅掌握基本語法,還能夠獲得深層次理解。從結構上講,《Verilog HDL程序設計與實踐》以Verilog HDL的各方面開發為主線,遵照硬件應用系統開發的基本步驟和思路進行詳細講解,并穿插介紹ISE開發工具的操作技巧與注意事項,具備很強的可讀性、指導性和實用性。
上傳時間: 2013-11-21
上傳用戶:silenthink
半導體的產品很多,應用的場合非常廣泛,圖一是常見的幾種半導體元件外型。半導體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為 PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array 雖然半導體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導體元件真正的的核心,是包覆在膠體或陶瓷內一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內部的晶片,圖三是以顯微鏡將內部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當引發過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發光二極體,其內部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負極的腳上,經由銲線連接正極的腳。當LED通過正向電流時,晶片會發光而使LED發亮,如圖六所示。 半導體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產品,稱為IC封裝製程,又可細分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節中將簡介這兩段的製造程序。
上傳時間: 2013-11-04
上傳用戶:372825274
注: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-23
上傳用戶:mqien
PE可執行文件的鑲入式程序的編寫方法及示例(鑲入式后門程序&原程序) 由于Microsoft公司的Windows系統是當前大部分個人電腦所使用的操作系統 主要包括win95,98,me,nt4,2000,xp等,而這些系統所使用的可執行文件的格式基 本上是PE結構的。這里的可執行文件的鑲入式程序就是針對PE結構的可執行文件。 這里先簡單說一下PE文件框架結構: DOS MZ header DOS stub//在不支持 PE文件格式的操作系統中它將簡單顯示一個錯誤提示 PE header//含了許多PE裝載器用到的重要信息 Section table//每個Section的信息 Section 1 Section 2 Section 3.... 由于SectionAlignment 塊對齊的原因每個Section之間都會產生很多空間, 鑲入式程序的代碼可以放在Section之間的空位上,比較方便的方法是把代碼放在 最后一個Section的末尾,然后更改Misc.VirtualSize和SizeOfRawData這兩個位 于Section table的IMAGE_SECTION_HEADER結構數組的成員。如果代碼十分的長, 有時候會造成鑲入的代碼無法被完全加載而產生錯誤,這時需要更改SizeOfImage 在IMAGE_NT_HEADERS 結構中。 在不同的WINDOWS版本中api調用地址也有不同,為了解決這個問題可以更改引 入表讓加載器
上傳時間: 2015-01-13
上傳用戶:luopoguixiong
C#語言自C/C++演變而來。但是,它現代、簡單、完全面向對象和類型安全。如果您是C/C++程序員,學習曲線將會很平坦。許多C#語句直接借用您所喜愛的語言,包括表達式和操作符。假如不仔細看,簡直會把它當成C++。
標簽: 語言
上傳時間: 2014-11-28
上傳用戶:181992417
這里以開始定義的PASCAL語言子集的源程序作為詞法分析程序的輸入數據。在詞法分析中,自文 件頭開始掃描源程序字符,一旦發現符合“單詞”定義的源程序字符串時,將它翻譯成固定長度的單 詞內部表示,并查填適當的信息表。經過詞法分析后,源程序字符串(源程序的外部表示)被翻譯成 具有等長信息的單詞串(源程序的內部表示),并產生兩個表格:常數表和標識符表,它們分別包含 了源程序中的所有常數和所有標識符。
上傳時間: 2013-12-28
上傳用戶:英雄