版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、項目3 利用P0口驅動一個數(shù)碼管,嵌入式單片機方向—單片機C語言程序項目設計,一、任務 1)利用單片機的P0口驅動一個共陽數(shù)碼管,實現(xiàn)0-9顯示; 2)編程并采用PROTEUS仿真實現(xiàn)。二、學習目的 1)掌握主程序的延時函數(shù)的調用和延時函數(shù)的編寫; 2)掌握單片機的引腳排列和數(shù)碼管引腳排列;并理解數(shù)碼管的顯示數(shù)組;,3.1 任務說明,單片機系統(tǒng)常用的數(shù)碼管有共陽型和共陰
2、型兩種類型,它是單片機常用的外圍顯示器件。兩種類型的數(shù)碼管外形和結構類似,只是數(shù)碼管內(nèi)部組成數(shù)碼段和標點的LED接法有區(qū)別,共陽型數(shù)碼管的內(nèi)部所有LED的正極接在一起為公共極引腳,負極分別引出,依次命名為a、b、c、d、e、f、g、dop,見圖2-1所示數(shù)碼管電路符號。使用時,共陽型數(shù)碼管的公共極接正極,其他引腳分別接驅動電路,數(shù)碼管顯示時低電平有效。數(shù)碼管可以顯示0到9,3.2數(shù)碼管的顯示原理,共十個數(shù)字,如果加上小數(shù)點的顯示,驅動一
3、個數(shù)碼管顯示至少需要8位有效數(shù)據(jù)。驅動數(shù)碼管顯示數(shù)字的8位數(shù)據(jù)編碼見表3-1和3-2所示,其中表3-1為共陽型數(shù)碼管編碼,表3-2為共陰型編碼。由于共陰型數(shù)碼管內(nèi)部所有LED的負極接在一起,所以數(shù)碼管顯示時驅動數(shù)據(jù)高電平有效。,表3-1共陽數(shù)碼管顯示編碼,表3-2共陰數(shù)碼管顯示編碼,二、數(shù)碼管的驅動 本節(jié)任務所需的電路只需在單片機的最小系統(tǒng)基礎增加一個數(shù)碼管即可。在圖3-1中,單片機的P0口接一只共陽數(shù)碼管,其中
4、P0.0~P0.7口分別接數(shù)碼管的a~dot引腳,P0的每個端口只要有低電平輸出,對應的數(shù)碼管的那個段就顯示。如讓數(shù)碼管顯示1,數(shù)碼管b、c段亮,程序控制P0輸出0xbe十六進制編碼即可,因此共陽數(shù)碼管顯示0~9十進制數(shù)字,需要利用10個顯示碼組成的數(shù)組。小數(shù)點在不用時一般不讓顯示,高位端口P0.7輸出高電平即可。,圖3-1 單片機驅動共陽數(shù)碼管電路,,由于P0每個端口的灌電流達20mA,數(shù)碼管每段LED正常顯示5mA即可,因此電路中需
5、要R2~9八個電阻用來限制數(shù)碼管每一段電流,以防止驅動電流過大而燒毀器件。利用Proteus軟件仿真時,數(shù)碼管采用Optoelectronics元件庫中7-Segment Displays下的7-SEG-COM-ANODE元件,可以不接限流電阻。3.3程序設計 一、程序設計 數(shù)碼管顯示0到9數(shù)字過程中,數(shù)字的變化需要有一定,的時間間隔,因此還采用程序延時的方法實現(xiàn)。程序清單如下:,/**************
6、************************************************************/#includecode unsigned char seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay (void) /* 時間延遲函數(shù) */{
7、 unsigned char i,j;for(i = 0;i < 255;i++)for (j = 0;j < 255;j++);}void main (void){unsigned char i; /* 變量 i 用來儲存 0~9 */ /*無窮循環(huán) */while (1){ for (i = 0; i<10; i++){,P0 = seven_seg[
8、i]; /*輸出0~9到共陽七段顯示器*/delay(); /*調用時間延遲函數(shù)delay*/}}}/*************************************************************************/,二、程序說明 (1)當程序中使用常量數(shù)據(jù)時,如共陽數(shù)碼管數(shù)字顯示編碼、液晶顯示器的漢字編碼等,一般希望這些數(shù)據(jù)當程序下載到單片機時存放在單片機
9、的ROM區(qū),對此類數(shù)據(jù)聲明前面需要加上關鍵字code或const。 (2)本程序數(shù)碼管顯示使用了一個for循環(huán),讓變量i依次由0遞增到9,并將數(shù)字顯示碼送到P0,需要注意seven_seg[10] 有10個數(shù)據(jù),seven_seg[0] 為第一個數(shù)據(jù),seven_seg[9] 為第10個數(shù)據(jù)。數(shù)碼管顯示數(shù)據(jù)的變,化時間由延時函數(shù)決定。for循環(huán)體嵌套在while循環(huán)體中,數(shù)碼管會循環(huán)顯示0~9,永不結束,除非電路斷電。利用數(shù)碼管也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機的交通燈一個數(shù)碼管(含視頻)
- 595驅動數(shù)碼管
- 595驅動數(shù)碼管
- 兩個數(shù)碼管動態(tài)顯示
- p0口上拉電阻
- PNP驅動共陽極數(shù)碼管.txt
- PNP驅動共陽極數(shù)碼管.txt
- 數(shù)碼管基本知識及其驅動
- lm8168led數(shù)碼管驅動芯片
- 第十一節(jié)多個數(shù)碼管動態(tài)顯示
- 數(shù)碼管課件
- 第4章-3數(shù)碼管按鍵
- 單片機驅動數(shù)碼管簡單小實驗
- 基于51單片機的交通燈四個數(shù)碼管(含視頻)
- p55求一個數(shù)是另一個數(shù)的幾分之幾(1)
- p55求一個數(shù)是另一個數(shù)的幾分之幾
- 數(shù)碼管按鍵顯示
- proteus之數(shù)碼管
- 項目二數(shù)碼管時鐘顯示器
- led數(shù)碼管顯示
評論
0/150
提交評論