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

正文內(nèi)容

畢業(yè)設(shè)計(jì)基于單片機(jī)的太陽能電池控制器的設(shè)計(jì)-資料下載頁

2025-06-23 02:34本頁面
  

【正文】 S_03。電壓很小的時候,采用第3種方案,想引腳PWM發(fā)送占空比為50%的信號 MOV A,04H 。當(dāng)電壓超出的時候,采用第4種方案,向引腳PWM發(fā)送占空比為0%的信號 LJMP PROCESS_04START_KEY:MOV A,0FFHMOV P1,AMOV A,P1 . . .JNB ,K0JNB ,K1K0: AJMP PROM0K1: AJMP PROM1 軟件總體設(shè)計(jì) ORG 0000HLJMP START ORG 0003HLJMP EXTERN_INT ORG 000BH LJMP TIMER0_INT START: MOV SP,050H 。設(shè)置堆棧 MOV R0,030H 。設(shè)置A/D存儲單元初始地址 MOV IE,0FFH 。打開所有中斷 MOV DPTR,0FEF8H 。采集通道首地址,只使用一路A/D就可以 MOV R0,40H MOV @R0,00H 。清除方案選擇 MOV R0,40H MOV @R0,00H 。清楚方案選擇觸發(fā)位 MOV R1,042H MOV @R0,00H 。清除定時計(jì)數(shù)器 LCALL TIMER1_INT LOOP: MOV R0,30H 。30H是A/D轉(zhuǎn)換的地址,將數(shù)據(jù)和幾個值進(jìn)行比較,確定方案 MOV A,@R0 SUBB A,99H 。當(dāng)電壓很小的時候,采用第1種方案,想引腳PWM發(fā)送占空比為10%的信號 JC PROCESS_01 MOV A,@R0 SUBB A,0AAH JC PROCESS_02 。很小的時候,采用第2種方案,想引腳PWM發(fā)送占空比為20%的信號 MOV A,@R0 SUBB A,0CDH JC PROCESS_03。電壓很小的時候,采用第3種方案,想引腳PWM發(fā)送占空比為50%的信號 MOV A,04H 。當(dāng)電壓超出的時候,采用第4種方案,向引腳PWM發(fā)送占空比為0%的信號 LJMP PROCESS_04 CLEAR_FLAG: MOV R0,40H 。清除方案選擇位 MOV @R0,00H MOV R0,41H 。清除觸發(fā)位 MOV @R0,00H LJMP LOOP PROCESS_01: MOV R1,040H。 MOV @R1,01H。 。選擇方案1 PROCESS_01_NEXT: CLR 。 。將和PWM連接的管腳置低,此時停止充電 MOV R1,01H。 MOV R0,01H PROCESS_01_01: DJNZ R1,PROCESS_01_01 DJNZ R0,PROCESS_01_01 ??张?6*256*2個周期 CLR 。將和PWM連接的管腳置低 MOV R1,01H MOV R0,01H PROCESS_01_02: DJNZ R1,PROCESS_01_02 DJNZ R0,PROCESS_01_02 ??张?6*256*2*9個周期 MOV R1,041H 。當(dāng)方案改變標(biāo)志位到來的時候,清楚標(biāo)志并且重新進(jìn)行判斷 CJNE @R1,00H,CLEAR_FLAG SJMP PROCESS_01_NEXT PROCESS_02: MOV R1,040H MOV @R1,02H 。選擇方案2 PROCESS_02_NEXT: SETB 。將和PWM連接的管腳置高,選擇浮充 MOV R1,01H MOV R0,01H PROCESS_02_01: DJNZ R1,PROCESS_02_01 DJNZ R0,PROCESS_02_01 ??张?6*256*2個周期 CLR 。 將和PWM連接的管腳置低 MOV R1,01H MOV R0,01H PROCESS_02_02: DJNZ R1,PROCESS_02_02 DJNZ R0,PROCESS_02_02 。空跑16*256*2*8個周期 MOV R1,041H 。當(dāng)方案改變標(biāo)志位到來的時候,清除標(biāo)志并且重新進(jìn)行判斷 CJNE @R1,00H,CLEAR_FLAG SJMP PROCESS_02_NEXT PROCESS_03: MOV R1,040H MOV @R1,03H 。選擇方案3 PROCESS_03_NEXT: SETB 。將和PWM連接的管腳置高,選擇快充 MOV R1,01H MOV R0,01H PROCESS_03_01: DJNZ R1,PROCESS_03_01 DJNZ R0,PROCESS_03_01 。空跑16*256*2*2個周期 CLR 。將和PWM連接的管腳置低 MOV R1,01H MOV R0,01H PROCESS_03_02: DJNZ R1,PROCESS_03_02 DJNZ R0,PROCESS_03_02 ??张?6*256*2*7個周期 MOV R1,041H 。當(dāng)方案改變標(biāo)志位到來的時候,清除標(biāo)志并且重新進(jìn)行判斷 CJNE @R1,00H,CLEAR_FLAG SJMP PROCESS_03_NEXT PROCESS_04: CLR 。 停止放電 CLR MOV R1,040H MOV @R1,04H 。選擇方案4 MOV R1,041H CJNE @R1,00H,CLEAR_FLAG SJMP PROCESS_04 TIMER1_INT: ANL TMOD,0FH 。設(shè)置定時器T1為方式2 ORL TMOD,10H MOV TMOD,21H 。定時器T0工作在方式1 MOV PCON,080H CLR TR1 。禁止定時器T1 SETB EA SETB ET1 SETB ET0 SETB PT0 。定時器T0中斷優(yōu)于串口中斷 CLR TF1 MOV TL0,00H MOV TH0,01FH 。 SETB TR0 。使能定時器T0 CLR TF0 RET。 。 。 進(jìn)入定時器中斷,每500ms設(shè)置1次標(biāo)志位 。 TIMER0_INT: PUSH ACC 。累加器入棧 PUSH PSW 。程序狀態(tài)字入棧 MOV PSW,18H 。切換寄存器區(qū)域 CLR TF0 。清除定時器TF0 CLR TR0 。禁止定時器T0 MOV TL0,00H MOV TH0,01FH 。定時器T0中斷發(fā)生時間為6 CLR TF0 。清除溢出中斷位 MOV R1,042H INC @R1 。增加計(jì)數(shù)器的值,到8為止,這樣達(dá)到500ms CJNE @R1,08H,TIMER0_READY MOV @R1,00H 。清除計(jì)數(shù)器的值 MOV R1,041H 。設(shè)置標(biāo)志位,每500ms重新選擇方案 MOV @R1,01H TIMER0_READY: SETB TR0 。使能定時器T0 POP PSW 。程序狀態(tài)字出棧 POP ACC 。累加器出棧 RETI 。 。 進(jìn)入外部中斷,每進(jìn)入一次讀取ADC的值 。 EXTERN_INT: PUSH ACC 。累加器壓棧 PUSH PSW 。程序狀態(tài)字壓棧 MOV PSW,010H 。切換寄存器區(qū)域 MOV DPTR,0FEF8H 。A/D轉(zhuǎn)換器首地址 MOVX A,@DPTR 。讀入A/D的值 MOV R1,030H 。存儲A/D轉(zhuǎn)換器的數(shù)據(jù)的地址 MOV @R1,A 。將A/D的值讀入該地址 POP PSW 。程序狀態(tài)字出棧 POP ACC 。累加器出棧 RETI END 5系統(tǒng)調(diào)試下圖為該系統(tǒng)的總體設(shè)計(jì) 系統(tǒng)硬件總體設(shè)計(jì)圖在本次設(shè)計(jì)中所使用的硬件設(shè)計(jì)工具為proteus仿真軟件,Proteus是由Labcenter Electronics開發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件,Proteus與其他的仿真軟件相比較,在下面的優(yōu)點(diǎn): 、數(shù)字電路、數(shù)?;旌想娐?; 、PCB圖; 。從程序的編寫,編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。支持匯編語言和C語言的編程。還可配合Keil C實(shí)現(xiàn)程序的聯(lián)合調(diào)試,將Proteus中繪制的原理圖作為實(shí)際中的目標(biāo)板,而用Keil C集成環(huán)境實(shí)現(xiàn)對目標(biāo)板的控制,與實(shí)際中通過硬件仿真器對目標(biāo)板的調(diào)試幾乎完全相同,并且支持多顯示器的調(diào)試,即Proteus運(yùn)行在一臺計(jì)算機(jī)上,而Keil C運(yùn)行在另一臺計(jì)算機(jī)上,通過網(wǎng)絡(luò)連接實(shí)現(xiàn)遠(yuǎn)程的調(diào)試。但由于本次設(shè)計(jì)所涉及的部分元器件在proteus中是沒有的,因此我們在對硬件進(jìn)行調(diào)試時需要對部分器件進(jìn)行調(diào)整,這樣才能使硬件的以仿真,具體調(diào)整如下:1. 由于ADC0809在proteus2. 用可變電阻的的回路代替蓄電池,做為ADC0809的模擬電壓采樣輸入3. 在對于充電和放電回路的MOSFET將不在系統(tǒng)中進(jìn)行仿真,而改用LED與輸出引腳相連接,從而可以直觀 的在仿真中看出控制信號的變化4. 關(guān)于ADC0808的基準(zhǔn)電壓。ADC0808的Vref()可直接與地想接,但一定要注意,對于ADC0808,它的輸入端為模擬信號,所以在接地的時候也必需接模擬地,而非數(shù)字地。Vref(+)則需通過一個可變電阻的回路與之相連接,在仿真的時候要要將輸入的輸入的模擬電壓調(diào)至最大即5V,不停的調(diào)節(jié)滑動變阻器,當(dāng)輸出全變?yōu)?時,即可。否則會出現(xiàn)輸入端電壓虛高,ADC0808不能對輸入的模擬采樣電壓進(jìn)行轉(zhuǎn)化或者轉(zhuǎn)化出的數(shù)據(jù)部準(zhǔn)確,從而影響了單片機(jī)對采樣電壓的判斷,早成單片機(jī)對蓄電池的充放電管理混亂,這一點(diǎn)也在做仿真時一定要注意的。對于本次設(shè)計(jì)用匯編語言對單片機(jī)程序 采用keil uVision4對匯編語言進(jìn)行設(shè)計(jì)編譯 Keil uVision2是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言語法來開發(fā),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。程序編寫與調(diào)試的方法用keil uVision4對匯編語言進(jìn)行調(diào)試時,首先要建立工程,只有在建立工程這樣一個大的背景之下才能對匯編語言進(jìn)行編譯和調(diào)試。當(dāng)工程建立好之后,系統(tǒng)會讓你選擇本次匯編時所使用的微處理器芯片,本次設(shè)計(jì)所使用的是Atmel些列的T80C51單片機(jī)。點(diǎn)擊工程欄為工程進(jìn)行設(shè)置,總共有12個選項(xiàng),1在初期進(jìn)行匯編時可將這12個選項(xiàng)全部設(shè)置為
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1