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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)萬(wàn)年歷的設(shè)計(jì)(編輯修改稿)

2025-01-08 19:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類 I/O 口被稱為準(zhǔn)雙向口。 89C51 的 P0/P1/P2/P3 口作為輸入時(shí)都是準(zhǔn)雙向口。 單片機(jī)的最小系統(tǒng)如圖 2 所示: 18 引腳和 19 引腳接時(shí)鐘電路 ,XTAL1 接外部晶振和微調(diào)電容的一端 ,在片內(nèi)它是振蕩器倒相放大器的輸入 ,XTAL2 接外部晶振和微調(diào)電容的另一端 ,在片內(nèi)它是振蕩器倒相放大器的輸出 .第 9 引腳為復(fù)位輸入端 ,接上電容 ,電阻及開(kāi)關(guān)后夠上電復(fù)位電路 ,20 引腳為接地端 ,40 引腳為電源端 .單片機(jī)的最小系統(tǒng)如下圖所 示:圖 2中的晶振頻率為 12MHz,復(fù)位方式為上電自動(dòng)復(fù)位 [8][9]。 7 圖 2 單片機(jī)最小系統(tǒng) 單片機(jī)中斷系統(tǒng) 在提及單片機(jī)的最小系統(tǒng)后,現(xiàn)對(duì)單片機(jī)的另一重要應(yīng)用系統(tǒng)即中斷系統(tǒng)做一個(gè)比較詳細(xì)的介紹。 在 CPU 與外設(shè)交換信息時(shí),存在著一個(gè)快速 CPU 與慢速的外設(shè)之間的矛盾。為解決這個(gè)問(wèn)題,發(fā)展了中斷的概念。單片機(jī)在某一時(shí)刻只能處理一個(gè)任務(wù),當(dāng)多個(gè)任務(wù)同時(shí)要求單片機(jī)處理時(shí),這一要求應(yīng)該怎么實(shí)現(xiàn)呢?通過(guò)中斷可以實(shí)現(xiàn)多個(gè)任務(wù)的資源共享。所謂的 中斷就是,當(dāng) CPU正在處理某項(xiàng)事務(wù)的時(shí)候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求CPU 暫停正在處理工作而去處理這個(gè)緊急事件,待處理完后,再回到原來(lái)中斷的地方,繼續(xù)執(zhí)行原來(lái)被中斷的程序,這個(gè)過(guò)程稱作中斷。 從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個(gè)要素。中斷源發(fā)出中斷請(qǐng)求,單片機(jī)對(duì)中斷請(qǐng)求進(jìn)行響應(yīng),當(dāng)中斷響應(yīng)完成后應(yīng)進(jìn)行中斷返回,返回被中斷的地方繼續(xù)執(zhí)行原來(lái)被中斷的程序。 MCS51 單片機(jī)的中斷源共有兩類,它們分別是:外部中斷和內(nèi)部中斷。外部中斷 0(INT0)來(lái)自 引腳,通過(guò)外 部中斷 0 觸發(fā)方式控制位IT0(),來(lái)決定中斷輸入信號(hào)是低電平有效還是負(fù)跳變有效。一旦輸入信號(hào)有效,便使 IE0 標(biāo)志置一,向 CPU 申請(qǐng)中斷;外部中斷 1(INT1)來(lái)自 引腳,通過(guò)外部中斷 1 8 觸發(fā)方式控制位 IT1(),來(lái)決定中斷輸入信號(hào)是低電平有效還是負(fù)跳變有效。一旦輸入信號(hào)有效,便使 IE0 標(biāo)志置一,向 CPU 申請(qǐng)中斷。內(nèi)部中斷有三個(gè): TF0,TF1,RI 或TI。 TF0( ),片內(nèi)定時(shí) /計(jì)數(shù)器 T0 溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí) /計(jì)數(shù)器 T0發(fā)生溢出時(shí),置位 TF0,并向 CPU 申請(qǐng)中斷; TF1( ),片內(nèi)定時(shí) /計(jì)數(shù)器 T1 溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí) /計(jì)數(shù)器 T1發(fā)生溢出時(shí),置位 TF1,并向 CPU申請(qǐng)中斷; RI( )或 TI( ),串行口中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位 RI 或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位 TI,向 CPU 申請(qǐng)中斷 [10]。 MCS51 單片機(jī)為用戶提供了四個(gè)專用寄存器,來(lái)控制單片機(jī)的中斷系統(tǒng)。定時(shí)器控制寄存器( TCON),該寄存器用于保存外部中斷請(qǐng)求以及定時(shí)器的計(jì)數(shù)溢出。進(jìn)行字節(jié)操作時(shí),寄存器地址為 88H。按位操作時(shí),各位的地址為 88H~ 8FH,當(dāng) CPU 采樣到 INT0(或 INT1)端出現(xiàn)有效中斷請(qǐng)求時(shí), IE0( IE1)位由硬件置“ 1”。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把 IE0(或 IE1)清零, 當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)志位由硬件置“ 1”。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清“ 0”。計(jì)數(shù)溢出標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位來(lái)使用;采用查詢方式時(shí),作查詢狀態(tài)位來(lái)使用;串行口控制寄存器( SCON),進(jìn)行字節(jié)操作時(shí),寄存器地址為 98H。按位操作時(shí),各位的地址為 98H~9FH,當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“ 1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“ 0”,當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“ 1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“ 0”。串行中斷請(qǐng)求由 TI和 RI的邏輯或得到。就是說(shuō),無(wú)論是發(fā)送標(biāo)志還是接收標(biāo)志,都會(huì)產(chǎn)生串行中斷請(qǐng)求;中斷允許控制寄存器( IE),進(jìn)行字節(jié)操作時(shí),寄存器地址為 0A8H。按位操作時(shí),各位的地址為 0A8H~0AFH,可見(jiàn), MCS51單片機(jī)通過(guò)中斷允許控制寄存器對(duì)中斷的允許(開(kāi)放)實(shí)行兩級(jí)控制。即以 EA 位作為總控制位,以各中斷源的中斷允許位作為分控制位。當(dāng)總控制位為禁止時(shí),關(guān)閉整個(gè)中斷系統(tǒng),不管分控 制為狀態(tài)如何,整個(gè)中斷系統(tǒng)為禁止?fàn)顟B(tài);當(dāng)總控制位為允許時(shí),開(kāi)放中斷系統(tǒng),這時(shí)才能由各分控制位設(shè)置各自中斷的允許與禁止。 MCS51 單片機(jī)復(fù)位后( IE)= 00H,因此中斷系統(tǒng)處于禁止?fàn)顟B(tài)。單片機(jī)在中斷響應(yīng)后不會(huì)自動(dòng)關(guān)閉中斷。因此在轉(zhuǎn)中斷服務(wù)程序后,應(yīng)根據(jù)需要使用有關(guān)指令禁止中斷,即以軟件方式關(guān)閉中斷。中斷優(yōu)先級(jí)控制寄存器( IP) MCS51 單片機(jī)的中斷優(yōu)先級(jí)控制比較簡(jiǎn)單,因?yàn)橄到y(tǒng)只定義了高、低 2個(gè)優(yōu)先級(jí)。高優(yōu)先級(jí)用“ 1”表示,低優(yōu)先級(jí)用“ 0”表示。各中斷源的優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器( IP)進(jìn)行設(shè)定。 IP 寄存 器地址 0B8H,位地址為 0BFH~0B8H。 9 時(shí)鐘電路模塊的設(shè)計(jì) DS1302 是美國(guó) DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為 ~ 。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù)。 DS1302 內(nèi)部有一個(gè) 31 8 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。 DS1302 是 DS1202的升級(jí)產(chǎn)品,與 DS1202 兼容,但增加了主電源 /后背電源雙電源引腳,同時(shí)提 供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力 [11]。 DS1302 的引腳排列 ,其中 Vcc1 為后備電源, VCC2 為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2 大于 Vcc1+ 時(shí), Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時(shí), DS1302 由 Vcc1 供電。 X1 和 X2是振蕩源,外接 晶振。 RST 是復(fù)位 /片選線,通過(guò)把 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)行操作。如果在傳送過(guò)程中 RST 置為低電平,則會(huì)終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc 之前, RST必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。 I/O 為串行數(shù)據(jù)輸入輸出端 (雙向 ), SCLK 為時(shí)鐘輸入端。 DS1302 的控制字節(jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫(xiě)入 DS1302 中,位 6如果為 0,則表示 存取日歷時(shí)鐘數(shù)據(jù),為1 表示存取 RAM 數(shù)據(jù) 。位 5 至位 1 指示操作單元的地址 。最低有效位 (位 0)如為 0 表示要進(jìn)行寫(xiě)操作,為 1 表示進(jìn)行讀操作,控 制字節(jié)總是從最低位開(kāi)始輸出。 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入 DS1302,數(shù)據(jù)輸入從低位即位 0 開(kāi)始。同樣,在緊跟 8位的控制指令字后的下一個(gè) SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0位到高位 7。 DS1302 有 12 個(gè)寄存器,其中有 7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為 BCD碼形式。此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與 RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。 DS1302 與 RAM相關(guān)的寄存器分為兩類:一類是單個(gè) RAM 單元,共31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8位的字節(jié),其命令控制字為 C0H~ FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫(xiě)所有的 RAM 的31 個(gè)字節(jié),命令控制字為 FEH(寫(xiě) )、 FFH(讀 )。 DS1302 與 CPU的連接需要三條線,即 SCLK(7)、I/O(6)、 RST(5)。實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè) 的晶振即 10 可。只是選擇晶振時(shí),不同的晶振,誤差也較大。另外,還可以在上面的電路中加入 DS18B20,同時(shí)顯示實(shí)時(shí)溫度。只要占用 CPU 一個(gè)口線即可。單片機(jī)與 DS1302 連接圖如圖 3 所示: 圖 3 DS1302與單片 機(jī)的連接 溫度采集模塊設(shè)計(jì) 采用數(shù)字式溫度傳感器 DS18B20,它是數(shù)字式溫度傳感器,具有測(cè)量精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用P 與 DS18B20 的 I/O 口連接加一個(gè)上拉電阻 ,Vcc 接電源 ,Vss 接地。獨(dú)特的一線接口,只需要一條口線通信多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用無(wú)需外部元件可用數(shù)據(jù)總線供電,電壓范圍為 至 無(wú)需備用電源 測(cè) 量溫度范圍為 55 度至 +125 度。 10 度至 +85 度范圍內(nèi)精度為177。 度溫度傳感器可編程的分辨率為 9~ 12位 [12]。 DS18B20 連線如圖 4所示: 11 圖 4 DS18B20管腳連線 顯示模塊的設(shè)計(jì) 如下圖 5所示,采用 LCM1602 液晶顯示器,單片機(jī) P1 口作為數(shù)據(jù)輸出口, RS, R\W,E分別通過(guò) 10K 的上拉電阻連接到單片機(jī)的 , ,。 VDD接 5V 電源, VSS 接地。VEE 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以 通過(guò)一個(gè) 10K 的電位器調(diào)整對(duì)比度)。 RS 為寄存器選擇,高電平 1 時(shí)選擇數(shù)據(jù)寄存器、低電平 0 時(shí)選擇指令寄存器。 R/W 為讀寫(xiě)信號(hào)線,高電平 (1)時(shí)進(jìn)行讀操作,低電平 (0)時(shí)進(jìn)行寫(xiě)操作。 E(或 EN)端為使能 (enable)端,下降沿使能。 DB0DB7 為雙向數(shù)據(jù)總線,同時(shí)最高位 DB7 也是忙信號(hào)檢測(cè)位。 BLA、 BLK 分別為顯示器背光燈的正、負(fù)極 [13]。 圖 5 LCM1602 與單片機(jī)的連接 DS1302原理及說(shuō)明 (1) 時(shí)鐘芯片 DS1302 的工作原理 12 DS1302 在每次進(jìn)行讀、寫(xiě)程序前都必須初始 化,先把 SCLK 端置 “ 0”,接著把 RST 端置“ 1”,最后才給予 SCLK 脈沖;讀 /寫(xiě)時(shí)序如下圖 7 所示。圖 6 為 DS1302 的控制字,此控制字的位 7必須置 1,若為 0 則不能把對(duì) DS1302 進(jìn)行讀寫(xiě)數(shù)據(jù)。對(duì)于位 6,若對(duì)程序進(jìn)行讀 /寫(xiě)時(shí) RAM=1,對(duì)時(shí)間進(jìn)行讀 /寫(xiě)時(shí), CK=0。位 1至位 5 指操作單元的地址。位 0是讀 /寫(xiě)操作位,進(jìn)行讀操作時(shí),該位為 1;該位為 0 則表示進(jìn)行的是寫(xiě)操作??刂谱止?jié)總是從最低位開(kāi)始輸入 /輸出的。表 2 為 DS1302 的日歷、時(shí)間寄存器內(nèi)容:“ CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為 1 時(shí),時(shí)鐘振蕩器停止, DS1302處于低功耗狀態(tài);當(dāng)該位為 0 時(shí),時(shí)鐘開(kāi)始運(yùn)行。“ WP”是寫(xiě)保護(hù)位,在任何的對(duì)時(shí)鐘和 RAM 的寫(xiě)操作之前, WP必須為 0。當(dāng)“ WP”為 1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。 (2) DS1302 的控制字 DS1302 的控制字如圖 6 所示。控制字節(jié)的高有效位(位 7)必須是邏輯 1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入 DS1302 中,位 6 如果 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1 表示存取RAM 數(shù)據(jù);位 5 至位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進(jìn)行寫(xiě)操作,為 1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。 圖 6 DS1302 的控制字 (3) 數(shù)據(jù)輸入輸出 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入 DS1302,數(shù)據(jù)輸入從低位即位 0 開(kāi)始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) SCLK 脈沖的下降沿讀出DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0位到高位 7[14]。如下圖 7所示: 13 圖 7 DS1302 讀與寫(xiě)的 時(shí)序圖 (3) DS1302 的寄存器 DS1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為 BCD碼形式 ,其日歷、時(shí)間寄存器及其控制字見(jiàn)圖 8。 圖 8 DS1302 的日歷、時(shí)間寄存器 此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1