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

正文內(nèi)容

基于51單片機(jī)的電子萬(wàn)年歷的研究畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 感器的選擇方案和論證方案一:采用熱敏電阻作為溫度傳感器。由于半導(dǎo)體熱敏電阻有獨(dú)特的性能,所以在應(yīng)用方面它不僅可以作為測(cè)量元件(如測(cè)量溫度、流量、液位等) ,還可以作為控制元件(如熱敏開(kāi)關(guān)、限流器)和電路補(bǔ)償元件。方案二:采用 DS18B20 溫度傳感器。這是世界上第一片支持“一線總線”接口的溫度傳感器。3 電路設(shè)計(jì)最終方案確定最終選擇單片機(jī) AT89S52 作為主控制器;選擇 LCD12864 型液晶作為顯示模塊,此模塊可以顯示字母、數(shù)字符號(hào)、中文字型及圖形,具有繪圖及文字畫(huà)面混合顯示功能;選擇采用 DS1302 時(shí)鐘芯片,使程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒,即農(nóng)歷陽(yáng)歷時(shí)間的顯示。采用 晶振。在本設(shè)計(jì)中,它的實(shí)際電路圖如圖 32 所示:圖 32 DS1302 與單片機(jī)的連接DS1302 需要外接 的晶振,1 號(hào)引腳接主電源 VCC(5V)電源,8 號(hào)引腳接備用電池(3V) ,當(dāng)主電源掉電后,備用電源為 DS1302 提供電源,維持 DS1302 內(nèi)數(shù)據(jù)不丟失,這正是時(shí)鐘芯片所必須的特性。這是世界上第一片支持“一線總線”接口的溫度傳感器。 DS18B20 的主要特征:1)DS18B20 的主要特征:? ①全數(shù)字溫度轉(zhuǎn)換及輸出; ??? ②先進(jìn)的單總線數(shù)據(jù)通信; ??? ③最高12位分辨率,℃; ????④12 位分辨率時(shí)的最大工作周期為750毫秒; ????⑤ 可選擇寄生工作方式; ????⑥ 檢測(cè)溫度范圍為–55℃——+125℃; ????⑦ 內(nèi)置EEPROM,限溫報(bào)警功能; ????⑧64 位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接; ????⑨ 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。DS18B20共有三種形態(tài)的存儲(chǔ)器資源,分別是:ROM 只讀存儲(chǔ)器,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H) ,后面48位是芯片唯一的序列號(hào),最后8位是以上56位的CRC碼(冗余校驗(yàn)) 。在上電復(fù)位時(shí)其值將被刷新。EEPROM 非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。 獨(dú)立鍵盤模塊鍵盤是人與萬(wàn)年歷實(shí)現(xiàn)信息交互的接口,本設(shè)計(jì)中,我們采用 3 個(gè)獨(dú)立鍵盤,電路原理如下圖 39:5圖 39 獨(dú)立鍵盤當(dāng)按鍵按下,與主控芯片連接的端口被降為低電平,按鍵松開(kāi)則也升為高電平。雖然 Tack Switch 有 4 個(gè)引腳,但實(shí)際上,其內(nèi)部只有一對(duì) a 接點(diǎn),即其中兩個(gè)引腳是內(nèi)部相連通的,而另外兩個(gè)引腳內(nèi)部也是相連通的?!?2 蜂鳴器的電路圖形符號(hào):蜂鳴器在電路中用字母“H”或“HA” (舊標(biāo)準(zhǔn)用“FM” 、○ 3“LB”、 “JD”等)表示。AT89S52 具有以下的特點(diǎn):主要性能 7● 與 MCS51 單片機(jī)產(chǎn)品兼容 ● 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲(chǔ)器 ● 1000 次擦寫(xiě)周期 ● 全靜態(tài)操作:0Hz~33Hz ● 三級(jí)加密程序存儲(chǔ)器 ● 32 個(gè)可編程 I/O 口線 ● 三個(gè) 16 位定時(shí)器/計(jì)數(shù)器 ● 八個(gè)中斷源 ● 全雙工 UART 串行通道 ● 低功耗空閑和掉電模式 ● 掉電后中斷可喚醒 ● 看門狗定時(shí)器 ● 雙數(shù)據(jù)指針 ● 掉電標(biāo)識(shí)符 AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。 AT89S52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。 溫度信息的采集通過(guò)DS18B20單線總線的所有執(zhí)行處理都從一個(gè)初始化序列開(kāi)始。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來(lái)將會(huì)是控制器與18B20間的數(shù)據(jù)通信。Match ROM(指定匹配芯片)[55H]: 這個(gè)指令后面緊跟著由控制器發(fā)出了64位序列號(hào),當(dāng)總線上有多只DS18B20時(shí),只有與控制發(fā)出的序列號(hào)相同的芯片才能做出反應(yīng),其它芯片將等待下一次復(fù)位。 Search ROM(搜索芯片)[F0H]: 在芯片初始化后,搜索指令允許總線上掛接多芯片時(shí)用排除法識(shí)別所有器件的64位ROM。其主要目的是為了分辨一條總線上掛接的多個(gè)器件并作處理。 Write Scratchpad (向RAM中寫(xiě)數(shù)據(jù))[4EH]:這是向RAM中寫(xiě)入數(shù)據(jù)的指令,隨后寫(xiě)入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2(報(bào)警RAM之TH)和地址3(報(bào)警RAM之TL) 。 Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)[48H]:此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0” ,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1” 。另外,此指令將在芯片上電復(fù)位時(shí)將被自動(dòng)執(zhí)行。 (5)執(zhí)行或數(shù)據(jù)讀寫(xiě):一個(gè)存儲(chǔ)器操作指令結(jié)束后則將進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫(xiě),這個(gè)操作要視存儲(chǔ)器操作指令而定。和DS18B20間的任何通訊都需要以初始化序列開(kāi)始。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。在前面已分析了系統(tǒng)并繪制了框圖,并根據(jù)框圖分別設(shè)計(jì)了各部分電路。Protel 99SE 采用數(shù)據(jù)庫(kù)的管理方式。其具有的打印功能,可以輕松修改打印設(shè)置控制打印結(jié)果。在其中選擇打印效果最好的制作線路板。(4)轉(zhuǎn)印電路板。(5)腐蝕線路板,回流焊機(jī)。(6)線路板鉆孔。鉆孔完后,用細(xì)砂紙把覆在線路板上的墨粉打磨掉,用清水把線路板清洗干凈。2 元器件的焊接元器件裝焊順序依據(jù)的原則是:先低后高,先小后大。電容的焊接:按圖將電容準(zhǔn)確裝入規(guī)定位置,并注意有極性電容的極性方向不能錯(cuò)。 三極管的焊接:正確辨認(rèn)各引腳后按要求裝入規(guī)定位置,型號(hào)標(biāo)記要易見(jiàn),焊接時(shí)○ 4間盡可能短。焊接時(shí)間盡可能短,禁止拉焊?!?33焊接完成的電路板不得有斑點(diǎn)、裂紋、氣泡、發(fā)白等現(xiàn)象,銅箔及敷形涂覆層不得○ 4脫落、不起翹、不分層。04 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)中,我們使用了 Keil μVision2。完成初始化后,由于本系統(tǒng)只有一個(gè)測(cè)溫元件,單片機(jī)會(huì)向其發(fā)出跳過(guò)RAM指令,接下來(lái)便可向其發(fā)送操作指令,啟動(dòng)測(cè)溫程序,測(cè)溫過(guò)程完成后,1發(fā)出溫度轉(zhuǎn)換指令,從而便可將溫度轉(zhuǎn)化成數(shù)字模式進(jìn)行顯示讀取;同時(shí)DS1302將讀取時(shí)分秒星期以及年月日寄存器然后通過(guò)液晶顯示實(shí)時(shí)時(shí)間、星期及日期;鍵盤電路中按鍵可對(duì)實(shí)時(shí)日歷時(shí)鐘進(jìn)行調(diào)整。頁(yè)面地址設(shè)置中 P2P0 為選擇的頁(yè)面地址,取值范圍為 07H,代表 18 頁(yè)。該 bit=1 時(shí)該點(diǎn)則顯示黑點(diǎn)出來(lái),該 bit=0 時(shí)該點(diǎn)則消失。點(diǎn)陣字模庫(kù)建立包括以下幾個(gè)方面: 816 點(diǎn)陣常用字符、數(shù)字、符號(hào)字模庫(kù)。3,采用了寬 x 高=16x32 點(diǎn)陣方式,這樣時(shí)間很清晰,如下圖。 //DQ 復(fù)位 delay_18B20(8)。 //拉高總線 delay_18B20(14)。鍵盤模塊的設(shè)計(jì),關(guān)鍵是消陡。因?yàn)橛布缎枰砑宇~外的硬件,故這里我們采用軟件消抖。當(dāng)然,我們的萬(wàn)年歷再開(kāi)機(jī)時(shí)會(huì)提醒用戶是否開(kāi)啟按鍵時(shí),蜂鳴器是否聲音提醒,實(shí)現(xiàn)的方法是:我們?cè)诜澍Q器中設(shè)置了 flag 標(biāo)志位,6當(dāng)開(kāi)機(jī)時(shí),用戶的選擇會(huì)賦給 flag 標(biāo)志位,從而由單片機(jī)判斷是否讓蜂鳴器工作,為了記錄用戶的選擇,我們將 flag 標(biāo)志位放在了 DS1302 的空閑寄存器中,以保證用戶的選擇不會(huì)因?yàn)橄到y(tǒng)的掉電而消失,當(dāng)系統(tǒng)重新上電時(shí),系統(tǒng)還可以恢復(fù)用戶的選擇。通過(guò)反復(fù)的調(diào)試與實(shí)驗(yàn),可以證明該系統(tǒng)能夠較好地完成設(shè)計(jì)所需的基本要求。經(jīng)過(guò)萬(wàn)年歷的設(shè)計(jì),讓我學(xué)到了很多,讓我認(rèn)識(shí)到了學(xué)習(xí)基礎(chǔ)知識(shí)的重要性,當(dāng)設(shè)計(jì)完整的系統(tǒng)時(shí),要考慮到硬件和軟件兩者的結(jié)合,有時(shí)硬件的不足,我們可以用軟件程序來(lái)彌補(bǔ),從而節(jié)約硬件成本,在設(shè)計(jì)軟件程序時(shí)要模塊化,可以提高程序的可讀性。他以一個(gè)教育工作者熱忱的心胸不厭其煩地指導(dǎo)著我們,教育者我們,使我們不僅學(xué)到了扎實(shí)的專業(yè)知識(shí),更學(xué)到了做人的道理。同時(shí),在我四年的大學(xué)生活中,也得到了很多老師、同學(xué)、朋友的支持和幫助,在此一并表示感謝,正是由于你們,才使我的大學(xué)生活更加豐富多彩,感謝你們。bit Alarm_flag=0。 //DS18B20 pin//18B20unsigned char L_18B20,H_18B20,zhengshu,shangwen,xiawen。//void delay(uint16 n){while (n)。i++)for(j=0。while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){ for(j=0。kSONG_TONE[i]/3。}BEEP =1。 //DQ 復(fù)位 delay_18B20(8)。 //拉高總線 delay_18B20(14)。 for (i=8。0x01。 }} /*所有讀時(shí)隙至少 60us 且兩次獨(dú)立的讀時(shí)隙之間至少需要 1us 的恢復(fù)時(shí)間 每次讀時(shí)隙由主機(jī)發(fā)起,拉低總線至少 1us。i0。 // 給脈沖信號(hào) if(DQ) dat|=0x80。WriteOneChar(0xCC)。WriteOneChar(0xCC)。 //讀取低八位數(shù)據(jù)H_18B20=ReadOneChar()。 //小數(shù)第一位}//DS18B20//////////////////////////////////////////////////* * 按鍵掃描*/int8 scan_key(void){int8 val=1。while (KeyIn2 == 0)。return val。play8(40, 0, S_xie)。}/* * 主界面*/void main_show(bit refresh){ uint8 lunar[2]。// 溫濕度 play8_num(104, 6,zhengshu)。 = 。(Clock_flag))alarm_sound()。play8_num(48, 0, )。}if (refresh || ( != )) // 周更新{ = 。// 農(nóng)歷turn_lunar_calendar(amp。play8_num(0, 0, )。}}/* * 主機(jī)界面設(shè)置 */void main_set(void){int8 key_val, state=1。elsestate++。switch (state){case 0: set_time((uint8 *)amp。 break。 break。 break。 break。if ( = 60) = 0。else8。}else if (state == 3){if (key_val == 3)++。play32_num(0, 2|0x80, )。else if ( 1) = 7。if ( = 32) = 1。else。}else if (state == 7){if (key_val == 3)++。play8_num(0, 0|0x80, )。uint32 t=0。if (Alarm_flag)play16(48, 0, kai)。play32_num(80, 2, )。play16(48, 6, shi)。for (t=0。else if (key_val == 1){if (Alarm_flag)play16(48, 0|0x80, kai)。elsestate++。play32_num(80, 2, )。elseplay16(48, 0|0x80, guan)。case 3: play32_num(32, 2|0x80, )。break。elseplay16(48, 0|0x80, guan)。else if ( 0) = 59。if ( = 24) = 0。if (Clock_flag)play16(80, 6|0x80, kai)。}if (state == 0)break。//延時(shí) 1S,等待 18B20 工作正常LCD_init()。 //刷新 1 次 read_18B20()。}else if (key_val == 2) //K2?{clear12864()。}else if (key_val == 3) //K3?{clear12864()。}else{read_time((uint8 *)amp。} //每隔 2S 采集一次}// 鬧鐘if (Alarm_flag){if ((flag == 0) amp。 ( == )){14flag = 1。 //播放音樂(lè)PlayMusic(
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1