一、實驗目的1.掌握定時/計數器、輸入/輸出接口電路設計方法。 2.掌握中斷控制編程技術的方法和應用。3.掌握8086匯編語言程序設計方法。 二、實驗內容與要求 微機燈光控制系統主要用于娛樂場所的彩燈控制。系統的彩燈共有12組,在實驗時用12個發光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個燈依次點亮;12個燈同時閃爍等八種。系統可以通過鍵盤和顯示屏的人機對話,將8種模式進行任意個數、任意次序的連接組合。系統不斷重復執行輸入的模式組合,直至鍵盤有任意一個鍵按下,退出燈光控制系統,返回DOS系統。2. 提高要求:音樂彩燈控制系統,根據音樂的變化控制彩燈的變化,主要有以下幾種:第一種為音樂節奏控制彩燈,按音樂的節拍變換彩燈花樣。第二種音律的強弱(信號幅度大?。┛刂撇薀?。強音時,燈的亮度加大,且被點亮的數目增多。第三種按音調高低(信號頻率高低)控制彩燈。低音時,某一部分燈點亮;高音時,另一部分點亮。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、設計原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個點亮。其控制過程如下: 若以“ 1 ”代表霓虹燈點亮,以“ 0 ”代表霓虹燈熄滅,則開始時刻, n 段霓虹燈的控制信號均為“ 0 ”,隨后,控制器將一幀 n 個數據送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對應的控制數據為“ 1 ”,其余的數據均為零,即 1000 … 000 。當 n 個數據送完以后,控制器停止送數,保留這種狀態(定時) 0.2 秒,此時,第 1 段霓虹燈被點亮,其余霓虹燈熄滅。隨后,控制器又在極短的時間內將數據 1100 … 000 送至霓虹燈的控制端,并定時 0.2 秒,這段時間,前兩段霓虹燈被點亮。由于送數據的過程很快,我們觀測到的效果是第一段霓虹燈被點亮 0.2 秒后,第 2 段霓虹燈接著被點亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數據 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點亮。 只要改變送至每段霓虹燈的數據,即可改變霓虹燈的顯示方式,顯然,我們可以通過合理地組合數據(編程)來得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統設計思路如下:1) 采集8位開關輸入信號,若輸入數據為0時,將其修改為1。確定輸入的硬件接口電路。采樣輸入開關量,并存入NUM的軟件程序段。2) 以12個燈依次點亮為例(即燈光控制模式M1),考慮與其相應的燈光顯示代碼數據。確定顯示代碼數據輸出的接口電路。輸出一個同期顯示代碼的軟件程序段(暫不考慮時隙的延時要求)。3) 應用定時中斷服務和NUM數據,實現t=N×50ms的方法。4) 實現某一種模式燈光顯示控制中12個時隙一個周期,共重復四次的控制方法。要求在初始化時采樣開關輸入數據NUM,并以此控制每一時隙的延時時間;在每一時隙結束時,檢查有無鍵按下,若是退出鍵按下,則結束燈光控制,返回DOS系統,若是其他鍵就返回主菜單,重新輸入控制模式數據。5) 通過人機對話,輸入8種燈光顯示控制模式的任意個數、任意次序連接組合的控制模式數據串(以ENTER鍵結尾)。對輸入的數據進行檢查,若數據都在1 - 8之間,則存入INBUF;若有錯誤,則通過屏幕顯示輸入錯誤,準備重新輸入燈光顯示控制模式數據。6) 依次讀取INBUF中的控制模式數據進行不同模式的燈光顯示控制,在沒有任意鍵按下的情況下,系統從第一個控制模式數據開始,順序工作到最后一個控制模式數據后,又返回到第一個控制模式數據,不斷重復循環進行燈光顯示控制。7) 本系統的軟件在總體上有兩部份,即主程序(MAIN)和實時中斷服務程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設計方法。即確定有關功能模塊,并畫出以功能模塊表示的主程序(MAIN)流程框圖和定時中斷服務程序的流程框圖。 六、硬件電路設計 以微機實驗平臺和PC機資源為硬件設計的基礎,不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負責數據的輸入與輸出,可以輸出數據控制發光二極管的亮滅和讀取乒乓開關的數據。實驗時可以將8255的A口、B口和一組發光二極管相連,C口和乒乓開關相連。2.8253定時/計數器8253定時/計數器和8259中斷控制器一起實現時隙定時。本設計的定時就是采用的t=N×50ms的方法,50ms由8253定時/計數器的計數器0控制定時,N是在中斷服務程序中軟件計時。8253的OUT0接到IRQ2,產生中斷請求信號。8253定時/計數器定時結束會發出中斷信號,進入中斷服務程序。3.PC機資源本設計除了利用PC機作為控制器之外,還利用了PC機的鍵盤和顯示器。鍵盤主要是輸入控制模式數據,顯示器就是顯示提示信息。 七、軟件設計 軟件主要分為主程序(MAIN)和中斷服務程序(INTT),主程序包含系統初始化、讀取乒乓開關、讀取控制模式數據以及按鍵處理等模塊。中斷服務程序主要是定時時間到后根據控制模式數據點亮相應的發光二極管。1.主程序主程序的程序流程圖如圖1所示。
上傳時間: 2014-04-05
上傳用戶:q986086481
《現代微機原理與接口技術》實驗指導書 TPC-H實驗臺C語言版 1.實驗臺結構1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標有“總線”區引出數據總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應信號DACK1 及AEN信號,供學生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉換器定時器/計數器串行接口實驗使用。圖34) 邏輯電平開關電路如圖-4所示實驗臺右下方設有8個開關K7~K0,開關撥到“1”位置時開關斷開,輸出高電平。向下打到“0”位置時開關接通,輸出低電平。電路中串接了保護電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設有8個發光二極管及相關驅動電路(輸入端L7~L0),當輸入信號為“1” 時發光,為“0”時滅6) 七段數碼管顯示電路如圖-6所示實驗臺上設有兩個共陰極七段數碼管及驅動電路,段碼為同相驅動器,位碼為反相驅動器。從段碼與位碼的驅動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數字或符號。
上傳時間: 2013-11-22
上傳用戶:sssnaxie
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
單片機應用技術選編(3) 目錄 第一章 單片機的綜合應用技術1.1 8098單片機存儲器的擴展技術1.2 87C196KC單片機的DMA功能1.3 MCS?96系列單片機高精度接口設計1.4 利用PC機的8096軟件開發系統1.5 EPROM模擬器及其應用1.6 MCS?51智能反匯編軟件的設計與實現1.7 MCS?51系列軟件設計與調試中一個值得注意的問題1.8 PL/M語言在微機開發系統中的應用特性1.9 MCS?51單片機開發系統中的斷點產生1.10 C語言實型數與單片機浮點數之間數據格式的轉換1.11 微機控制系統初始化問題探討1.12 MCS?51中斷系統中的復位問題1.13 工業控制軟件的編程原則與編程技巧1.14 CMOS微處理器的功耗特性及其功耗控制原理和應用1.15 基于PLL技術的A/D、D/A轉換器的設計1.16 智能儀器監控程序的模塊化設計1.17 用軟件邏輯開關實現單片機的地址重疊使用1.18 8259A可編程中斷控制器與8031單片機接口電路及編程1.19 NSC810及其在各種微處理機中的應用1.20 MC146818在使用中的幾個問題1.21 交流伺服系統中采用8155兼作雙口信箱存儲器的雙微機結構1.22 實用漢字庫芯片的制作 第二章 新一代存儲器及邏輯器件2.1 新一代非易失性記憶元件--閃爍存儲器2.2 Flash存儲器及應用2.3 隨機靜態存儲器HM628128及應用2.4 非揮發性隨機存儲器NOVRAM2.5 ASIC的設計方法和設計工具2.6 GAL器件的編程方法及其應用2.7 第三代可編程邏輯器件--高密EPLD輯器件EPLDFPGA設計轉換 第三章 數據采集、前向通道與測量技術 3.1 溫度傳感器通道接口技術 3.2 LM135系列精密溫度傳感器的原理和應用 3.3 儀表放大器AD626的應用 3.4 5G7650使用中應注意的問題 3.5 用集成運算放大器構成電荷放大器組件 3.6 普通光電耦合器的線性應用 3.7 高線性光耦合型隔離放大器的研制 3.8 一種隔離型16位單片機高精度模擬量接口3.9 單片16位A/D轉換器AD7701及其與8031單片機的串行接口3.10 雙積分型A/D轉換器與MCS?51系列單片機接口的新方法3.11 8031單片機與AD574A/D轉換器的最簡接口3.12 8098單片機A/D轉換接口及其程序設計3.13 提高A/D轉換器分辨率的實用方案3.14 用CD4051提高8098單片機內10位A/D轉換器分辨率的方法3.15 單片機實現16位高速積分式A/D轉換器3.16 434位A/D轉換器MAX133(134)的原理及應用3.17 AD574A應用中應注意的問題 3.18 CC14433使用中應注意的問題 3.19 高精度寬范圍數據采集系統的溫度補償途徑 3.20 縮短ICL7135A/D采樣程序時間的一種方法 3.21 用單片機實現的數字式自動增益控制 3.22 自動量程轉換電路 3.23 雙積分型A/D的自動量程切換電路 3.24 常用雙積分型A/D轉換器自換程功能的擴展3.25 具有自動量程轉換功能的單片機A/D接口3.26 混合型數據采集器SDM857的功能與應用3.27 高速數據采集系統的傳輸接口3.28 SJ2000方向鑒別位移脈寬頻率檢測多用途專用集成電路3.29 多路高速高精度F/D專用集成電路3.30 數控帶通濾波器的實現及其典型應用 第四章 控制系統與后向通道接口技術4.1 模糊邏輯與模糊控制4.2 自動控制技術的新發展--模糊控制技術4.3 模糊控制表的確定原則4.4 變結構模糊控制系統的實驗研究4.5 新型集成模糊數據相關器NLX1124.6 功率固態繼電器的應用4.7 雙向功率MOS固態繼電器4.8 SSR小型固態繼電器與PSSR功率參數固態繼電器4.9 JGD型多功能固態繼電器的原理和應用4.10 光電耦合器在晶閘管觸發電路中的應用4.11 一種廉價的12位D/A轉換器AD667及接口4.12 利用單片機構成高精度PWM式12位D/A4.13 三相高頻PWM模塊SLE45204.14 專用集成電路TCA785及其應用4.15 單片溫度控制器LM3911的應用4.16 工業測控系統軟件設計的若干問題研究 第五章 人機對話通道接口技術5.1 廉價實用的8×8鍵盤5.2 單片機遙控鍵盤接口5.3 對8279鍵盤顯示接口的改進5.4 用單片機8031的七根I/O線實現對鍵盤與顯示器的控制5.5 通用8位LED數碼管驅動電路ICM7218B5.6 利用條圖顯示驅動器LM3914組成100段LED顯示器的方法5.7 液晶顯示器的多極驅動方式5.8 點陣式液晶顯示屏的構造與應用5.9 點陣式液晶顯示器圖形程序設計5.10 DMF5001N點陣式液晶顯示器和8098單片機的接口技術5.11 8098單片機與液晶顯示控制器HD61830接口5.12 利用PL/M語言對點陣式液晶顯示器進行漢字程序設計5.13 語音合成器TMS 5220的開發與應用5.14 制作T6668語音系統的一些技術問題5.15 單片機、單板機在屏顯系統中的應用 第六章 多機通訊網絡與遙控技術6.1 用雙UART構成的可尋址遙測點裝置--兼談如何組成系統6.2 IBM?PC微機與8098單片機的多機通訊6.3 80C196單片機與IBM?PC機的串行通訊6.4 IBM?PC與MCS?51多機通訊的研究6.5 半雙工方式傳送的單片機多機通信接口電路及軟件設計6.6 單片機與IBM/PC機通訊的新型接口及編程6.7 用光耦實現一點對多點的總線式通訊電路6.8 用EPROM作為通訊變換器實現多機通訊6.9 ICL232單電源雙RS?232發送/接收器及其應用6.10 DTMF信號發送/接收電路芯片MT8880及應用6.11 通用紅外線遙控系統6.12 8031單片機在遙控解碼方面的應用 第七章 電源、電壓變換及電源監視7.1 用于微機控制系統的高可靠性供電方法7.2 80C31單片機防掉電和抗干擾電源的設計7.3 可編程基準電壓源7.4 電源電壓監視器件M81953B7.5 檢出電壓可任意設定的電源電壓監測器7.6 低壓降(LDO?Low Drop?Out)穩壓器7.7 LM317三端可調穩壓器應用二例7.8 三端集成穩壓器的擴流應用 第八章 可靠性與抗干擾技術8.1 數字電路的可靠性設計實踐與體會8.2 單片機容錯系統的設計與實現8.3 微機測控系統的接地、屏蔽和電源供給8.4 ATE的抗干擾及接地技術8.5 微處理器監控電路MAX690A/MAX692A8.6 電測儀表電路的實用抗干擾技術8.7 工業鍍鋅電阻爐溫度控制機的抗干擾措施8.8 一種簡單的抗干擾控制算法 ? 第九章 綜合應用實例9.1 蔬菜灌溉相關參數的自動檢測9.2 MH?214溶解氧測定儀9.3 COP840C單片機在液晶線控空調電腦控制器中的應用9.4 單片機在電飯煲中的應用9.5 用PIC單片機制作電扇自然風發生器 第十章 文章摘要 一、 單片機的綜合應用技術1.1 摩托羅拉8位單片機的應用和開發1.2 NS公司的COP800系列8位單片機1.3 M68HC11與MCS?51單片機功能比較1.4 8098單片機8M存儲空間的擴展技術1.5 80C196KC單片機的外部設備事件服務器1.6 一種多進程實時控制系統的軟件設計1.7 開發單片機的結構化高級語言PL/M?961.8 應用軟件開發中的菜單接口技術1.9 單片機用戶系統EPROM中用戶程序的剖析方法1.10 BJS?98硬件、軟件典型實驗1.11 FORTH語言系統的開發應用1.12 在Transputer系統上用并行C語言編程的特點1.13 一種軟件擴展8031內部計數器簡易方法1.14 MCS 51系列單片機功能測試方法研究1.15 用CD 4520B設計對稱輸出分頻器的方法1.16 多路模擬開關CC 4051功能擴展方法1.17 條形碼技術及其應用系統的設計與實現? 二、 新一代存儲器及邏輯器件2.1 一種多功能存儲器M6M 72561J2.2 串行E2PROM及其在智能儀器中的應用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM編程卡2.5 電子盤的設計與實現2.6 NS GAL器件的封裝標簽、類型代碼和編程結構間的關系 三、數據采集、前向通道與測量技術3.1 儀器用精密運放CA3193的應用3.2 集成電壓?電流轉換器XTR100的應用3.3 瞬時浮點放大器及應用3.4 隔離放大器289J及其應用3.5 ICS?300系列新型加速度傳感器3.6 一種實用的壓力傳感器接口電路3.7 霍爾傳感器的應用3.8 一種對多個傳感器進行調理的方法3.9 兩線制壓力變送器3.10 小信號雙線變送器XTR101的使用3.11 兩線長距離頻率傳輸壓力變送器的設計3.12 測溫元件AD590及其應用3.13 熱敏電阻應用動態3.14 一種組合式A/D、D/A轉換器的設計3.15 一種復合式A/D轉換器3.16 TLC549串行輸出ADC及其應用3.17 提高A/D轉換精度的方法--雙通道A/D轉換3.18 模數轉換器ICL7135的0~3.9999V顯示3.19 微型光耦合器3.20 一種高精度的分壓器電路3.21 利用單片機軟件作熱電偶非線性補償3.22 三線制RTD測量電路及應用中要注意的問題3.23 微伏信號高精度檢測中極易被忽略的問題3.24 寬范圍等分辨率精密測量法3.25 傳感器在線校準系統3.26 一種高精度的熱敏電阻測溫電路3.27 超聲波專用集成電路LM1812的原理與應用3.28 旋轉變壓器數字化檢測及其在8098單片機控制伺服系統中的應用3.29 單片集成兩端式感溫電流源AD590在溫度測控系統中的應用?3.30 數字示波器和單片機構成的自動測試系統3.31 霍爾效應式功率測量研究 四、 控制系統與后向通道接口技術4.1 模糊邏輯與模糊控制(實用模糊控制講座之一)4.2 紅綠燈模糊控制器(實用模糊控制講座之二)4.3 國外模糊技術新產品4.4 交流串級調速雙環模糊PI單片機控制系統4.5 時序控制專用集成電路LT156及其應用4.6 電池充電控制集成電路4.7 雙向晶閘管4.8 雙向可控硅的自觸發電路及其應用4.9 微處理器晶閘管頻率自適應觸發器4.10 F18系列晶閘管模塊介紹4.11 集成電路UAA4002的原理及應用4.12 IGBT及其驅動電路4.13 TWH8751應用集錦4.14 結構可變式計算機工業控制系統設計4.15 單片機控制的音響編輯器 五、 人機對話通道接口技術5.1 5×7點陣LED智能顯示器的應用5.2 基于8031串行口的LED電子廣告牌5.3 點陣液晶顯示控制器與計算機的接口技術5.4 單片機控制可編程液晶顯示系統5.5 大規模語言集成電路應用綜述5.6 最新可編程語言集成電路MSSIO61的應用5.7 用PC打印機接口擴展并行接口 六、 多機系統、網絡與遙控技術6.1 用8098單片機構成的分布式測溫系統6.2 平衡接口EIA?422和EIA485設計指南6.3 I2C BUS及其系統設計6.4 摩托羅拉可尋址異步接受/發送器6.5 用5V供電的RS232C接口芯片6.6 四通道紅外遙控器6.7 TA7333P和TA7657P的功能及應用 七、 電源、電壓變換及電源監視7.1 單片機控制的可控硅三相電源調壓穩壓技術7.2 集成開關電源控制器MC34063的原理及應用7.3 LM299精密基準電壓源7.4 集成過壓保護器的應用7.5 3V供電的革命7.6 HMOS微機的超低電源電壓運行技術 八、 可靠性與抗干擾設計8.1 淺談艦船電磁兼容與可靠性 九、 綜合應用實例9.1 8098單片機交流電氣參數測試系統的設計和應用9.2 主軸回轉誤差補償控制器9.3 FWK?A型大功率發射臺微機控制系統9.4 高性能壓控振蕩型精密波形發生器ICL8038及應用9.5 單片機COP 840C在洗碗機中的應用
上傳時間: 2013-11-10
上傳用戶:lijinchuan
6位LED顯示接口說明:P0.0---P0.7 通過7406 驅動LED的8個段;P2.0---P2.5 通過UN2003驅動6個LED 的公共端
上傳時間: 2013-10-26
上傳用戶:VRMMO
C語言編程基礎:1. 十六進制表示字節0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數賦給一個8位的字節變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執行該語句,即死循環。語句后的分號表示空循環體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
上傳時間: 2013-11-02
上傳用戶:zengduo
光盤內容1.1例 程 “例程”文件夾中為各章節的程序代碼,均在作者的目標板上(自行開發)調試通過,以確保程序正確。n Keil C對中文文件、目錄以及空格等可能無法編譯連接,所以若要正確調試,須確保所有文件、目錄為連續英文名或數字。n 這些程序應用到其他C8051Fxxx系列單片機時,要確保各個操作寄存器的名稱、地址與各個控制位相一致,否則需要修改。很多寄存器位的位置并不相同,所以移植程序時,使用者要參考F040寄存器和移植對象單片機的寄存器,以確保正確操作。1.2 原理圖及pcb封裝“原理圖及pcb封裝”文件夾里包含作者制作的C8051F040PCB封裝和原理圖引腳定義文件c8051f040.ddb。其中PCB封裝與Silicon Laboratories公司(原Cygnal公司)提供的TQ100封裝稍有不同(在cygnalpcb文件中): 作者所做引腳長為2.5 mm,而cygnalpcb文件中的引腳長為1.3 mm。加長引腳焊盤是為了方便手工焊芯片。用戶可根據需要和習慣選擇封裝。
上傳時間: 2013-11-19
上傳用戶:
第1章 單片機系統概述1.1 AVR系列單片機的特點1.2 AT90系列單片機簡介第2章 AT90LS8535單片機的基礎知識2.1 AT90LS8535單片機的總體結構2.1.1 AT90LS8535單片機的中央處理器2.1.2 AT90LS8535單片機的存儲器組織2.1.3 AT90LS8535單片機的I/O接口2.1.4 AT90LS8535單片機的內部資源2.1.5 AT90LS8535單片機的時鐘電路2.1.6 AT90LS8535單片機的系統復位2.1.7 AT90LS8535單片機的節電方式2.1.8 AT90LS8535單片機的芯片引腳2.2 AT90LS8535單片機的指令系統2.2.1 匯編指令格式2.2.2 尋址方式2.2.3 偽指令2.2.4 指令類型及數據操作方式2.3 應用程序設計2.3.1 程序設計方法2.3.2 應用程序舉例第3章 AT90LS8535單片機的C編程3.1 支持高級語言編程的AVR系列單片機3.2 AVR的C編譯器3.3 ICC AVR介紹3.3.1 安裝ICC AVR3.3.2 設置ICC AVR3.4 用ICC AVR編寫應用程序3.5 下載程序文件第4章 數據類型、運算符和表達式4.1 ICC AVR支持的數據類型4.2 常量與變量4.2.1 常量4.2.2 變量4.3 AT90LS8535的存儲空間4.4 算術和賦值運算4.4.1 算術運算符和算術表達式4.4.2 賦值運算符和賦值表達式4.5 邏輯運算4.6 關系運算4.7 位操作4.7.1 位邏輯運算4.7.2 移位運算4.8 逗號運算第5章 控制流5.1 C語言的結構化程序設計5.1.1 順序結構5.1.2 選擇結構5.1.3 循環結構5.2 選擇語句5.2.1 if語句5.2.2 switch分支5.2.3 選擇語句的嵌套5.3 循環語句5.3.1 while語句5.3.2 do…while語句5.3.3 for語句5.3.4 循環語句嵌套5.3.5 break語句和continue語句第6章 函數6.1 函數的定義6.1.1 函數的定義的一般形式6.1.2 函數的參數6.1.3 函數的值6.2 函數的調用6.2.1 函數的一般調用6.2.2 函數的遞歸調用6.2.3 函數的嵌套使用6.3 變量的類型及其存儲方式6.3.1 局部變量6.3.2 局部變量的存儲方式6.3.3 全局變量6.3.4 全局變量的存儲方式6.4 內部函數和外部函數6.4.1 內部函數6.4.2 外部函數第7章 指針第8章 結構體和共用體第9章 AT90LS8535的內部資源第10章 AT90LS8535的人機接口編程第11章 AT90LS8535的外圍擴展第12章 AT90LS8535的通信編程第13章 系統設計中的程序處理方法
上傳時間: 2013-10-31
上傳用戶:smthxt
文中針對某型聲納維修訓練系統的通信需求,結合聲納信號發生器的特點,提出了基于C/S模式的通信控制模塊設計方案。模塊采用Winsock網絡編程技術實現了客戶機與服務器間高速局域網通信,服務器響應客戶機的請求后,輸出數字控制量并利用PCI-1711的12位D/A轉換功能,將數字控制量轉換為模擬信號,從而實現聲納信號發生器任意波形產生。該信號發生器輸出信號的幅度、頻率、脈寬、持續時間等參數均可通過網絡通信方式設置,并易于調節。本系統控制靈活,具有較高的實用價值。
上傳時間: 2013-10-10
上傳用戶:hanbeidang
Rabbit 32Bit RTOS 是基于ARM系列的32位RTOS。 Rabbit 是一個類似于UCOS II的實時嵌入式OS。它具有同步通信機制有:事件,信號量,互斥信號,消息郵箱,消息隊列。帶有一個字符設備緩沖區管理模塊。比較UCOS II的時鐘管理模塊,Rabbit增加了定時器鏈表,使一些定時執行代碼能夠定時運行。對于內存管理Rabbit采用了可變分區內存管理,最先適應算法。另外Rabbit增加了一個小lib實現一些C語言常用庫函數。Rabbit的任務隊列采用散隊列管理設計思想,使各種狀態的任務TCB分散于各個就緒隊列,阻塞隊列。這樣以減少隊列查找時間。Rabbit系統是對于我來說已是過去式。由于Rabbit系統不包括文件管理,網絡,GUI等模塊。目前我準備開發基于CortexM3的全新操作系統。新的系統將包括文件,網絡,GUI等模塊。希望大家給點建議!我的郵箱:1317669200@qq.com
上傳時間: 2013-10-11
上傳用戶:llandlu