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

正文內(nèi)容

基于單片機(jī)的萬(wàn)年歷的設(shè)計(jì)-文庫(kù)吧

2024-11-16 01:17 本頁(yè)面


【正文】 I/O 口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信; (8) 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能。 單片機(jī)引腳說(shuō)明 圖 STC89C52RC 封裝引腳圖 6 STC89C52RC 的引腳封裝和 8051 的引腳封裝是一樣的,均采用 40Pin封裝的雙列直插 DIP 結(jié)構(gòu)。下圖是它們的引腳配置, 40 個(gè)引腳中, Pin40 為正電源, Pin20 為地線;外置石英振蕩器的時(shí)鐘 線 Pin18 和 Pin19 兩根; 4 組8 位共 32 個(gè) I/O 口( P0、 P P2 和 P3),中斷口線與 P3 口線復(fù)用。本設(shè)計(jì)只是實(shí)現(xiàn)簡(jiǎn)單的讀寫功能,不需要用到 I/O 口的第二功能。這里就不對(duì)單片機(jī)的引腳作出太詳細(xì)的介紹,簡(jiǎn)單介紹一些專用引腳,其它引腳用到時(shí)再介紹。單片機(jī)引腳封裝如圖 所示。 (1) Pin9: RST 復(fù)位信號(hào)復(fù)用腳,當(dāng) STC89C52RC 通電,時(shí)鐘電路開始工作,在 RST 引腳上出現(xiàn) 24 個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器 PC 指向 0000H, P0P3 輸出口全部為高電平,堆棧指針寫入 07H,其它專用寄存器被清 “0”。 RST 由高電平下降為低電平后,系統(tǒng)即從 0000H 地址開始執(zhí)行程序。然而,初始復(fù)位不改變 RAM(包括工作寄存器 R0R7)的狀態(tài), STC89C52RC 的初始態(tài)。 STC89C52RC 的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位(按鍵電平復(fù)位和按鍵脈沖復(fù)位)。此外, RST 還是一個(gè)復(fù)引腳, Vcc 掉電期間,此引腳可接上備用電源,以保證單片機(jī)內(nèi)部 RAM 的數(shù)據(jù)不丟失。本設(shè)計(jì)采用的是手動(dòng)復(fù)位電路:按鍵電平復(fù)位。復(fù)位電路如圖 所示。 圖 按鍵電平復(fù)位電路 (2) Pin1 19: XTAL1 和 XTAL2 時(shí)鐘產(chǎn)生電路引腳,這里使用的石英晶體振蕩頻率為 。時(shí)鐘振蕩電路如圖 所示。 7 圖 時(shí)鐘振蕩電路 (3) Pin29: PSEN 當(dāng)訪問外部程序存儲(chǔ)器時(shí),此引腳輸出負(fù)脈沖選通信號(hào),PC 的 16 位地址數(shù)據(jù)將出現(xiàn)在 P0 和 P2 口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到 P0 口上,由 CPU 讀入并執(zhí)行。 (4) Pin30: ALE/PROG 當(dāng)訪問外部程序器時(shí), ALE(地址鎖存 )的輸出用于鎖存地址的低位字 節(jié)。而訪問內(nèi)部程序存儲(chǔ)器時(shí), ALE 端將有一個(gè) 1/6 時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。它還有一個(gè)特點(diǎn)是,當(dāng)訪問外部程序存儲(chǔ)器時(shí), ALE 會(huì)跳過一個(gè)脈沖。 (5) Pin31: EA /Vpp 程序存儲(chǔ)器的內(nèi)外部選通線,對(duì)于 STC89C52RC來(lái)說(shuō),內(nèi)置有 8kB 的程序存儲(chǔ)器,當(dāng) EA 為高電平并且程序地址小于 8kB 時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過 8kB 地址則讀取外部指令數(shù)據(jù)。如 EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。 當(dāng)使用到外部程序存儲(chǔ)器時(shí),要使用到一些特定功能的引腳,本設(shè)計(jì)中沒有使用外部存儲(chǔ)器。 MAX232電平轉(zhuǎn)換芯片 當(dāng)我們用 這個(gè)軟件給 STC89C52RC 下載程序時(shí),采用的是計(jì)算機(jī)串口( RS232 電平:高 12V 低 +12V)通信,所以計(jì)算機(jī)與單片機(jī)之間進(jìn)行通信時(shí)需要電平轉(zhuǎn)換芯片 MAX232[7]。 8 MAX232 含有兩個(gè) RS232 發(fā)送驅(qū)動(dòng)器和接收驅(qū)動(dòng)器,其中發(fā)送器的輸入為 TTL/CMOS 電平,輸出為 RS232電平。 MAX232接收器的輸入為 RS232電平,輸出為 TTL/CMOS 電平。不使用的輸入輸出端可以懸空。 MAX232的工作溫度范圍為 0℃ 至 70℃ 。 MAX232 的 Pin14( T1OUT)引腳與串行口的 2 引腳連接, Pin13( R1IN)引腳與串行口的 3 引腳連接。 Pin12( R1OUT)引腳和 Pin11( T1IN)引腳分別與單片機(jī)的 /RXD(串行輸入口)、 /TXD(串行輸出口 )連接。這樣單片機(jī)所需要的程序就可以從計(jì)算機(jī)下載了。計(jì)算機(jī)與單片機(jī)通信如圖 所示。 圖 計(jì)算機(jī)與單片機(jī)通信連接圖 DS1302時(shí)鐘芯片 市場(chǎng)上可以選擇的時(shí)鐘芯片很多,功能也不盡相同,價(jià)格各異。 DS1302[8] 是美國(guó) DALLAS 公司推出的一種串行接口實(shí)時(shí)時(shí)鐘芯片。芯片內(nèi)部具有可編程日歷時(shí)鐘和 31 個(gè)字節(jié)的靜態(tài) RAM, 它可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí), 日歷時(shí)鐘可自動(dòng)進(jìn)行閏年補(bǔ)償,及時(shí)準(zhǔn)確,接口簡(jiǎn)單,使用方便,工作電壓范圍寬,功耗低,芯片自身還具有對(duì)備份電池進(jìn)行涓流 9 充電功能,可以有效地延長(zhǎng)備份電池的使用壽命。 DS1302 引腳封裝如圖 所示。 圖 DS1302 封裝引腳圖 DS1302 時(shí)鐘芯片的引腳功能如下: (1) Pin1: Vcc2 為主電源。 (2) Pin8: Vcc1 為后備電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2大于 Vcc1+ 時(shí), Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時(shí), DS1302由 Vcc1 供電。 (3) Pin 3: X X2 是振蕩源,外接 晶振。 (4) Pin5: RST 是復(fù)位 /片選線,通過把 RST 輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手 段。當(dāng) RST 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302 進(jìn)行操作。如果在傳送過程中 RST 置為低電平,則會(huì)終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc 之前, RST 必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。 (5) Pin6: I/O 為串行數(shù)據(jù)輸入輸出端 (雙向 ),在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) SCLK 脈沖 10 的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高位 7。 (6) Pin7: SCLK 為時(shí)鐘輸入端。 DS1302 與單片機(jī)連接圖如圖 所示, 具體的讀寫操作在第 3 部分軟件設(shè)計(jì)中介紹。 (a) DS1302 (b) 單片機(jī) 圖 單片機(jī)與 DS1302 的連接引腳圖 DS18B20溫度傳感器 溫度是一個(gè)基本的物理量,自然界中的一切過程與溫度 密切相關(guān)。設(shè)計(jì)里加入 DS18B20[9]溫度傳感器可以使萬(wàn)年歷的功能更齊全,可以隨時(shí)了解溫度的變化。 DS18B20 的封裝引腳如圖 和單片機(jī)與 DS18B20 的連接如圖。 DS18B20 溫度傳感器的 I/O( DQ)引腳連接的是單片機(jī)的 引腳。 圖 DS18B20 封裝引腳圖 圖 單片機(jī)與 DS18B20 的連接圖 DS18B20 溫度傳感器是美國(guó) DALLS 公司推出的 DS1820 的替代產(chǎn)品,其主要特性如下。 (1) 適應(yīng)電壓范圍更寬,電壓范圍: ~ , Vcc 為外接供電電源輸 11 入端,在寄生電源方式下可由數(shù)據(jù)線供電, GND 為電源地。 (2) 獨(dú)特的單線接口方式, DS18B20 在與單片機(jī)連接時(shí)僅需要一個(gè)引腳( DQ)即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。 (3) DS18B20 在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 (4) 溫范圍: 55℃ ~+ 125℃ ,在 10~ +85℃ 時(shí)精度為 177。℃ 。 (5) 可編程的分辨率為 9~ 12 位,對(duì)應(yīng)的可分辨溫度分別為 ℃ 、℃ 、 ℃ 和 ℃ ,可實(shí)現(xiàn)高精度 測(cè)溫。 (6) 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。 12864液晶 在本設(shè)計(jì)中,要顯示陽(yáng)歷、陰歷、星期、時(shí)間、生肖、溫度及節(jié)日提醒,因此對(duì)顯示器的要求較高。在這里我采用 QC12864B 漢字圖形點(diǎn)陣液晶 [10]作為顯示模塊,它可顯示漢字及圖形,內(nèi)置 8192 個(gè)中文漢字( 16X16 點(diǎn)陣)、128 個(gè)字符( 8X16 點(diǎn)陣)。可同時(shí)顯示漢字個(gè)數(shù)為 4x8=32 個(gè),同時(shí)顯示字符的個(gè)數(shù)為 4x16=64 個(gè)。它與單片機(jī)連接如圖 所示。 (a) LCD12864 引腳 (b) 單片機(jī) 圖 12864 液晶引腳電路圖 12 在進(jìn)行進(jìn)行這個(gè)模塊的設(shè)計(jì)時(shí),考慮到 12864 液晶的顯示方向,而單片機(jī)的 P2 引腳剛好與其它的引腳排列順序相反(可看圖 ),所以本設(shè)計(jì)中單片機(jī)與液晶進(jìn)行數(shù)據(jù)傳輸時(shí),用單片機(jī)的 P2 引腳與液晶的 8 位雙向三態(tài)數(shù)據(jù)線( DB0DB7)進(jìn)行連接,這樣大大簡(jiǎn)化了線路的復(fù)雜度。 獨(dú)立按鍵 本設(shè)計(jì)采用的 4 個(gè)獨(dú)立按鍵,分別是: “設(shè)置 ”、 “確認(rèn) ”、 “加 ”、 “減 ”。判斷 “設(shè)置 ”鍵是否按下及第幾次按下可以 分別對(duì)日期、時(shí)間、星期選定,然后按 “加 ”、 “減 ”即可進(jìn)行設(shè)置, “確認(rèn) ”鍵按下后,新數(shù)據(jù)即寫入時(shí)鐘芯片。例如, “設(shè)置 ”鍵按 1 下,即可以對(duì)年份進(jìn)行設(shè)置,按 4 下,即是可以對(duì)小時(shí)進(jìn)行設(shè)置。其電路設(shè)計(jì)如圖 所示。 圖 時(shí)間設(shè)置電路 13 3. 軟件設(shè)計(jì) 本設(shè)計(jì)利用 Keil( C51) 軟件進(jìn)行程序的編寫。 C 語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了許多種高級(jí)語(yǔ)言的特點(diǎn),并且具備匯編語(yǔ)言的功能,C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作 。目前,使用 C 語(yǔ)言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟件開發(fā)的一個(gè)主流。 C 語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過來(lái)。用 C語(yǔ)言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。而針對(duì) 8051 的 C 語(yǔ)言日趨成熟,成為了專業(yè)化的實(shí)用高級(jí)語(yǔ)言。雖然匯編語(yǔ)言效率高,對(duì)硬件的可操控性更強(qiáng),體積小,但是不易維護(hù),可移植性差。本設(shè)計(jì)程序?qū)崿F(xiàn)了陽(yáng)歷日期、陰歷日期、時(shí)間、星期、溫度、節(jié)日提醒等功能。圖 是主程序流程圖。 N Y 圖 主程序流程圖 開始 LCD、 DS130 DS18B20 及相關(guān)變量初始化 調(diào)液晶顯示程序 設(shè)置鍵是否按下 調(diào)用設(shè)置子程序 刷新 14 陽(yáng)歷與陰歷的轉(zhuǎn)換,這部分程序是參考杜陽(yáng)老師的程序,程序中總共有199( 19012099)年的陽(yáng)歷對(duì)應(yīng)陰歷數(shù)據(jù)。 陽(yáng)歷對(duì)應(yīng)的陰歷數(shù)據(jù)(每年占用單片機(jī)三字節(jié))格式:第一字節(jié) BIT74位表示閏月月份,為 0,則無(wú)閏月; BIT30 位對(duì)應(yīng)陰歷第 14 月的大小。第二字節(jié) BIT70 位對(duì)應(yīng)陰歷第 512 月大小。第三字節(jié) BIT7 位表示陰歷第 13月大?。ㄔ路謱?duì)應(yīng)的位為 1,表示農(nóng)歷月大( 30 天)為 0 表示小( 29 天));第三字節(jié) BIT65 位表示春節(jié)的陽(yáng)歷月份, BIT40 位表示春節(jié)公歷日期。 例:陽(yáng)歷 2021 年對(duì)應(yīng)陰歷 2021 年數(shù)據(jù)為: 0X0B, 0X4A, 0X43。 0X0B 和 0X4A 的二進(jìn)制數(shù)表示為: 00001011, 01001010,這兩個(gè)字節(jié)表示陰歷 2021 年沒有閏月,也就是沒有第十三個(gè)月。一,三,四,六,九,十一月都是月大( 30 天),其它都是月?。?29 天)。 0X43 的二進(jìn)制數(shù)表示為: 01000011,這里的 BIT65 位為 10( 2 位可表示 4 個(gè)月),表示陰歷 2021 年的春節(jié)在陽(yáng)歷 2021 年的 2 月份。 BIT40 位為00011( 0000011111, 5 位最大數(shù)為 31),表示 3 日。整個(gè)字節(jié)就表示陰歷2021 年的春節(jié)在陽(yáng) 歷 2021 年的 2 月 3 日。 DS1302時(shí)鐘芯片程序設(shè)計(jì) 在本設(shè)計(jì)中,要實(shí)現(xiàn)萬(wàn)年歷的功能, DS1302 時(shí)鐘芯片是少不得的,雖然只用單片機(jī)也可以實(shí)現(xiàn),但是將會(huì)造成時(shí)間誤差較大,不好調(diào)節(jié)。用DS1302 時(shí)鐘芯片不僅可以大大的避免那樣的問題,還可以減小程序的編寫量。這個(gè)模塊是本設(shè)計(jì)中是很重要的模塊。如圖 是 DS1302 時(shí)鐘芯片工 15 作的流程圖。 N N Y Y 圖 DS1302 時(shí)鐘芯片工作流程 圖 通過流程圖我們對(duì) DS1302 時(shí)鐘芯片是如何工作的有了個(gè)大概的了解,現(xiàn)在進(jìn)一步了解 DS1302 時(shí)鐘芯片關(guān)于日歷、時(shí)間的存儲(chǔ)器,先看表 。 開始 相關(guān)變量初始化 DS1302 去保護(hù) 復(fù)位
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1