第一篇:C8051f020 IO配置小結
C8051f020 I/O配置小結
020的每個I/O口引腳都可以被配置為推挽或漏極開路輸出。同時引入了數字交叉開關,允許將內部數字系統資源映射到P0、P1、P2和P3的端口引腳。通過設置交叉開關寄存器可將片內的計數器/定時器、串行總線、硬件中斷、ADC轉換啟動輸入、比較器輸出以及微控制器內部的其他數字信號配置為出現在端口I/O引腳。必須在訪問這些外設的I/O之前配置和允許交叉開關。注意的問題:
1.低端口既能按位尋址,也可以按字節尋址;高端口只能按字節尋址。2.沒有被分配到的引腳作為一般的數字通用I/O口。3.P1口還可以用作ADC1的模擬輸入。
4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的輸出狀態。
5.EMIF(外部存儲器接口)是用于CPU與片外XRAM之間的數據傳輸通道,通過寄存器EMI0CF和EMI0CN選擇和管理端口實現數據的傳輸。
6.為了能訪問片外存儲器空間,必須設置EMI0CN寄存器的內容為片外存儲器的空間頁地址。7.如果把外部存儲器接口(EMIF)設置在高端口則首先要把EMI0CF的PRTSEL位設置為1,選擇高端口,同時選擇地址的復用或非復用方式,在把XBR的外部寄存器的EMIFLE位設置為0。8.復用方式配置:在復用方式下,數據總線和地址總線的第8位共用相同的引腳(AD0~AD7)。在該方式下,要用一個外部鎖存器(如74HC373或相同功能的鎖存器)保持RAM地址的低8位。外部鎖存器由ALE(地址鎖存使能)信號控制,ALE信號由外部存儲器接口邏輯驅動。9.在總線復用時,需要把地址數據復用端口配置為漏極開路。
10.ALE高/低脈寬占1個SYSCLK周期,地址建立/保持時間占0個SYSCLK周期,/WR和/RD占12個SYSCLK周期,EMIF工作在地址/數據復用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步驟是:先將EMIF選到低端口或高端口;然后選擇復用方式或非復用方式;再選擇存儲器的模式(只用片內存儲器、不帶塊選擇的分片方式、帶塊選擇的分片方式或只用片外存儲器);然后設置EMI0TC;最后通過寄存器PnMDOUT和P74OUT選擇所期望的相關端口的輸出方式。如: void PORT_Init(void){ XBR2 = 0x40;/*使能交叉開關和弱上拉*/ P74OUT |= 0xff;/*使能P4~P7推挽輸出*/ EMI0CF |= 0x2c;/*EMIF工作在地址/數據復用方式,只用外部存儲器,ALE高/低脈寬占1個SYSCLK周期*/ EMI0TC |= 0x6c;/*地址建立/保持時間占0個SYSCLK周期,/WR和/RD占12個SYSCLK周期*/ P3MDOUT |= 0xdf;/*使能P3.5推挽輸出*/ } 11.避免高端口處于“浮空”狀態,以避免因輸入浮空為無效邏輯電平而導致不必要的功率消耗,為此應采取如下措施的任何一種:a.將XBR2.7位設置為邏輯0選擇弱上拉狀態
R/W R/W R/W R/W R/W R/W R/W R/W 復位值 WEAKPUD XBARE-T4EXE T4E UART1E EMIFLE CNVSTE 00000000 位7 位6 位5 位4 位3 位2 位1 位0 SFR地址
位7 WEAKPUD 弱上拉禁止位 0 弱上拉全局允許 1 弱上拉全局禁止
位6 XBARE 交叉開關允許位 0 交叉開關禁止端口0 1 2 和3 的所有引腳被強制為輸入方式 1 交叉開關允許 位5 未用讀0 寫=忽略 位4 T4EXE T4EX 輸入允許位 0 T4EX 不連到端口引腳 1 T4EX 連到端口引腳 位3 T4E T4 輸入允許位 0 T4 不連到端口引腳 1 T4 連到端口引腳
位2 UART1E UART1 I/O 允許位 0 UART1 I/O 不連到端口引腳 1 UART1 TX 和RX 連到兩個端口引腳 位1 EMIFLE 外部存儲器接口低端口允許位
0 P0.7 P0.6 和P0.5 的功能由交叉開關或端口鎖存器決定 1 如果EMI0CF.4 = 0 外部存儲器接口為復用方式
則P0.7(/WR)P0.6(/RD)和P0.5(/ALE)被交叉開關跳過它們的輸出 狀態由端口鎖存器和外部存儲器接口決定 如果EMI0CF.4 = 1 外部存儲器接口為非復用方式
則P0.7(/WR)和P0.6(/RD)被交叉開關跳過它們的輸出狀態由端口鎖 存器和外部存儲器接口決定
位0 CNVSTE 外部轉換啟動輸入允許位 0 CNVSTR 不連到端口引腳 1 CNVSTR 連到端口引腳;
b.令P74OUT=0xFF,將高端口輸出方式配置為推拉方式(P74OUT為高端口輸出方式寄存器); c.向高端口數據寄存器P4、P5、P6和P7寫0。12.配置端口引腳的輸出方式
每個端口引腳的輸出方式都可被配置為漏極開路或推挽方式。在推挽方式下向端口數據寄存器中的相應位寫邏輯0 將使端口引腳被驅動到GND 寫邏輯1 將使端口引腳被驅動到VDD,在漏極開路方式下向端口數據寄存器中的相應位寫邏輯0 將使端口引腳被驅動到GND 寫邏輯1 將使端口引腳處于高阻狀態,當系統中不同器件的端口引腳有共享連接。即多個輸出連接到同一個物理線時(例如SMBus 連接中的SDA 信號),使用漏極開路方式可以防止不同器件之間的沖突。(推挽方式在有些書中稱為推拉方式)
轉載-關于開漏、推挽方式2008-01-27 17:53漏級開路即高阻狀態,適用于輸入/輸出,其可獨立輸入/輸出低電平和高阻狀態,若需要產生高電平,則需使用外部上拉電阻或使用如LCX245等電平轉換芯片。有些朋友,尤其是未學過此方面知識的朋友,在實際工作中將I/O口設置為漏開,并想輸出高電平,但向口線上寫1后對方并未認出高電平,但用萬用表測量引腳確有電壓,這種認為是不對的,對于高阻狀態來說,測量電壓是無意義的,正確的方法應是外加上拉電阻,上拉電阻的阻值=上拉電壓/芯片引腳最大灌(拉)電流。
推挽方式可完全獨立產生高低電平,推挽方式為低阻,這樣,才能保證口線上不分走電壓或分走極小的電壓(可忽略),保證輸出與電源相同的高電平,推挽適用于輸出而不適用于輸入,因為若對推挽(低阻)加高電平后,I=U/R,I會很大,將造成口的燒毀。對與C8051F的很多型號片子,將I/O口設置為推挽方式的做法為:PnMDOUT=0xff,Pn=0x00,這樣設置I/O口為推挽,并輸出低電平(可降低功耗)將I/O口設置為漏開方式的做法為:PnMDOUT=0x00,Pn=0x11,這樣設置I/O口為漏開。
如果學過三極管放大電路一定知道,前置單管放大器和功放末級放大電路的區別。單片機內部的邏輯經過內部的邏輯運算后需要輸出到外面,外面的器件可能需要較大的電流才能推動,因此在單片機的輸出端口必須有一個驅動電路。
這種驅動電路有兩種形式: 其中的一種是采用一只N型三極管(npn或n溝道),以npn三極管為例,就是e接地,b接內部的邏輯運算,c引出,b受內部驅動可以控制三極管是否導通但如果三極管的c極一直懸空,盡管b極上發生高低變化,c極上也不會有高低變化,因此在這種條件下必須在外部提供一個電阻,電阻的一端接c(引出腳)另一端接電源,這樣當三極管的b有高電壓是三極管導通,c電壓為低,當b為低電壓時三極管不通,c極在電阻的拉動下為高電壓,這種驅動電路有個特點:低電壓是三極管驅動的,高電壓是電阻驅動的(上下不對稱),三極管導通時的ec內阻很小,因此可以提供很大的電流,可以直接驅動led甚至繼電器,但電阻的驅動是有限的,最大高電平輸出電流=(vcc-Vh)/r;
另一種是互補推挽輸出,采用2只晶體管,一只在上一只在下,上面的一只是n型,下面為p型(以三極管為例),兩只管子的連接為:npn(上)的c連vcc,pnp(下)的c接地,兩只管子的ee,bb相連,其中ee作為輸出(引出腳),bb接內部邏輯,這個電路通常用于功率放大點路的末級(音響),當bb接高電壓時npn管導通輸出高電壓,由于三極管的ec電阻很小,因此輸出的高電壓有很強的驅動能力,當bb接低電壓時npn截至,pnp導通,由于三極管的ec電阻很小因此輸出的低電壓有很強的驅動能力,簡單的例子,9013導通時ec電阻不到10歐,以Vh=2.5v,vcc=5v計算,高電平輸出電流最大=250MA,短路電流500ma,這個計算同時告訴我們采用推挽輸出時一定要小心千萬不要出現外部電路短路的可能,否則肯定燒毀芯片,特別是外部驅動三極管時別忘了在三極管的基極加限流電阻。推挽輸出電路的形式很多,有些單片機上下都采用n型管,但內部邏輯提供互補輸出,以上的說明僅僅為了說明推挽的原理,為了更深的理解可以參考功率放大電路。
推挽方式可完全獨立產生高低電平,推挽方式為低阻,這樣,才能保證口線上不分走電壓或分走極小的電壓(可忽略),保證輸出與電源相同的高電平,推挽適用于輸出而不適用于輸入,因為若對推挽(低阻)加高電平后,I=U/R,I會很大,將造成口的燒毀。
對與C8051F的很多型號片子,將I/O口設置為推挽方式的做法為:PnMDOUT=0xff,Pn=0x00,這樣設置I/O口為推挽,并輸出低電平(可降低功耗)將I/O口設置為漏開方式的做法為:PnMDOUT=0x00,Pn=0x11,這樣設置I/O口為漏開。
推挽輸出0的時候和開漏特性一樣,就是1的時候可以當作直接接VCC.推挽輸出的驅動能力相當強,因為輸出1就等于接到了VCC.而同時推挽輸出的IO也需要注意不要直接接到地,否則一旦輸出1,就等于VCC通過內部的場效應管直接到地了,這時候IO端發熱就很大,時間長就就拜拜了.你看到DX32實驗板上,按鍵部分都是串了個300歐才到地的,就是為了避免IO誤操作,使這些輸入變成推挽輸出1而做的保護.以此為設計依據,一般情況下,所有的IO都盡量避免直接到地,即使這個IO你是打算用來做輸入的.
第二篇:北方常規植物配置小結
北方常規植物配置小結
作上木的樹種有:銀杏、白蠟、臭椿、合歡、槐樹、欒樹、刺槐、懸鈴木、元寶楓、柿樹、杜仲、流蘇、旱柳、山桃、晚櫻、毛白楊、白榆、皂莢、檜柏、側柏、白皮松、雪松、油松、華山松、玉蘭、洋白蠟等。-
作中木在林下較陰的條件下生長的植物有:雞麻、連翹、小花溲疏、溲疏、大花溲疏、天目瓊花、紅瑞木、藍荊子、金銀木、珍珠梅、柳葉繡線菊、棣棠、四照花,大葉黃楊、粗榧等。在較疏的林下或全日照條件下生長的中木有:矮紫杉、紫荊、小葉黃楊、猬實、太平花、紫葉小檗、圓錐繡球、珍珠梅等。-
作下層地被的植物有:闊葉土麥冬、嶗峪苔草、土麥冬、垂盆草、絡石、大花萱草、玉簪、紫萼、二月蘭、紫花地丁、地錦等。-
適合應用的植物群落模式:-
(1)毛白楊——元寶楓+碧桃+山楂——榆葉梅+金銀花+紫枝忍冬+白皮松(幼)——玉簪+大花萱草-
(2)銀杏+合歡——金銀木+小葉女貞——品種月季——早熟禾-
(3)國槐+檜柏——裂葉丁香+天目瓊花——嶗峪苔草-
(4)毛白楊+欒樹+云杉——珍珠梅+金銀木——嶗峪苔草-
(5)臭椿+元寶楓——榆葉梅+太平花+連翹+白丁香——美國地錦+嶗峪苔草-
(6)毛白楊+檜柏——天目瓊花+金銀木——紫花地丁+闊葉土麥冬-
(7)華山松+饅頭柳+西府海棠——紫丁香+紫珠+連翹——嶗峪苔草+早熟禾-
(8)國槐+白皮松——花石榴+金葉女貞+太平花——嶗峪苔草-
(9)大葉白蠟+饅頭柳+檜柏——麻葉銹線菊+連翹+丁香——寬葉麥冬-
(10)懸鈴木+銀杏+檜柏——膠東衛矛+棣棠+金銀木——扶芳藤+嶗峪苔草-
(11)垂柳+欒樹+檜柏——棣棠+紫薇+海州常山——嶗峪苔草+玉簪-
(12)垂柳——白皮松+西府海棠——臘梅+丁香+平枝栒子——嶗峪苔草-
(13)國槐——紅花錦帶+珍珠梅——扶芳藤+紫花地丁-
(14)側柏——太平花+金銀木——紫花地丁+二月蘭-
(15)欒樹——天目瓊花——鐵線蓮-
(16)懸鈴木+華山松+臭椿——紫葉李+木槿+紅葉桃——寬葉麥冬-
(17)國槐+云杉+欒樹——山楂+小葉女貞+粉團薔薇——美國地錦+金銀花+嶗峪苔草-
(18)銀杏+合歡+白皮松+欒樹——金銀木+天目瓊花+忍冬=紫葉小檗——金銀花+金葉女貞-
(19)華山松+饅頭柳+絨毛白蠟+西府海棠——紫丁香+連翹+紫珠——金銀花+大花萱草+嶗峪苔草-
(20)油松+元寶楓——珍珠梅+錦帶花+迎春——冷季型混播草(黑麥草+高羊毛+早熟禾)
第三篇:C8051F020的PCA配置小結
C8051F020 PCA配置小結
PCA(可編程計數器陣列Programmable Counter Aaray)由高字節(PCA0L)和低字節(PCA0L)組成。在讀PCA0L 的同時自動鎖存PCA0H 的值,先讀PCA0L 寄存器將使PCA0H 的值得到保持
(在讀PCA0L 的同時),直到用戶讀PCA0H 寄存器為止。讀PCA0H 或PCA0L 不影響計數器工 作。PCA0MD 寄存器中的CPS2-CPS0 位用于選擇PCA 計數器/定時器的時基信號。CPS2 CPS1 CPS0 時間基準
0 0 0 系統時鐘的12 分頻 0 0 1 系統時鐘的4 分頻 0 1 0 定時器0 溢出
0 1 1 ECI 負跳變(最大速率 = 系統時鐘頻率/4)1 0 0 系統時鐘
0 1 外部振蕩源8 分頻(與系統時鐘同步)1.工作原理:當計數/定時器溢出時,PCA0MD中的計數器溢出標志(CF)被置為1,并產生中斷 請求(如果CF 中斷被允許)。將PCA0MD 中ECF 位設置為邏輯1 即可允許CF 標志產生中斷請
求。當CPU 轉向中斷服務程序時,CF 位不能被硬件自動清除,必須用軟件清0。(注意:要
使CF 中斷得到響應,必須先總體允許PCA0 中斷。通過將EA 位(IE.7)和EPCA0(EIE1.3)設置為邏輯1 來總體允許PCA0 中斷。清除PCA0MD寄存器中的CIDL 位將允許PCA 在微控制
器內核處于等待方式時繼續正常工作。2.PCA0CN:PCA控制寄存器
R/W R/W R/W R/W R/W R/W R/W R/W 復位值
CF CR--CPS2 CPS1 CPS0 ECF 00000000 位7 位6 位5 位4 位3 位2 位1 位0 SFR地址 0xD9 位7: CIDL: PCA0 計數器/定時器等待控制 規定CPU 等待方式下的PCA0 工作方式
0: 當系統控制器處于等待方式時,PCA0 繼續正常工作 1: 當系統控制器處于等待方式時,PCA0 停止工作 位6-4 :未用讀=000b 寫=忽略
位3-1: CPS2-CPS0 PCA0 計數器/定時器脈沖選擇 位0: ECF: PCA 計數器/定時器溢出中斷允許 該位是PCA0 計數器/定時器溢出CF 中斷的屏蔽位 0: 禁止CF 中斷
1: 當CF(PCA0CN.7)置位時允許PCA0 計數器/定時器溢出中斷請求 PCA0CPMn:PCA捕捉/比較寄存器
PWM16n ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn 00000000 位7 位6 位5 位4 位3 位2 位1 位0 SFR地址
0xDA-0xDE PCA0CPMn 地址 PCA0CPM0 0xDA(n=0)PCA0CPM1 0xDB(n=1)PCA0CPM2 0xDC(n=2)PCA0CPM3 0xDD(n=3)PCA0CPM4 0xDE(n=4)位7: PWM16n: 16 位脈沖寬度調制允許
當脈沖寬度調制方式被允許時(PWMn = 1),該位選擇16 位方式 0: 選擇8 位PWM 1: 選擇16 位PWM 位6: ECOMn: 比較器功能允許
該位允許禁止PCA0 模塊n 的比較器功能 0: 禁止 1: 允許
位5: CAPPn: 正沿捕捉功能允許
該位允許禁止PCA0 模塊n 的正邊沿捕捉 0: 禁止 1: 允許
位4: CAPNn 負沿捕捉功能允許
該位允許禁止PCA0 模塊n 的負邊沿捕捉 0: 禁止 1: 允許 位3: MATn 匹配功能允許
該位允許/禁止PCA0 模塊n 的匹配功能.如果被允許,當PCA0 計數器與一 個模塊的捕捉比較寄存器匹配時,PCA0MD 寄存器中的CCFn 位置位 0 :禁止 1: 允許
位2: TOGn 電平切換功能允許
該位允許/禁止PCA0 模塊n 的電平切換功能.如果被允許,當PCA0 計數器 與一個模塊的捕捉/比較寄存器匹配時,CEXn 引腳的邏輯電平切換.如果 PWMn 位也被置為邏輯1, 則模塊工作在頻率輸出方式 0: 禁止 1: 允許
位1: PWMn 脈寬調制方式允許
該位允許/禁止PCA0 模塊的PWM 功能.如果被允許,CEXn 引腳輸出脈沖 寬度調制信號.如果PWM16n 為邏輯0, 使用8 位PWM 方式;如果PWM16n 為邏輯1, 使用16 位方式;如果TOGn 位也被置為邏輯1 ,則模塊工作 在頻率輸出方式 0: 禁止 1: 允許
位0: ECCFn 捕捉比較標志中斷允許
該位設置捕捉比較標志CCFn 的中斷屏蔽 0: 禁止CCFn 中斷
1: 當CCFn 位被置1 時允許捕捉比較標志的中斷請求 3.捕捉/比較模塊的工作方式:
邊沿觸發捕捉、軟件定時器、高速輸出、頻率輸出、8位脈寬調制器和16位脈寬調制器
第四篇:Maven pom文件常用配置小結
Maven pom文件常用配置小結
什么是POM Project Object Model,項目對象模型。通過xml格式保存的pom.xml文件。作用類似ant的build.xml文件,功能更強大。該文件用于管理:源代碼、配置文件、開發者的信息和角色、問題追蹤系統、組織信息、項目授權、項目的url、項目的依賴關系等等。
一個完整的pom.xml文件,放置在項目的根目錄下。
…
…
…
…
…
… 基本設置
maven的協作相關屬性
war 1.groupId : 組織標識,例如:org.codehaus.mojo,在M2_REPO目錄下,將是: org/codehaus/mojo目錄。
2.artifactId : 項目名稱,例如:my-project,在M2_REPO目錄下,將是:org/codehaus/mojo/my-project目錄。
3.version : 版本號,例如:1.0,在M2_REPOorg/codehaus/mojo/my-project/1.0目錄。
4.packaging : 打包的格式,可以為:pom , jar , maven-plugin , ejb , war , ear , rar , par POM之間的關系
目錄下,將是:主要用于POM文件的復用。
依賴關系:依賴關系列表(dependency list)是POM的重要部分。
1.groupId , artifactId , version : 2.scope : compile(default),provided,runtime,test,system 3.exclusions 繼承關系:繼承其他pom.xml配置的機制。比如父pom.xml:
[...]
maven的屬性,是值的占位符,類似EL,類似ant的屬性,比如${X},可用于pom文件任何賦值的位置。有以下分類:
1.env.X:操作系統環境變量,比如${env.PATH} 2.project.x3.settings.x::
pom
文
件文
中件的中
屬的性屬,性引,用
比比方
如如式
:::
settings.xml
:
在pom
文
件
中
可
以
:
構建有兩種build標簽:
…
build中的主要標簽:Resources和Plugins。Resources:用于排除或包含某些資源文件
第五篇:TestLink的安裝與配置小結-JIRA[范文模版]
TestLink的安裝與配置小結-JIRA
發布時間: 2009-11-30 16:01
作者: forgetitit
來源: 51Testing軟件測試博客
字體: 小
中
大
| 上一篇 下一篇 | 打印
| 我要投稿
TestLink的漢化:
1)打開testlink下cfg文件夾下的config.inc.php文件
查找$g_default_language = 'en_GB';
修改為
$g_default_language = 'zh_CN';
則可以解決登錄界面漢化的問題。
2)登錄后,在菜單欄中的Personal中更改admin默認的語言,選擇“Chinese silmpified”。
3)此時,界面會有些亂碼,是因為漢化不徹底。解決方法是:替換testlinklocalezh_CN目錄下的strings.txt
4)
至此,里面日期還會有亂碼,需要修改testlink下cfg文件夾下的const.inc.php文件,修改方法如下:
打開 testlinkconst.inc.php文件
查找'zh_CN'。有兩處為時間格式,內有方框,分別改為:
'zh_CN' => “%Y-%m-%d”
'zh_CN' => “%Y-%m-%d %H:%M:%S”
注:保存為ANSI格式。
TestLink與jira的集成
testlink是基于PHP,MySQL的系統。通過修改testlink的配置可以和JIRA集成.主要涉及修改兩個文件: cfgjira.cfg.php和config.inc.php
1)修改
/** [Bug Tracking systems] */
設置$g_interface_bugs='JIRA';
2)修改< testlink installation directory>/cfg/
//Set the bug tracking system Interface to JIRA 3.1.1
設置jira的database的ip(最好用mysql,mssql沒有連上)
define('BUG_TRACK_DB_HOST', '
設置jira的database name
define('BUG_TRACK_DB_NAME', '
登錄jira數據庫的用戶名
define('BUG_TRACK_DB_USER', '
登錄jira數據庫的密碼
define('BUG_TRACK_DB_PASS', '
顯示bug的超鏈
define('BUG_TRACK_HREF', “
設置數據庫類型(mysql,msql 等等)
define('BUG_TRACK_DB_TYPE', 'mysql');
添加bug的超鏈
define('BUG_TRACK_ENTER_BUG_HREF',“