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

正文內(nèi)容

基于單片機(jī)的音樂數(shù)字鐘的設(shè)計與仿真畢業(yè)設(shè)計(編輯修改稿)

2025-07-21 15:51 本頁面
 

【文章內(nèi)容簡介】 字“0” (b)顯示數(shù)字“5”圖417 數(shù)碼管靜態(tài)顯示方式示意圖數(shù)碼管的動態(tài)掃描顯示方式當(dāng)單片機(jī)系統(tǒng)中需要多個數(shù)碼管顯示時,如果采用靜態(tài)顯示方式,并行I/O接口的引腳數(shù)將不能滿足需要,這時可采用動態(tài)掃描顯示方式。動態(tài)掃描顯示是一位接一位的輪流點亮各位數(shù)碼管。動態(tài)掃描顯示方式在接線上不同于靜態(tài)顯示方式,它是將所有七段LED數(shù)碼管的8個顯示筆段a、b、c、d、e、f、g、dp中相同的筆段連接在一起,稱為段控端,每個數(shù)碼管的公共端COM不再接固定高電平或低電平,而是由獨立的I/O口線控制,稱為位控端,2位數(shù)碼管動態(tài)掃描顯示方式接線示意圖如圖418所示。圖418 兩位數(shù)碼管動態(tài)掃描顯示方式接線示意圖動態(tài)掃描顯示方式的顯示過程:當(dāng)CPU送出某個數(shù)字的段碼時,所有的數(shù)碼管都會接收到,但只有需要顯示的數(shù)碼管的位控端COM被選通時,接收到有效電平才被點亮,而沒有被選通的數(shù)碼管不會亮。這種通過分時輪流控制各個數(shù)碼管的COM端送出相應(yīng)段碼,使各個數(shù)碼管輪流受控、依次顯示且循環(huán)往復(fù)的方式稱為動態(tài)掃描顯示。動態(tài)掃描顯示意圖如圖419所示。 圖419 動態(tài)掃描顯示示意圖在數(shù)碼管輪流顯示的過程中,每個數(shù)碼管被點亮的時間為1ms左右,雖然各位數(shù)碼管并非同時點亮,但由于人眼的視覺暫留效應(yīng),主觀感覺各位數(shù)碼管同時在顯示。為了使用方便,有專門生產(chǎn)的供動態(tài)掃描顯示的多位數(shù)碼管,這些數(shù)碼管內(nèi)部已經(jīng)將相應(yīng)的筆段連接在一起,引出一組段控腳,每一位數(shù)碼管引出一個公共端。 鍵盤 方案一采用獨立式按鍵。獨立式按鍵易于控制編寫程序簡單容易理解但I(xiàn)/O口占用較多。 方案二采用陣列式按鍵。陣列式按鍵編程困難按鍵過多減少了I/O口的使用。 經(jīng)過兩種方案比較選擇方案二。采用4*3的鍵盤。例 1. 行列鍵盤的接口電路行列鍵盤又叫做矩陣鍵盤。行列鍵盤的接口電路如圖423所示,用一些I/O口線組成行結(jié)構(gòu),用另一些I/O口線組成列結(jié)構(gòu),其交叉點處不接通,設(shè)置為按鍵,這種接法稱為行列式鍵盤。利用這種行列結(jié)構(gòu)只需M條行線和N條列線,就可組成具有MN的鍵盤,因此減少了鍵盤與單片機(jī)接口時所占用I/O接口的數(shù)目。同樣,如果是接于P0口,必須要有上拉電阻,如果接于PP2或P3口,上拉電阻可以省略。圖423 行列式鍵盤接口電路2. 閉合鍵的識別為了提高CPU的效率,對閉合鍵的識別一般分為兩步:第一步是快速檢查整個鍵盤中是否有鍵按下,如果沒有鍵按下,則直接轉(zhuǎn)到其它程序,如果有鍵按下,再進(jìn)行下一步;第二步是確定按下的是哪一個鍵。第一步:快速檢查整個鍵盤中是否有鍵按下。其方法是先通過輸出端口在所有的行線上發(fā)出全“0”信號,然后檢查輸入端口的列線信號是否為全“1”。若為全“1”,表示無鍵按下,如圖424(a)所示;若不是全“1”,則表示有鍵按下,如圖424(b)所示。這時還不能確定按下的鍵處于哪一行上。(a)無鍵按下 (b)有鍵按下圖424 檢查是否有鍵按下示意圖第二步:確定按下的是哪一個鍵。識別閉合鍵有兩種方法:一種稱為逐行掃描法,另一種稱為線反轉(zhuǎn)法。(1)逐行掃描法逐行掃描法是識別閉合鍵的常用方法,在硬件電路上要求行線作輸出、列線作輸入,列線上要有上拉電阻。44鍵盤逐行掃描法的工作原理是:先掃描第0行,即輸出1110(第0行為“0”,其余3行為“1”),然后讀入列信號,判斷是否為全“1”。若為全“1”,表示第0行無鍵按下;若不為全“1”,則表示第0行有鍵按下,閉合鍵的位置處于第0行和不為“1”的列線相交之處。如果第0行無鍵按下,就掃描第1行,用同樣的方法判斷第1行有沒有鍵按下,直到找到閉合鍵為止,如圖425(a)~(d)所示。(a)掃描第0行 (b)掃描第1行(c)掃描第2行 (d)掃描第3行圖425 逐行掃描法示意圖行列式鍵盤的閉合鍵處理程序中,仍需要進(jìn)行按鍵去抖和等待按鍵的釋放。在圖423所示的行列鍵盤電路中,采用逐行掃描法識別閉合鍵的程序如下:P1=0xf0。if (P1!=0xf0) //判斷是否有按鍵按下{ delay()。 //延時去抖 if (P1!=0xf0) //再次判斷是否有按鍵按下 { P1=0xfe。 //掃描第0行 switch (P1) { case 0xee:第0行第0個按鍵的功能代碼。 break。 case 0xde:第0行第1個按鍵的功能代碼。 break。 case 0xbe:第0行第2個按鍵的功能代碼。 break。 case 0x7e:第0行第3個按鍵的功能代碼。 break。 } P1=0xfd。 //掃描第1行 switch (P1) { case 0xed:第1行第0個按鍵的功能代碼。 break。 case 0xdd:第1行第1個按鍵的功能代碼。 break。 case 0xbd:第1行第2個按鍵的功能代碼。 break。 case 0x7d:第1行第3個按鍵的功能代碼。 break。 } P1=0xfb。 //掃描第2行 switch (P1) { case 0xeb:第2行第0個按鍵的功能代碼。 break。 case 0xdb:第2行第1個按鍵的功能代碼。 break。 case 0xbb:第2行第2個按鍵的功能代碼。 break。 case 0x7b:第2行第3個按鍵的功能代碼。 break。 } P1=0xf7。 //掃描第3行 switch (P1) { case 0xe7:第3行第0個按鍵的功能代碼。 break。 case 0xd7:第3行第1個按鍵的功能代碼。 break。 case 0xb7:第3行第2個按鍵的功能代碼。 break。 case 0x77:第3行第3個按鍵的功能代碼。 break。 } P1=0xf0。 while (P1!=0xf0)。 }}(2)線反轉(zhuǎn)法線反轉(zhuǎn)法也是識別閉合鍵的一種常用方法,該方法比行掃描法速度要快,但在硬件電路上要求行線與列線都要既能作輸出又能作輸入,行線和列線上都要有上拉電阻。下面仍以44鍵盤為例說明線反轉(zhuǎn)法的工作原理。首先將行線作為輸出線,列線作為輸入線,先通過行線輸出全“0”信號,讀入列線的值,如果此時有某1個鍵被按下,則必然使某1列線值為“0”;然后將行線和列線的輸入輸出關(guān)系互換(輸入輸出線反轉(zhuǎn)),列線作輸出線、行線作輸入線,再通過列線輸出全“0”信號,讀入行線的值,那么閉合鍵所在的行線上的值必定為“0”。這樣當(dāng)1個鍵被按下時,必定讀得一對唯一的行值和列值,根據(jù)這一對值即可確定閉合鍵。線反轉(zhuǎn)法示意圖如圖426所示。(a)行線輸出全“0”得列值1101 (b)列輸出全“0”得行值1011圖426 線反轉(zhuǎn)法示意圖在圖423所示的行列鍵盤電路中,采用線反轉(zhuǎn)法識別閉合鍵的程序如下:unsigned char temp。temp=0xff。 P1=0xf0。if (P1!=0xf0) //判斷是否有按鍵按下{ delay()。 //延時去抖 if (P1!=0xf0) //再次判斷是否有按鍵按下 { P1=0xf0。 //行作輸出,列作輸入 temp=P1。 //讀取列值 P1=0x0f。 //列作輸出,行作輸入 temp=temp|P1。 //讀取行值并和列值合并 switch (temp) { case 0xee:第0行第0個按鍵的功能代碼。 break。 case 0xde:第0行第1個按鍵的功能代碼。 break。 case 0xbe:第0行第2個按鍵的功能代碼。 break。 case 0x7e:第0行第3個按鍵的功能代碼。 break。 case 0xed:第1行第0個按鍵的功能代碼。 break。 case 0xdd:第1行第1個按鍵的功能代碼。 break。 case 0xbd:第1行第2個按鍵的功能代碼。 break。 case 0x7d:第1行第3個按鍵的功能代碼。 break。 case 0xeb:第2行第0個按鍵的功能代碼。 break。 case 0xdb:第2行第1個按鍵的功能代碼。 break。 case 0xbb:第2行第2個按鍵的功能代碼。 break。 case 0x7b:第2行第3個按鍵的功能代碼。 break。 case 0xe7:第3行第0個按鍵的功能代碼。 break。 case 0xd7:第3行第1個按鍵的功能代碼。 break。 case 0xb7:第3行第2個按鍵的功能代碼。 break。 case 0x77:第3行第3個按鍵的功能代碼。 break。 } P1=0xf0。 while (P1!=0xf0)。 }}需要說明的是,若用線反轉(zhuǎn)法來確定閉合鍵時,如果遇到多個鍵閉合的情況,則得到的行值和列值中一定有1個以上的“0”。由于按鍵處理程序中沒有這樣的值,因而可以判斷為重鍵而丟棄,由此可見,用這種方法可以很方便地解決重鍵問題。 74LS245簡介 74ls245引腳圖與用法74LS245引腳圖74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,用法很簡單如上圖,這里簡單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時,必須接入74LS245等總線驅(qū)動器。當(dāng)片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)*DIR=“1”,信號由A向B傳輸;(發(fā)送)當(dāng)/CE為高電平時,A、B均為高阻態(tài)。 蜂鳴器 蜂鳴器 一)蜂鳴器的介紹1.蜂鳴器的作用 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。2.蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。3.蜂鳴器的電路圖形符號 蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。(二)蜂鳴器的結(jié)構(gòu)原理 蜂鳴器的原理圖1.壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(~15V直流工作電壓),多諧振蕩器起振,~,阻抗匹配器推動壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。2.電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。蜂鳴器 的制作(1)制備電磁鐵M:在長約6厘米的鐵螺栓上繞100圈導(dǎo)線,線端留下5厘米作引線,用透明膠布把線圈粘好,以免線圈松開,再用膠布把它粘在一個盒子上,電磁鐵就做好了.(2)制備彈片P:從鐵罐頭盒上剪下一條寬約2厘米的長鐵片,彎成直角,把電磁鐵的一條引線接在彈片上,再用膠布把彈片緊貼在木板上.(3)用曲別針做觸頭Q,用書把曲別針墊高,用膠布粘牢,引出一條導(dǎo)線,如圖連接好電路.(4)調(diào)節(jié)M與P之間的距離(通過移動盒子),使電磁鐵能吸引彈片,調(diào)節(jié)觸點與彈片之間的距離,使它們能恰好接觸,通電后就可以聽到蜂鳴聲。3 控制部分電路的設(shè)計 系統(tǒng)復(fù)位設(shè)置 單片機(jī)復(fù)位電路是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從該狀態(tài)開始工作例如復(fù)位后PC=0000H使單片機(jī)從第一個單元取指令。無論是在單片機(jī)剛接上電源時還是斷電后或者發(fā)生故障后都要復(fù)位。 單片機(jī)各種復(fù)位電路原理復(fù)位電路的作用在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計。而單片機(jī)復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機(jī)系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計不可靠引起的。基本的復(fù)位方式單片機(jī)在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位手動按鈕復(fù)位手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RS
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1