freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于89c51單片機的電子負載設計(編輯修改稿)

2025-02-13 00:46 本頁面
 

【文章內容簡介】 框圖。畫程序框圖可以把算法和解題步驟逐步具體化,以減少出錯的可能性。 ⑶編寫程序。根據(jù)程序框圖所表示的算法和步驟,選用適當指令排列起來,構成一個有機整體,即程序。 單片機應用系統(tǒng)的軟件設計是研制過程中 任務最繁重的一項工作,難度也比較大。對于某些較復雜的應用系統(tǒng),不僅要使用匯編語言來編程,有時還要使用高級語言。單片機應用系統(tǒng)的軟件主要包括兩大部分:用于管理單片機微機系統(tǒng)工作的監(jiān)控程序和用于執(zhí)行實際具體任務的功能程序。對于前者,應盡可能利用現(xiàn)成微機系統(tǒng)的監(jiān)控程序。為了適應各種應用的需要,現(xiàn)代的單片機開發(fā)系統(tǒng)的監(jiān)控軟件功能相當強,并附有豐富的實用子程序,可供用戶直接調用,例如鍵盤管理程序、顯示程序等。因此,在設計系統(tǒng)硬件邏輯和確定應用系統(tǒng)的操作方式時,就應充分考慮這一點。這樣可大大減少軟件設計的工作量,提高編 程效率。后者要根據(jù)應用系統(tǒng)的功能要求來編程序。例如,外部數(shù)據(jù)采集、控制算法的實現(xiàn)、外設驅動、故障處理及報警程序等等。 單片機應用系統(tǒng)的軟件設計千差萬別,不存在統(tǒng)一模式。開發(fā)一個軟件的明智方法是盡可能采用模塊化結構。根據(jù)系統(tǒng)軟件的總體構思,按照先粗后細的方法,把整個系統(tǒng)軟件劃分成多個功能獨立、大小適當?shù)哪K。應明確規(guī)定各模塊的功能。盡量使每個模塊功能單一,各模塊間的接口信息簡單、完備,接口關系統(tǒng)一,盡可能使各模塊間的聯(lián)系減少到最低限度。這樣,各個模塊可以分別獨立設計、編制和調試,最后再將各個程序模塊連接成一個 完整的程序進行調試。 Keil 開發(fā)軟件介紹 Keil IDE μ Vision2 集成開發(fā)環(huán)境是 Keil Software 開發(fā)的基于 80C51內核的微型處理器軟件開發(fā)平臺,內嵌多種符合當前工業(yè)標準的開發(fā)工具??梢酝瓿蓮墓こ探?、管理、編譯和鏈接,目標代碼的生成,軟件仿真,硬件仿真等完整的開發(fā)流程。尤其 C編譯工具在產生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制河北工程大學畢業(yè)設計說明書 選項,在開發(fā)大型項目時非常理想。 Keil軟件開發(fā)的流程: ⑴建立工程。 ⑵為工程選擇目標器件。 ⑶設置工程的配置參數(shù)。 ⑷打開 /建立程序文件。 ⑸編譯和鏈接工程。 ⑹糾正程序中的書寫和語法錯誤并重新編譯連接。 ⑺對程序中某些純軟件的部分使用軟件仿真驗證。 ⑻使用 TKS硬件仿真器對應用程序進行硬件仿真。 ⑼將生成的 Hex文件燒寫到 ROM中運行測試。 上面的流程只是一個標準的開發(fā)流程,實際中用戶可能反復重復一個或幾個步驟。 ADC0809 模數(shù)轉換子程序設計 電子負載系統(tǒng)對外界電壓電流參數(shù)的測試過程中,我們可以把模數(shù)轉換程序以子程序的形式在程序段中出現(xiàn),而在主程序中當需要測量電壓電流參數(shù)時,直接調用 ADC轉換子程序實現(xiàn)。程序 形式如下: ORG 00H ;主程序段開始 ?? ?? CALL ADC _convert ;調用 ADC轉換子程序 ADC_convert: ; ADC轉換子程序 ?? ?? RET ;子程序調用返回 ?? END ;主程序結束 結合本設計硬件的連接方式,模數(shù)轉換子程序為: ADC_convert: CLR ;選通 IN0通道測電壓值 CLR SETB ;啟動 ADC0809 CLR CALL DELAY ;延時 1ms等待 AD轉換結束 MOV A,P0 ;送轉換數(shù)據(jù)到累加器 A 河北工程大學畢業(yè)設計說明書 MOV 30H,A ;轉換數(shù)據(jù)暫放緩存區(qū) SETB ;選通 IN1通道測電流值 CLR SETB ;啟動 0809 CLR CALL DELAY ;延時 1ms等待 AD轉換結束 MOV A,P1 MOV 31H,A ;轉換數(shù)據(jù)暫放緩存區(qū) RET ; AD轉換結束,返回 顯示子程序 為節(jié)省單片機端口,此設計使用 74LS138三-八譯碼器及 4543- BCD碼七段譯碼器。這樣只需占用 單片機的一個口,就可以動態(tài)顯示 8位 LED數(shù)碼管,大大減少了對單片機管腳的占用。 74LS138三-八譯碼器及 4543- BCD碼七段譯碼器外形封裝如圖所示。 MOV A,33H ANL A,00001111B MOV P1,A ;送第 1位顯示 CALL DELAY MOV A,33H SWAP A ANL A,00001111B ORL A,00010000B MOV P1,A ;送第 2位顯示 CALL DELAY MOV A,34H ANL A,00001111B ORL A,00100000B MOV P1,A ;送第 3位顯示 CALL DELAY MOV A,34H SWAP A ANL A,00001111B ORL A,00110000B MOV P1,A ;送第 4位顯示 河北工程大學畢業(yè)設計說明書 CALL DELAY RET 電子負載程序設計流程圖 ⑴電子負載程序設計主程序流程圖如圖 3- 1 所示。 無 圖 3- 1 主程序流程圖 ⑵ 電子負載程序設計按鍵程序流程圖如圖 3- 2所示。 開始 系統(tǒng)初始化 數(shù)碼管測試 調 AD 轉換子程序 調顯示子程序顯示 U 調 PWM 占空比 有按鍵按下否? 調 AD 轉換子程序 調顯示子程序顯示 I 有按鍵按下否? 調 AD 轉換子程序 調顯示子程序顯示 P 有按鍵按下否? 調 PWM 占空比 調 PWM 占空比 調 AD 轉換子程序 河北工程大學畢業(yè)設計說明書 圖 3- 2 按鍵程序流程圖 河北工程大學畢業(yè)設計說明書 4 系統(tǒng)的可靠性設計 硬件系統(tǒng)的可靠性設計 內部如 ROM、 RAM、 I/O口、計數(shù)器、中斷系統(tǒng)等容量不夠使用時,必須在外部擴充,選擇適當?shù)臄U充 IC,設計相容的電路。二是系統(tǒng)裝置,即按 照系統(tǒng)功能要求配備外圍設備,如一個單片機微處理器的硬件電路設計包括兩個部分:一是系統(tǒng)擴充,即單片機外圍鍵盤、顯示器、打印機、 A/D 轉換器、 D/A 轉換器、串行通信接口,設計合適的接口電路。 硬件設計需要考慮下列幾點: ⑴盡可能選擇典型的電路(市場已有的)。 ⑵系統(tǒng)的擴充與外圍裝置,應充分滿足應用系統(tǒng)的要求,并留一些擴充槽,以便進行二次開發(fā)。 ⑶硬件結構應結合應用軟件一并考慮。軟件有執(zhí)行的功能盡可能由軟件來執(zhí)行,以簡化硬件結構。但是必須注意,由軟件執(zhí)行硬件的功能,其響應時間比直接使用硬件要長 ,且占用 CPU時間。 ⑷整個系統(tǒng)器件盡可能做到性能匹配。例如選用石英震蕩器頻率較高時,應選擇存取速度較快的 IC;選擇 COMS 單片機構成低功耗系統(tǒng)時,系統(tǒng)所有的 IC 都應選擇低功耗的 IC。 ⑸可靠性及抗干擾設計及其重要的部分,包括器件選擇、電路板布線,通道隔離等。 ⑹單片機微處理器外接電路較多時,必須考慮其驅動能力,驅動能力不足時,系統(tǒng)工作不可靠。解決辦法是增加驅動能力,或減少 IC功耗,降低總線負荷。 硬件系統(tǒng)可靠性設計所注意事項 ⑴與外界容易產生干擾的輸入點、繼電器的輸出接點等器件部分,采用光耦隔 離,使外界雜散信號無法干擾 CPU 的運行,即易受干擾的輸入或輸出接點以光耦隔離( PC81 PC82 4N2 4N35等)。 ⑵沒有使用到的端口引腳(尤其是 P0口)應接到一個固定邏輯電位上( 0或 1),以免受到外界靜電干擾,導致 CPU運行失常而產生“死機”。 ⑶易受雜散信號干擾處,則接一個 的樹脂電容到機體外殼,使雜散信號的尖峰毛刺經此電容后到外殼。 ⑷每一顆 IC的 VCC與 GND之間一般接 ~ ,以使電源電壓波的波紋及雜散信號有所旁路,不致影響該 IC 的正常運行。同時也可 抵消電路的電感河北工程大學畢業(yè)設計說明書 性,使整個電路具有較佳的穩(wěn)定性。 ⑸石英晶體的兩腳越短越好,越接近 8051 的 1 19腳震蕩效果越好、越穩(wěn)定。 ⑹硬件電路中若有接近開關、按鈕開關及切撥開關等設計時,其輸入到 8051的端口引腳,最好加接斯密特門電路,如 74244,以排除不必要的雜散信號,使工作穩(wěn)定;且導線太長可考慮將輸入端電壓提高為 12V或 24V,再串接光耦或使用磁簧繼電器。 ⑺設計時個外圍 IC(如 825 ROM、 RAM 等)盡量使用同一品牌,以免因相互間的延遲時間不同,而導致存取數(shù)據(jù)發(fā)生錯誤。 ⑻所設計的的邏輯門,盡量使用“ 高速 CMOS”型,如 74HCXXX 的 IC,以配合 CPU的快速動作要求。 ⑼硬件設計時盡量使用商品化的設計電路,以減少個人開發(fā)時間。 軟件系統(tǒng)的可靠性設計 在提高硬件系統(tǒng)可靠性設計的同時,軟件系統(tǒng)的可靠性設計以其設計靈活、節(jié)約硬件資源、可靠性好越來越受到重視。 在工程實踐中,軟件系統(tǒng)的可靠性設計的內容主要是: 一、消除模擬輸入信號的嗓聲(如數(shù)字濾波技術);二、程序運行混亂時使程序重入正軌的方法。本文針對后者提出了幾種有效的軟件抗干擾方法。 指令冗余 CPU取指令過程是先取操作 碼,再取操作數(shù)。當 PC受干擾出現(xiàn)錯誤,程序便脫離正常軌道“亂飛”,當亂飛到某雙字節(jié)指令,若取指令時刻落在操作數(shù)上,誤將操作數(shù)當作操作碼,程序將出錯。若“飛” 到了三字節(jié)指令,出錯機率更大。 在關鍵地方人為插入一些單字節(jié)指令,或將有效單字節(jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的 NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令 NOP的存在,避免了后面的指令被當作操作數(shù)執(zhí)行,程序自動納入正軌。 此外,對系統(tǒng)流向起重要作用的指令如 RET、 RETI、 LCALL、 LJMP、 JC等指令之前插入兩條 NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。 攔截技術 所謂攔截,是指將亂飛的程序引向指定位置,再進行出錯處理。通常用軟件陷阱來攔截亂飛的程序。因此先要合理設計陷阱,其次要將陷阱安排在適當?shù)奈恢谩? 軟件陷阱的設計 河北工程大學畢業(yè)設計說明書 當亂飛程序進入非程序區(qū),冗余指令便無法起作用。通過軟件陷阱,攔截亂飛程序,將其引向指定位置,再進行出錯處理。軟件陷阱是指用來將捕獲的亂飛程序引向復位入口地址 0000H的指令。通常在 EPROM中非程序區(qū)填入以下指令作為軟件陷阱: NOP NOP LJMP 0000H 其機器碼為 0000020220。 陷阱的安排: 通常在程序中未使用的 EPROM 空間填 0000020220。最后一條應填入 020220,當亂飛程序 落到此區(qū),即可自動入軌。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當使用的中斷因干擾而開放時,在對應的中斷服務程序中設置軟件陷阱,能及時捕獲錯誤的中斷。如某應用系統(tǒng)雖未用到外部中斷 1,外部中斷 1的中斷服務程序可為如下形式: NOP NOP RETI 返回指令可用“ RETI”,也可用“ LJMP 0000H”。如果故障診斷程序與系統(tǒng)自恢復程序的設計可靠、 完善,用“ LJMP 0000H”作返回指令可直接進入故障診斷程序,盡早地處理故障并恢復程序的運行。 考慮到程序存貯器的容量,軟件陷阱一般 1K空間有 23個就可以進行有效攔截。
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1