基于單片機的LED數碼管實驗設計程序(附電路原理圖)_第1頁
基于單片機的LED數碼管實驗設計程序(附電路原理圖)_第2頁
基于單片機的LED數碼管實驗設計程序(附電路原理圖)_第3頁
基于單片機的LED數碼管實驗設計程序(附電路原理圖)_第4頁
基于單片機的LED數碼管實驗設計程序(附電路原理圖)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的led數碼管實驗設計程序1/用led數碼靜態(tài)顯示數字.#include / 包含51單片機寄存器定義的頭文件void main()p3=0x7f; /p3.8引腳輸出低電平,數碼顯示器接通電源準備點亮p0=0x92; /讓p0口輸出數字5的段碼92h附上: 1.數碼管共陰極: 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/ 2.數碼管共陽極: 0xc0,/*0*/ 0xf9,/*1*/ 0xa4,/*2*/ 0x

2、b0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ 0x90,/*9*/2./用led數碼顯示器循環(huán)顯示數字09.#includevoid delay( int x ) /延時 int i,j; for(i=0;ix;i+) for(j=0;j120;j+); int code c = /數碼管顯示09的段碼表. 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,

3、/*9*/ ;int a=0;void main() while(1) p3=0x7f; /p3.8引腳輸出低電平,數碼顯示器ds0接通電源工作 p0=ca; /讓p0口輸出數字的段碼 delay(1000); a=(a+1)%10;3./用數碼管慢速動態(tài)掃描顯示數字1234#include void delay(void) /延時函數,延時一段時間unsigned char i,j;for(i=0;i250;i+) for(j=0;j250;j+);void main( )/主函數 while(1) /無限循環(huán)p3=0x7f; /p3.8引腳輸出低電平,l8點亮p0=0x06; /數字1的段

4、碼delay();p3=0xbf ; /p3.7引腳輸出低電平,l7點亮p0=0x5b; /數字2的段碼delay(); p3=0xdf; /p3.6引腳輸出低電平,l6點亮p0=0x4f; /數字3的段碼delay();p3=0xef; /p3.5引腳輸出低電平,l5點亮p0=0x66; /數字4的段碼delay();p3=0xff; 4./用led數碼顯示器偽靜態(tài)顯示數字1234#include void delay(void) /延時函數,延時約0.6毫秒unsigned char i;for(i=0;i200;i+) ;void main(void)while(1) /無限循環(huán)p3=0

5、x7f; /p3.8引腳輸出低電平,l8點亮p0=0x06; /數字1的段碼delay();p3=0xbf ; /p3.7引腳輸出低電平,l7點亮p0=0x5b; /數字2的段碼delay(); p3=0xdf; /p3.6引腳輸出低電平,l6點亮p0=0x4f; /數字3的段碼delay();p3=0xef; /p3.5引腳輸出低電平,l5點亮p0=0x66; /數字4的段碼delay();p3=0xff; 5./數碼秒表設計#include unsigned char code tab10= 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,

6、/*4*/ 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/; /共陰數碼管顯示09的段碼表unsigned char int_time; /記錄中斷次數unsigned char second; /儲存秒/*函數功能:快速動態(tài)掃描延時,延時約0.6毫秒*/void delay(void)unsigned char i;for(i=0;i200;i+);/*函數功能:顯示秒入口參數:k出口參數:無*/void displaysecond(unsigned char k)p3=0xbf ; /p3.7引腳輸出低電平 p0=tabk/10

7、; /顯示十位delay();p3=0x7f; /p3.8引腳輸出低電平p0=tabk%10; /顯示個位delay();p3=0xff; /關閉所有數碼管void main(void) /主函數tmod=0x01; /使用定時器t0th0=(65536-46083)/256; /將定時器計時時間設定為460831.085微秒/=50000微秒=50毫秒tl0=(65536-46083)%256;ea=1; /開啟總中斷et0=1; /定時器t0中斷允許tr0=1; /啟動定時器t0開始運行int_time=0; /中斷次數初始化second=0; /秒初始化 while(1)displays

8、econd(second); /調用秒的顯示子程序 /*/函數功能:定時器t0的中斷服務程序/*void interserve(void ) interrupt 1 using 1 tr0=0; /關閉定時器t0int_time +; /每來一次中斷,中斷次數int_time自加1 if(int_time=20) /夠20次中斷,即1秒鐘進行一次檢測結果采樣int_time=0; /中斷次數清0second+; /秒加1if(second=60)second =0; /秒等于60就返回0 th0=(65536-46083)/256; /重新給計數器t0賦初值tl0=(65536-46083)%

9、256;tr0=1; /啟動定時器t0 6./led時分秒數碼時鐘設計#include / 包含51單片機寄存器定義的頭文件unsigned char tab = 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/;unsigned char int_time ; /中斷次數計數變量unsigned char second; /秒計數變量unsigned char minute; /分鐘計數變量unsigned char hou

10、r; /小時計數變量void delay(void) /延時函數,延時約0.6msunsigned char j;for(j=0;j200;j+);/*函數功能:顯示秒的子程序入口參數:s*/void displaysecond(unsigned char s)p3=0xbf ; /p3.7引腳輸出低電平 p0=tabs/10;/顯示十位delay();p3=0x7f; /p3.8引腳輸出低電平p0=tabs%10;/顯示個位delay();p3=0xff; /關閉所有數碼管/*函數功能:顯示分鐘的子程序入口參數:m*/void displayminute(unsigned char m)p3

11、=0xf7; p0=tabm/10;/顯示個位delay();p3=0xef;p0=tabm%10;delay();p3=0xdf; p0=0x40; /分隔符“-”的段碼delay();p3=0xff; /關閉所有數碼管/*函數功能:顯示小時的子程序入口參數:h*/void displayhour(unsigned char h)p3=0xfd;p0=tabh/10; /顯示十位 delay();p3=0xfc;p0=tabh%10; /顯示個位delay(); p3=0xfb;p0=0x40;delay();p3=0xff;/關閉所有數碼管/*函數功能:主函數*/void main(voi

12、d)tmod=0x01; /使用定時器t0 ea=1; /開中斷總允許et0=1; /允許t0中斷th0=(65536-46083)/256; /定時器高八位賦初值tl0=(65536-46083)%256; /定時器低八位賦初值tr0=1;int_time=0; /中斷計數變量初始化second=0; /秒計數變量初始化minute=0; /分鐘計數變量初始化hour=0; /小時計數變量初始化while(1) displaysecond(second); /調用秒顯示子程序delay();displayminute(minute); /調用分鐘顯示子程序delay();displayhour(hour); delay(); /*函數功能:定時器t0的中斷服務子程序*/void interserve(void ) interrupt 1 using 1 /using time0int_time+;if(int_time=20)int_time=0; /中斷計數變量清0second+; /秒計數變量加1if(second=

溫馨提示

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

評論

0/150

提交評論