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

下載本文檔

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

文檔簡介

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

2、*/ 0xf9,/*1*/ 0xa4,/*2*/ 0xb0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ 0x90,/*9*/2./用led數(shù)碼顯示器循環(huán)顯示數(shù)字09.#include<reg52.h>void delay( int x ) /延時 int i,j; for(i=0;i<x;i+) for(j=0;j<120;j+); int code c = /數(shù)碼管顯示09的段碼表. 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/

3、 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/ ;int a=0;void main() while(1) p3=0x7f; /p3.8引腳輸出低電平,數(shù)碼顯示器ds0接通電源工作 p0=ca; /讓p0口輸出數(shù)字的段碼 delay(1000); a=(a+1)%10;3./用數(shù)碼管慢速動態(tài)掃描顯示數(shù)字"1234"#include<reg51.h> void delay(void) /延時函數(shù),延時一段時間unsigned char i,j;for(i=0;i<250;i+) for(j=0;

4、j<250;j+);void main( )/主函數(shù) while(1) /無限循環(huán)p3=0x7f; /p3.8引腳輸出低電平,l8點亮p0=0x06; /數(shù)字1的段碼delay();p3=0xbf ; /p3.7引腳輸出低電平,l7點亮p0=0x5b; /數(shù)字2的段碼delay(); p3=0xdf; /p3.6引腳輸出低電平,l6點亮p0=0x4f; /數(shù)字3的段碼delay();p3=0xef; /p3.5引腳輸出低電平,l5點亮p0=0x66; /數(shù)字4的段碼delay();p3=0xff; 4./用led數(shù)碼顯示器偽靜態(tài)顯示數(shù)字1234#include<reg51.h>

5、; void delay(void) /延時函數(shù),延時約0.6毫秒unsigned char i;for(i=0;i<200;i+) ;void main(void)while(1) /無限循環(huán)p3=0x7f; /p3.8引腳輸出低電平,l8點亮p0=0x06; /數(shù)字1的段碼delay();p3=0xbf ; /p3.7引腳輸出低電平,l7點亮p0=0x5b; /數(shù)字2的段碼delay(); p3=0xdf; /p3.6引腳輸出低電平,l6點亮p0=0x4f; /數(shù)字3的段碼delay();p3=0xef; /p3.5引腳輸出低電平,l5點亮p0=0x66; /數(shù)字4的段碼delay(

6、);p3=0xff; 5./數(shù)碼秒表設計#include<reg51.h> unsigned char code tab10= 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/*6*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/; /共陰數(shù)碼管顯示09的段碼表unsigned char int_time; /記錄中斷次數(shù)unsigned char second; /儲存秒/*函數(shù)功能:快速動態(tài)掃描延時,延時約0.6毫秒*/void delay(void)unsign

7、ed char i;for(i=0;i<200;i+);/*函數(shù)功能:顯示秒入口參數(shù):k出口參數(shù):無*/void displaysecond(unsigned char k)p3=0xbf ; /p3.7引腳輸出低電平 p0=tabk/10; /顯示十位delay();p3=0x7f; /p3.8引腳輸出低電平p0=tabk%10; /顯示個位delay();p3=0xff; /關閉所有數(shù)碼管void main(void) /主函數(shù)tmod=0x01; /使用定時器t0th0=(65536-46083)/256; /將定時器計時時間設定為46083×1.085微秒/=50000

8、微秒=50毫秒tl0=(65536-46083)%256;ea=1; /開啟總中斷et0=1; /定時器t0中斷允許tr0=1; /啟動定時器t0開始運行int_time=0; /中斷次數(shù)初始化second=0; /秒初始化 while(1)displaysecond(second); /調(diào)用秒的顯示子程序 /*/函數(shù)功能:定時器t0的中斷服務程序/*void interserve(void ) interrupt 1 using 1 tr0=0; /關閉定時器t0int_time +; /每來一次中斷,中斷次數(shù)int_time自加1 if(int_time=20) /夠20次中斷,即1秒鐘進

9、行一次檢測結(jié)果采樣int_time=0; /中斷次數(shù)清0second+; /秒加1if(second=60)second =0; /秒等于60就返回0 th0=(65536-46083)/256; /重新給計數(shù)器t0賦初值tl0=(65536-46083)%256;tr0=1; /啟動定時器t0 6./led時分秒數(shù)碼時鐘設計#include<reg51.h> / 包含51單片機寄存器定義的頭文件unsigned char tab = 0x3f,/*0*/ 0x06,/*1*/ 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6d,/*5*/ 0x7d,/*6

10、*/ 0x07,/*7*/ 0x7f,/*8*/ 0x6f,/*9*/;unsigned char int_time ; /中斷次數(shù)計數(shù)變量unsigned char second; /秒計數(shù)變量unsigned char minute; /分鐘計數(shù)變量unsigned char hour; /小時計數(shù)變量void delay(void) /延時函數(shù),延時約0.6msunsigned char j;for(j=0;j<200;j+);/*函數(shù)功能:顯示秒的子程序入口參數(shù):s*/void displaysecond(unsigned char s)p3=0xbf ; /p3.7引腳輸出低電

11、平 p0=tabs/10;/顯示十位delay();p3=0x7f; /p3.8引腳輸出低電平p0=tabs%10;/顯示個位delay();p3=0xff; /關閉所有數(shù)碼管/*函數(shù)功能:顯示分鐘的子程序入口參數(shù):m*/void displayminute(unsigned char m)p3=0xf7; p0=tabm/10;/顯示個位delay();p3=0xef;p0=tabm%10;delay();p3=0xdf; p0=0x40; /分隔符“-”的段碼delay();p3=0xff; /關閉所有數(shù)碼管/*函數(shù)功能:顯示小時的子程序入口參數(shù):h*/void displayhour(u

12、nsigned char h)p3=0xfd;p0=tabh/10; /顯示十位 delay();p3=0xfc;p0=tabh%10; /顯示個位delay(); p3=0xfb;p0=0x40;delay();p3=0xff;/關閉所有數(shù)碼管/*函數(shù)功能:主函數(shù)*/void main(void)tmod=0x01; /使用定時器t0 ea=1; /開中斷總允許et0=1; /允許t0中斷th0=(65536-46083)/256; /定時器高八位賦初值tl0=(65536-46083)%256; /定時器低八位賦初值tr0=1;int_time=0; /中斷計數(shù)變量初始化second=0;

13、 /秒計數(shù)變量初始化minute=0; /分鐘計數(shù)變量初始化hour=0; /小時計數(shù)變量初始化while(1) displaysecond(second); /調(diào)用秒顯示子程序delay();displayminute(minute); /調(diào)用分鐘顯示子程序delay();displayhour(hour); delay(); /*函數(shù)功能:定時器t0的中斷服務子程序*/void interserve(void ) interrupt 1 using 1 /using time0int_time+;if(int_time=20)int_time=0; /中斷計數(shù)變量清0second+; /秒計數(shù)變量加1if(

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論