日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c51单片机(预备知识)

發布時間:2023/12/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c51单片机(预备知识) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是單片機

? ? ? ? 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備(小鍵盤、LED顯示器)。

?2、結構示意圖(以STC89C51為講解)

0)? 無源晶振:12MHZ

1)振蕩周期:也稱時鐘周期,是指為單片機提供時鐘脈沖信號的振蕩源的周期.也是晶振頻率12Mhz倒數。即 :1/ (12* 10^6).

2)狀態周期:每個狀態周期為時鐘周期的2倍,是振蕩周期經二分頻后得到的

3)機器周期:一個機器周期包含6個狀態周期S1~S6,也就是12個時鐘周期。在一個機器周期內,CPU可以完成一個獨立的操作。即:12 / (12*10^6)。

單片機總共有P0、P1、P2、P3四個8位雙向輸入輸出端口,每個端口都有鎖存器、輸出驅動器和輸入緩沖器。4個I/O端口都能作輸入輸出口用。


2.1什么是I/O

即輸入/輸出,通常指數據在內部存儲器和外部存儲器或其他周邊設備之間的輸入和輸出.

P0:P0.0~0.7(下同),無外擴芯片時作I/O口用,讀入或寫出數據。有外擴時既要連接鎖存器,從鎖存器出去在連接外擴芯片的8位地址線;同時P0還要直接連接外擴的數據總線

P1:作普通的I/O口用

P2:無外擴作IO口。有外擴時,直接連接外擴的外擴芯片的剩余高位地址。

P3:P3的每一對端口都是是功能口。

? ? ? ? ? ? ? ? ? ? ? ?3.1,3.0是串口通信的TXD,RXD;

? ? ? ? ? ? ? ? ? ? ? ?3.2,3.3是外部中斷輸入的INT0和INT1;

? ? ? ? ? ? ? ? ? ? ? ?3.4和3.5控制T1和T0的定時/計數器功能;

? ? ? ? ? ? ? ? ? ? ? ? 3.6,3.7控制讀寫數據

3、預備知識(電平特性)

3.1、電平特性

? ? ? ? ? ? ?51系列單片機接口是TTL電平:? ?高電平(+5V)? ? ?低電平(0V)

? ? ? ? ? ? ? RS232電平:也就是計算機的串口:?高電平(-12V)? ? ?低電平(+12V)

3.1.1、 二進制邏輯運算

? ? 1)“與”運算?
? ? ? ? ? ? ? ?口訣:有0得0?
? ? ? ? ? ? 例子:1&1=1 ;? ? ? ? 1&0=0 ;? ? ? ? ? ?0&0=0 ;


? ? 2)“或”運算?
? ? ? ? ? ? ? ?口訣:有1得1?
? ? ? ? ? ? 例子:1|1=1 ;? ? ? ? ? 1|0=1 ;? ? ? ? ? ? ?0|0=0;


? ? ?3)“非”運算?
? ? ? ? ? ? ? ? 口訣:1的非得0,0的非得1
? ? ? ? ? ? 例子:~1=0;? ? ? ? ? ? ?~0=1;
? ? ?

? ? ? 4)“異或”運算?
? ? ? ? ? ? ? ? ?口訣:兩個不同則1,反之則0?
? ? ? ? ? ? ? 例子:1^1=0;? ? ? ? ? ?1^0=1;? ? ? ? ? ? 0^0=0;


4、進制轉換

? ? 4.1、二進制轉化為十進制

習題: (擴展)

4.2、巧方法:8421法

4.3十進制轉換為二進制(巧方法:問百度

? ? ?

?4.4、二進制轉十六進制

?4.5、十六進制轉化為二進制

??

5、 單位換算

? ? ? ?我的時鐘周期為:12MHZ

? ? ? ?機器周期:一個機器周期包含6個狀態周期S1~S6,也就是12個時鐘周期。

? ? ? ?注意:我們放一個bite位,即一個機器周期

5.1、頻率(frequency)

? ? ? ? ?是單位時間內完成周期性變化的次數(單位時間,就是1s內工作了多少次)

? ? ? ? ?單位:HZ

? ? ? ? ?公式:f?= 1/T? ? 即為周期的導數

? 5.2、單位轉化

? ?1s = 1,000 毫秒(ms)
? ?1s = 1,000,000 微秒(μs)
? ?1s = 1,000,000,000 納秒(ns)
---------------
? ?1 KHz =1,000 Hz
? ?1 MHz =1,000,000 Hz
? ?1 GHz =1,000,000,000 Hz
------------
? ?1Hz = 1 s? ? ? ? ? ? ? ? ? ? ? ? ? ? (1秒震動一次)
? ?1KHz = 1,000 / 1s? ? ? ? ? ? ? ?(1秒震動1000次)
? ?1MHz = 1,000,000 / 1s? ? ? ? (1秒震動1000000次)

? ?1)時鐘周期為晶振的倒數:1?/12MHZ =? ? 1? /? (?12 * 10^6) HZ

? ?2)機器周期? ? ?12 *? ? 1 / 12MHZ? ?=? 12 *? 1/ (12?* 10^6)?HZ? ? ? ? ? ?(定時器常用)

6、管腳的定義(sbit 和 sfr)

? 6.1sbit 類似C語言的denfine 函數,給管腳取一個新的名字

例如:? sbit? LED?= P1^6 ;

即 : LED 表示了P1口的第6個管腳(P1^6)

? ?6.2、sfr特殊功能寄存器

自我理解;也是取一個新的名字,但它與sbit不同,它直接取8個管腳,統稱為一個名字

舉一個非常簡單的例子區別一下:

比如門牌號是:某省某市某小區16棟14號房,是鄭大俠的家,你說記鄭大俠的家好記,還是上面那個詳細地址好記呢?

一開始單片機沒程序的時候,單片機其實沒有P0/P1/P2/P3口的說法,單片機只知道P1口的8只引腳,是連著內部地址0x90。為了方便記憶,就衍生出P0、P1、P2、P3。

? ? ?例如:sfr P1 = 0x90;

? ? ? 即:就是把單片機的地址0x90改名字為P1,方便我們使用。

7、C51常用頭文件

? ? ? ? ? C51中頭文件很多,包括reg51.h或reg52.h、absacc.h、math.h、intrins.h、stdio.h、stdlib.h等。但是常用的通常只有reg51.h或reg52.h、absacc.h、math.h這三個頭文件。

?(1)reg51.h或reg52.h

? ? ? ? ?這是定義51子系列單片機和52子系列單片機內部特殊功能寄存器和相關可尋址位的頭文件。這兩個頭文件內容絕大部分都是相同的,只是52子系列比51子系列單片機多了一個定時器T2,因此也就多了幾行與其相關的定義。

?(2)? math.h是定義數學運算的,求方根、正余弦、絕對值等,

?(3)intrins.h是固有函數

?(4)absacc.h 訪問特殊功能寄存器的

?(5)stdio.h動態內存分配函數

?(6)stdlib.h標準庫文件函數

? ? ? ?

? ??

總結

以上是生活随笔為你收集整理的c51单片机(预备知识)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。