久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3796|回復(fù): 4
收起左側(cè)

單片機(jī)學(xué)習(xí)隨筆

[復(fù)制鏈接]
ID:51088 發(fā)表于 2014-8-27 01:48 | 顯示全部樓層 |閱讀模式


最近一直在學(xué)習(xí)單片機(jī)。單片機(jī)的學(xué)習(xí)主要通過軟件和硬件兩個方面學(xué)習(xí),軟件和硬件之間又是緊密聯(lián)系在一起的。軟件的編寫需要聯(lián)系硬件的電路來進(jìn)行,而硬件也需要軟件來控制。

開始沒有意識到硬件電路的重要性,我就想我明明驅(qū)動的是LED燈點亮,為什么亮的卻是數(shù)碼管,而數(shù)碼管也只亮了8個里面的其中一個。當(dāng)時也只是看著視頻里的一步步的來,視頻里用的開發(fā)板和我用的不太一樣,但我又不會變通,完全忽視電路的重要性,沒有去好好研究。后來無意中看到電路板上有個地方需要用跳線帽來選擇電路,這就驅(qū)使我更加注重對電路的分析。

通過這段時間的接觸,我發(fā)現(xiàn)要想學(xué)好這些東西C語言相當(dāng)重要,雖然我有一定的C語言基礎(chǔ),但是和實際相結(jié)合起來完全不知道怎么用,而且還有很多C語言的巧妙運用。比如通過for循環(huán)來延時一定的時間,通過while循環(huán)來得到死循環(huán),如何使用單片機(jī)的定時器,如何進(jìn)行中斷的使用,如何消除按鍵的抖動,如何進(jìn)行程序的調(diào)用使程序更加的簡介清晰,如何進(jìn)行掃描和動態(tài)刷新等等。每一樣?xùn)|西都不是那么容易學(xué)到手的,因為有的東西不是那么容易理解,即使能夠理解時間長了也通容易遺忘。所以需要我們不斷的練習(xí),不斷地思考,甚至于把一些東西都牢記下來,這樣時間長了才會變成自己的東西,才能夠?qū)W以致用融會貫,甚至去創(chuàng)新。

接下來要學(xué)的東西還有很多,需要我不斷地思考,不斷地練習(xí),甚至是不斷地鸚鵡學(xué)舌。要思考就要不斷的向自己問各種各樣的問題。

明天的問題:

1、  如何用16個按鍵分別在數(shù)碼管顯示0-F這16個數(shù)字?

2、  怎么編一個簡易加法器?

3、  如何控制電機(jī)轉(zhuǎn)一定的轉(zhuǎn)數(shù)?


回復(fù)

使用道具 舉報

ID:51088 發(fā)表于 2014-8-27 14:02 | 顯示全部樓層
最近學(xué)習(xí)單片機(jī)就沒有以前那么快了,難度越來越大,程序越來越復(fù)雜,需要的技巧越來越多。有些東西真的只有在理解的基礎(chǔ)上背下來才行,只理解即使懂了也不會運用,只背那就更不行了,這兩者都有同時進(jìn)行。所以需要更大的決心來面對這一切,不能半途而廢。

       這幾天的學(xué)習(xí)主要總結(jié)了一下幾點:
       一、就是步進(jìn)電機(jī)的驅(qū)動,在接觸之前我以為步進(jìn)電機(jī)只要給電就能轉(zhuǎn)動,接觸之后才發(fā)現(xiàn)這是不可能的,里面需要做很多的工作。如28BYJ-48型步進(jìn)電機(jī)是四相八拍的步進(jìn)電機(jī),它的控制順序(反向就是反著讀)為:

       二、在程序里面,定時器的部分。當(dāng)我們需要確定的值的時候,我們就可以直接對TH,TL進(jìn)行賦值,但有的時候不知道賦值多少,因為是變動的,就需要根據(jù)自己需要的時間來進(jìn)行賦值,例程如下:
                   void ConfigTimer0(unsigned int ms){        unsigned long tmp;         tmp=11059200/12; //定時器計數(shù)頻率        tmp=(tmp*ms)/1000;// 定時xms時間需要的計數(shù)值        tmp=65536-tmp;// 需要裝載的計數(shù)初值        tmp=tmp+18; //補(bǔ)償中斷響應(yīng)延時造成的誤差         T0RH=(unsigned char)(tmp<<8); //定時器重載值拆分為高低字節(jié)        T0RL=(unsigned char)tmp;        TMOD&=0xF0; //清零 T0 的控制位        TMOD|=0x01; 配置 T0 為模式 1        TH0=T0RH; //加載 T0 重載值        TL0=T0RL;        ET0=1;        TR0=1;}
三、數(shù)碼管掃描函數(shù)算法改進(jìn)
以前的 函數(shù)形式為;
       switch (i)
         {   case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=LedBuff[0]; break;
            case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=LedBuff[1]; break;
          case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=LedBuff[2]; break;
          case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=LedBuff[3]; break;
             case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=LedBuff[4]; break;
             case 5: ADDR2=1; ADDR1=0; ADDR0=1; i=0; P0=LedBuff[5]; break;
             default: break;
        }
改變后的函數(shù)形式:
P1 = (P1 & 0xF8) | i;
             P0 = LedBuff;
             if (i < 5)
                 i++;
             else
                 i = 0;
       其中,ADDR0,ADDR1,ADDR2是連在P1口的第三位,通過P1 = (P1 & 0xF8) | i;就可以直接改變第三位的值,所以非常簡便。
       四、就是程序的模塊化,把各種功能的程序分別寫成獨立的模塊,然后在需要的程序里面進(jìn)行調(diào)用,這樣可以讓程序看起來更加的簡單清晰,也便于后面的維護(hù)。
       總之,寫程序真不是一件容易的事情,不僅需要足夠嚴(yán)謹(jǐn)?shù)倪壿嬎季S,還需要足夠的細(xì)心,在程序的編寫中可能一個小錯誤就可能導(dǎo)致得不到想要的結(jié)果,這種問題是經(jīng)常遇到的。不過也要盡力去解決這些問題,增加自己的經(jīng)驗,遇到什么樣的問題就可以直接對癥下藥,而不是丈二的和尚,摸不著頭腦,什么都不知道。

回復(fù)

使用道具 舉報

ID:65516 發(fā)表于 2014-8-27 18:45 | 顯示全部樓層
多謝樓主的分享,很好用自學(xué)筆記
回復(fù)

使用道具 舉報

ID:65519 發(fā)表于 2014-8-27 20:32 | 顯示全部樓層
加油加加油加加油加加油加
回復(fù)

使用道具 舉報

ID:64075 發(fā)表于 2014-8-28 13:07 | 顯示全部樓層
加油加加油加加油加加油加
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日日天天| 久久久人成影片一区二区三区 | 精品国产一级 | 久久久久久久一区 | 日本成人综合 | 真人一级毛片 | 久久99精品久久久久久 | 国产在线一区观看 | 日韩成人性视频 | 免费xxxx大片国产在线 | h视频在线看 | 精品一区在线 | 97久久精品午夜一区二区 | 97国产一区二区精品久久呦 | 91在线视频精品 | 99热在这里只有精品 | 一区二区三区欧美 | 午夜丰满寂寞少妇精品 | 99福利视频导航 | 国产视频久久 | 龙珠z在线观看 | 国产97人人超碰caoprom | 黄a免费网络 | 男女视频免费 | 成年免费在线观看 | 在线91| 密色视频 | 精品成人av | 黄色在线免费播放 | 精品一区二区三区四区在线 | 日韩精品一区二区三区在线播放 | 免费精品| 嫩呦国产一区二区三区av | 青青操91| 欧美日韩在线精品 | yiren22 亚洲综合 | 99成人精品| 国产98色在线 | 日韩 | 亚洲国产视频一区二区 | 日韩综合网 | 国产久 |