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

正文內(nèi)容

基于單片機的時鐘系統(tǒng)設(shè)計-預覽頁

2025-09-29 11:14 上一頁面

下一頁面
 

【正文】 試。 單 片 機 時鐘日期 按鍵操作 輸入輸出 顯示時間日期 退出模式 第二章 總體方案 5 2)掉電后時鐘芯片正常運行,重新上電后不用校正時鐘。 AT89S52 具有以下標準功能: 8K( 0000H~ 1FFFH) Flash, 256 字節(jié)( 00H~ FFH)數(shù)據(jù)存儲器( RAM), 64K( 0000H~ FFFFH)程序存儲器( ROM), 32 位 I/O 口線,看門狗定時器, 2 個數(shù)據(jù)指針,三個 16 位定時器 /計數(shù)器,一個 6向量 2 級中斷結(jié)構(gòu),全雙工串行口內(nèi)晶振及時鐘電路。其中低 128 字節(jié)為真正的 RAM 存儲器,高 128 字節(jié)為特殊功能寄存器( SFR)區(qū),如累加器 ACC、程序狀態(tài)字 PSW、數(shù)據(jù)指針 DPTR、程序計數(shù)器PC等。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。最早的設(shè)計理念是通過將大量外圍設(shè)備和 CPU 集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對提及要求嚴格的控制設(shè)備當中。此后在 8031 上發(fā)展出了 MCS51 系列單片機系統(tǒng)。隨著 INTEL i960 系列特別是后來的 ARM 系列的廣泛應用, 32位單片機迅速取代 16 位單片機的 高端地位,并且進入主流市場。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的 Windows和 Linux操作系統(tǒng)。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有 12 部單片機。概括的講:一塊芯片就成了 一臺計算機。我們現(xiàn)在用的全自動滾筒洗衣機、排煙罩、 VCD等等的家電里面都可以看到它的身影!它主要是作為控制部分的核心部件。晶體兩腳常生的頻率總和是 。在總頻 OSC線上還電容。有了總頻,也不一定有頻率。 在主板上 RESET 和 CLK 者是南橋處理的,在總頻正常下,如果 RESET 和 CLK都沒有,在南橋電源正常情況下,為南橋壞。就像計算器的清零按鈕的作用一樣,當你進行完了一個題目的計算后肯定是要清零的是吧!或者你輸入錯誤,計算失誤時 都 要進行清零操作。篡位電路都 是比較簡單的大都是只有電阻和電容組合就可以辦到了。5% ,即~ 。該電路提供單片機工作所需的振蕩頻率,計算定時器初值即需此晶振頻率,在通信時也需知道晶振頻率,以對波特率進 行計算。 圖 復位電路 12 基于單片機的時鐘系統(tǒng)設(shè)計 鍵盤電路 圖 如圖 所示為陣列按鍵電路,各設(shè)置及轉(zhuǎn)換信號由此電路輸入,實驗板提供了 16 個按鍵,由 P1 口經(jīng) SN74F244(驅(qū)動芯片)輸出擴展成 4 4的陣列按鍵,~ 為行線, ~ 為列線。 液晶顯示屏 LCD1602 (一) LCD1602 特點說明 [12] [13] 液晶顯示模塊由于具有低功耗、壽命長、體積小、顯示內(nèi)容豐富、價格低、接口控制方便等優(yōu)點,因此在各類電子產(chǎn)品中被極廣泛地推廣和應用。 LCD1602 可以顯示兩行,每行 16 個字符,采用+ 5V 電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比 [14]。 讀狀態(tài) 輸入: RS=L, R/W=H, E=H 輸出: D0D7=狀態(tài)字 寫指令 輸入: RS=L, R/W=L, D0D7=指令碼, E=高脈沖 輸出:無 讀數(shù)據(jù) 輸入: RS=H, R/W=H, E=H 輸出: D0D7=數(shù)據(jù) 寫數(shù)據(jù) 輸入: RS=H, R/W=L, D0D7=數(shù)據(jù), E=高脈沖 輸出:無 ( 2) 狀態(tài)字說明: 表 狀態(tài)字表 對控制器每次進行讀寫操作之前,都必須進行讀寫檢測,確保 STA7為 0 ( 3) 指令說明: 14 基于單片機的時鐘系統(tǒng)設(shè)計 表 顯示模式設(shè)置表 表 顯示開 /關(guān)及背光燈設(shè)置表 ( 4) 數(shù)據(jù)控制 控制器內(nèi)部有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部 80字節(jié) RAM ( 5) 數(shù)據(jù)指針設(shè)置 第三章 系統(tǒng)硬件設(shè)計 15 表 數(shù)據(jù)指針設(shè)置表 ( 6) 其他設(shè)置 表 其他設(shè)置指令表 (三) LCD1602 初始化過程 (1)延時 15ms (2)寫指令 38H(不檢測忙信號 ) (3)延時 5ms (4) 寫指令 38H(不檢測忙信號 ) (5)寫指令 5ms (6) 寫指令 38H(不檢測忙信號 ) (7)之后每次寫指令、讀 /寫數(shù)據(jù)操作之前均需檢測忙信號 (8)寫指令 38H:顯示模式設(shè)置 (9)寫指令 08H:顯示關(guān)閉 (10) 寫指令 01H:顯示清屏幕 (11) 寫指令 06H:顯示光標移動設(shè)置 (12) 寫指令 0CH:顯示及光標設(shè)置 本章小節(jié) 本章主要對芯片作了介紹,對其內(nèi)存單元作了詳細說明 ,并對系統(tǒng)硬件(實驗板)的結(jié)構(gòu)框圖和各功能電路作了說明,以及這些電路在本設(shè)計中的用途。 [20] 系統(tǒng)中有四個按鍵,即:設(shè)置鍵 k切換鍵 k上調(diào)鍵 k下調(diào)鍵 k4。 18 基于單片機的時鐘系統(tǒng)設(shè)計 主程序軟件實現(xiàn) 主程序流程圖 圖 主程序流程圖 主程序代碼 void main() { lcd_init()。 while(1) { if ( enable_play_song ) { play_song()。 if (enable_set) { delay (100)。 date_time[TIME_SIGN_POS] = 39。 flash_time_sign ()。 BOOL lcd_bz() { BOOL result。 _nop_()。 result = (BOOL)(LCD_DATA amp。 } void lcd_wcmd(BYTE cmd) { while(lcd_bz())。 _nop_()。 _nop_()。 _nop_()。 ep = 0。 rw = 0。 _nop_()。 _nop_()。 ep = 0。 line_data[i] != 39。 lcd_pos(line * 0x40)。 39。 lcd_wcmd(0x0c)。 lcd_wcmd(0x01)。 } 第四章 軟件設(shè)計 23 DS12887 模塊軟件實現(xiàn) DS12887 模塊子程 序流程圖 圖 DS12887時間顯示流程圖 DS12887 模塊子程序代碼 include include include include include include sbit key_tab = P1^0。 define CENTURY_POS 0 define YEAR_POS 2 define MONTH_POS 5 define DAY_POS 8 define HOUR_POS 11 define TIME_SIGN_POS 13 define MINUTE_POS 14 define WEEK_POS 0 define ALARM_SIGN_POS 4 define ALARM_HOUR_POS 5 24 基于單片機的時鐘系統(tǒng)設(shè)計 define ALARM_MINUTE_POS 8 define clock_second XBYTE[0xff00] define clock_second_a XBYTE[0xff01] define clock_minute XBYTE[0xff02] define clock_minute_a XBYTE[0xff03] define clock_hour XBYTE[0xff04] define clock_hour_a XBYTE[0xff05] define clock_week XBYTE[0xff06] define clock_day XBYTE[0xff07] define clock_month XBYTE[0xff08] define clock_year XBYTE[0xff09] define clock_a XBYTE[0xff0a] define clock_b XBYTE[0xff0b] define clock_c XBYTE[0xff0c] define clock_century XBYTE[0xff32] define clock_ram_first XBYTE[0xff0e] define clock_ram_second XBYTE[0xff33] BYTE *week[7] = { SUN,MON, TUE, WED, THU, FRI, SAT}。039。139。039。/39。739。239。:39。539。,39。,39。,39。,39。,39。,39。,39。,39。A39。 void lcd_pos(BYTE pos)。 BYTE enable_play_song = 0。 } return bcd + 1。 第四章 軟件設(shè)計 25 } return bcd 1。 0x0F) + 39。date_time[CENTURY_POS])。date_time[MONTH_POS])。date_time[HOUR_POS])。week_alarm_temperature[WEEK_POS], week[(clock_week amp。week_alarm_temperature[ALARM_HOUR_POS])。week_alarm_temperature[ALARM_MINUTE_POS])。 } void Set_calendar (void) { clock_a = 0x70。 } void Set_default_calendar(void) { Set_calendar()。 clock_day = 0x21。 clock_week = 07。 clock_a = 0x20。 } break。 第四章 軟件設(shè)計 27 case 2: if (clock_day == 0x31) { clock_day = 0x1。 } else { clock_hour = inc_bcd_value(clock_hour)。 } break。 case 6: if (clock_hour_a == 0x23) { clock_hour_a = 0x0。 } else { clock_minute_a = inc_bcd_value(clock_minute_a)。 } else { clock_year = 0x99。 } else { clock_month = 0x12。 } break。 case 4: if (clock_minute) { clock_minute = dec_bcd_value (clock_minute)。 } else { clock_week 。 } break。 default : break。 / i = clock_c。 delay (40)。 EX1=1。 !key_set) { Set_default_calendar()。 if (k) { 第四章 軟件設(shè)計 31 enable_alarm()。 ALARM_STATE = 39。amp。 if (enable_set) { Set_calendar()。amp。 enable_set) { decrease_value(cur_set_pos)。 32 基于單片機的時鐘系統(tǒng)設(shè)計 EX1=1。 }
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1