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

正文內(nèi)容

基于51單片機的智能數(shù)字鐘設(shè)計(文件)

2025-07-16 00:49 上一頁面

下一頁面
 

【正文】 控制模塊、顯示模塊、控制按鍵模塊,介紹各個模塊選擇的核心部件的主要功能及特點。綜上所述,采用方案二的AT89S52作為主控模塊。方案三: 采用 LCD12864液晶顯示,該顯示器顯示清晰、效果好,能顯示。 控制按鍵模塊的論證與選擇方案一:選取陣列式按鍵,采用該方案編程比較困難,且在電路中浪費過多的按鍵,因此排除該方案。 直流穩(wěn)壓電源+5V的直流穩(wěn)壓電源,本設(shè)計中的AT89S52和12864液晶顯示器需要+5V的直流電壓,設(shè)計該穩(wěn)壓電源。電路中C6和C8分別為輸入和輸出端的濾波電容,電容越大濾波效果越好,一般C6采用2200 181。F來代替,并且能滿足電路需求。內(nèi)含過流、過熱和過載保護電路。大電流的輸出,散熱片的尺寸要足夠大,否則會導(dǎo)致高溫保護或熱擊穿; (3)輸入輸出壓差也不能太小,太小效率很差。開機后,按下開關(guān)S3和S5,電路進入初始化狀體,初始化完成過后,按下開關(guān)S4進入調(diào)節(jié)模式,依次按下S4設(shè)置年、月、日、星期、時、分、秒,S3遞增調(diào)節(jié),S5遞減調(diào)節(jié),按下S2退出調(diào)節(jié)模式,顯示屏上正常顯示。DS1302內(nèi)含有一個實時時鐘/日歷和31 字節(jié)靜態(tài)RAM ,通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路,提供秒、分、時、日、日期、月、年的信息。 溫度采集模塊圖 溫度控制部分,給電路提供一個溫度數(shù)據(jù)。下圖為DS18B20的引腳排列圖圖 溫度傳感器 DS18B20 引腳排列圖每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無需外部電源。 顯示模塊電路圖 液晶模塊引腳圖上圖為液晶接口電路原理圖,液晶顯示器要正常工作,則需要給液晶加上一個電源和地,12864液晶顯示器1腳和20腳接地,7—14腳為數(shù)據(jù)端,接入單片機的P0端口,6腳分別為LCD驅(qū)動電壓輸入端、信號的選擇端以及信號的使能端,分別接入單片機的1114腳。接:8位或4位并行/3位串行,配置LED背光,多種軟件功能光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等,邏輯工作電壓(VDD)~,電源地(GND)0V,工作溫度(Ta)0~60℃(常溫)/20~75℃(寬溫)。F電容和一輕觸開關(guān)(即復(fù)位電路),20腳接地,使用的同時在P0端口要接上拉電阻。單片機在剛接通電源、斷電后以及發(fā)生故障后都需要復(fù)位。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。該電路中對電容沒有嚴(yán)格的要求,但是該電容的大小會影響晶振頻率高低、穩(wěn)定性、起振速度和溫度穩(wěn)定性。ART串行通道(8)低功耗的閑置和掉電模式(9)掉點后中斷可喚醒(10)看門狗定時器(11)雙數(shù)據(jù)指針(12)掉電標(biāo)識符AT89S52各引腳功能說明:VCC:供電電壓。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。ALE/ :地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低PROG8位地址XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。主程序的框架由鍵盤掃描程序構(gòu)成,各個功能模塊程序嵌入到各個按鍵的子程序中,通過對按鍵的不斷掃描來確定跳轉(zhuǎn)到哪個功能模塊。本設(shè)計采用溫度讀數(shù)準(zhǔn)確的DS18B20來作為溫度采集模塊,它采集溫度的范圍寬(工作溫度: 55~+125℃),時鐘電路采用誤差小的DS1302來作為定時來源,它一周的誤差約為3秒。開機后,按下S3進入數(shù)據(jù)調(diào)節(jié)模式,重復(fù)按S3可將預(yù)設(shè)參數(shù)進行轉(zhuǎn)換,這是顯示屏上會顯示相對應(yīng)的調(diào)節(jié)項,這時按下開關(guān)S2可進行參數(shù)加設(shè)置,按下開關(guān)S4可進行參數(shù)減設(shè)置,當(dāng)參數(shù)設(shè)置完成后按下開關(guān)S1,退出該模式,電路進入正常顯示狀態(tài)。輕觸式開關(guān):用萬用表電阻檔測量開關(guān)中相隔較遠(yuǎn)的兩只引腳,按下開關(guān)電阻小,放開按鈕電阻無窮大。F),電解電容器(1181。都是通過加載程序后再看是否能實現(xiàn)功能來判別其好壞。經(jīng)過嚴(yán)格的構(gòu)思后,將元器件安裝(焊接)在印制板上之前,要仔細(xì)檢查元器件。避免由于接線錯誤因此故障。安裝:將各模塊的跳線接好,注意引腳。 系統(tǒng)軟件的安裝與調(diào)試打開Keil 181。然后用鼠標(biāo)右鍵單擊So181。rce gro181。t中添加Create Hex Fi選項,輸出Hex文件。S仿真軟件中進行仿真了。在這次的產(chǎn)品制作過程中,受益匪淺,希望這次的設(shè)計是一個很好的開端,以后能有更多的這種機會。F C1,C3104 C2,C4,C5,C7,C9470181。2溫度傳感器 DS18B20 181。//溫度接口sbit DQ =P2^2。 //右上sbit KEY4 = P1^3。sbit clock_Rst = P2 ^ 5。sbit FM=P2^3。sbit a3 = ACC ^ 3。sbit a7 = ACC ^ 7。//定義靜態(tài)小時更新用數(shù)據(jù)變量static unsigned char keys = 0。 P0 = 1。 P0=0。void days (void) { //公歷節(jié)日數(shù)據(jù)庫Write_Cmd(0x80)。amp。 dd == 0x28 ){ Lcd_word( 世界麻風(fēng)日 )。 }//2 月if ( mo == 0x02 amp。amp。 dd == 0x01 ){ Lcd_word( 國際海豹日 )。 }if ( mo == 0x03 amp。amp。 dd == 0x14 ){ Lcd_word( 國際警察日 )。 }if ( mo == 0x03 amp。amp。 dd == 0x22 ){ Lcd_word( 世界水日 )。 }if ( mo == 0x03 amp。amp。 dd == 0x07 ){ Lcd_word( 世界衛(wèi)生日 )。 }if ( mo == 0x04 amp。amp。 dd == 0x04 ){ Lcd_word( 青年節(jié) )。 }if ( mo == 0x05 amp。amp。 dd == 0x15 ){ Lcd_word( 國際家庭日 )。 }if ( mo == 0x06 amp。amp。 dd == 0x26 ){ Lcd_word( 國際禁毒日 )。 }if ( mo == 0x06 amp。amp。 dd == 0x01 ){ Lcd_word(香港回歸記念日 )。 }if ( mo == 0x07 amp。amp。 dd == 0x08 ){ Lcd_word( 中國男子節(jié) )。 }if ( mo == 0x09 amp。amp。amp。 dd == 0x27 ){ Lcd_word( 世界旅游日 )。 }//10if ( mo == 0x10 amp。amp。 dd == 0x12 ){ Lcd_word(明天國際教師節(jié) )。 }if ( mo == 0x11 amp。amp。 dd == 0x01 ){ Lcd_word( 世界艾滋病日 )。 }if ( mo == 0x12 amp。amp。 dd == 0x31 ){ Lcd_word( 明日新年 )。 }if ( hh = 0x06 amp。amp。amp。 hh 0x22 ){ Lcd_word(△▲__●☆__晚上)。 }if ( hh = 0x00 amp。while( a != 0){for(i = 0。 //狀態(tài)信息(判斷是否忙)LCD_RS=0。LCD_EN=1。}while(tempamp。}//12864LCD 寫命令子程序void Write_Cmd(unsigned char cmd){chek_busy()。 //RW = 0。LCD_EN=1。 //E = 0。LCD_RW=0。Delay_ms(2)。LCD_EN=0。Write_Cmd(0x02)。Write_Cmd(0x01)。Write_Cmd(0x80)。\039。}void Init_Ds18b20()//初始化 ds1820{unsigned char x=0。 //DQ 拉低Delay(80)。 Delay(20)。i0。if(DQ)dat|=0x80。for(i=8。0x01。}}unsigned int ReadTemperature(void)//讀取溫度{unsigned char a=0。Init_Ds18b20()。WriteOneChar(0xCC)。 //讀高 8 位t=b。t= tt*10+。 clock_clk=1。 clock_clk=0。clock_dat=a3。 clock_clk=1。 clock_clk=0。clock_dat=a7。clock_Rst=0。clock_Rst=0。clock_clk=1。 clock_clk=0。 a3=clock_dat。clock_clk=1。 clock_clk=0。 a7=clock_dat。clock_Rst=0。clock_Rst=0。void lcd_w_mm(void)。 Lcd_word(調(diào)整)。mini=0。mini=0。mini=1。mini=1。mini=1。 mini=0。//數(shù)減 1 } if(itemmax) item=mini。//轉(zhuǎn)換成 16 進制寫入 1302 write_clock(0x8e,0x80)。//允許寫操作write_clock(0x8c,0x10)。//日write_clock(0x84,0x00)。//充電write_clock(0x8e,0x80)。Write_Cmd(0x84)。Write_Cmd(0x90)。Write_Cmd(0x91)。sel=(read_clock(0x8b))%16。} if(sel==5) {Lcd_word(五)。} if(sel==1) {Lcd_word(一)。Write_Cmd(0x92)。Write_Cmd(0x93)。amp。}Write_Cmd(0x88)。if( w == 0){days()。 //:Write_Dat((mm/16)+0x30)。//刷新 小時 lcd_w_dd()。//刷新 年}//向 LCD 中填寫 秒 數(shù)據(jù)void lcd_w_ss(void){unsigned int i=0。 //秒值在 LCD 上的寫入位置Write_Dat((ss/16)+0x30)。 //溫度在 LCM 上的寫入位置i=ReadTemperature()。Write_Dat(b+0x30)。 //小位 1 位Lcd_word(℃)。KEY2 = 1。mo=0xff。mm=0xff。//初始化液晶顯示器clr_Lcd()。Delay_ms(5)。amp。//調(diào)整}if(KEY3 == 0 amp。mo=0xff。mm=0xff。Lcd_word( [])。Lcd_word([Next])。//調(diào)整} while(KEY3 == 0)。 w == 1){w = 0。days()。//等待鍵松開 }if (KEY2 == 0 amp。amp。amp。 w == 1){Set_time(e)。 KEY2 == 0 amp。 KEY4 == 0)//時鐘初始化{Delay_ms(1000)。 KEY3 == 1 amp。//等待鍵松開 } if(KEY1 == 1 amp。 if(KEY4 == 0 amp。//調(diào)整} while(KEY2 == 0)。 w == 1)// 加減調(diào)整{ Delay_ms(20)。 //刷新數(shù)據(jù)lcd_w_mm()。 //“下一項” 計數(shù)器清 0}clr_Lcd()。 if(KEY1 == 0 amp。Lcd_word([+])。Lcd_word([Esc])。 //各數(shù)據(jù)刷新w=1。xq=0xff。 w == 0) //當(dāng)是正常狀態(tài)時就進入調(diào)時狀態(tài){clr_Lcd()。if (e = 6 ){e = 0。//刷新 秒}else//啟動調(diào)時{}if (KEY3 == 0) // 設(shè)置時間 { Delay_ms(20)。//|1|3|2|4|標(biāo)尺Delay_ms(2022)。 //各數(shù)據(jù)刷新ioin()。xq=0xff。KEY4 = 1。KEYI = 0。 //.c=ia*100b*10。Write_Dat(a+0x30)。 //寫個位lcd_w_mm()。if(read_clock(0x81) != ss)//判斷是否需要更新{ss = read_clock(0x81)。//更新星期值lcd_w_mo()。Write_Dat(0x2e)。 //刷新數(shù)據(jù)}}Write_Cmd(0x89)。Write_Dat(hh%16+0x30)。amp。}//向 LCD 中填寫 小時 數(shù)據(jù)void lcd_w
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1