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

正文內(nèi)容

[1小時學(xué)會c語言51單片機(jī)]c語言入門教程-文庫吧

2025-06-11 01:31 本頁面


【正文】 效果! include include void Delay(unsigned char a) { unsigned char i。 while( a != 0) { for(i = 0。 i 125。 i++)。 } } void main(void) { unsigned char b, i。 while(1) { b = 0xfe。 for(i = 0。 i 8。 i++) { P1 = _crol_(b, 1)。 b = P1。 Delay(250)。 } } } char _cror_(unsigned char a, unsigned char n)右移也可以實現(xiàn)同樣的效果!這里就不再累述。 流水燈的花樣很多,我還寫過那種拉幕式的流動等,程序很簡單,有興趣的朋友,可以自己試著寫寫! 對了,講了那么多,有些朋友一定還不知道編譯軟件怎么用?這里給大家介紹幾個吧?WAVE(偉福)大家一定聽說過吧!還有一個 就是KEIL2,我用的就是KEIL2,下面就來講講如何使用KEIL2這個編譯軟件! ,這個應(yīng)該不用再講了吧! ,啟動KEIL軟件左擊ProjectNew Project輸入文件名選擇我們所以使用的芯片(這里我們一般用到Atmel的 AT89C51或AT89C2051,點確定。 New輸入我們編寫的程序。(一般情況下,我們保存的文件名和前面的工程名一樣。) 1 右擊Source Group 1 Add Files to Group 39。Source Group 139。,關(guān)閉對 話框。 Group 1 下。 1Options for 39。Target 139。 Target中填寫晶體的大小,Output中,在Create HEX Files 前打上鉤,點確 定。 Rebuild All Traget Files ,若提示 creating hex file from XXX... XXX 0 Error(s), 0 Waring(s). 表示編譯和生成HEX文件成功!接下來的就是把HEX文件燒到單片機(jī)中,或是仿真器上,看是否達(dá)到預(yù)先的目的!嘿嘿!現(xiàn)在是否自己好有成就感了,如果讓你去做個流水彩燈,開發(fā)一個簡單的產(chǎn)品,只要加上驅(qū)動電路,就可以做出漂亮的流動彩燈 了!到現(xiàn)在為止,你應(yīng)該知道單片機(jī)的功能有多強(qiáng)大了吧,如果單純的用數(shù)字電路或模擬電路的知識去設(shè)計一個流動彩燈,可能要花點工夫 和時間才行,有了單片機(jī),那就不一樣了,你只要寫程序控制他就行!有人說過這樣一句話,也并不無道理的,學(xué)單片機(jī),程序思想很重要! (四) 呵呵,朋友!相信你的流水燈也做的不錯了吧,現(xiàn)在能玩出幾種花樣了?你可能會說,只要你想得到,想怎么流就怎么流!呵呵,是的。 但是工程師們設(shè)計這么一個單片機(jī),并不是只為了讓它做流水燈的,那樣也太浪費點了吧 ... ^_^ 學(xué)過數(shù)字電路的朋友,一定動手做過8路或者6路的搶答器。用純粹的數(shù)字電路知識來做,自己設(shè)計電路,感到比較困難!搶答器上用的顯 示器多為7段數(shù)碼管,這里我們來講講,如何用單片機(jī)讓數(shù)碼管顯示09。搶答器的實現(xiàn),我們放到后面再來探討,因為搶答器還涉及了鍵盤的 內(nèi)容。8段數(shù)碼管分為共陰和共陽兩種。8段數(shù)碼管是由8個LED組成(還包括一個小數(shù)點)。若為共陽,則8個LED的陽級是連接在一起的,同理 若為共陰,則陰極連接在一起。8個LED對應(yīng)的標(biāo)號如下:({0x3f, 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //09數(shù)字) a 0 1 2 3 4 5 6 7 8 9 __ 0011 1111,0000 0110,0100 1111,0101 1011 f | | b |__| |g | c e |__| . dp d 一般情況下,為了計算或取碼的方便。x表示0,1,2,3其中的一個。這樣我們只 要給某個口,賦一個值,則相應(yīng)的LED段就被點亮,但是在硬件連接上要注意了:單片機(jī)可能不能直接驅(qū)動LED,所以我們可以通過控制三級管 的導(dǎo)通或截止,來控制LED的亮與滅! ,注意:P0口需接上拉電阻。何為上拉電阻,簡單的說,就是把電平拉 高,以提高驅(qū)動能力。那么比如:P0 = 0X3F;則顯示為數(shù)字 0 。因為0X3F 即為2進(jìn)制的 0011 1111 我們低位往高位數(shù),依次為1111 1100, 其I/O的電平分別為高、高、高、高、高、高、低、低,即對應(yīng)的adp 為亮、亮、亮、亮、亮、亮、滅、滅,由上圖我們可以看出g和dp段不 亮其他段均亮,即為我們所看到的數(shù)字 0 字樣。其他的數(shù)字或字符,也同理可以得到。但是有些朋友就會問,那我們每取一個字模,豈不是 很麻煩?還有自己考慮高低電平什么的?^^ 呵呵,其實網(wǎng)上有很多LED取模軟件,如果有一定計算機(jī)編程語言的朋友,也可以試著自己寫個 取模的程序,讓計算機(jī)為我們計算,諸如上述0X3F的數(shù)值。 include void Delay(unsigned char a) { unsigned char i。 while( a != 0) { for(i = 0。 i 125。 i++)。 } } void main(void) { P0 = 0X3F。 //顯示 0Delay(250)。//延時 P0 = 0X00。//短暫的關(guān)閉顯示,若不關(guān)閉,可能會造成顯示模糊不清。 P0 = 0X06。 //顯示 1 Delay(250)。 P0 = 0X00。 ... //以下顯示數(shù)字2F,略。 } 看到這里,想必大家一定可以把0F顯示出來了吧!但是如果要你顯示兩位數(shù),三位數(shù)呢?或許,有的朋友會這么想:在P0口上接一個 數(shù)碼管,再在P1口上接個數(shù)碼管!但是,如果要顯示4位、5位的數(shù)字呢?那豈不是一塊AT8951都接不過來!難到就不能接4位或5位以上的嗎? 肯定不是的! 說到這里,我們來講講數(shù)碼管的顯示方式,可分為兩種:動態(tài)掃描和靜態(tài)顯示。上面我們所說的即為靜態(tài)顯示。但是如果我們采用動態(tài)掃 描顯示,那么就可以解決上面的問題,即可以顯示多個數(shù)碼管了。上面我們所說的靜態(tài)顯示把數(shù)碼管的COM腳接至VCC或GND端,其他的接至PX 口上,這樣只要PX口上輸出相應(yīng)的高低電平,就可以顯示對應(yīng)的數(shù)字或字符。但是如果我們采用動態(tài)掃描的方法,比如顯示6個數(shù)碼管,硬件 連接可以這樣解決:。P0口作段選(控制數(shù)字字符)P2口作位選(選 通哪個數(shù)碼管導(dǎo)通)這樣我們控制P0和P2口就可以控制6個數(shù)碼管了。但是,細(xì)心的朋友,會問這樣的問題:P2位選,是讓數(shù)碼管一個一個亮 的,那還是不能控制6個一起亮或滅嘛??? ^_^ 想想好象是對的哦?怎么辦...難道錯了? 嘿嘿,問你個問題?黑夜里,拿著一支煙,在你面前快速的晃動,你會發(fā)現(xiàn)什么樣的現(xiàn)象?是不是原本不連續(xù)的點變成了一條看上去連 續(xù)的曲線或者直線!再回過頭來,仔細(xì)想想我們的數(shù)碼管!原理是一樣的,你可別忘了,我們的單片機(jī)可是一個計算機(jī)哦,計算機(jī)的運算速 度,大家可想而知吧! 這里再說說51單片機(jī)的機(jī)器周期和時鐘周期等概念。所謂機(jī)器周期就是訪問一次存儲器的時間。而1個機(jī)器周期包括12個時鐘周期。如果 單片機(jī)工作在12M晶體下,那么一個時鐘周期為:1/12微妙。一個機(jī)器周期12*1/12 = 1微妙。如果晶體為6M,時鐘周期和機(jī)器周期各是多少呢 ?在匯編中,我們還要關(guān)心,指令執(zhí)行的機(jī)器周期長短不一,有1個周期、2個周期和4個周期等。 說著說著,跑了這么遠(yuǎn)了...還是回到原來的話題,如果我們把位選的P2也看作上面的“煙”一劃而過,那么我們看到的是不是6個一起亮 或一起滅了! ^_^ 哈哈,原來如此... 記住,在任何某一時刻,有且只有一個數(shù)碼管能發(fā)光。如果你能把這句話理解了,你是真明白 我的意思了!朋友,現(xiàn)在給你個任務(wù),讓6個數(shù)碼管分別顯示6??茨阕约嚎梢愿愣ú??你自己先試著寫寫看咯... include void Delay(unsigned char a) { unsigned char i。 while( a !=
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1