1.單片機是如何執行程序的?
單片機有一個指令系統,意思就是給他一個的指令,單片機知道要去做什么。例如給他個0001,他把第一個引腳輸出高電平,給他0002,他把第二個引腳輸出高電平。這些指令具體是什么,每一條指令都是什么功能,這些在設計單片機的時候他們已經弄好了,我們也不用去了解,畢竟我們也不去寫機器碼。
不同的單片機同一功能對應的指令碼可能是不一樣的,我們平常寫程序之前都會選擇芯片,其實這個就是選擇單片機的指令系統,只有選擇好對應的芯片,keil編譯器才會把你寫的c語言轉換成芯片對應的hex文件(機器碼),才能在單片機里邊正確執行。
2.我們程序下載到單片機的什么地方?
我們寫的代碼無非是函數文件和變量,程序的變量,會放到RAM里邊,隨機存儲器,操作起來很快,掉電會消失。而程序的文件會放在ROM或者FLASH里邊,ROM是隨機存儲器,掉電不消失,可以用來存儲程序。FLASH是閃存,他具有ROM和RAM兩者的有點,運行速度快且掉電不丟失。所以近年來大多廠商把程序文件都存到的FLASH里邊,但是ROM也可以存儲的。
3.寄存器是什么?
很多人把寄存器說的那么高深,讓人聽起來很高大上的樣子,其實他就是由觸發器組成的,就是來保存0和1數據的。比如如果有一個八位的寄存器,他就由八個觸發器構成,寄存器的狀態由這八個觸發器存儲的八個狀態有關,例如0000 0001,這就是寄存器。
4.注意全局變量
全局變量就是寫在main函數前邊定義的那些變量,這些變量會存儲到一直RAM里邊,而一個單片機的RAM是有限的,我們一定要盡量減少全局變量的使用,以避免把RAM給占滿了,盡量節省內存空間。
5.單片機外設好多電容?
一般電容是來防止電磁干擾的,電容可以做靜電放電、濾波等,可以起到穩定電壓的作用,我們習慣在5v電源的地方都並聯一個容值較大的電容,來穩定電壓,也可以過濾一些低頻雜波。像我們平常中的靜電就可以達到2-5kv的電壓值,因為電量很小,所以不會對人造成傷害。對於單片機這種半導體器件來說,這種干擾影響是非常大的,其防干擾能力是有一定限度的。電容會有鉭電容,電解電容,陶瓷電容。鉭電容特性比較好,貼片的,占面積小,但是價格有點貴。電解電容容值也大,也便宜,但是占面積比較大。陶瓷電容容值一般都比較小,體積也小。
另外,容值較小的電容一般拿來過濾高頻雜波,消除高頻干擾。還有就是晶振電路,一般用的是電容三點式晶振電路來產生時鍾。
6.三級管有啥作用?
一般三極管有三個作用,開關控制,信號放大和電平轉換。
7.為啥有的51下載程序先點下載再上電才能下載成功?
單片機有兩種啟動方式,一種是冷啟動,指斷電狀態重新上電,單片機檢測是否有程序要下載,沒有的話就執行以前的程序,有的話就去下載程序。另一種是熱啟動,指已經處於上電狀態,給一個復位信號程序才運行。如果是冷啟動,就要先點下載,再上電,程序就回去檢測到有程序要下載,就去下載去了。
8.定時器的工作狀態
定時器有TL,TH兩個計數用的特殊功能寄存器,每個寄存器是八位,TL是timer low 低八位,TH是timer high 高八位,這兩個就是計數用的。還有一個工作方式寄存器TMOD(timer mode)和控制寄存器TCON(timer control),定時器有四種工作方式,具體可看轉載的博客(侵權即刪) https://blog.csdn.net/qq_40691438/article/details/81450398?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160320390419725211911699%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160320390419725211911699&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-3-81450398.pc_search_result_cache&utm_term=%E5%AE%9A%E6%97%B6%E5%99%A8%E7%9A%84%E5%9B%9B%E7%A7%8D%E6%A8%A1%E5%BC%8F&spm=1018.2118.3001.4187
工作方式寄存器(TMOD): 實現這四種工作方式的切換,工作方式寄存器TMOD也是八位的特殊功能寄存器,在8051中,他的高四位是調節定時器1的,低四位是調節定時器0的(8051系列一共兩個計數器),說一下這四位都是什么意思
1. gate 門控制位
0:定時器啟動僅受TCON寄存器的TR0和TR1控制
1:定時器啟動受TCON寄存器的TR0和TR1和外部中斷引腳高低電平控制
2. c/t 定時器模式選擇位
0:定時器模式
1:計數器模式
3和4:
m1,m0, 四種工作方式的切換。00 01 10 11分別代表方式1,方式2,方式3,方式4四種工作方式
控制寄存器(TCON):八位特殊功能寄存器
1. TF1: 定時器1溢出標志位,當定時器溢出時,該值變為1,並主動請求中斷,進入中斷程序后,由硬件自動清零
2. TR1: 定時器1運動控制位,開啟或關閉定時器,當gate=1,int1=1,置1啟動定時器,當gate=0,TR1=1,啟動定時器
3. TF0:定時器0的溢出標志位
4. TR0:定時器0的溢出運動控制位
5. IE1: 外部中斷1請求標志位
6. IE0: 外部中斷1觸發方式選擇位,當it1=0,低電平觸發,當it1=1,高電平觸發
5. IE1: 外部中斷1請求標志位
6. IE0: 外部中斷1觸發方式選擇位,當it1=0,低電平觸發,當it1=1,高電平觸發