新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 單片機關鍵技術基礎詳解(四)

        單片機關鍵技術基礎詳解(四)

        作者: 時間:2012-03-28 來源:網絡 收藏
        P: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  說明:從結果上看INC A和ADD A,#1差不多,但INC A是單字節,單周期指令,而ADD #1則是雙字節,雙周期指令,而且INC A不會影響PSW位,如(A)=0FFH,INC A后(A)=00H,而CY依然保持不變。如果是ADD A ,#1,則(A)=00H,而CY一定是1。因此加1指令并不適合做加法,事實上它主要是用來做計數、地址增加等用途。另外,加法類指令都是以A為核心的

        四、中晶振的作用

          工作時,是一條一條地從RoM中取指令,然后一步一步地執行。訪問一次存儲器的時間,稱之為一個機器周期,這是一個時間基準?!獋€機器周期包括12個時鐘周期。如果一個單片機選擇了12MHz晶振,它的時鐘周期是1/12us,它的一個機器周期是12×(1/12)us,也就是1us。

          MCS—51單片機的所有指令中,有一些完成得比較快,只要一個機器周期就行了,有一些完成得比較饅,得要2個機器周期,還有兩條指令要4個機器周期才行。為了衡量指令執行時間的長短,又引入一個新的概念:指令周期。所謂指令周期就是指執行一條指令的時間。例如,當需要計算DJNZ指令完成所需要的時間時,首先必須要知道晶振的頻率,設所用晶振為12MHz,則一個機器周期就是1us。而DJNZ指令是雙周期指令,所以執行一次要2us。如果該指令需要執行500次,正好1000us,也就是1ms。

          機器周期不僅對于指令執打有著重要的意義,而且機器周期也是單片機定時器和計數器的時間基準。例如一個單片機選擇了12MHz晶振,那么當定時器的數值加1時,實際經過的時間就是1us,這就是單片機的定時原理。

          簡單地說,沒有晶振,就沒有時鐘周期,沒有時鐘周期,就無法執行程序代碼,單片機就無法工作。

          五、格雷碼轉二進制方法

          二進位碼第n位 = 二進位碼第(n+1)位+格雷碼第n位。因為二進位碼和格雷碼皆有相同位數,所以二進位碼可從最高位的左邊位元取0,以進行計算。(注:遇到1+1時結果視為0)

          例如: 格雷碼0111,為4位數,所以其所轉為之二進位碼也必為4位數,因此可取轉成之二進位碼第五位為0,即0 b3 b2 b1 b0。

          0+0=0,所以b3=0

          0+1=1,所以b2=1

          1+1取0,所以b1=0

          0+1取1,所以b0=1

          因此所轉換為之二進位碼為0101

          格雷碼轉換快速方法

          (假設以二進制為0的值做為格雷碼的0)

          G:格雷碼 B:二進位碼



        關鍵詞: 單片機 關鍵技術

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 共和县| 南阳市| 延长县| 双流县| 定日县| 滁州市| 名山县| 手游| 松原市| 微山县| 遵义县| 波密县| 山阳县| 墨玉县| 平安县| 黄陵县| 合作市| 大同县| 内丘县| 仲巴县| 柳州市| 友谊县| 乐东| 历史| 深圳市| 兰溪市| 图木舒克市| 运城市| 仪陇县| 余姚市| 岳池县| 桂东县| 伊宁县| 建昌县| 上饶县| 保靖县| 泽库县| 墨竹工卡县| 卢龙县| 大石桥市| 伊金霍洛旗|