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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c51单片机(预备知识)

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

1、什么是單片機(jī)

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

?2、結(jié)構(gòu)示意圖(以STC89C51為講解)

0)? 無(wú)源晶振:12MHZ

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

2)狀態(tài)周期:每個(gè)狀態(tài)周期為時(shí)鐘周期的2倍,是振蕩周期經(jīng)二分頻后得到的

3)機(jī)器周期:一個(gè)機(jī)器周期包含6個(gè)狀態(tài)周期S1~S6,也就是12個(gè)時(shí)鐘周期。在一個(gè)機(jī)器周期內(nèi),CPU可以完成一個(gè)獨(dú)立的操作。即:12 / (12*10^6)。

單片機(jī)總共有P0、P1、P2、P3四個(gè)8位雙向輸入輸出端口,每個(gè)端口都有鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器。4個(gè)I/O端口都能作輸入輸出口用。


2.1什么是I/O

即輸入/輸出,通常指數(shù)據(jù)在內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器或其他周邊設(shè)備之間的輸入和輸出.

P0:P0.0~0.7(下同),無(wú)外擴(kuò)芯片時(shí)作I/O口用,讀入或?qū)懗鰯?shù)據(jù)。有外擴(kuò)時(shí)既要連接鎖存器,從鎖存器出去在連接外擴(kuò)芯片的8位地址線;同時(shí)P0還要直接連接外擴(kuò)的數(shù)據(jù)總線

P1:作普通的I/O口用

P2:無(wú)外擴(kuò)作IO口。有外擴(kuò)時(shí),直接連接外擴(kuò)的外擴(kuò)芯片的剩余高位地址。

P3:P3的每一對(duì)端口都是是功能口。

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

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

? ? ? ? ? ? ? ? ? ? ? ?3.4和3.5控制T1和T0的定時(shí)/計(jì)數(shù)器功能;

? ? ? ? ? ? ? ? ? ? ? ? 3.6,3.7控制讀寫數(shù)據(jù)

3、預(yù)備知識(shí)(電平特性)

3.1、電平特性

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

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

3.1.1、 二進(jìn)制邏輯運(yùn)算

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


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


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

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


4、進(jìn)制轉(zhuǎn)換

? ? 4.1、二進(jìn)制轉(zhuǎn)化為十進(jìn)制

習(xí)題: (擴(kuò)展)

4.2、巧方法:8421法

4.3十進(jìn)制轉(zhuǎn)換為二進(jìn)制(巧方法:問(wèn)百度

? ? ?

?4.4、二進(jìn)制轉(zhuǎn)十六進(jìn)制

?4.5、十六進(jìn)制轉(zhuǎn)化為二進(jìn)制

??

5、 單位換算

? ? ? ?我的時(shí)鐘周期為:12MHZ

? ? ? ?機(jī)器周期:一個(gè)機(jī)器周期包含6個(gè)狀態(tài)周期S1~S6,也就是12個(gè)時(shí)鐘周期。

? ? ? ?注意:我們放一個(gè)bite位,即一個(gè)機(jī)器周期

5.1、頻率(frequency)

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

? ? ? ? ?單位:HZ

? ? ? ? ?公式:f?= 1/T? ? 即為周期的導(dǎo)數(shù)

? 5.2、單位轉(zhuǎn)化

? ?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秒震動(dòng)一次)
? ?1KHz = 1,000 / 1s? ? ? ? ? ? ? ?(1秒震動(dòng)1000次)
? ?1MHz = 1,000,000 / 1s? ? ? ? (1秒震動(dòng)1000000次)

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

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

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

? 6.1sbit 類似C語(yǔ)言的denfine 函數(shù),給管腳取一個(gè)新的名字

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

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

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

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

舉一個(gè)非常簡(jiǎn)單的例子區(qū)別一下:

比如門牌號(hào)是:某省某市某小區(qū)16棟14號(hào)房,是鄭大俠的家,你說(shuō)記鄭大俠的家好記,還是上面那個(gè)詳細(xì)地址好記呢?

一開始單片機(jī)沒(méi)程序的時(shí)候,單片機(jī)其實(shí)沒(méi)有P0/P1/P2/P3口的說(shuō)法,單片機(jī)只知道P1口的8只引腳,是連著內(nèi)部地址0x90。為了方便記憶,就衍生出P0、P1、P2、P3。

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

? ? ? 即:就是把單片機(jī)的地址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這三個(gè)頭文件。

?(1)reg51.h或reg52.h

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

?(2)? math.h是定義數(shù)學(xué)運(yùn)算的,求方根、正余弦、絕對(duì)值等,

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

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

?(5)stdio.h動(dòng)態(tài)內(nèi)存分配函數(shù)

?(6)stdlib.h標(biāo)準(zhǔn)庫(kù)文件函數(shù)

? ? ? ?

? ??

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。