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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于89c51單片機(jī)的電子時(shí)鐘設(shè)計(jì)-預(yù)覽頁

2025-02-09 23:34 上一頁面

下一頁面
 

【正文】 P1接收低 8位地址。 在訪問外部程序存儲(chǔ)器或 16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 MOVXDPTR指令)時(shí), P2口送出高 8位地址數(shù)據(jù)。對(duì) P3口寫入“ 1”時(shí),它們被內(nèi)部的上拉電阻拉高并可作為輸入端口。當(dāng)振蕩器工作時(shí), RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。即使不訪問外部存儲(chǔ)器, ALE仍以時(shí)鐘振蕩頻率的 1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。該位置后,只有一條 MOVX和 MOVC指令 ALE才會(huì)被激活。 ? EA/VPP:外部訪問允許。 Flash存儲(chǔ)器編程時(shí),該引腳加上 +12V 的變成電壓 Vpp. ? XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 WDT 在默認(rèn)情況下無法工作;為了激活 WDT,用戶必須往 WDTRST 寄存器(地址: 0A6H)中依次寫入 01EH 和 0E1H。當(dāng) WDT溢出,它將驅(qū)動(dòng) RSR引腳輸出一個(gè)高電平。串行口內(nèi)的接收器采用的是雙緩沖結(jié)構(gòu),能夠在接收到的第一個(gè)字節(jié)從接收寄存器讀走之前就開始接收第二個(gè)字節(jié)(當(dāng)然,如果第二個(gè)字節(jié)接收完畢,第 10 頁 共 50 頁 10 而第一個(gè)字節(jié)仍然沒有被讀走,那將會(huì)丟掉一個(gè)字節(jié))。因此, CPU對(duì) SBUF的讀寫,實(shí)際上是分別訪 問 2個(gè)不同的寄存器??梢岳盟鼉?nèi)部的振蕩器產(chǎn)生時(shí)鐘,只要 XTAL1和 XTAL2引腳上一個(gè)晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個(gè)完整的振蕩信號(hào)發(fā)生器,此方式稱為內(nèi)部方式。 ? 定時(shí) /計(jì)數(shù)器: AT89C51單片機(jī)內(nèi)含有 2個(gè) 16位的定時(shí)器 /計(jì)數(shù)器。 ? RAM:高于 7FH內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址是 8位的,也就是說其地址空間只有256字節(jié),但內(nèi)部 RAM的尋址方式實(shí)際上可提供 384字節(jié)。 ? SFR: SFR是具有特殊功能的所有寄存器的集合,共含有 22個(gè)不同寄存器,它們的地址分配在 80H~ FFH中。 IE 寄存器用于允許或禁止中斷; IP 寄存器用于確定中斷源的優(yōu)先級(jí)別;優(yōu)先級(jí)結(jié)構(gòu)用于執(zhí)行中斷源的優(yōu)先排序;有關(guān)邏輯門用于輸入中斷請求信號(hào)。當(dāng)有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用 Q0的狀態(tài)。這些電路的接口簡單、價(jià)格低廉、使用方便,被廣泛地采用。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。 X1和 X2是振蕩源,外接 。如果在傳送過程中 RST 置為低電平, 則會(huì)終止此次數(shù)據(jù)傳送, I/O引腳變?yōu)楦咦钁B(tài)。 SCLK始終是輸入端。 在控制指令字輸入后的下一個(gè) SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1902,數(shù)據(jù)輸入從低位即位 0 開始。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存 器外的所有寄存器內(nèi)容。 DS1302 與 CPU 的連接 , 實(shí) 際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè) 的晶振即可。 LED 還可以換成 LCD,還可以使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的10 位多功能 8 段液晶顯示模塊 LCM101,內(nèi)含看門狗 (WDT)/時(shí)鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動(dòng)電路,并有內(nèi)置顯示 RAM,可顯示任意字段筆劃,具有 3- 4 線串行接口,可與任何單片機(jī)、 IC 接口。下面對(duì) DS1302的基本操作進(jìn)行編程: 根據(jù)本人在調(diào)試中遇到的問題,特作如下說明: DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位 MSB(D7)必須為邏輯 1,如果 D7=0,則禁止寫 DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù), D6=1,指定 RAM 數(shù)據(jù); D5~ D1 指定輸入或輸出的特定寄存器;最低位 LSB(D0)為邏輯 0,指定寫操作 (輸入 ), D0=1,指定讀操作 (輸出 )。 要特別說明的是備用電源 B1,可以用電池或者超級(jí)電容器 ( 以上 )。 100 μF 就第 17 頁 共 50 頁 17 可以保證 1 小時(shí)的正常走時(shí)。 DS1302 可以用于數(shù) 據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。 第 18 頁 共 50 頁 18 4 系統(tǒng)的軟件設(shè)計(jì) 電子萬年歷的功能是在程序控制下實(shí)現(xiàn)的。 用 PROTEUS ISIS 對(duì)電子萬年歷的硬件電路設(shè)計(jì) 通過 PROTEUS ISIS 軟件的 VSM(虛擬仿真技術(shù)),用戶可以對(duì)模擬電 路、數(shù)字電路、模數(shù)混合電路,以及基于微控制器的系統(tǒng)連同所有外圍接口電子元器件一起仿真。會(huì)彈出如圖 53所示的窗口。 第 22 頁 共 50 頁 22 圖 54 所用器件 其中 74LS174表示三個(gè)串行接口, AT89C51 代表單片機(jī)會(huì), DS1302 代表時(shí)鐘芯片, RESPACK8代表八排電阻。在布線之前,如果覺得元器件的引腳的方向不好布線,則可以通過單擊 這四個(gè)按鈕進(jìn)行調(diào)整,這四按鈕的意思分別是:順時(shí)針旋轉(zhuǎn) 90176。接著進(jìn)行布線,由于 PROTEUS ISIS 有自動(dòng)布線的功能,比如要把 AT89C51 的 P2 口連到 74LS164 的 OUT8 口,只要先在 P2 引腳上單擊一下,再在 OUT8 引腳上單擊,則 ISIS 自動(dòng)將兩個(gè)引腳連上線。選擇 ,從中可以選擇電路原理中的兩個(gè)通用的端子,一個(gè)是接地,一個(gè)是電源。 ② 編譯源程序,生成 .HEX目標(biāo)代碼文件 單擊 Source→ Build All。 圖 59 ④ 單擊 按鈕,進(jìn)行對(duì)電子萬年歷的仿真測試, 運(yùn)行結(jié)果如圖 510所示 第 26 頁 共 50 頁 26 圖 510 仿真測試 ⑤ PROTEUS的調(diào)試功能 由于使用的是匯編語言編寫的程序,如果在測量的時(shí)候測量值顯示錯(cuò)誤,說明程序中存在問題,這個(gè)問題只用在仿真測量的時(shí)候才能被發(fā)現(xiàn),這時(shí)可以使用PROTEUS 對(duì)程序進(jìn)行調(diào)試。而且 所設(shè)計(jì)的 電子萬年歷設(shè)計(jì)也按當(dāng)初要求的能夠在 PROTEUS中進(jìn)行仿真,并且能夠很精確的 顯示年歷。由于平時(shí)沒有接觸過這兩個(gè)軟件,加上畢業(yè)設(shè)計(jì)的時(shí)間有限,對(duì)于他們的連接調(diào)試程序,未能熟練掌握,但以后有機(jī)會(huì)的話會(huì)再好好學(xué)習(xí)的。在此畢業(yè)設(shè)計(jì)完成之際,謹(jǐn)向?qū)熀退袔椭^我的老師致以崇高的敬意和衷心的感謝。i++)。 if((pinpamp。(1io))) bflag=l。 write(w_2_byte); prt_clear_rst(); prt_clear_clk(); } void reset(void) { ddr_set_rst(); prt_clear_clk(); prt_clear_rst(); prt_set_rst(); } void write(unsigned char W_Byte) { unsigned char i; DDRC=0xFF。i4; i++)// get the first 4 bits { TmpByte=0; if((pinpamp。//R_Byte=1。(1io))) { TmpByte=1; TmpByte=0x80; } // TmpByte=7; R_Byte2=(R_Byte21);// R_Byte2=l; R_Byte2 |=TmpByte。 lcd_pulse(); } void clrscr(void) { lcd_clear_rs(); lcd_clear_rw(); icd_send(0x01); lcd_wait(); } void gotoz(unsigned char z) { lcd_clear_rs(); lcd_clear_rw(); lcd_send(z || 0x80); } void gotoxy(unsigned char x, unsigned char y) { gotoz((x)|((y)(6)); } void put_char(char c) { lcd_clear_rw(); lcd_set_rs(); lcd_send(c); } void outtext(unsigned char*text) 第 35 頁 共 50 頁 35 { unsigned char i; for(i=0。BIT3: LCD_OP_PORT=(CMD & 0xf0)| temp; lcd_clear_rw(); lcd_clear_rs(); lcd_set_e(); asm(”nop”); asm(”nop”); lcd_clear_e(); LCD_OP_PORT=(CMD4)|temp; 第 37 頁 共 50 頁 37 lcd_clear_rw(); lcd_clear_rs(); lcd_set_e(); asm(”nop”)。 temp=tempamp。 lcd_clear_rw(); lcd_set_rs(); lcd_set_e(); asm(”nop”); asm(”nop”); lcd_clear_e(); } // *********************************// // ***初始化液晶 ***// // *********************************// void Init_LCD(void) { LCD_INIT()。 default: break; } } // **************************// // ***打開光標(biāo) ***// // **************************// void LCD_Cursor_On(void) { LCD_WriteControl(LCD_CURS_ON); } // ***************************// // ***關(guān)閉光標(biāo) ***// // ***************************// void LCD_Cursor_Off(void) { LCD_WriteControl(LCD_ON); // ********************// // ***關(guān)閉 LCD***// // *************殺 ******// void LCD_Display_Off(void) { LCD_WriteControl(LCD_OFF); } // *******************// // ***打開 LCD***// // ******************// void LCD_Display_On(void) { LCD_WriteControl(LCD_ON); } MAIN. C include”includes. h” define WDR() asm(”wdr”) unsigned char alarm _1_set, alarm_2_set, alarm_3_set; __flash unsigned char test[ ]=”DSl302 time is: ”; void main(void) { 第 40 頁 共 50 頁 40 unsigned char hour, min, sec; unsigned char date, month。 while(1) { sec =readbyte(sec_r); //讀秒 min =readbyte(min_r); //讀分 hour =readbyte(hour_r); //讀小時(shí) month =readbyte(month_r); date =readbyte(date_r); WDR(); LCD_DisplayString_F(1, 1, test); if(flag) { LCD_Cursor(2, 1); LCD_DisplayCharacter(~+hour/ 10); LCD_DisplayCharacter(~+hour% lO); LCD_DisplayCharacter(’:, ); WDR(); LCD_DisplayCharacter(~+m~/ 10)} LCD_DisplayCharacter(~+min% 10); LCD_DisplayCharacte
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1