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

正文內(nèi)容

[1小時(shí)學(xué)會(huì)c語(yǔ)言51單片機(jī)]c語(yǔ)言入門(mén)教程(存儲(chǔ)版)

  

【正文】 ***********************************************/ void Delay(unsigned char a)//延時(shí)程序a*1MS { unsigned char j。 P2_2 = 1。 P2_3 = 1。 //定時(shí)50ms { static unsigned char count = 0。if(sec == 60) { min++。 while(1) { Disp()。TL0 += (_TH0_TL0_ + 9) % 256。 先關(guān)閉定時(shí)器T0,然后重新給TH0和TL0 賦值,再開(kāi)啟 TR0 = 1。如果鍵盤(pán)數(shù)目一 大的話,顯然不適合(2)線反轉(zhuǎn)法,通過(guò)行列狀態(tài)的改變來(lái)判斷有無(wú)鍵被按下! } else if(pkey()==1) P1=0xfe。for(j=0。 { { case 0x70: key=4*j+3。 P1=k。 P1 = 0xF0。0xF0。 if( b == N )//N為鍵的功能數(shù)目 { 請(qǐng)看這里: if(P1_0 == 0) { Delay(10)。 解決方法大致有如下2種: ,在中斷里查詢延時(shí)的標(biāo)志位。//等在這里,直到Delaytime為0。 !old_value)//識(shí)別按鍵。時(shí)隔13個(gè)月之久再來(lái)繼續(xù)寫(xiě)這些東西,沒(méi)有以前的激_情和熱情,所以就草草了事結(jié)尾,希望大家不要在背地里罵我哦,^_^。其實(shí)51也就那么簡(jiǎn)單,真的很希望大家看完這篇文字以后,很自信的說(shuō),51單片機(jī)也已經(jīng)入門(mén)。 if(new_value amp。EX1: unsigned char Delaytime。 為什么?我的按鍵不是可以正常工作嗎? } switch( b ) return(key_val(row|col))。 col = P1amp。 Delayt(50)。0xf0)==0xf0) default: break。 switch(s) s=P1amp。 while(1) { if(P1!=0xf0) i=t。 這回我們來(lái)講講鍵盤(pán),大家肯定見(jiàn)過(guò)銀行柜員機(jī)吧,取錢(qián)輸入密碼就要用到鍵盤(pán),超市購(gòu)物取回寄存物品要輸入密碼,還有你現(xiàn)在在 用的PC機(jī)的鍵盤(pán)。 在中斷處理服務(wù)程序中,我們加入上面的代碼。 中斷和 定時(shí)/記數(shù)器器,是個(gè)很重要的東西,幾乎用到單片機(jī)的地方都會(huì)涉及到中斷和定時(shí)!所以大家要好好掌握哦! ^_^ EA = 1。 hou = 0。 } /********************************************************************************************/ void IsrTimer0(void) interrupt 1 using 1 P2_5 = 1。 P2_4 = 1。 Delay(5)。 } } /*********************************************************************************************/ void Disp(void)//數(shù)碼管顯示 { P2_0 = 1。 unsigned char SEG_TAB_B[ ] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 爽 還需要轉(zhuǎn)換一下! 若M1=1;M0=0則為方式2,自動(dòng)裝載8位 定時(shí)/記數(shù)器。T/C1 __________| |_________ GATE C/T M1 M0 其中TMOD為T(mén)/C方式控制寄存器: D7 D6 D5 D4 D3 D2 D1 D0 不過(guò)不要緊,我們繼續(xù)往下看,下面我們來(lái)講講單片機(jī)的定時(shí)器是什 么?如何工作的?定時(shí)器,大家從字面上就可以看出其大概的意思吧?簡(jiǎn)單的說(shuō):就是起定時(shí)作用!也就是讓單片機(jī)計(jì)數(shù)。51系列 的單片機(jī)共有5個(gè)中斷源,分別為:外中斷0 、定時(shí)器T0中斷、外中斷定時(shí)器T1中斷、串口中斷。 while( 1 ) { disp( )。 Delay(15)。 Delay(15)。 Delay(15)。 上面只顯示了一個(gè)數(shù)碼管的數(shù)字09,但是怎么樣要讓他顯示6個(gè)數(shù)字呢?這樣我們就可以做個(gè)時(shí)鐘出來(lái)玩玩了!還記不記得我們前面 講過(guò)的P2口的位選作用!嘿嘿,沒(méi)忘記就好! include unsigned char hour = 12, min = 0, sec = 0。 P2 = 0X01。 } } void main(void) { unsigned char i。但是今天 你也可以把他做出來(lái)了,是不是覺(jué)得自己很有成就感呢!呵呵! ^_^ //4的碼段 P2 = 0x08。 Delay(20)。//選通一位,或者P2_0 = 1。記住,在任何某一時(shí)刻,有且只有一個(gè)數(shù)碼管能發(fā)光。一個(gè)機(jī)器周期12*1/12 = 1微妙。但是,細(xì)心的朋友,會(huì)問(wèn)這樣的問(wèn)題:P2位選,是讓數(shù)碼管一個(gè)一個(gè)亮 的,那還是不能控制6個(gè)一起亮或滅嘛??? ^_^ 想想好象是對(duì)的哦?怎么辦...難道錯(cuò)了? 看到這里,想必大家一定可以把0F顯示出來(lái)了吧!但是如果要你顯示兩位數(shù),三位數(shù)呢?或許,有的朋友會(huì)這么想:在P0口上接一個(gè) 數(shù)碼管,再在P1口上接個(gè)數(shù)碼管!但是,如果要顯示4位、5位的數(shù)字呢?那豈不是一塊AT8951都接不過(guò)來(lái)!難到就不能接4位或5位以上的嗎? 肯定不是的! //延時(shí) P0 = 0X00。 include void Delay(unsigned char a) { unsigned char i。這樣我們只 要給某個(gè)口,賦一個(gè)值,則相應(yīng)的LED段就被點(diǎn)亮,但是在硬件連接上要注意了:?jiǎn)纹瑱C(jī)可能不能直接驅(qū)動(dòng)LED,所以我們可以通過(guò)控制三級(jí)管 的導(dǎo)通或截止,來(lái)控制LED的亮與滅! 9 52 //09數(shù)字) XXX 0 Error(s), 0 Waring(s). 表示編譯和生成HEX文件成功!接下來(lái)的就是把HEX文件燒到單片機(jī)中,或是仿真器上,看是否達(dá)到預(yù)先的目的! Group 1 下。 流水燈的花樣很多,我還寫(xiě)過(guò)那種拉幕式的流動(dòng)等,程序很簡(jiǎn)單,有興趣的朋友,可以自己試著寫(xiě)寫(xiě)! for(i = 0。 P1_7 = 1。 P1_5 = 1。 Delay(250)。 P1_1 = 0。 while( a != 0) { for(i = 0。 //定義管腳 或用include其具體的區(qū)別在于:后者定義了更多的地址空間。 但是,真的做起來(lái)并沒(méi)有我所說(shuō)的那么簡(jiǎn)單。 這樣以來(lái),可 以省去了來(lái)回插拔芯片帶來(lái)的不必要麻煩。而且C51還有更大的優(yōu)點(diǎn)就是編寫(xiě)大程序時(shí)的優(yōu)越性更不言而喻,當(dāng)然在那時(shí),我并沒(méi)有想的那么深遠(yuǎn),C51的特 點(diǎn),還是在后來(lái)的實(shí)踐過(guò)程中,漸漸體會(huì)到的!朋友如果你選擇了C51,那么請(qǐng)繼續(xù)往下看,如果你選擇了A51,那么你可以不要看了!因?yàn)橄旅嬷v 的全是C方面的,完全在浪費(fèi)你的時(shí)間!還是先說(shuō)說(shuō)我吧,我從大二的第一個(gè)學(xué)期期末的時(shí)候才開(kāi)始接觸單片機(jī),但在這之前,正如上面所說(shuō)的:我知道有種芯片叫單片機(jī), 但是具體長(zhǎng)成什么樣子,卻一點(diǎn)也不知道!看到這里很多朋友一定會(huì)忍不住發(fā)笑。單片機(jī)是一塊在集成電路芯片上集成了一臺(tái)有一定規(guī)模的微型計(jì)算機(jī)。不過(guò)這一切都沒(méi) 什么關(guān)系,因?yàn)槲遥ó?dāng)然也包括任何人)都是從不知道轉(zhuǎn)變成知道的,再轉(zhuǎn)變成精通的。 我一開(kāi)始也不知道上面3個(gè)的概念和作用,嘿嘿,原本想買個(gè)實(shí)驗(yàn)板(不想焊板,因?yàn)椴豢赡転榱它c(diǎn)亮幾個(gè)流水燈,而去焊?jìng)€(gè)單片機(jī)的最小系統(tǒng)) 的,可是結(jié)果,確和我想的正好相反,人家出售的是編程器。如果沒(méi)有PC,什么也做不了?。?!有了PC最好還要可 以上網(wǎng),因?yàn)槿绻銢](méi)有可以和你交流單片機(jī)的人,遇到自己解決不了的問(wèn)題,一直都想不通,那么估計(jì)你學(xué)習(xí)單片機(jī)的熱情就會(huì)隨著時(shí)間的 推移而慢慢耗盡?;蚴悄憧炊速Y料上某個(gè)相似的程序,你自己卻寫(xiě)不出來(lái)。 include //在Keil安裝文件夾中,找到相應(yīng)的文件,比較一下便知! //低電平有效,如果把LED反過(guò)來(lái)接那么就是高電平有效 } } 那么這樣就能達(dá)到了我們預(yù)先的要求了。 假設(shè)我們有8個(gè)LED分別接在P1口的8個(gè)引腳上。 sbit P1_4 = P1 ^ 4。 //一個(gè) 。 //i 從0加到125,CPU大概就耗時(shí)1毫秒 } void main(void) { while(1) { P1_0 = 0。 Delay(250)。 P1_4 = 1。 sbit 定義位變量,unsigned char a 定義無(wú)符字符型變量a,以節(jié)省單片機(jī)內(nèi)部資源,其有效值為0~255。 while( a != 0)
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1