592【畢設課設】基於51微控制器的簡易電子鐘加鬧鐘設計
阿新 • • 發佈:2020-12-11
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
基於51微控制器的電子時鐘的設計,從硬體和軟體兩個方面給出了具體實現過程。該時鐘的設計採用功能分塊的思想方法,將硬體電路劃分為開關電路,顯示驅動電路和數碼管電路等若干獨立模組,而軟體的實現則由鬧鐘的聲音程式、時間顯示程式、日期顯示程式,秒錶顯示程式,時間調整程式、鬧鐘調整程式、定時調整程式,延時程式等組成。
文中給出了各個模組的電路圖,並用Proteus的ISIS軟體對電子時鐘系統的各個功能進行了模擬,並給出了相應的模擬結果影象
uchar hour=0, minute=0,flag=0; void display(uint ge,uint shi,uint fg,uint fs,uint xg,uint xs); void fm(); uchar code wm[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar code dm[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit ke1=P0^4; // 正常調時 sbit ke2=P0^5; //正常調分 sbit ke4=P0^7; //正常調星期(也可不接) sbit k3=P0^6;//鬧鐘調時 sbit k5=P0^3; // 鬧鐘調分 sbit k6=P0^2;//切換鬧鐘模式 void delay(uint s) { uint x,y; for(x=s;x>0;x--) for(y=110;y>0;y--); } void timer()interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; } void key() { P0=0xfe; delay(10); if(ke1==0) { k++; if(k==24) k=0; while(!ke1); } if(ke2==0)