版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 在寒假期間我用一周時(shí)間完成了這個(gè)液晶萬年歷,它可以顯示年月日、時(shí)分秒、以及溫度(可上下限報(bào)警),可以對(duì)時(shí)間進(jìn)行加一或減一調(diào)整,并加入了閏、平年時(shí)間調(diào)整,方便可行,已經(jīng)調(diào)試成功??紤]到成本和方便,本作品采用了STC89c52和DS18B20,計(jì)時(shí)用的是51單片機(jī)自帶的十六位定時(shí)器/計(jì)數(shù)器T0,盡管對(duì)時(shí)間進(jìn)行了誤差調(diào)整但是還是有一定
2、的誤差,考慮到學(xué)校后改用DS1302時(shí)鐘芯片,進(jìn)一步減小誤差。溫度顯示精度達(dá)到0.1攝氏度。</p><p> 關(guān)鍵詞: 單片機(jī) DS18B20 萬年歷 溫度</p><p><b> 硬件工作介紹</b></p><p> ?。?)上電自動(dòng)復(fù)位及手動(dòng)復(fù)位電路</p><p> STC89c52單片機(jī)的RS
3、T端外部復(fù)位有兩種操作方式:上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。本設(shè)計(jì)用上電自動(dòng)復(fù)位以及手動(dòng)復(fù)位下結(jié)合的方式外接電路(見附圖)。</p><p><b> (2)時(shí)鐘振蕩電路</b></p><p> 作品中采用12M晶振,其連接方法如圖所示,其中電容的值都為22pF。</p><p> ?。?)1602液晶顯示接口</p><
4、p> 1602采用標(biāo)準(zhǔn)的16腳接口(見附圖),其中:</p><p> 第1腳:GND為地電源</p><p> 第2腳:VCC接5V正電源</p><p> 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度</p><p>
5、 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。</p><p> 第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。</p><p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令
6、。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 </p><p><b> 第15腳:VCC</b></p><p><b> 第16:GND</b></p><p><b> ?。?)鍵盤</b></p><p> 鍵盤是通過
7、S3(P3.2),S4(p3.3),S5(p3.4)對(duì)時(shí)鐘進(jìn)行調(diào)整,其S3選擇要調(diào)整的對(duì)象如時(shí),分,日,月等等,并在液晶屏上顯示所選的對(duì)象。S4對(duì)所選中的對(duì)象進(jìn)行加一調(diào)整,而S5對(duì)所選對(duì)象進(jìn)行減一調(diào)整。</p><p><b> ?。?)蜂鳴器</b></p><p> 對(duì)溫度進(jìn)行測(cè)量,高低溫超限報(bào)警,正常溫度在15.0-36.0攝氏度,超過最高或低于最低溫度就會(huì)鳴
8、叫報(bào)警。</p><p><b> 軟件工作介紹</b></p><p> 由于C語言功能豐富,表達(dá)能力和可移植能力強(qiáng),而且操作方便,簡(jiǎn)單易懂,因此軟件部分由C語言編寫,程序的重點(diǎn)和難點(diǎn)是閏月的時(shí)間調(diào)整以及鍵盤對(duì)時(shí)間的調(diào)整,本程序還不是太完善,溫度顯示有規(guī)律性的微微閃爍,懇請(qǐng)老師指正。</p><p> 否
9、 否</p><p> 是 是 是</p><p> 否 否</p><p> 是 是
10、 是</p><p><b> 主程序流程圖</b></p><p><b> 設(shè)計(jì)總結(jié)</b></p><p> 在制作的過程中,因?yàn)榘遄邮窃趯W(xué)校自己動(dòng)手做的最小系統(tǒng)板,接插線還是比較簡(jiǎn)單的,難的是硬件的調(diào)試,因?yàn)槔碚撆c實(shí)踐總是存在著差距,想出來的東西沒有經(jīng)過實(shí)踐的檢驗(yàn)是不可靠的,任何一個(gè)小小的疏忽大意都能導(dǎo)
11、致失敗。</p><p> 比如說對(duì) hour, min , sec,day, moth的定義,一開始我用的unsigned char ,但是在調(diào)試減一時(shí),減到零時(shí)再按下鍵盤就會(huì)出現(xiàn)亂碼,幾經(jīng)調(diào)試,終于發(fā)現(xiàn)問題地所在并及時(shí)地解決了問題,之后再一次對(duì)硬件進(jìn)行調(diào)試,終于成功了。從這一方面來說,我認(rèn)識(shí)到做要比說難得多,做的過程中必定有很多的阻礙,但是一定要慢慢來,一點(diǎn)一點(diǎn)地找出問題,再一點(diǎn)一點(diǎn)地解決它,這樣的話,到達(dá)
12、成功的彼岸也就僅僅是時(shí)間的問題了。我通過這次設(shè)計(jì),特別是通過對(duì)程序的編寫,深層了解了單片機(jī)內(nèi)部結(jié)構(gòu)和外圍器件的應(yīng)用。我學(xué)到的不僅僅是電子方面的知識(shí),更重要的是,我學(xué)到了作為一名電子設(shè)計(jì)者所必需的心理素質(zhì),那就是——決心加上耐心!</p><p><b> 附錄1:程序代碼:</b></p><p> #include <reg51.h></p&g
13、t;<p> #define Lcd_Data P0 //定義數(shù)據(jù)端口</p><p> #define _TH0_TL0_ (65536 - 50000) </p><p> #define HI (_TH0_TL0_ / 256) //給高8位賦值</p><p> #define LO (_TH0_TL0_ %
14、256) //給低8位賦值</p><p> #define M 20 //(1000/50)1秒要20個(gè)中斷的累計(jì)</p><p> char hour = 0, min = 0, sec = 0,N=0,day=1,moth=1,week=7;</p><p> //初始化要顯示的值</p><p&g
15、t; unsigned char SEG_TAB[] = {0x30,0x31,0x32, 0x33, 0x34, 0x35, 0x36, 0x37,0x38, 0x39};//0-9數(shù)字</p><p> unsigned int year=8;</p><p> sbit RS = P2^ 5; //定義和LCD的連接端口</p><p> sbit
16、 RW = P2^ 4;</p><p> sbit E = P2^ 3;</p><p> sbit Busy = P0^ 7;</p><p> sbit S3 = P3^2;//定義開關(guān)s3選擇鍵</p><p> sbit S4 = P3^3;//s4加一鍵</p><p> sbit S
17、5 = P3^4;//s5減一鍵</p><p> sbit DQ = P2^0;//DS18B20</p><p> sbit speak = P2^1; //蜂鳴器警報(bào)</p><p> /***************************************************************************/<
18、;/p><p> void delay1(unsigned int num)//短延時(shí)函數(shù)</p><p><b> {</b></p><p> while( num-- );</p><p><b> }</b></p><p> /****************
19、**************************************************************/</p><p> void Delay(unsigned char t)//長(zhǎng)延時(shí)函數(shù),延時(shí) 1MS*t S</p><p><b> {</b></p><p> unsigned char a;</p&
20、gt;<p> while(--t != 0)</p><p><b> {</b></p><p> for(a = 0; a < 125; a++);</p><p><b> }</b></p><p><b> }</b></p>
21、;<p> /*******************************************************************/</p><p> void Timer0Init(void) //初始化定時(shí)器0程序</p><p><b> {</b></p><p> TMOD = 0x01; /
22、/設(shè)置模式1 定時(shí)器0 工作方式0</p><p> TH0 = HI; //給TH0,TL0賦初始值</p><p><b> TL0 = LO;</b></p><p> TR0 = 1; //啟動(dòng)定時(shí)器0</p><p> ET0 = 1; //定時(shí)器中斷開</p><p>
23、EA = 1;//總中斷開</p><p><b> }</b></p><p> /******************************************************************************/</p><p> void Read_Busy(void)//讀忙信號(hào)判斷</p>
24、;<p><b> {</b></p><p><b> do{</b></p><p> Lcd_Data = 0xff;</p><p><b> RS = 0;</b></p><p><b> RW = 1;</b><
25、/p><p><b> E = 0;</b></p><p><b> Delay(2);</b></p><p><b> E = 1;</b></p><p> }while(Busy);</p><p><b> }</b&g
26、t;</p><p> /******************************************************************************/ </p><p> void Write_Comm(unsigned char lcdcomm) //寫指令函數(shù)</p><p><b> {</b>&
27、lt;/p><p> Lcd_Data = lcdcomm;</p><p><b> RS = 0;</b></p><p><b> RW = 0;</b></p><p><b> E = 0;</b></p><p> Read_Busy(
28、);</p><p><b> E = 1;</b></p><p><b> }</b></p><p> /******************************************************************************/</p><p> v
29、oid Write_Data(unsigned char lcddata)//寫數(shù)據(jù)函數(shù)</p><p><b> {</b></p><p> Lcd_Data = lcddata;</p><p><b> RS = 1;</b></p><p><b> RW = 0;&l
30、t;/b></p><p><b> E = 0;</b></p><p> Read_Busy();</p><p><b> E = 1;</b></p><p><b> }</b></p><p> /**************
31、****************************************************************/</p><p> void Init_LCD(void)//初始化LCD</p><p><b> {</b></p><p> Delay(400); //稍微延時(shí),等待LCD進(jìn)入工作狀態(tài)</p&
32、gt;<p> Write_Comm(0x01);//清顯示</p><p> Write_Comm(0x02);//光標(biāo)歸位</p><p> Write_Comm(0x38);//8位2行5*8</p><p> Write_Comm(0x06);//文字不動(dòng),光標(biāo)右移</p><p> Write_Comm(0x
33、0c);//顯示開/關(guān),光標(biāo)開閃爍開</p><p> Write_Comm(0x18);//左移</p><p><b> }</b></p><p> /*******************************************************************************/</p>
34、<p> Init_DS18B20(void)//初始化ds1820</p><p><b> {</b></p><p> unsigned char x = 0;</p><p> DQ = 1; //DQ復(fù)位</p><p> delay1(8); //稍做延時(shí)</p>
35、<p> DQ = 0; //單片機(jī)將DQ拉低</p><p> delay1(80); //精確延時(shí) 大于 480us</p><p> DQ = 1; //拉高總線</p><p> delay1(14);</p><p> x = DQ; //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失
36、敗</p><p> delay1(20);</p><p><b> }</b></p><p> /**********************************************************************************/</p><p> ReadOneChar(
37、void)//讀一個(gè)字節(jié)</p><p><b> {</b></p><p> unsigned char i = 0;</p><p> unsigned char dat = 0;</p><p> for (i = 8; i > 0; i--)</p><p><b&g
38、t; {</b></p><p> DQ = 0; // 給脈沖信號(hào)</p><p> dat >>= 1;</p><p> DQ = 1; // 給脈沖信號(hào)</p><p><b> if(DQ)</b></p><p> dat |= 0x80;</
39、p><p> delay1(4);</p><p><b> }</b></p><p> return (dat);</p><p><b> }</b></p><p> /**********************************************
40、************************************/</p><p> WriteOneChar(unsigned char dat)//寫一個(gè)字節(jié)</p><p><b> {</b></p><p> unsigned char i = 0;</p><p> for (i = 8; i
41、 > 0; i--)</p><p><b> {</b></p><p><b> DQ = 0;</b></p><p> DQ = dat&0x01;</p><p> delay1(5);</p><p><b> DQ = 1;&l
42、t;/b></p><p><b> dat>>=1;</b></p><p><b> }</b></p><p><b> }</b></p><p> /**********************************************
43、************************************/</p><p> Read_Disp_Temperature(void)//讀取并顯示溫度</p><p><b> {</b></p><p> unsigned int a = 0, b = 0, c = 0, t = 0;</p><p&
44、gt; float tt = 0;</p><p> Init_DS18B20();</p><p> WriteOneChar(0xCC); // 跳過讀序號(hào)列號(hào)的操作</p><p> WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換</p><p> Init_DS18B20();</p><p&
45、gt; WriteOneChar(0xCC); //跳過讀序號(hào)列號(hào)的操作</p><p> WriteOneChar(0xBE); //讀取溫度寄存器</p><p> a = ReadOneChar();</p><p> b = ReadOneChar();</p><p><b> t = b;</b>&
46、lt;/p><p><b> t <<= 8;</b></p><p> t = t | a;</p><p> tt = t * 0.0625;</p><p> t = tt * 10 + 0.5; //放大10倍輸出并四舍五入</p><p> a = t / 100;
47、 //十位</p><p> b = t / 10 - a * 10; //個(gè)位 </p><p> c = t - a * 100 - b * 10; //小數(shù)位</p><p> if((t>=360)||(t<=150)) //溫度報(bào)警范圍 </p><p> { speak=0;
48、</p><p><b> }</b></p><p> else speak=1;</p><p> Write_Comm(0x8d); //lcd顯示溫度</p><p> Write_Data( SEG_TAB[a]);</p><p> Write_Data( SEG_TAB
49、[b]);</p><p> Write_Data( '.');</p><p> Write_Data( SEG_TAB[c]);</p><p><b> }</b></p><p> /*****************************************************
50、*************************/</p><p> void main(void)//主函數(shù)--數(shù)字讀取和計(jì)算</p><p><b> {</b></p><p> Init_LCD(); //初始化 LCD</p><p> Timer0Init();//初始化定時(shí)器0
51、 </p><p> Write_Comm(0x83); //寫入":"字符 </p><p> Write_Data(':');</p><p> Write_Comm(0x86);</p><p> Write_Data(':');</p><p&g
52、t; Write_Comm(0x89);//溫度提示字符</p><p> Write_Data('T');</p><p> Write_Data('e');</p><p> Write_Data('m');</p><p> Write_Data('p');<
53、;/p><p> Write_Comm(0xc1);//第二行首地址</p><p> //寫入"20 - -"字符</p><p> Write_Data('2');</p><p> Write_Data('0');</p><p> Write_Comm
54、(0xc5);</p><p> Write_Data('-');</p><p> Write_Comm(0xc8);</p><p> Write_Data('-');</p><p> Write_Comm(0xcb);</p><p> Write_Data('
55、-');</p><p><b> while(1)</b></p><p><b> { </b></p><p> Read_Disp_Temperature(); //溫度</p><p><b> if(S3==0)</b></p><
56、;p><b> {</b></p><p> delay1(10); </p><p><b> if(S3==0)</b></p><p><b> N++;</b></p><p> if(N>6) {N=0;}</p><p>
57、; while(S3==0);</p><p> Write_Comm(0xcf); </p><p> Write_Data(SEG_TAB[N]); //顯示切換鍵位所示的位置 N</p><p> //0:秒,1:分,2:時(shí),3:日,4:月,5:年 6:星期</p><p><b> }</b><
58、/p><p> if(S4==0)//時(shí)間調(diào)整--加</p><p><b> {</b></p><p> delay1(10); </p><p> if(S4==0) </p><p><b> { </b></p><p><
59、b> if(N==1)</b></p><p><b> {</b></p><p><b> min++;</b></p><p> if(min==60) min=0; </p><p> Write_Comm(0x84);</p><p>
60、 Write_Data(SEG_TAB[min/10]);</p><p> Write_Comm(0x85);</p><p> Write_Data(SEG_TAB[min%10]);</p><p><b> }</b></p><p><b> if(N==2)</b></p
61、><p><b> {</b></p><p><b> hour ++;</b></p><p> if(hour==24) hour=0;</p><p> Write_Comm(0x81);</p><p> Write_Data(SEG_TAB[hour/10]
62、);</p><p> Write_Comm(0x82);</p><p> Write_Data(SEG_TAB[hour%10]); </p><p><b> }</b></p><p><b> if(N==3)</b></p><p><b>
63、{</b></p><p><b> day++;</b></p><p> if(moth==2&&(year%4==0)&&day==30)day=1; //閏年2月天數(shù)計(jì)算 </p><p> if(moth==2&&(year%4!=0)&&day==29
64、)day=1; //平年2月</p><p> if((moth==4||moth==6||moth==9||moth==11)&&day==31)day=1;//4,6,9,11月計(jì)算</p><p> if(day==32)day=1;//1,3,5,7,8,10,12月天數(shù)計(jì)算</p><p> Write_Comm(0xC9);<
65、;/p><p> Write_Data(SEG_TAB[day/10]);</p><p> Write_Comm(0xCa);</p><p> Write_Data(SEG_TAB[day%10]);</p><p><b> }</b></p><p><b> if(N==
66、4)</b></p><p><b> {</b></p><p><b> moth++;</b></p><p> if(moth==13)moth=1;</p><p> Write_Comm(0xc6);</p><p> Write_Data(
67、SEG_TAB[moth/10]);</p><p> Write_Comm(0xc7);</p><p> Write_Data(SEG_TAB[moth%10]);</p><p><b> }</b></p><p><b> if(N==5)</b></p><p
68、><b> {</b></p><p><b> year++;</b></p><p> if(year==51)year=0;</p><p> Write_Comm(0xc3);</p><p> Write_Data(SEG_TAB[year/10]);</p>
69、<p> Write_Comm(0xc4);</p><p> Write_Data(SEG_TAB[year%10]);</p><p><b> }</b></p><p><b> if(N==6)</b></p><p><b> {</b><
70、;/p><p><b> week++;</b></p><p> if(week==8) week=1;</p><p> Write_Comm(0xcc);</p><p> Write_Data(SEG_TAB[year/10]);</p><p><b> }</b&
71、gt;</p><p> while(S4==0);</p><p><b> }</b></p><p><b> } </b></p><p> if(S5==0)//時(shí)間調(diào)整--減</p><p><b> {</b></p&g
72、t;<p> delay1(10);</p><p><b> if(S5==0)</b></p><p><b> { </b></p><p><b> if(N==1)</b></p><p><b> {</b></p
73、><p> min--;if(min<0) {min=59;}</p><p> Write_Comm(0x84);</p><p> Write_Data(SEG_TAB[min/10]);</p><p> Write_Comm(0x85);</p><p> Write_Data(SEG_TAB[mi
74、n%10]);</p><p><b> }</b></p><p><b> if(N==2)</b></p><p> { hour--;if(hour<0){hour=23;}</p><p> Write_Comm(0x81);</p><p> Wr
75、ite_Data(SEG_TAB[hour/10]);</p><p> Write_Comm(0x82);</p><p> Write_Data(SEG_TAB[hour%10]);</p><p><b> }</b></p><p><b> if(N==3)</b></p&g
76、t;<p> { day--; </p><p> if(moth==2&&(year%4==0)&&day<1)day=29; </p><p> if(moth==2&&(year%4!=0)&&day<1)day=28;</p><p> if((
77、moth==4||moth==6||moth==9||moth==11)&&day<1)day=30;</p><p> if(day<1)day=31;</p><p> Write_Comm(0xC9);</p><p> Write_Data(SEG_TAB[day/10]);</p><p> Wr
78、ite_Comm(0xCa);</p><p> Write_Data(SEG_TAB[day%10]);</p><p><b> }</b></p><p><b> if(N==4)</b></p><p><b> { moth--;</b></p>
79、<p> if(moth==0){moth=12;}</p><p> Write_Comm(0xc6);</p><p> Write_Data(SEG_TAB[moth/10]);</p><p> Write_Comm(0xc7);</p><p> Write_Data(SEG_TAB[moth%10]);&l
80、t;/p><p><b> }</b></p><p><b> if(N==5)</b></p><p><b> { year--;</b></p><p> if(year<0){year=50;}</p><p> Write_Com
81、m(0xc3);</p><p> Write_Data(SEG_TAB[year/10]);</p><p> Write_Comm(0xc4);</p><p> Write_Data(SEG_TAB[year%10]);</p><p><b> }</b></p><p><
82、b> if(N==6)</b></p><p><b> {</b></p><p><b> week--;</b></p><p> if(week==0) week=7;</p><p> Write_Comm(0xcc);</p><p>
83、 Write_Data(SEG_TAB[week]);</p><p><b> }</b></p><p> while(S5==0);</p><p><b> }</b></p><p><b> }</b></p><p><
84、b> }</b></p><p><b> }</b></p><p> /**************************************************************************/</p><p> void IsrTimer0(void) interrupt 1 usin
85、g 1 //定時(shí)器0中斷服務(wù)程序</p><p><b> {</b></p><p> static unsigned char count = 0;//定義靜態(tài)變量count</p><p> TR0 = 0; //時(shí)間誤差調(diào)整</p><p> TL0 += (_TH0_
86、TL0_ + 9) % 256;</p><p> TH0 += (_TH0_TL0_ + 9) / 256 + (char)CY;</p><p><b> TR0 = 1;</b></p><p><b> count++;</b></p><p> if(count == M)//1秒
87、種時(shí)間到</p><p><b> {</b></p><p> count = 0;</p><p><b> sec++;</b></p><p> if(sec == 60)//1分鐘時(shí)間到</p><p><b> {</b>&l
88、t;/p><p><b> min++;</b></p><p><b> sec = 0;</b></p><p> if(min == 60)//1小時(shí)時(shí)間到</p><p><b> {</b></p><p><b> hour+
89、+;</b></p><p><b> min = 0;</b></p><p> if(hour == 24)//24小時(shí)時(shí)間到</p><p> { day++;</p><p><b> week++;</b></p><p><b>
90、; hour = 0;</b></p><p><b> min = 0;</b></p><p><b> sec = 0;</b></p><p> if(week==8)</p><p> { week=1;</p><p><b>
91、; }</b></p><p> if((moth==2&&(year%4==0)&&day==30)||(moth==2&&(year%4!=0)&&day==29)||((moth==4||moth==6||moth==9||moth==11)&&day==31)||(day==32))</p>&l
92、t;p> { //一個(gè)月到</p><p><b> moth++;</b></p><p><b> day=1;</b></p><p> if(moth==13) //一年到</p><p&g
93、t; { year++; </p><p><b> moth=1;</b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p>&l
94、t;b> }</b></p><p><b> }</b></p><p><b> } </b></p><p> Write_Comm(0x81); //時(shí)間顯示 </p><p> Write_Data(S
95、EG_TAB[hour/10]);</p><p> Write_Comm(0x82);</p><p> Write_Data(SEG_TAB[hour%10]);</p><p> Write_Comm(0x83);</p><p> Write_Data(':');</p><p> W
96、rite_Comm(0x84);</p><p> Write_Data(SEG_TAB[min/10]);</p><p> Write_Comm(0x85);</p><p> Write_Data(SEG_TAB[min%10]);</p><p> Write_Comm(0x86);</p><p>
97、 Write_Data(':');</p><p> Write_Comm(0x87);</p><p> Write_Data(SEG_TAB[sec/10]);</p><p> Write_Comm(0x88);</p><p> Write_Data(SEG_TAB[sec%10]);</p>&
98、lt;p> Write_Comm(0x8f);</p><p> Write_Data( '.');</p><p> Write_Comm(0xc3);</p><p> Write_Data(SEG_TAB[year/10]);</p><p> Write_Comm(0xc4);</p>&
99、lt;p> Write_Data(SEG_TAB[year%10]);</p><p> Write_Comm(0xc5);</p><p> Write_Data('-');</p><p> Write_Comm(0xc6);</p><p> Write_Data(SEG_TAB[moth/10]);&l
100、t;/p><p> Write_Comm(0xc7);</p><p> Write_Data(SEG_TAB[moth%10]);</p><p> Write_Comm(0xc8);</p><p> Write_Data('-');</p><p> Write_Comm(0xc9);<
101、;/p><p> Write_Data(SEG_TAB[day/10]);</p><p> Write_Comm(0xca);</p><p> Write_Data(SEG_TAB[day%10]);</p><p> Write_Comm(0xcb);</p><p> Write_Data('-&
102、#39;);</p><p> Write_Comm(0xcc);</p><p> Write_Data(SEG_TAB[week]);</p><p> Write_Comm(0xcd); </p><p> Write_Data(0xfe);</p><p> Write_Comm(0xce); &
103、lt;/p><p> Write_Data(0xfe);</p><p> Write_Comm(0xcf+1); </p><p> Write_Data(0xfe);</p><p><b> }</b></p><p><b> 附錄2:電路圖</b></
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的萬年歷畢業(yè)設(shè)計(jì)
- 51單片機(jī)萬年歷畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬年歷設(shè)計(jì)
- 51基于單片機(jī)的電子萬年歷畢業(yè)設(shè)計(jì)
- 【畢業(yè)設(shè)計(jì)】基于51單片機(jī)的電子萬年歷設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)控制1602液晶的萬年歷
- 基于單片機(jī)的萬年歷畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的電子萬年歷的設(shè)計(jì)
- 基于at89c51單片機(jī)萬年歷畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于mcs-51單片機(jī)的萬年歷設(shè)計(jì)
- 基于單片機(jī)的萬年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬年歷的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬年歷的設(shè)計(jì)
- 基于單片機(jī)的萬年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)萬年歷系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于at89c51單片機(jī)萬年歷的畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的測(cè)溫萬年歷畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論