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

正文內(nèi)容

[電子電路]基于單片機(jī)的數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作(存儲(chǔ)版)

  

【正文】 否否秒 是 否 大 于 59結(jié) 束秒 表 的 毫 秒 秒 加 1將 毫 秒 寫 入 液 晶秒 是 否 大 于 99毫 秒 清 零 , 秒 加 1將 秒 寫 入 液 晶秒 清 零 , 分 加 1將 分 寫 入 液 晶是分 是 否 大 于 59否分 清 零 , 時(shí) 加 1將 時(shí) 寫 入 液 晶是時(shí) 是 否 大 于 23時(shí) 清 零將 時(shí) 寫 入 液 晶是否 圖 551 22 函數(shù)部分代碼 void update_stop_watch(void) { if(sw_t1=1) { sw_t1=0。 if(23) { =0。,WDATA)。,WDATA)。,WDATA)。,WDATA)。 amp。 write_lcd(+39。 write_lcd(%10+39。 write_lcd(+39。 write_lcd(39。 write_lcd(%1000/100+39。 write_lcd(()%10+39。 write_lcd(+39。 write_lcd(%10+39。 write_lcd(39。 write_lcd(+39。 write_lcd(%10+39。 write_lcd(39。 write_lcd(+39。 shift_flag == 1) { shift_flag =0。 write_lcd(39。 write_lcd(39。 write_lcd(39。 write_lcd(39。 write_lcd(39。 write_lcd(+39。 write_lcd(%10+39。 write_lcd(%10+39。 write_lcd(39。 write_lcd(+39。 write_lcd(%10+39。 } 29 實(shí)物 30 31 結(jié)果分析 使用 keil 軟件對(duì)程序進(jìn)行仿真,仿真結(jié)果如圖 61 所示 : 圖 61 電路調(diào)試 如圖 621和圖 622顯示 年 月 日 時(shí) 分 秒 仿真 。在設(shè)計(jì)過程中,重點(diǎn)就在于軟件算法的設(shè)計(jì), 若設(shè)計(jì)好了 程序算法, 就可以輕松寫出程序代碼, 以達(dá)到硬件功能 ,此次設(shè)計(jì)讓自己對(duì)這些 CAD 軟件和編程軟鍵以及單片機(jī)的使用有了進(jìn)一步的提高, 對(duì)于整個(gè)項(xiàng)目的整體設(shè)計(jì)制作有一個(gè)全局性的把握, 這為自己不久的將來走上工作崗位打下了堅(jiān)實(shí)的基礎(chǔ) 。 //被拉低說明有鍵按下 sbit key2=P2^1。 //系統(tǒng)時(shí)間計(jì)時(shí)變量和鍵盤消痘時(shí)間計(jì)時(shí)變量 unsigned char sw_t1。 //鬧鈴時(shí) unsigned char alarm_minute。 //置為輸入 data_bus=0x00。 //返回讀到的數(shù)據(jù) } /************************************ 寫 lcd 數(shù)據(jù) /指令函數(shù) ===================== 說明 :向 lcd1602 中寫入數(shù)據(jù)或者指令 ************************************/ void write_lcd(unsigned char value,bit data_cmd ) //value 表示要寫入的內(nèi)容,data/cmd 表示數(shù)據(jù)指令選擇 { // data_bus=0xff。 delay_us(100)。 } } if((t1=key_shake_time)amp。amp。break。 } write_lcd(0xCE,WCMD)。 write_lcd(0xCF,WCMD)。 write_lcd(0xCC,WCMD)。 } write_lcd(0xC3,WCMD)。 write_lcd(0xC4,WCMD)。 write_lcd(0xC1,WCMD)。 } 42 if(time_change_flag == 5) { ++。039。039。 } if(time_change_flag == 3) { ++。039。039。 if(time_change_flag !=0) { if(time_change_flag == 1) { ++。break。 key_scan_step = 1。 0x03 != 0x03) { t1=0。 delay_us(100)。 //延時(shí) 1us 左右 en=0。 /*********************************** us 級(jí)延時(shí)程序 ================= 說明 : 延時(shí) 2*i+1+2 個(gè)機(jī)器周期 12MHz 時(shí),延時(shí) 2*i us ***********************************/ void delay_us(unsigned char i) { while(i)。 //月 unsigned char day。 //時(shí)間調(diào)整標(biāo)志位 unsigned char key_value。 //lcd 讀寫選擇端,高讀低寫 sbit en=P2^7。時(shí)鐘顯示功能,精確度完全可以滿足日常生活顯示時(shí)間的需要;秒表功能,可以滿足 大部分 比賽計(jì)時(shí)的需要;調(diào)時(shí)功能,方便快捷;定時(shí)功能準(zhǔn)確可靠,還有擴(kuò)展成音樂鬧鐘的余地。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。 do { write_lcd(0x01,WCMD)。 sw_stop_flag == 2 amp。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。,WDATA)。 do { write_lcd(0x01,WCMD)。 amp。 write_lcd(+39。 write_lcd(+39。 write_lcd(+39。 write_lcd(+39。 if(59) { =0。039。039。039。039。039。039。039。 } } }break。 if(12) { =1。 if( 2060) { = 2020。 18 if(12) { =1。 if(59) { =0。 16 case 0x03 : value = 0。 } } if((key_scan_step==1)amp。 do_key=1。amp。 若在 秒表 顯示模式下 第一次 按下 key2 并釋放則啟動(dòng)秒表計(jì)時(shí) ,第二次按下 key2 釋放后則暫停秒表 ,第三次按下 key2 釋放后則秒表清零 , 三 次為一個(gè)循環(huán) 。 。獨(dú)立式鍵盤電路配置靈活,軟件結(jié) 構(gòu)簡(jiǎn)單,所以本設(shè)計(jì)采用獨(dú)立式鍵盤。 9 圖 311 下圖 421所示為復(fù)位電路原理圖 ,在單片機(jī)的實(shí)際應(yīng)用系統(tǒng)中,除單片機(jī)本身需復(fù)位以外,外部擴(kuò)展的 I/O 接口電路等也需要一個(gè)復(fù)位,因此需要一個(gè)系統(tǒng)的 同步復(fù)位信號(hào),即單片機(jī)復(fù)位后, CPU 開始工作,外部的電路一定要復(fù)位好,以保證 CPU 有效地對(duì)外部電路進(jìn)行初始化編程。當(dāng)系統(tǒng)處于時(shí)間顯示模式時(shí) , ( key2)口控制按鍵, 按此鍵對(duì)相應(yīng)的選中位 進(jìn)行加 ,當(dāng)系統(tǒng)處于處于秒表工作模式時(shí)按此鍵可以控制秒表計(jì)時(shí)的啟動(dòng)和 暫停 。 電子 鐘的 總體設(shè)計(jì) 此設(shè)計(jì)原理框圖如下圖 321 所示,此電路包括以下三個(gè)部分:?jiǎn)纹瑱C(jī),鍵盤,鬧鈴電路 。光標(biāo)減 1), S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移 ) s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng) 數(shù)據(jù)指針設(shè)置: 數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為 80H+地址碼 (027H, 4067H) 其他設(shè)置: 01H(顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0); 02H(顯示回車,數(shù)據(jù)指針 =0)。 /EA/VPP:當(dāng) /EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE 脈沖。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。 P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的 8位雙向 I/O 口, P2口緩沖器可接收,輸出 4 個(gè) TTL門電流,當(dāng) P2 口被寫“ 1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。 VSS:接地。 ( 5)并行 I/O 口 AT89C51 共有 4 個(gè) 8 位的 I/O 口( P0、 P P P3 口),可以實(shí)現(xiàn)數(shù)據(jù)的并行輸入、輸出。 圖 31為 AT89C51 單片機(jī)的基本組成功能方塊圖。 方案二 中文字符顯示和端口鍵盤掃描 采用 LCD 液晶字符顯示。 鑒于本系統(tǒng)采用 AT89C51 單片機(jī) 作為整個(gè)控制系統(tǒng)的核心,充分利用單片機(jī)內(nèi)部的時(shí)鐘電路,進(jìn)行定時(shí)控制,從而減少電路設(shè)計(jì)的復(fù)雜度,而且能夠減少整套系統(tǒng)的成本。 本系統(tǒng)的主控制器采用 AT89C51 單片機(jī)作 為整個(gè)控制系統(tǒng)的核心。這樣,系統(tǒng)的成本就會(huì)急劇上升〔相對(duì)于方案二〕。 。工作過程中有各種工作狀,顯示 年月日 ,同時(shí)顯示時(shí)鐘;而在 秒表工作狀態(tài) 時(shí) 只顯示啟動(dòng)秒表后或暫停秒表后的當(dāng)前累計(jì)的時(shí)間。 實(shí)現(xiàn)了 秒表 和 數(shù)字 電子時(shí)鐘的功能。 本簡(jiǎn)易電子時(shí)鐘設(shè)計(jì)功能主要為: 時(shí)分秒顯示及校對(duì)功能, 24 小時(shí)制。由于鍵盤控制信號(hào)繁多,系統(tǒng)的邏輯狀態(tài)以及相互轉(zhuǎn)移更是復(fù)雜,用純粹的數(shù)字電路或小規(guī)模的可編程邏輯電路實(shí)現(xiàn)該系統(tǒng)有一定的困難,需要用中大規(guī)模的可編程邏輯電路。我們的設(shè)計(jì)采用 AT89C51 型單片機(jī)。 方案三 利用用 MCU 的內(nèi)部定時(shí)器軟件現(xiàn)實(shí)時(shí)鐘功能 。如果采用這種方法,為了表達(dá)更多的信息,就必需使用許多 LED 來引導(dǎo)用戶進(jìn)行操作。 AT89C51 單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。 ( 4)定時(shí)器 /計(jì)數(shù)器 AT89C51 共有 2 個(gè) 16 位的定時(shí)器 /計(jì)數(shù)器,可以實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。 圖 32 DIP 封裝引腳圖 [10] VCC:供電電壓。在 FLASH 編程和校驗(yàn)時(shí), P1 口作為第八位地址接收。當(dāng)P3 口寫入“ 1”后,它們被內(nèi)部上拉為高電平,并用作輸入。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN 信號(hào)將不出現(xiàn)。光標(biāo)加 1), N=0(讀或?qū)懸粋€(gè)字符后地址指針減 1 amp。 15 腳背光正極, 16腳背光負(fù)極。通過 2個(gè)開關(guān)控制來進(jìn)行時(shí)間的調(diào)節(jié) 以及秒表功能 ,( key1) 口控制按鍵,當(dāng) 系統(tǒng)處于正常時(shí)間顯示并且 按下此鍵時(shí),可以 進(jìn)入秒表功能和時(shí)間功能的切換 ,此鍵還可以作為 時(shí)間和日期以及鬧鈴的調(diào)整 位選中 鍵 ,當(dāng) 系統(tǒng)處于時(shí)間顯示模式時(shí) , 按此鍵可以選中相應(yīng)的需要調(diào)整的位 。而在芯片 外 部, XTAL1 和 XTAL2 之間跨接晶體振蕩器和微調(diào)電容, 構(gòu)成一個(gè)穩(wěn)定的自激振蕩電路 , 電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行 十二 分頻 之后, 便 成為單片機(jī)的時(shí)鐘信號(hào)。獨(dú)立式鍵盤是各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵占用一個(gè) I/O 口, 外加上拉電阻 , 每個(gè) I/O 口上的按鍵不會(huì)影響到其他 I/O 口的按鍵工作狀態(tài)。通電后, A 的右邊顯示 的是默認(rèn)的鬧鐘時(shí)間,通過 key1 和 key2 可以設(shè)置鬧鈴時(shí)間。 在光標(biāo)閃爍的時(shí)候若按下 key1并且釋放則可以對(duì)相應(yīng)位進(jìn)行校正 。 time_change_flag = 0 amp。 0x03 != 0x03) { t1=0。 key_scan_step = 1。break。 ++。 ++。 ++。 ++。 if( 2060) { = 2020。 write_lcd(+39。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1