汽車單片機技術 課件 2.2 兩位數碼管循環顯示0~99_第1頁
汽車單片機技術 課件 2.2 兩位數碼管循環顯示0~99_第2頁
汽車單片機技術 課件 2.2 兩位數碼管循環顯示0~99_第3頁
汽車單片機技術 課件 2.2 兩位數碼管循環顯示0~99_第4頁
汽車單片機技術 課件 2.2 兩位數碼管循環顯示0~99_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

兩位數碼管循環顯示0~99本次課內容:基本任務(1)用兩位數碼管顯示一個兩位數,例如12.編程,自行設計proteus仿真圖,實現功能;編程,使用mini51開發板,實現功能。(2)兩位數碼管循環顯示0-99,編程,自行設計proteus仿真圖,實現功能。2.進階任務(1)設計一個0~99的秒表,包括電路設計和程序設計,按下按鍵開關,從0開始計時,最大計到99秒,之后一直在0-99秒之間循環計時。按鍵開關斷開,停止計時。用proteus仿真圖實現功能。(2)設計一個0~99的計數器,手動計數按鈕按一下,計一個數,即對按下按鍵的次數進行計數,并通過兩個數碼管顯示計數結果,最大計到99。畫Proteus仿真圖,關鍵詞如下:加運算符“+”,減運算符“-”,乘運算符“*”與一般算數運算規則相同。除運算符“/”,分兩種情況:(1)整除:兩個整數相除,所得商舍去尾數,僅到整數部分。例如,3/6等于0,而不是0.5;(2)實除:參加運算的兩個數中有一個數為實數,所得的商為實數,如3.0/6=0.5,3/6.0=0.5,3.0/6.0=0.5等。求余運算符“%”,要求兩個對象均為整數,所得結果為兩個操作對象整除后,取其余數,如3%6等于3,而6%3等于0.proteus仿真圖實現顯示一個兩位數-程序proteus仿真圖見該PPT第3頁#include<AT89X52.H>sbitWE1=P2^0;sbitWE2=P2^1;sbitWE3=P2^2;sbitWE4=P2^3;unsignedcharnum;unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //定義0-9十個數字的字形編碼表共陽極數碼管voiddelay() //延時10ms{ unsignedchari,j; for(i=20;i>0;i--) for(j=248;j>0;j--); } voidmain(){ num=79;while(1) { WE1=0;//開數碼管1 P0=table[num/10]; //顯示十位數

delay(); WE1=1;//關數碼管1 delay();

WE2=0;//開數碼管2 P0=table[num%10]; //顯示個位數

delay(); WE2=1;//關數碼管2 delay(); }

} MINI51開發板實現顯示一個兩位數-程序proteus仿真圖實現循環顯示0-99-程序proteus仿真圖見該PPT第3頁#include<AT89X52.H>unsignedcharnum;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定義0-9十個數字的字形編碼表共陰極數碼管voiddelay10ms(void) //10ms延時函數 {unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--); } voidmain(){ num=0; P0=table[num/10]; //十位數碼管顯示0 P2=table[num%10]; //個位數碼管顯示0while(1) { if(P1_0==0) //判斷按鍵是否按下

{ delay10ms(); //延時10ms,延時去抖

if(P1_0==0) //確定按鍵按下

{ num++; if(num==100) {num=0;} P0=table[num/10]; //顯示十位

P2=table[num%10];//顯示個位

while(P1_0==0); //等待按鍵釋放

} } }}

計數器0-99-程序#include<AT89X52.H>sbitSW=P1^0;unsignedcharnum;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定義0-9十個數字的字形編碼表共陰極數碼管voiddelay() //延時1s{ unsignedinti; unsignedcharj; for(i=0;i<1326;i++) for(j=0;j<249;j++); } voidmain(){ num=0; P0=0x00; //關閉十位數碼管

P2=0x00; //關閉個位數碼管

while(1) { if(SW==0) { P0=table[num/10]; //顯示十位

P2=table[num%10];//顯示個位

delay(); num++; if(num==100) {num=0;}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論