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

正文內(nèi)容

基于單片機(jī)的數(shù)字鐘設(shè)計(jì)-在線瀏覽

2025-03-07 14:51本頁(yè)面
  

【正文】 LED、LCD或VFD顯示驅(qū)動(dòng)器也開(kāi)始集成在8位單片機(jī)中。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開(kāi)始使用高級(jí)語(yǔ)言(如C語(yǔ)言)來(lái)開(kāi)發(fā)單片機(jī)的程序。低電壓和低功耗 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長(zhǎng)的時(shí)間。目前世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。(1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(3)商業(yè)應(yīng)用領(lǐng)域 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(5)智能儀表與集成智能傳感器 目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來(lái)代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。因?yàn)椋? 其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。圖21 單片機(jī)8052的內(nèi)部結(jié)構(gòu)程序存儲(chǔ)器(ROM):8052共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 PP2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。下圖是MCS52系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:MCS51的引腳說(shuō)明:MCS52系列單片機(jī)中的8038051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。初始化后,程序計(jì)數(shù)器PC指向0000H,P0P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專用寄存器被清“0”。然而,初始復(fù)位不改變RAM(包括工作寄存器R0R7)的狀態(tài),8052的初始態(tài)。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失圖24 上電自動(dòng)和手動(dòng)復(fù)位電路圖圖25 內(nèi)部和外部時(shí)鐘方式圖 Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。第二章 數(shù)字鐘的硬件設(shè)計(jì) 最小系統(tǒng)設(shè)計(jì) 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個(gè)組成部分。 圖31 晶振連接的內(nèi)部、外部方式圖XTAL1 19XTAL2 18   XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。晶振的頻率可以在1MHz24MHz內(nèi)選擇。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。3. 復(fù)位 RST 9在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開(kāi)始運(yùn)行程序。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。(1) P0端口[] P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口,端口置1(對(duì)端口寫(xiě)1)時(shí)作高阻抗輸入端。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié)。在訪問(wèn)外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問(wèn)期間內(nèi)部的上拉電阻起作用。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低8位地址信息。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。而在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。P3引腳兼用功能串行通訊輸入(RXD)串行通訊輸出(TXD)外部中斷0( INT0)外部中斷1(INT1)定時(shí)器0輸入(T0)定時(shí)器1輸入(T1)外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通WR外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通RD表31 P3端口引腳兼用功能表 LED顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。圖32 LED顯示器的符號(hào)圖發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。LED數(shù)碼管有共陽(yáng)、共陰之分。采用動(dòng)態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。對(duì)于多位LED顯示器,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。 鍵盤(pán)控制電路該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來(lái)實(shí)現(xiàn)。下圖是按鍵硬件連接圖。這就是抖動(dòng)。很容易想到,抖動(dòng)問(wèn)題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。鍵按下前沿抖動(dòng)后沿抖動(dòng)閉合穩(wěn)定圖36 按鍵抖動(dòng)信號(hào)波形第三章 數(shù)字鐘的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問(wèn)題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開(kāi)發(fā)清晰、簡(jiǎn)潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。 系統(tǒng)軟件設(shè)計(jì)流程圖 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。圖41 主程序流程圖按鍵處理是先檢測(cè)秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒(méi)有按下,就檢測(cè)分按鍵是否按下,分按鍵如果按下,分就加1;如果沒(méi)有按下,就檢測(cè)時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒(méi)有按下,就把時(shí)間顯示出來(lái)。N24小時(shí)到?分單元清零,時(shí)單元加1NNNYY時(shí)單元清零時(shí)間顯示中斷返回開(kāi)始一秒時(shí)間到?60秒時(shí)間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY圖43 定時(shí)器中斷流程圖時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。圖45 數(shù)字鐘的原理圖 在此有必要介紹一下數(shù)字電子鐘的工作原理。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還有校時(shí)功能。8個(gè)數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口?!胺謫卧币膊捎?0進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個(gè)“時(shí)脈沖”信號(hào),該信號(hào)將被送到“時(shí)單元”。顯示電路將“時(shí)”、“分”、“秒”通過(guò)七段顯示器顯示出來(lái)。 中斷子程序timer0 (void) interrupt 1 using 1{ u++。 TL0=(6553650000)%256。 for(time=30。time) for(p=0。p++)。char sceond,minute,hour,i,k,l,j,x,y。sbit P1_0=P1^0。sbit P1_2=P1^2。 TH0=(6553650000)/256。 EA=1。 TR0=1。 xianshi()。}在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。所謂中斷就是當(dāng)CPU正在執(zhí)行程序A時(shí),發(fā)生了另一個(gè)急需處理的事件B,這是CPU暫停當(dāng)前執(zhí)行的程序A,立即轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個(gè)過(guò)程被叫做中斷。關(guān)于中斷的概念可以打個(gè)如下的比喻。中斷是一個(gè)過(guò)程,當(dāng)中央處理器CPU在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源,稱為中斷源。當(dāng)CPU正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,如果CPU能夠暫時(shí)中止對(duì)原來(lái)中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來(lái)的低級(jí)中斷處理程序,這樣的過(guò)程稱為中斷嵌套。 sceond++。 minute++。 hour++ 。 } } } } x=hour%10。 l=minute%10。 i=sceond%10。 P2=0x7f。 delay()。 P0=mod[k]。 P2=0xdf。 delay()。 P0=mod[l]。 P2=0xf7。 delay()。 P0=0x40。 P2=0xfd。 delay()。 P0=mod[y]。} 按鍵控制子程序void kongzhi() { if(P1_0==0) { TR0=0。 while(1) { if(P1_1==0) { sceond++。 } } while(P1_1==0)。 if(sceond0) { sceond=0。 i=sceond%10。 P2=0x7f。 delay()。 P0=mod[k]。 if(P1_0==0) { while(P1_0==0)。 while(minute==60) { minute=0。 if(P1_2==0) { minute。 } } while(P1_2==0)。 j=minute/10。 P0=mod[l]。 P2=0xf7。 delay()。 while(1) { if(P1_1==0) { hour++。 } } while(P1_1==0)。 if(hour0) { hour=0。 x=hour%10。 P2=0xfd。 delay()。
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1