C51 程序(數(shù)碼管、繼電器等控制程式)_第1頁(yè)
C51 程序(數(shù)碼管、繼電器等控制程式)_第2頁(yè)
C51 程序(數(shù)碼管、繼電器等控制程式)_第3頁(yè)
C51 程序(數(shù)碼管、繼電器等控制程式)_第4頁(yè)
C51 程序(數(shù)碼管、繼電器等控制程式)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、以下程式,為T(mén)8試燒臺(tái)的控制程式 :器件有六位數(shù)碼管顯示、報(bào)警器、和控制交流接觸器的12V繼電器 。#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit set=P30; /設(shè)置時(shí)間,按一下相應(yīng)的位閃爍;sbit jia=P33; /設(shè)置位 按一下加1;sbit jian=P36; /設(shè)置位 按一下減1;sbit go=P31; /功能啟動(dòng)按鈕;sbit relay1=P27; /控制功率;sbit relay2=P26; /控制警報(bào);sbit relay3=P25; /控制功率;sbi

2、t relay4=P24; /控制警報(bào);uchar code table= /顯示編碼0,1,2,3,4,5,6,7,8,9,-,H,E,L,U,R0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x76,0x79,0x38,0x3e,0x77,0x49,0x79,0x38,0x3f;uchar fen,miao,t0,t1,t2,set_flag,set_wei_flag,jia_flag,jian_flag,go_flag;uchar shi_qianwei,shi_baiwei,shi_shiwei,shi_gewei,fen

3、_shiwei,fen_gewei, miao_shiwei,miao_gewei;uchar set_fen,set_miao,shan,shan_over; char set_shi_q,set_shi_b,set_shi_s,set_shi_g,set_fen_s,set_fen_g,set_miao_s, set_miao_g,set_wei;int shi,set_shi,jingbao; void delay(uint z) /延時(shí)函數(shù) 1ms ;uint t1,y;for(t1=z;t1>0;t1-)for(y=100;y>0;y-);void MCUinit() /

4、初始化 MCU; P0=0; P1=0; P2=0; P3=0; set=1; jia=1; jian=1; go =1; set_shi_q=0; set_shi_b=0; set_shi_s=0; set_shi_g=0; set_fen_s=0; set_fen_g=0; set_miao_s=0; set_miao_g=0; set_wei=7; set_flag=0; jia_flag=0; jian_flag=0; go_flag=0; shi=0; fen=0; miao=0; t0=0; t1=0; shan=0; jingbao=0; TMOD=0x11; /使能定時(shí)器并加入

5、初值 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1; ET1=1; TR1=1;void setscanf() / 設(shè)置函數(shù) while(set_flag=1) if(set_shi<=99) if(set_wei_flag=1) /設(shè)置位自左往右循環(huán) ; set_wei_flag=0; set_wei-; if(set_wei<1) set_wei=6; switch(set_wei) case 1: if(jia_fl

6、ag=1) jia_flag=0; set_miao_g+; if(set_miao_g>9) set_miao_g=0; if(jian_flag=1) jian_flag=0; set_miao_g-; if(set_miao_g<0) set_miao_g=9; /時(shí)十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0x

7、ff;/分個(gè)位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_miao_g&0x7f; else if(shan>=20) P0=0xff; P1=0x01; delay(1); P0=0xff; break; case 2: if(jia_flag=1) jia_flag=0; set_miao_s+; if(se

8、t_miao_s>5) set_miao_s=0; if(jian_flag=1) jian_flag=0; set_miao_s-; if(set_miao_s<0) set_miao_s=5; /時(shí)十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分個(gè)位 ;= P0=tableset_fen_g; P1=0x0

9、4; delay(1); P0=0xff;/秒十位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_miao_s&0x7f; else if(shan>=20) P0=0xff; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 3: if(jia_flag=1) jia_flag=0; set_fen_g+; if(set_fen_g>9) set_fen_g=0; if(jian_fl

10、ag=1) jian_flag=0; set_fen_g-; if(set_fen_g<0) set_fen_g=9; /時(shí)十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分個(gè)位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_fen_g&0x7f; else if

11、(shan>=20) P0=0xff; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 4: if(jia_flag=1) jia_flag=0; set_fen_s+; if(set_fen_s>5) set_fen_s=0; if(jian_flag=1) jian_flag=0; set_fen_s-; if(set_fen_

12、s<0) set_fen_s=5; /時(shí)十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_fen_s&0x7f; else if(shan>=20) P0=0xff; P1=0x08; delay(1); P0=0xff;/分個(gè)位 ;= P0=tableset_fen_g; P1=0x04; delay(1);

13、P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 5: if(jia_flag=1) jia_flag=0; set_shi_g+; if(set_shi_g>9) set_shi_g=0; if(jian_flag=1) jian_flag=0; set_shi_g-; if(set_shi_g<0) set_shi_g=9; /時(shí)十位 ;= P0=tableset_s

14、hi_s; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_shi_g&0x7f; else if(shan>=20) P0=0xff; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分個(gè)位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x0

15、2; delay(1); P0=0xff; /秒個(gè)位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 6: if(jia_flag=1) jia_flag=0; set_shi_s+; if(set_shi_s>9) set_shi_b+; set_shi_s=0; if(jian_flag=1) jian_flag=0; set_shi_s-; if(set_shi_s<0) set_shi_s=9; /時(shí)十位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset

16、_shi_s&0x7f; else if(shan>=20) P0=0xff; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分個(gè)位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;=

17、P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; else /畫(huà)面 三9999三= if(set_shi>99) if(set_wei>5) set_wei=4; if(set_wei_flag=1) set_wei_flag=0; set_wei-; if(set_wei<2) set_wei=5; switch(set_wei) case 2: if(jia_flag=1) jia_flag=0; set_shi_g+; if(set_shi_g>9) set_shi_g=0; if(jian_flag=1

18、) jian_flag=0; set_shi_g-; if(set_shi_g<0) set_shi_g=5; /三位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/時(shí)千位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/時(shí)百位 ;= P0=tableset_shi_b; P1=0x08; delay(1); P0=0xff;/時(shí)分位 ;= P0=tableset_shi_s; P1=0x04; delay(1); P0=0xff;/時(shí)個(gè)位 ;= if(shan<20) /數(shù)碼管閃爍占空比的

19、控制 1:1 P0=tableset_shi_g&0x7f; else if(shan>=20) P0=0xff; P1=0x02; delay(1); P0=0xff; /三個(gè)位 ;= P0=table16; P1=0x01; delay(1); P0=0xff; break; case 3: if(jia_flag=1) jia_flag=0; set_shi_s+; if(set_shi_s>9) set_shi_s=0; if(jian_flag=1) jian_flag=0; set_shi_s-; if(set_shi_s<0) set_shi_s=9;

20、/時(shí)千位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/時(shí)百位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/時(shí)分位 ;= P0=tableset_shi_b; P1=0x08; delay(1); P0=0xff;/時(shí)個(gè)位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_shi_s&0x7f; else if(shan>=20) P0=0xff; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_

21、shi_g; P1=0x02; delay(1); P0=0xff; /秒個(gè)位 ;= P0=table16; P1=0x01; delay(1); P0=0xff; break; case 4: if(jia_flag=1) jia_flag=0; set_shi_b+; if(set_shi_b>9) set_shi_b=0; if(jian_flag=1) jian_flag=0; set_shi_b-; if(set_shi_b<0) set_shi_b=9; /時(shí)十位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/時(shí)個(gè)位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/分十位 ;= if(shan<20) /數(shù)碼管閃爍占空比的控制 1:1 P0=tableset_shi_b&0x7f; else if(shan>=20) P0=0xff; P1=0x08; delay(1); P0=0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論