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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2594|回復: 1
打印 上一主題 下一主題
收起左側

單片機一些小總結

[復制鏈接]
跳轉到指定樓層
樓主
ID:68618 發表于 2014-11-11 18:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
整理了下當時學習單片機不明白的概念,自己總結和百度整理來的,所以有可能會有不當之處,希望大家見諒
硬件篇
MCU:微控制器,就是指單片機這類,控制是mpu最根本的區別
MPU:微處理器,就是cpu這一類,用于處理數據和運算;當然單片機也有處理和運算能力,但是在能力上弱了很多,更大的區別是相比單片機體系不是那么完整,他更像是單片機的一個內核,缺少相應的ROM RAM之類,這些都要外擴
SOC:和mpu和接近 但是他在內核的基礎上集成了些外設,比如說S3C2440他在上面集成了USB接口TFT控制器等,ARM9等嵌入式芯片就是這類。
寄存器:這是初識單片機最常聽見的詞匯,其實他就是可以保持數據同時又能輸入新的狀態數據,51的很多寄存器就是從RAM中劃分出來的一些單元,對他進行數值的設置可以得到不同的反應;單片機中通過對寄存器設置來得到所需要的功能。
RAMROMROM程序存儲器,RAM臨時數據存儲器,程序是下載到ROM內,再有cpu讀取到RAM,運算的過程當中的中間數據也是保存在RAM中,RAM的大小會對運算速度有很大的影響,類似于電腦內存,如果內存條過小的話cpu就必須在內存數據滿了的時候去讀取新的數據到里面,很大程度降低了速度。
API函數:提供了對硬件或者是操作系統進行訪問的一些接口,其實就是一些對對象操作或反饋狀態對象當前工作狀態的函數和變量之類的東西。
晶振:類似于人類的心臟,他給單片機提供著一個有規律的周期,如同心臟間歇性的跳動推動血液的流動。他的頻率快慢決定了時鐘周期,和機械周期。
時鐘周期:一個時鐘脈沖所需要的時間。在計算機組成原理中又叫T周期或節拍脈沖。是CPU和其他單片機的基本時間單位。

機器周期:通常用從內存中讀取一個指令字的最短時間來規定CPU周期(機器周期),也即CPU完成一個基本操作所需的時間。
指令周期:指令周期是執行一條指令所需要的時間,一般由若干個機器周期組成,是從取指令、分析指令到執行完所需的全部時間。
推挽、開漏、強上拉、弱上拉、強下拉、弱下拉輸出:這些都是單片機I\O口的工作模式,不同的外設對應不同的工作模式,比如不用驅動芯片驅動點陣的話就必須把io口設置成推挽模式,而對于無線芯片不加上拉電阻的話就要選擇上拉或者是推挽,一般模式的話無線芯片不能正常工作,而開漏好像是用與io口作為輸入口,因為去阻值會很大所以通過他的電流會很小,功率損失也可以很好地控制
串口:串行接口SerialInterface是指數據一位位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信
并口:并行接口中各位數據都是并行傳送的,它通常是以字節(8位)或(16位)為單位進行數據傳輸。
控制器和驅動器:驅動器顧名思義就是驅動硬件工作的電路,而控制器是控制其如何工作,就比如S3C2440內部集成了TFT控制器,但是光控制器無法讓TFT工作的,在TFT上有驅動他工作的電路,拆過舵機的就知道里面就是個普通的直流電機和塊電路板,那電路板就是驅動器,而讓舵機工作則需要單片機輸出PWM(相當于控制器)
字節(Byte):字節是指一小組相鄰的二進制數碼。通常是8位作為一個字節。字節是通過網絡傳輸信息(或在硬盤內存中存儲信息)的單位。網絡上的所有信息都是以bit)為單位傳遞的,一個位就代表一個01,每8個位(bit)組成一個字節(Byte)。
算法:算法以我的理解就是完成某項工作或者是某項運算所采用的處理方式,比如搬運物品的話可以采用手搬,或者是小推車推運,同一問題算法多種多樣,效率也不敬相同;
驅動:驅動是在操作系統與硬件之間搭建橋梁,使硬件正常工作的一種軟件程序。如果廣泛的認為就是讓硬件發揮作用正常工作的程序的話,那單片機流水燈之類的也都是驅動程序。
時序電路:實施一連串邏輯操作,在任一給定瞬時的輸出值取決于其輸入值和在該瞬時的內部狀態,且其內部狀態又取決于緊鄰著的前一個輸入值和前一個內部狀態的器件。
組合電路:組合邏輯電路由最基本的的邏輯門電路組合而成,輸出值只與當時的輸入值有關,即輸出惟一地由當時的輸入值決定。
軟件
于51開始學習單片機的人的話最早書寫的應該就是#include<reg52.h>
#include就是文件包含命令,51用到的頭文件很少,而且很多都是系統定義的,當你學習ARM就會發現要有很多的頭文件,而且很多都是自己定義的,這個時候我們必須知道文件的路徑,把他添加到調用它的c文件當中,如果找不到這個文件就會報錯,添加的方法有兩種,一種是在編譯器中設置(不是所以編譯器有效),還有是在包含命令中加入路徑(詳解請看#include的使用)。而reg51.h這個文件里面把各個寄存器和可以位操作的寄存器的各位定義一下。所以單片機芯片要操作都要對寄存器進行定義,s3c2440也有自己的寄存器定義文件2440addr.h,不過S3c244051單片機不同的是要包含啟動代碼,初始化s3c2440。否則2440無法工作
       ++a與a++的區別在于前一個是自加1之后參與運算,而另一個是參與運算之后加1,也就是說a++的話,在那一行代碼中,a的值是不變的,下一行才發生變化,++a則是在那一行已經發生了變化。
         剛從8 bit單片機玩32 bit會很不不習慣,原因是操作方式變化了,之前的51單片機的話改變寄存器直接位操作或者是寄存器操作賦值就好了,但是32位處理器就不同了,因為位有32位那么多,不可能清楚每一位應該操作的數值,直接賦值務必造成誤操作。
X bit1:(寄存器標示符)=(寄存器標示符)||1<<X)或者是(寄存器標示符)II=1<<X  后一種其實是前一種的簡化寫法 (1向左移動X位,再同寄存器進行或運算之后賦值給原來的寄存器)
X bit0:(寄存器標示符)=(寄存器標示符)&&  ~1<<X)或者是 (寄存器標示符)&&=~1<<X  后一種也是前一種的簡化寫法(1向左移動X位之后取反同寄存器進行與操作)
指針在c中是個很重要的部分,其實也不要把它看得太難,他其實就是一個存取地址數據的一個量,可以通過*號讀寫他地址當中的內容,也可以通過&給他取新的地址,在沒有對指針取地址的情況下不要對地址里的內容進行操作,因為沒有取地址的情況下指針所指的地址是隨機的,在草率操作的情況下可能會破壞之前的數據導致出錯。指針最常見的就是對數組進行操作了,當指針指向的是一維數組的時候指針變量每次自加1之后就指向都是原來數的下一個(需要注意的是指針如果指向的是數組的最后一位的時候再加1的話他不會又跑到第一位,而是未知的數據,這時候需要做的是重新取地址),對數組操作的方法除了不斷自加1的方法還有*(p+5),*p表示指向的數組的那位,*(p+5)表示在*P的基礎上移動5個數。二維也類似,可以通過自加操作,和*(*(p+x)+y)的方式操作,指針除了在數組上用還可以當函數的參數啊,指向函數啊,詳細還是看譚浩強的c經典教程 哈哈
……O……

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:67588 發表于 2014-11-23 11:47 | 只看該作者
很好,學習了
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区三区四区 在线 | 久久综合伊人 | 国产三级在线观看播放 | 国产精品久久久久久久久久久久久久 | 成人黄在线观看 | 成人av网站在线观看 | 99精品视频在线 | 先锋影音资源网站 | 国产清纯白嫩初高生视频在线观看 | 国产高清免费 | 亚洲精品乱码久久久久久按摩观 | 国产精品久久久久久久岛一牛影视 | 国产精品99久久久久久宅男 | 亚洲一级毛片 | 99综合 | 日本网站在线看 | 国产精品久久久久影院色老大 | 中文字幕韩在线第一页 | 久久久涩 | 羞羞视频在线观免费观看 | 免费观看av网站 | 日韩欧美一区二区三区免费观看 | 欧美性受xxxx白人性爽 | 色嗨嗨 | 欧美成人高清视频 | 亚洲一区二区中文字幕在线观看 | 国产99久久久国产精品 | 日韩精品一区二区三区中文字幕 | 国产精品一区在线观看你懂的 | 九九亚洲| 欧美综合色 | 狠狠操在线 | 国产激情视频在线免费观看 | 免费视频一区 | 亚洲九九精品 | 久久久国产一区二区三区 | 99视频久 | 黄色片av | 久久久久国产精品一区二区 | 欧美精品一区二区在线观看 | 国产高清精品在线 |