版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)控制的開關(guān)電源設(shè)計(jì)系部:電子與通信工程系姓名:專業(yè)班級(jí):電信10D1學(xué)號(hào):指導(dǎo)老師:2012年9月21日聲明本人所呈交的基于單片機(jī)控制的電源開關(guān)設(shè)計(jì),是我在指導(dǎo)教師的指導(dǎo)和查閱相關(guān)著作下獨(dú)立進(jìn)行分析研究所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含其他個(gè)人已經(jīng)發(fā)表或撰寫過的研究成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說明并表示謝意。作者簽名:日期:【摘要】開關(guān)電源體積小、效率高,被譽(yù)為高效節(jié)能電源,現(xiàn)己成為穩(wěn)壓電源的主導(dǎo)產(chǎn)品。隨著開關(guān)電源在計(jì)算機(jī)、通信、航空航天、儀器儀表及家用電器等方面的廣泛應(yīng)用,人們對(duì)其需求量日益增長(zhǎng),并且對(duì)電源的效率、體積、重量及可靠性等方面提出了更高的要求。開關(guān)電源以其效率高、體積小、重量輕等優(yōu)勢(shì)在很多方面逐步取代了效率低、又笨又重的線性電源。本文介紹了一款基于PWM技術(shù)的DC-DC開關(guān)穩(wěn)壓電源,用proteus仿真,輸出紋波小,電壓穩(wěn)定可靠.[關(guān)鍵詞]:開關(guān)電源,DC-DC,單片機(jī),proteus[Abstract]:Thesmallsizeoftheswitchingpowersupply,highefficiency,knownasenergy-efficientpowersupply,hasnowbecometheleadingproductsoftheregulatedpowersupply.Withthewideapplicationofswitchingpowersuppliesincomputers,communications,aerospace,instrumentationandhouseholdappliances,peoplegrowingtheirdemandandhigherpowerefficiency,size,weight,andreliabilityrequirements.Switchingpowersupplyforitshighefficiency,smallsize,lightweightadvantagesinmanywaystograduallyreplacetheinefficient,clunky,heavylinearpower.ThisarticledescribesaDC-DCswitchingpowersupplybasedonPWMtechnology,withproteussimulationoutputripplevoltageisstableandreliable.[Keywords]:switchingpowersupplies,DC-DC,single-chip,proteus目錄【摘要】 3一、引言 4二、總體設(shè)計(jì) 5(一)硬件總體設(shè)計(jì) 5(二)AT89C52單片機(jī)概述 5(三)開關(guān)電源系統(tǒng)硬件設(shè)計(jì) 91. 開關(guān)電源電路設(shè)計(jì) 102. 電壓反饋電路 103. 限流電路 11三、軟件設(shè)計(jì) 11(一)總的軟件設(shè)計(jì)思想 11(二)各部分的軟件框圖和程序 121.主程序設(shè)計(jì) 122.?dāng)?shù)據(jù)顯示子程序 133.鍵盤掃描子程序 134.鍵值處理子程序流程圖 14四、程序清單 14一、引言本設(shè)計(jì)中采用的是脈寬調(diào)制型,Pwm技術(shù)是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。在脈寬調(diào)制中因?yàn)轭l率不變,所以無論是對(duì)電路中的磁性元件及晶體管的測(cè)試和設(shè)計(jì)都很方便,而且對(duì)射頻干擾的抑制也變得比較容易。利用單片機(jī)可以實(shí)現(xiàn)對(duì)開關(guān)電源的智能控制,實(shí)現(xiàn)智能化開關(guān)電源的制作。高度集成、功能強(qiáng)大的開關(guān)型穩(wěn)壓電源代表著開關(guān)電源發(fā)展的主流方向,其技術(shù)也日驅(qū)成熟。二、總體設(shè)計(jì)本課題的主要思想是利用單片機(jī)可以實(shí)現(xiàn)對(duì)開關(guān)電源的智能控制,實(shí)現(xiàn)智能化開關(guān)電源的制作。通過鍵盤預(yù)置電壓,控制單片機(jī)進(jìn)行脈寬調(diào)制,使輸出電壓在大范圍內(nèi)可調(diào)。通過單片機(jī)軟件控制,實(shí)現(xiàn)電源的智能保護(hù),可以設(shè)定某個(gè)規(guī)定的電壓或者電流,當(dāng)超過該電壓或者電流時(shí),單片機(jī)關(guān)斷開關(guān)管,電源不再工作,以便保護(hù)電源。三、硬件設(shè)計(jì)(一)硬件總體設(shè)計(jì)本設(shè)計(jì)中擬采用脈寬調(diào)制型,先通過電壓及功率變換設(shè)計(jì)出一個(gè)DC12V左右的電壓源,再對(duì)12V的電壓源,通過脈寬調(diào)制,實(shí)現(xiàn)步進(jìn)0.1V、輸出電流500mA、LCD顯示的直流電壓。利用單片機(jī)可以實(shí)現(xiàn)對(duì)開關(guān)電源的智能控制,實(shí)現(xiàn)智能化開關(guān)電源的制作。硬件總體框圖如圖3-1所示。圖3-1硬件總體框圖(二)AT89C52單片機(jī)概述1.AT89C52單片機(jī)組成圖3-2AT89C52單片機(jī)組成結(jié)構(gòu)圖AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。2.AT89C52單片機(jī)引腳結(jié)構(gòu)(1)89C51外部引腳圖:;引腳說明:(1)電源引腳Vcc(40腳):典型值+5V。Vss(20腳):接低電平。(2)外部晶振X1、X2分別與晶體兩端相連接。當(dāng)采用外部時(shí)鐘信號(hào)時(shí),X2接振蕩信號(hào),X1接地。(3)輸入輸出口引腳:P0口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”P1口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”P2口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”P3口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”(4)控制引腳RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來完成單片機(jī)的復(fù)位初始化操作、計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。DISROT默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG(30引腳):一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。PSEN(29引腳):外部程序存儲(chǔ)信號(hào)時(shí)外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C51RC從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次。EA/VPP(31引腳):訪問外部程序存儲(chǔ)器控制信號(hào),為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接END。XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。P1口作為L(zhǎng)CD液晶屏的數(shù)據(jù)口,采用并口數(shù)據(jù)傳輸模式,P2口中的P2.0、P2.1、P2.2、作為控制信號(hào)輸出口,分別接RS、R/W、E控制端,P2.3、P2.4分別接濕溫度傳感器的SCK和DATA,P2.5.、P2.6、P2.7接按鍵電路,P1口的P1.0、P1.1、P1.2分別接ADC0831的控制端,P1.4接報(bào)警的蜂鳴器。3.AT89C52單片機(jī)的最小系統(tǒng)圖3-4AT89C52單片機(jī)組成結(jié)構(gòu)圖(1)復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位。一般教科書推薦C
取10u,R取10K。原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平。至于如何具體定量計(jì)算,可以參考電路分析相關(guān)書籍。(2)晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz(產(chǎn)生精確的uS級(jí)時(shí)歇,方便定時(shí)操作),在本電路中,取12M。(三)開關(guān)電源系統(tǒng)硬件設(shè)計(jì)開關(guān)電源電路設(shè)計(jì)圖3-3開關(guān)電源電路如圖3-3可看出,DC50V輸入,經(jīng)Q1,Q2,Q3,進(jìn)行交流變換,輸入給儲(chǔ)能性元件L1,當(dāng)輸出電壓有波動(dòng)時(shí),調(diào)整管Q4調(diào)整輸入電壓,反過來抑制輸出電壓的波動(dòng)。電壓反饋電路電壓反饋部分,當(dāng)電壓達(dá)到12V時(shí),電流流經(jīng)穩(wěn)壓二極管D4、三極管Q2B,E極、電阻R8使Q2導(dǎo)通,Q2導(dǎo)通將使三極管13003提前進(jìn)入關(guān)斷區(qū),從而使輸出電壓穩(wěn)定在12V左右。限流電路當(dāng)R11上流經(jīng)的電流到達(dá)一定值,在R11上將產(chǎn)生壓降,當(dāng)壓降超過0.7V,三極管Q3飽和導(dǎo)通.Q3集電極電壓為0,自激式振蕩回路終止,輸出電流變小,當(dāng)R11上的電流小到足夠的值,R11兩端的電壓低于0.7V,Q3又截止,自激振蕩回路又繼續(xù)振蕩。圖三、軟件設(shè)計(jì)(一)總的軟件設(shè)計(jì)思想系統(tǒng)的軟件設(shè)計(jì)采用C語言,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。程序是采用keilc51軟件編寫的,可以使液晶顯示屏對(duì)特定數(shù)字、英文字母以及漢字組成的句子進(jìn)行顯示,并通過按鍵對(duì)顯示內(nèi)容實(shí)現(xiàn)控制、轉(zhuǎn)換等功能。主程序主要起到一個(gè)導(dǎo)向和決策功能,決定液晶顯示屏該顯示什么內(nèi)容,該如何顯示。液晶顯示屏各種功能的實(shí)現(xiàn)主要通過調(diào)用具體的子程序。(二)各部分的軟件框圖和程序1.主程序設(shè)計(jì)文字描述下例如(通電之后,系統(tǒng)開始工作,若是有鍵按下,就根據(jù)按鍵程序進(jìn)行工作,并把結(jié)果顯示到LCD液晶顯示屏上,若是沒有按鍵,定時(shí)時(shí)間一到,氣體傳感)2.?dāng)?shù)據(jù)顯示子程序3.鍵盤掃描子程序4.鍵值處理子程序流程圖四、程序清單//*************************************************************************************************//* *//* ******************************頭文件及宏定義************************** *//* *//*************************************************************************************************#include<reg52.h>#include"includes.h"#defineucharunsignedchar#defineuintunsignedint#defineSCANPORTP2 #defineTIME1H80#defineTIME1L80 //定時(shí)器1溢出時(shí)間//sbitwr=P3^1;sbitrd=P3^0;sbitP27=P2^7;unsignedlongintshuchu=500;//默認(rèn)的開機(jī)電壓//uintzhuhuandata;unsignedlongintch=0;uchari=0;//按鍵標(biāo)記//ucharuca_LineScan[3]={0xEF,0xDF,0xBF};voidchuli();//函數(shù)定義//uchargetkey();//函數(shù)定義////*************************************************************************************************//* *//* ********************************將鍵值累加并送顯示****************************** *//* *//*************************************************************************************************voidqiuhe(uchart){if(i==1){ch=t;vShowOneChar(6,89,uca[t]);}if(i==2){ch=ch*10+t;vShowOneChar(6,103,uca[t]);}if(i==3){ch=ch*10+t;vShowOneChar(6,111,uca[t]);}}//*************************************************************************************************//* *//* ********************************按鍵功能函數(shù)****************************** *//* *//*************************************************************************************************voidkey_chuli(ucharx){uchart;switch(x) { case42:t=0; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'0' case31:t=1; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'1' case32:t=2; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'2' case33:t=3; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'3' case21:t=4; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'4' case22:t=5; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'5' case23:t=6; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'6' case11:t=7; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'7' case12:t=8; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'8' case13:t=9; i++;qiuhe(t); if(i==3) { vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao);} break; //'9' case41:if(i==3)//'ok' { ch=ch*256/512; shuchu=ch;ch=0;TH0=65200; TL0=65200; vShowOneChin(2,49,uca_0); vShowOneChin(2,64,uca_0); vShowOneChin(4,48,uca_SHU); vShowOneChin(4,64,uca_CHU); vShowOneChar(6,88,uca_HEN); vShowOneChar(6,104,uca_HEN); vShowOneChar(6,112,uca_HEN); } i=0; break; } }voidvTimer0(void)interrupt1using2{uchara,d; unsignedlongintc=0; uchardatatab[3]; a=(((zhuhuandata&0xf0)>>4)*100/16);d=((zhuhuandata&0x0f)*100/256);c=(a+d)*5.12;tab[0]=c%10;tab[1]=c/10%10;tab[2]=c/100%10; vShowOneChar(2,89,uca[tab[2]]); vShowOneChar(2,103,uca[tab[1]]); vShowOneChar(2,111,uca[tab[0]]);TH0=TIME1H; TL0=TIME1L; }voidmain(void){SCANPORT=0x8F; ClearLCD(0x00); vShowOneChar(2,89,uca[5]); vShowOneChar(2,96,uca_XIAOSHU); vShowOneChar(2,103,uca[0]); vShowOneChar(2,111,uca[0]); vShowOneChar(2,120,uca_V);vShowOneChin(0,0,uca_DANG); vShowOneChin(0,16,uca_QIAN); vShowOneChin(0,32,uca_GONG); vShowOneChin(0,48,uca_ZUO); vShowOneChin(0,64,uca_DIAN); vShowOneChin(0,80,uca_YA); vShowOneChin(0,96,uca_MAOHAO); vShowOneChin(4,0,uca_QING); vShowOneChin(4,16,uca_SHE); vShowOneChin(4,32,uca_ZHI); vShowOneChin(4,48,uca_SHU); vShowOneChin(4,64,uca_CHU); vShowOneChin(4,80,uca_DIAN); vShowOneChin(4,96,uca_YA); vShowOneChin(4,112,uca_MAOHAO); vShowOneChar(6,96,uca_XIAOSHU); vShowOneChar(6,88,uca_HEN); vShowOneChar(6,104,uca_HEN); vShowOneChar(6,113,uca_HEN); vShowOneChar(6,119,uca_V); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TMOD=0X01;TH0=TIME1H; TL0=TIME1L; ET0=1; //T/C0開中斷 TR0=1; //開定時(shí)器0中斷 IT0=1; //外中斷方式:下降沿。 EX0=1; //開啟外部中斷。EA=1;//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>while(1){wr=0;wr=1;chuli(); if(zhuhuandata<=shuchu)P27=0; if(zhuhuandata>shuchu)P27=1;if(zhuhuandata<=shuchu)P27=0;}}voidchuli(){rd=0;zhuhuandata=P0;}//*************************************************************************************************//* *//* ********************************函數(shù)實(shí)現(xiàn)****************************** *//* *//*************************************************************************************************unsignedchargetkey(){ucharucTemp=0; //掃描狀態(tài)暫存。 ucharucRow=0,ucLine=0; //行號(hào),列號(hào)。 for(ucLine=0;ucLine<3;ucLine++) //列掃描 { SCANPORT=uca_LineScan[ucLine]; //輸出掃描電位。 ucTemp=SCANPORT&0x8F; //輸入掃描電位,并屏蔽高4位。 if(ucTemp!=0x8F) { //判斷該列是否有按鍵按下。 switch(ucTemp) { case0x8E:ucRow=10;break; //如果有,則判斷行號(hào)。 case0x8D:ucRow=20;break; case0x8B:ucRow=30;break; case0x87:ucRow=40;break; default:P2=~P2;break; } break; } }//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢復(fù)鍵掃描處理前初始狀態(tài)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SCANPORT=0x8F; //恢復(fù)P2口return(ucRow+ucLine+1);//返回按鍵編碼。格式為2位數(shù),高位為行號(hào),低位為列號(hào)。}//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢復(fù)鍵掃描處理前初始狀態(tài)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>voidvINT0(void)interrupt0{EX0=0;key_chuli(getkey());while((SCANPORT&0x8F)!=0x8f)//等待按鍵松開//{};EX0=1;}//*************************************************************************************************//* *//* ******************************LCD12864驅(qū)動(dòng)程序************************** *//* *//*************************************************************************************************//*************************************************************************************************//* *//* ******************************頭文件及宏定義************************** *//* *//*************************************************************************************************#include<reg52.h>#define LCDPORTP1sbit E=P3^7;sbit RW=P3^6;sbit DI=P3^5;sbit CS1=P3^3;sbit CS2=P3^4;sbitBUSYSTATUS=P1^7; //忙狀態(tài)位。//#defineDISONSTATUSP0_5 //顯示開關(guān)狀態(tài)位。//#defineRSTSTATUSP0_4 //復(fù)位狀態(tài)位。#defineLCDSTARTROW0xC0 //設(shè)置起始行指令。#defineLCDPAGE0xB8 //設(shè)置頁指令。#defineLCDLINE0x40 //設(shè)置列指令。//*************************************************************************************************//* *//* ********************************讀忙標(biāo)志位********************************* *//* *//*************************************************************************************************bitbCheckBusy(){ LCDPORT=0x00; RW=1; DI=0; E=1; E=0; returnBUSYSTATUS;}//*************************************************************************************************//* *//* ********************************寫數(shù)據(jù)********************************* *//* *//*************************************************************************************************voidvWriteData(unsignedcharucData){ while(bCheckBusy()); LCDPORT=0x00; RW=0; DI=1; LCDPORT=ucData; E=1; E=0;}//*************************************************************************************************//* *//* ********************************寫指令********************************* *//* *//*************************************************************************************************voidvWriteCMD(unsignedcharucCMD){ while(bCheckBusy()); LCDPORT=0x00;RW=0; DI=0; LCDPORT=ucCMD; E=1; E=0;}//*************************************************************************************************//* *//* ********************************LCD初始化函數(shù)******************************* *//* *//*************************************************************************************************/*voidvLCDInitialize(){ CS1=1; CS2=1; vWriteCMD(0x38); //8位形式,兩行字符。 vWriteCMD(0x0F); //開顯示。 vWriteCMD(0x01); //清屏。 vWriteCMD(0x06); //畫面不動(dòng),光標(biāo)右移。 vWriteCMD(LCDSTARTROW); //設(shè)置起始行。}*///*************************************************************************************************//* *//* ******************************顯示自定義行********************************* *//* *//*************************************************************************************************//在8×128的格子里顯示自定義長(zhǎng)度的一行voidvShowCustomRow(unsignedcharucPage,unsignedcharucLine,unsignedcharucWidth,unsignedchar*ucaRow){ unsignedcharucCount; //取值范圍:ucPage:0~7;ucLine:0~127; if(ucLine<64) //ucWidth:0~127;ucLine+ucWidth<1128。 { CS1=1; CS2=0; vWriteCMD(LCDPAGE+ucPage); vWriteCMD(LCDLINE+ucLine); if((ucLine+ucWidth)<64) { for(ucCount=0;ucCount<ucWidth;ucCount++) vWriteData(*(ucaRow+ucCount)); } else { for(ucCount=0;ucCount<64-ucLine;ucCount++) vWriteData(*(ucaRow+ucCount)); CS1=0; CS2=1; vWriteCMD(LCDPAGE+ucPage); vWriteCMD(LCDLINE); for(ucCount=64-ucLine;ucCount<ucWidth;ucCount++) vWriteData(*(ucaRow+ucCount)); } } else { CS1=0; CS2=1; vWriteCMD(LCDPAGE+ucPage); vWriteCMD(LCDLINE+ucLine-64); for(ucCount=0;ucCount<ucWidth;ucCount++) vWriteData(*(ucaRow+ucCount)); }}//*************************************************************************************************//* *//* *****************************漢字顯示函數(shù)*********************************** *//* *//*************************************************************************************************//此函數(shù)將16×16漢字顯示在8×128的格子里。voidvShowOneChin(unsignedcharucPage,unsignedcharucLine,unsignedchar*ucaChinMap){ vShowCustomRow(ucPage,ucLine,16,ucaChinMap); vShowCustomRow(ucPage+1,ucLine,16,ucaChinMap+16);}//*************************************************************************************************//* *//* *****************************字符顯示函數(shù)*********************************** *//* *//*************************************************************************************************//此函數(shù)將8×16字符顯示在8×128的格子里。voidvShowOneChar(unsignedcharucPage,unsignedcharucLine,unsignedchar*ucaCharMap){ vShowCustomRow(ucPage,ucLine,8,ucaCharMap); vShowCustomRow(ucPage+1,ucLine,8,ucaCharMap+8);}//*************************************************************************************************//* *//* *****************************清屏函數(shù)*********************************** *//* *//*************************************************************************************************//此函數(shù)將清空顯示屏。voidClearLCD(unsignedchardate){ unsignedcharpage,column;CS1=1; CS2=0; vWriteCMD(LCDSTARTROW); for(page=0;page<8;page++) { vWriteCMD(page+LCDPAGE);vWriteCMD(LCDLINE); for(column=0;column<64;column++) { vWriteData(date);//清左屏 } } CS1=0; CS2=1; vWriteCMD(LCDSTARTROW); for(page=0;page<8;page++) { vWriteCMD(page+LCDPAGE);vWriteCMD(LCDLINE); for(column=0;column<64;column++) { vWriteData(date);//清右屏 } }} unsignedcharcodeuca_DANG[]={0x00,0x40,0x42,0x44,0x4C,0x40,0x40,0x7F,0x40,0x40,0x48,0x44,0xE6,0x40,0x00,0x00,0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00};/*"當(dāng)",0*/unsignedcharcodeuca_QIAN[]={0x08,0x08,0xE8,0x29,0x2A,0x2E,0xE8,0x08,0x08,0xCC,0x0A,0x0B,0xE8,0x0C,0x08,0x00,0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00};/*"前",0*/unsignedcharcodeuca_GONG[]={0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00};/*"工",0*/unsignedcharcodeuca_ZUO[]={0x80,0x40,0x20,0xF8,0x87,0x40,0x30,0x0F,0xF8,0x88,0x88,0xC8,0x88,0x0C,0x08,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x0C,0x08,0x00,0x00};/*"作",0*/unsignedcharcodeuca_DIAN[]={0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00};/*"電",0*/unsignedcharcodeuca_YA[]={0x00,0x00,0xFE,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC3,0x82,0x00,0x00,0x40,0x30,0x0F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x42,0x44,0x4C,0x60,0x40,0x00};/*"壓",0*/unsignedcharcodeuca_QING[]={0x20,0x22,0xEC,0x00,0x20,0x22,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xEB,0xA2,0x20,0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};/*"請(qǐng)",*/unsignedcharcodeuca_SHE[]={0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9F,0x81,0x81,0x81,0x9F,0xA0,0x20,0x20,0x00,0x00,0x00,0x00,0x7F,0xA0,0x90,0x40,0x43,0x2C,0x10,0x28,0x26,0x41,0xC0,0x40,0x00};/*"設(shè)"*/unsignedcharcodeuca_ZHI[]={0x00,0x10,0x17,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x17,0x10,0x00,0x00,0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x60,0x40,0x00};/*"置"*/unsignedcharcodeuca_SHU[]={0x44,0xF4,0x4F,0xE4,0x44,0x64,0x90,0x98,0x94,0x93,0x14,0x98,0x08,0xD0,0x10,0x00,0x04,0x04,0x04,0xFF,0x02,0x02,0xFF,0x4A,0x8A,0x7F,0x00,0x3F,0x80,0xFF,0x00,0x00};/*"輸"*/unsignedcharcodeuca_CHU[]={0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0xFC,0x00,0x00,0x00,0x00,0xFE,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0xFE,0x00,0x00};/*"出"*/unsignedcharcodeuca_MAOHAO[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*";*/unsignedcharcodeuca_0[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*";*/unsignedcharcodeuca_HEN[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00};/*"_"_*/unsignedcharcodeuca_XIAOSHU[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00};/*".".*/unsignedcharcodeuca_V[]={0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00};/*"V"*/unsignedcharcodeuca[][16]={{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",0*/{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"1",1*/{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",2*/{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},/*"3",3*/{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},/*"4",4*/{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},/*"5",5*/{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"6",6*/{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},/*"7",7*/{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"8",8*/{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00}/*"9",9*/};unsignedcharcodeuca_que[]={0xFF,0x7B,0x1B,0xA3,0xBB,0x3B,0xEF,0x07,0x68,0x6D,0x0D,0x65,0x69,0x0D,0xFF,0xFF,0xFE,0xFF,0xC0,0xF7,0x77,0xB0,0xCF,0xF0,0xFB,0xFB,0xC0,0xBB,0x7B,0x80,0xFF,0xFF};/*"確",11*/unsignedcharcodeuca_ding[]={0xFF,0xEF,0xF3,0x5B,0xDB,0xDB,0xDA,0x19,0xDB,0xDB,0xDB,0xDB,0xEB,0xF3,0xFB,0xFF,0xBF,0xDF,0xE7,0xF8,0xF7,0xEF,0xDF,0x80,0xBD,0xBD,0xBD,0xBD,0xBF,0xBF,0xFF,0xFF};/*"定",12*/unsignedcharcodeuca_wenhao[]={0xff,0xff,0xff,0xFF,0x9F,0xEF,0xF7,0xF7,0x6F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};/*"?",13*/基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制HYPERLINK"/detail.ht
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022幼兒園元旦活動(dòng)總結(jié)范文5篇
- 2022年建筑施工工作總結(jié)三篇
- 豫滿全球電商培訓(xùn)
- 石河子大學(xué)《足球》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《食品工藝學(xué)實(shí)驗(yàn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《心理測(cè)量學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《家畜環(huán)境衛(wèi)生學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《法律文書》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《商務(wù)俄語翻譯》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《建筑設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 合理用藥健康教育教學(xué)課件
- 初三【語文(統(tǒng)編)】《范進(jìn)中舉》中人物丑態(tài)的表現(xiàn)課件2
- 家庭教育重要性-課件
- HCCDP 云遷移認(rèn)證理論題庫(kù)
- 托伐普坦藥物治療進(jìn)展課件
- 新《煤礦安全規(guī)程》第10講 《煤礦安全規(guī)程》關(guān)于井下電氣事故防治規(guī)定
- 做一粒種子中考滿分作文(8篇)
- 非飽和土力學(xué)培訓(xùn)講義緒論
- 2021兒童體格發(fā)育評(píng)估與管理臨床實(shí)踐專家共識(shí)
- 建筑工程概預(yù)算知到章節(jié)答案智慧樹2023年浙江廣廈建設(shè)職業(yè)技術(shù)大學(xué)
- 英語漫談膠東海洋文化知到章節(jié)答案智慧樹2023年威海海洋職業(yè)學(xué)院
評(píng)論
0/150
提交評(píng)論