本書,我正在閱讀,真是一本不可多得的好學習手冊,ARM Cortex-M0入門的好資料,內容非常通俗易懂.
書籍的目錄
它一共有48個腳!
其中2個晶振引腳,4個電源引腳,42個通用輸入輸出腳。(2+4+42=48根腳普通的芯片不是只有VCC和GND兩個電源腳嗎?它為什么有四個?這是因為在這個芯片的內部集成了ADC(模擬數字轉換器,功能和你們知道的ADC0804是一樣的,也就是說有了它.連外部的ADC0804也省了,直接把要測得電壓信號連接到它的引腳上.它就知道是多少V的電壓了,到底是哪根腳,后面介紹!),除了正常的VCC和GND腳,還有兩個就是ADC的參考電源正腳和電源地!一般情況下,VCC和參考VCC相連,GND和參考GND相連!
42個通用輸出輸入腳(GP10):P0口(P0.0-P0.11),P1口(P1.0-P1.11),P2口(P2.0-P2.11),P3口(P3.0-P3.5)。看到了吧!P0,PI,P2口各有12根腳,P3口有6根腳!
下面是LPC1114的芯片引腳圖!
看到上面的圖,是不是感覺到很亂呀!它的引腳有時候是要復用功能的!比如第9腳!找到第9腳,你會看到它的標識為:PIOl_8/CT16B0_CAP0。它的意思就是說這根腳既可以作為PI01_8腳用,也可以作為CT16B0_CAP0腳用。
(PI01_8就是我們常說的P1.8腳:CT16B0_CAP0就是我們常說的16位定時器計數輸入腳)其實和們用ii的AT89C2051中.片機上P3.0腳P3.1腳RJ'以復用為RXD腳和TXD腳是—樣一樣的,只不過,LPC1114的復用引腳要比AT89C2051多很多而已!
LPC1114作為一個32位的單片機,它的寄存器也基木上都是32位的。先來回顧一下8位單片機的寄存器。比如ie sbuf等,很眼熟吧!作為51單片機的中斷控制寄存器:它的定義是下而這個樣子!
由上而的表格看到,32位的寄存器里而能放更多的控制位,但也有很多是保留位。
看看上而的引腳圖,你就應該想到,它既然有這么多的復用引腳,耍能有效的控制它們的話,就必然會有很多的寄存器!大概有好幾百個,我也沒數過,諸如控制寄存器,狀態寄存器,數據寄存器等等!不過,沒有關系!我們沒有必耍把它們全都記住它們,當我們耍用到它們的時候,看數據手冊就可以了,我們耍做的只是,把它們用熟練了!
那么,除了上而提到過的ADC,在LPC1114的內部還有些什么東西呢?看下而的表格就知道了:
由上圖可以看到,它和51的最小系統也是一樣一樣的!有一個區別就是,LPC1114的RESET引腳(也就是5丨當中的rst引腳)也是復用的,它復用到了P0.0腳上,該引腳在默認情況下是RESET引腳,所以系統一上電,就可以正常工作,當然,你也可以通過配置IOCON(引腳配置寄存器)把它當做P0.0腳使喚!
(在這里,我覺得有必要說一下單片機上電的過程和復位引腳的一些知識,你若知道,可以跳出這段藍體字,若想聽我嘮叨,就接著往下看吧我這里所提到的單片機,是指廣泛意義上的單片機,也就是說絕大部分單片機都是通過下面的方式進行的:我捫都知道單片機里面都有“程序存儲器”,也就是我們常說的有多大容量的FLASH,FLASH通常被做為單片機里面的程序存儲器,相當于PC機上的ROM,硬盤之類的東西,我捫在PC機上的開犮環境里面寫好了程序以后,會下載到單片機里的FLASH,當單片機上電的時候,就會執行FLASH里面的程序了,同時我捫還要求要從FLASH的程序開始地址執行,要不然就會亂,所以才有了RESET(RST)引腳,這個引腳的外面連接有RC振蕩器,RC振蕩器的工作原理是這樣的:電容充電,電阻放電當系統剛上電的時候,電容兩端一下子突然有了電,就在這一瞬間,這個直流電對于電容來說就是交流電,電容通交流阻直流的道理大家應該都懂吧,這時候,電容相當于短路,RESET引腳接到了地上,是低電平,然后過了一段時間(這段時間對于人類來講就微不足道了)電容充滿了電,(電容就是一個電池7A_A),電容連接到RESET引腳的這一端的電位為3.3V,RESET引腳乂變成高電平了,這時候,單片機就要開始從程序地址0執行了注意:如果剛才我提到的那個電容由低變高的時間不夠K:的話,單片機就不敢保證從程序地址0執行了,所有要選好RC的值,保證有總夠長的時間!這個時間最小要多長,不同的單片機有不同的要求,總之,都應該是微秒級別的!所以再看LPCH14,為什么它的第3腳默認為是RESET引腳,而不是P0.0腳,可不可以默認為是P0.0,話都講了這么多了,不用我解釋了吧!)
其實!這還只是LPC1114的最小系統!殊不知!它還有最最小系統!最最小系統就是可以把上圖屮的晶振電路去掉!因為,LPC1114的內部己經有一個12M的時鐘源了,只不過精度沒有晶振的精度高而己!如果你不用串口通信或精確定時的話,你的產品就可以完全不用設計晶振上去,對于縮小產品體積是很有幫助的。聰明的你!現在應該一定能想到一個問題,既然可以去掉了外部晶振正常工作,系統為了保證正常運行,剛上電的時候系統默認為就是選擇內部時鐘發生器(數據手冊上叫做IRC)進行工作的!而一般情況下,我們利用外部晶振工作,數據手冊上說,Cortcx-MO可以工作在50MHz下,并不是意味著如果我們希望它工作在50MHz下就需耍外部接一個50Mhz的晶振。因為它里而還有一個倍頻器(數據手冊上叫做PLL),看到名字你就知道了,它可以把頻率翻倍,如果我們利用它把外部12M晶振倍頻4倍的話,系統就可以工作在48Mhz時鐘頻率下了!(你之前在網絡上看的視頻就是LPC1114工作在48Mhz的效果)由此!你可以想到!我們給LPC1114編程的時候,首耍的系統初始化工作就是把的時鐘配置好了!其它的工作都是在此之后的!這一點,也是ARM單片機與普通單片機的一個區別!配置好了時鐘,就可以開始其它的工作了,比如點亮一個LED,控制LCD顯示等等!
第一章(起步)系統時鐘配置
一、入門引導
二、時鐘配置圖(CGU )詳解
三、時鐘配置程序設計
四、時鐘配置程序詳解:
五、 GLKOUT 引腳輸出時鐘程序設計
六、 GLKOU 丁引腳輸出時鐘程序詳解
七、實驗程序下載和使用說明
一、入門引導親愛的電工(“電子工程師”的簡稱)朋友,讓我們開始吧
ARM微控制器有一個顯著的特點,就是都可以把時鐘頻率倍頻到很高,具體到多高,每個系列的微控制器都有一個指標,我們現在要學的 Cortcx-MO 內核處理器 LPC 1114 最高能到 50MI 12 ,當然,其它的 ARM 內核微處理器可以倍頻到更高,現在好多手機都采用了 ARM 內核處理器,比如賣的很火的諾基亞5233就是采用了ARM 11 處理器, ARM11 的處理器的主頻為 433MHz ,比 Cortcx -MO 的 50M 高多了吧!所以 Cortcx-MO 處理器被 ARM 稱為入門級的內核!
二、時鐘配置圖(CGU )詳解
要實現對系統時鐘的配置,卜面這個圖是必須要看懂的!因為它比文字更具有參考價值,看上這張圖配置時鐘,絕對不會出現漏洞!(我建議你把這張圖打印出來貼到你的墻上,我就是這么做的,你看著辦吧!)接卜來,我將一步一步引領你徹底看懂這張“時鐘配置圖” :(詳見51hei附件)
IRC振蕩器就是內部 RC 振蕩器,就是我在上面“總覽 LPC1114 ” 中提到的那個LPC1114上電就默認選擇的 12MHz 時鐘振蕩器,它的精度沒有配合外部晶振的系統振蕩器高:看門狗振蕩器就是給看門狗提供的時鐘振蕩器!這么說大家明白了吧,在接下來的敘述里面,一提到系統振蕩器就是指利用外部晶振的時鐘振蕩器, IRC 振蕩器就是指 LPC1114 的內部時鐘振蕩器,可不要搞混了哦!我們先從圖的中心點看起,找到“主時鐘”三個字,看“主時鐘”的左面,有四條線到了“主時鐘”的框上,這四條線就是“主時鐘”的來源,它們分別是: IRC 振蕩器,看門狗振蕩器,倍頻之前的時鐘( sys_pllclkin)和倍頻之后的時鐘 ( sys_pllclkout )。也就是主時鐘可以在這四個時鐘源當中選擇一個做為主時鐘!通過操縱 人家專業名詞不叫“操縱” , 叫“訪問” ) “主時鐘源選擇寄存器( MAINCLKSEL ) " 實現。這個 32 位的主時鐘源選擇寄存器 MAINCLKSEL 只用到了兩位(誰讓兩位就可以表示四種狀態呢: ) ,剩下的全都是保留位,如下:
完整的pdf格式文檔51黑下載地址(共162頁-帶你進入ARM的世界):
LPC1114學習手冊.pdf
(2.47 MB, 下載次數: 439)
2018-4-8 03:03 上傳
點擊文件名下載附件
|