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

正文內(nèi)容

基于單片機(jī)的通用智能充電器的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-19 02:25 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 持更高的處理速度。89S51有較多的I/O口線,有兩個(gè)定時(shí)計(jì)數(shù)器,兩個(gè)外部中斷,可以在線編程,因此選用此芯片作為控制器比較合適。由于此系統(tǒng)處理數(shù)據(jù)不算復(fù)雜,我們可以選用12MHz的晶振。單片機(jī)有三種復(fù)位電路:上電復(fù)位、按鍵電平復(fù)位、按鍵脈沖復(fù)位。本次設(shè)計(jì)采用按鍵電壓復(fù)位方式。:圖28 AT89S52以及周邊電路圖 從圖28中看出,復(fù)位電路采用了電平復(fù)位,采用了頻率為12MHz的晶振來(lái)提供單片機(jī)的工作頻率。,在所用單片機(jī)P0口和P2口引腳處分別接上上拉排阻,可以增強(qiáng)I/O口的驅(qū)動(dòng)能力,可以讓其更加穩(wěn)定的工作。 充放電電路充放電電路如圖29所示:圖29 充放電電路 根據(jù)圖29所示,P20,P21,P22口分別與單片機(jī)的P20,P21,P22的引腳相連。當(dāng)P20=1時(shí),充電選擇類型為鎳氫電池;當(dāng)P20=0時(shí),充電選擇類型為鎳鎘電池充電。下面詳細(xì)介紹充電放電過(guò)程,以鎳氫電池為例。圖中BAT1代表被充放電的鎳氫電池。充電時(shí):P22為低電平,P21為低電平,S8550導(dǎo)通,S8050截止,從而電阻,電源與電池形成一回路,此時(shí)電池不斷充電,當(dāng)充滿電后,P22置1,形成另一回路,由于R2的電阻很大,所以電流很小,此時(shí)進(jìn)入涓流充電狀態(tài);放電過(guò)程:P22置1,P21置1,S8050導(dǎo)通,形成放電回路,此時(shí)涓流充電狀態(tài)仍舊進(jìn)行,但相對(duì)于放電,基本上可忽略不計(jì)。此時(shí)ADC0809不斷進(jìn)行采樣以便及時(shí)反饋給單片機(jī)進(jìn)行數(shù)據(jù)比較判斷目前的狀態(tài)。由于電池的內(nèi)部結(jié)構(gòu)。 ADC0809電路及其MC1403兩部分的電路結(jié)構(gòu)如圖210所示。ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0~5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。數(shù)字量輸出及控制線:11條ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ, VREF(+),VREF(-)為參考電壓輸入。圖210 ADC0809及其MC1403電路電路如圖所示,MC1403輸入端的電壓為+5V,輸出為+,其具體特性我們將在后面部分介紹。其中電容C10和電容C9分別去除由于穩(wěn)壓引起的高頻波和低頻波。P00P07為8位模數(shù)轉(zhuǎn)換端,ADDA,ADDB,ADDC為通道選擇端,通過(guò)不同的0,1組合可以選擇8種通道。從圖中可以看出,我們選擇是通道0。ADC0809通過(guò)實(shí)時(shí)采集充放電電路的數(shù)據(jù),經(jīng)過(guò)模擬量到數(shù)字量的轉(zhuǎn)換,然后再傳遞給單片機(jī),再通過(guò)液晶實(shí)時(shí)顯示數(shù)據(jù)。數(shù)字電路電源模塊如下圖211所示。圖211 數(shù)字電路電源模塊電路如圖所示,圖中+8V電源由手機(jī)充電器提供,接上開(kāi)關(guān)按鈕,通過(guò)7805轉(zhuǎn)換為+5V電源,電容起濾波作用。 串口轉(zhuǎn)并口模塊如圖212所示。圖212 串口轉(zhuǎn)并口模塊如圖所示74LS164芯片通過(guò)單片機(jī),DAT接單片機(jī)RXD作為數(shù)據(jù)輸出線,CLK接單片機(jī)TXD作為移位時(shí)鐘脈沖。74LS164為TTL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中第2腳為串行數(shù)據(jù)輸入端,2個(gè)引腳按邏輯與運(yùn)算規(guī)律輸入信號(hào),一個(gè)輸入信號(hào)時(shí)可并接(此圖為并接)。第8腳為時(shí)鐘輸入端,可連接到串行口的TXD端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數(shù)全部移入74LS164中。第9腳為復(fù)位端,當(dāng)R=0時(shí),移位寄存器各位復(fù)0,只有當(dāng)R=1時(shí),時(shí)鐘脈沖才起作用。8個(gè)引腳通過(guò)連接1602液晶顯示屏進(jìn)行數(shù)據(jù)顯示。 1602液晶顯示模塊液晶顯示模塊如圖213所示。圖213 1602液晶顯示模塊第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15~16腳:空腳它的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)。 電路如圖213所示,1602字符型液晶模塊是一種用5x7點(diǎn)陣圖形來(lái)顯示字符的液晶顯示器,可以顯示2行16個(gè)字符。背光為黃色。D0~D7為8位雙向數(shù)據(jù)線,通過(guò)單片機(jī)指令在液晶上顯示我們所需要的數(shù)據(jù)。 3 軟件設(shè)計(jì)在編寫程序前我們至少要考慮兩個(gè)問(wèn)題:第一,采用何種語(yǔ)言;第二,選用哪一種編程軟件作為開(kāi)發(fā)平臺(tái)。單片機(jī)的編程語(yǔ)言大致有兩種,匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言是低級(jí)語(yǔ)言,C語(yǔ)言是高級(jí)語(yǔ)言。本次設(shè)計(jì)采用C語(yǔ)言是因?yàn)樗欣陂_(kāi)發(fā)和維護(hù),節(jié)省開(kāi)發(fā)時(shí)間并減少工作量。然后,選用Keil C51作為開(kāi)發(fā)平臺(tái)。Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。比如,C語(yǔ)言可以讓開(kāi)發(fā)者不必過(guò)多地關(guān)心運(yùn)算如何實(shí)現(xiàn)等等一些底層的東西,而只考慮用語(yǔ)言直接去實(shí)現(xiàn)系統(tǒng)功能。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。做完了以上的兩步,我們還不能馬上就寫程序。通常我們還應(yīng)該對(duì)程序的總的結(jié)構(gòu)作一個(gè)規(guī)劃,以使我們能夠從總體上把握它。程序的結(jié)構(gòu)化水平以及合理性很大程度上受制于這一步。一般采用流程圖來(lái)表示程序的結(jié)構(gòu)。 程序流程圖圖31就是本系統(tǒng)的總流程圖,它大致反映了需要設(shè)計(jì)哪些程序模塊以及在哪里調(diào)用它。 函數(shù)定義模塊函數(shù)名:液晶數(shù)據(jù)發(fā)送delaydelay(uchar n) {uchar f,m。 for(m=n。m0。m) for(f=248。f0。f) }函數(shù)名: 模擬串行數(shù)據(jù)發(fā)送函數(shù)功能: 將要發(fā)送的數(shù)據(jù)轉(zhuǎn)成串行數(shù)據(jù) 注意: 這里使用164芯片轉(zhuǎn)換corr(uchar dat) {uchar ADS,n。 ADS=dat。 for(n=8。n0。n) { TD=0。 RDat=ADSamp。0x80。 TD=1。 ADS=ADS1。 } }函數(shù)名:液晶顯示器的命令發(fā)送函數(shù)功能:將要顯示的字符在液晶上的地址發(fā)到液晶顯示器,還有顯示的初此化數(shù)據(jù)。lcd_(unsigned char a) { E=1。 RS=0。 WR1=0。 corr(a)。 delay(1)。 E=0。 }函數(shù)名:液晶顯示器的數(shù)據(jù)發(fā)送函數(shù) 功能: 將要顯示的字符的ASCII碼發(fā)到液晶模塊 返回值:無(wú) 注意: 無(wú)lcd_dat(unsigned char b) { E=1。 RS=1。 WR1=0。 corr(b)。 delay(1)。 E=0。 }函數(shù)名: 液晶顯示數(shù)據(jù)緩沖函數(shù)功能: 將要顯示的數(shù)據(jù)的首地址和要顯示的地址緩沖返回值: 無(wú)注意: 對(duì)于字符型顯示器它第一行的首地址是0x80第二行是0xc0lcd_dis(uchar k[],char r) {char n。lcd_(r)。for(n=0。k[n]!=0x00。n++){lcd_dat(k[n])。}}函數(shù)名: 液晶顯示初此化函數(shù)功能: 初此化液晶數(shù)據(jù)返回值: 無(wú)lcdinit() {lcd_(0x0f)。 lcd_(0x38)。 lcd_(0x01)。 lcd_(0x06)。 } 主程序ADC0809,LCD1602等都與單片機(jī)有著密切聯(lián)系,我們用了單片機(jī)的P0,P2口,以及P3口一些特殊功能在實(shí)現(xiàn)了本程序,特別指出的是,ADC0809采用通道1編程。首先對(duì)單片機(jī)各個(gè)口的功能進(jìn)行介紹。其各個(gè)口的作用如下: P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每每一個(gè)管腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻態(tài)輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳 備選功能 RXD (串行輸入口) TXD (串行輸出口) /INT0 (外部中斷0) /INT1 (外部中斷1) T0 (記數(shù)器0外部輸入) T1 (記數(shù)器1外部輸入) /WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。程序如下:sbit CLK=P2^4。 sbit OE=P2^5。 sbit EOC=P2^6。 sbit ST=P2^7。 /* 這4位定義AD端口;*/sbit p20=P2^0。sbit cong1=P2^2。sbit feng1=P2^1。 /*充放電端口的定義*/;bit flag。bit flag1。bit flag2。/*全局變量*/uchar dat1[2]。 uchar a[6]。uchar get。uchar i。uchar v[6]。/*全局變量*/uchar counter。uchar second。uchar min,min1。uchar hour,hour1。uchar code table1[]={0123456789}。uchar code table2[]={TIME:}。uchar code table3[]={VOLT:}。uchar table4[7]。uchar code table5[]={NICA}。uchar code table6[]={NIMH}。/*延時(shí)程序*/delay1(uint m){ for(m。m0。m)。}void time_init(void){ ST=0。 OE=0。 TMOD=0x21。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1