在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>C/C++語言編程>

霹靂燈、繼電器、蜂鳴器等實驗程序

大小:0.15 MB 人氣: 2017-09-06 需要積分:0
霹靂燈、繼電器、蜂鳴器等實驗程序

1、霹靂燈實驗程序

/* ch03-3-3.c - 霹靂燈實驗程序? */
//==聲明區(qū)============================================
#include?? ?// 定義8051暫存器之標(biāo)頭檔,P2-17~19?
#define?LED?P1???// 定義LED接至Port 1
void delay(int);??// 聲明延遲函數(shù)?
//==主程序============================================
main()?????// 主程序開始?
{?unsigned char i;? ?// 聲明無號數(shù)字元變數(shù)i(占1Bytes) ?
?LED=0xfe;???// 初值=1111 1110,只有最右1燈亮?
?while(1)???// 無窮循環(huán),程序一直跑?
?{?for(i=0;i<7;i++)// 左移7次?
??{?delay(100);?// 延遲100 5m=0.5s?
???LED=(LED<<1)|0x01;?// 左移1位,并設(shè)定最低位元為1?
??}????// 左移結(jié)束,只有最左1燈亮?
??for(i=0;i<7;i++)// 右移7次?
??{?delay(100);?// 延遲100 5m=0.5s?
???LED=(LED>>1)|0x80;?// 右移1位,并設(shè)定最高位元為1
??}????// 結(jié)束右移,只有最右1燈亮?
?}?????// while循環(huán)結(jié)束?
}??????// 主程序結(jié)束?
//==子程序=============================================
/* 延遲函數(shù),延遲約x 5ms */
void delay(int x)??// 延遲函數(shù)開始?
{?int i,j;???// 聲明整數(shù)變數(shù)i,j?
?for (i=0;i ??for (j=0;j<600;j++);// 計數(shù)600次,延遲5ms?
}??????// 延遲函數(shù)結(jié)束?
?

2、繼電器實驗程序

/* ch03-3-2.c - 繼電器實驗程序? */
//==聲明區(qū)========================================
#include? ??// 定義8051暫存器之標(biāo)頭檔, P2-17~19?
sbit?buzzer = P3^7;??//?聲明蜂鳴器的位置?
sbit?relay = P3^6;??//?聲明繼電器的位置??
void delay(int);???//?聲明延遲函數(shù)?
void pulse_BZ(int,int,int);?//?聲明蜂鳴器發(fā)聲函數(shù)?
void pulse_RL(int,int,int);?//?聲明繼電器控制函數(shù)?
//==主程序========================================
main()??????//?主程序開始?
{?while(1)????//?無窮循環(huán),程序一直跑 */
?{?pulse_RL(10,2000,2000);?
??// 繼電器使燈亮滅各10次,各2000 0.5m=1s
??pulse_BZ(100,1,1);?
??// 蜂鳴器第1聲嗶,約100*(0.5m+0.5m)=0.1s
??delay(200);???//?延遲200 0.5ms=0.1s?
??pulse_BZ(100,1,1);?
??// 蜂鳴器第2聲嗶,約100*(0.5m+0.5m)=0.1s
??delay(200);???//?延遲200 0.5ms=0.1s?
?}??????//?while循環(huán)結(jié)束?
}???????//?主程序結(jié)束?
//==副程序=========================================
// 延遲函數(shù)開始,延遲約x*0.5ms/
void delay(int x)??//?延遲函數(shù)開始?
{?int i,j;???//?聲明整數(shù)變量i,j
?for (i=0;i ??for (j=0;j<60;j++);?//?計數(shù)60次,延遲約0.5ms?
}?????//?延遲函數(shù)結(jié)束?
/* 蜂鳴器發(fā)聲函數(shù),count=計數(shù)次數(shù),TH=高態(tài)時間,TL=低態(tài)時間 */
void pulse_BZ(int count,int TH,int TL)?//?蜂鳴器發(fā)聲函數(shù)開始?
{?int i;???//?聲明整數(shù)變量i/
?for(i=0;i ?{?buzzer=1;?//?輸出高態(tài)??
??delay(TH);?//?延遲TH 0.5ms?
??buzzer=0;?//?輸出低態(tài)?
??delay(TL);?//?延遲TL 0.5ms?
?}????//?for循環(huán)結(jié)束?
}?????//?蜂鳴器發(fā)聲函數(shù)結(jié)束?
/* 繼電器控制函數(shù),count=計數(shù)次數(shù),TH=激磁時間,TL=消磁時間 */
void pulse_RL(int count,int TH,int TL)?//?繼電器控制函數(shù)開始?
{?int i;???//?聲明整數(shù)變量i?
?for(i=0;i ?{?relay=1;??//?輸出高態(tài),繼電器激磁(燈亮)??
??delay(TH);?//?延遲TH 0.5ms?
??relay=0;?//?輸出低態(tài),繼電器消磁(燈滅)?
??delay(TL);?//?延遲TL 0.5ms?
?}????//?for循環(huán)結(jié)束?
}?????//?繼電器控制函數(shù)結(jié)束?
?

3、蜂鳴器實驗程序

/* ch03-3-1.c - 蜂鳴器實驗程序? */
//==聲明區(qū)====================================
#include??// 定義8051暫存器的標(biāo)頭檔,P2-17~19
sbit buzzer = P3^7 ;?// 聲明蜂鳴器的位置為Port 3之bit 7
void delay(int);??//?聲明延遲函數(shù)?
void pulse_BZ(int,int,int);?//?聲明蜂鳴器發(fā)聲函數(shù)?
//==主程序====================================
main()?????//?主程序開始?
{?while(1)???//?無窮循環(huán),程序一直跑?
?{?pulse_BZ(100,1,1);?
??// 蜂鳴器發(fā)聲100 (0.5m+0.5m)=0.1s
??delay(1000);?//?延遲1000 0.5m=0.5秒?
?}?????//?while循環(huán)結(jié)束?
}??????//?主程序結(jié)束?
//==子程序=====================================
/* 延遲函數(shù)開始,延遲x 0.5ms */?
void delay(int x)??//?延遲函數(shù)開始?
{?int i,j;???//?聲明整數(shù)變量i,j
?for (i=0;i ??for (j=0;j<60;j++);?//?計數(shù)60次,延遲約0.5ms?
}?????//?延遲函數(shù)結(jié)束?
/* 蜂鳴器發(fā)聲函數(shù),count=計數(shù)次數(shù),TH=高態(tài)時間,TL=低態(tài)時間 */
void pulse_BZ(int count,int TH,int TL)?//?蜂鳴器發(fā)聲函數(shù)開始?
{?int i;???//?聲明整數(shù)變數(shù)i
?for(i=0;i ?{?buzzer=1;?//?輸出高態(tài)
??delay(TH);?//?延遲TH 0.5ms?
??buzzer=0;?//?輸出低態(tài)?
??delay(TL);?//?延遲TL 0.5ms?
?}????//?for循環(huán)結(jié)束?
}?????//?蜂鳴器發(fā)聲函數(shù)結(jié)束
?

4、秒表計C程序

//秒表程序
#define XMS 2000? /* 定時中斷間隔 12MHz,1uS */?
#include
#include
#define uchar unsigned char
sbit?KEY1?=P3^3;? /* 啟動鍵 */
sbit?KEY2?=P3^4;? /* 停止鍵 */
sbit?KEY3?=P3^5;? /* 清除鍵*/
bit stop;
char buf[4]={0,0,0,0};
char low[4]={0xfe,0xfd,0xfb,0xf7};
char disppoint;
uchar ms;
code char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};? /* 顯示段表*/
void delayms(int t)
{
uchar i;
while(t--)
?{
?i=100;
?while(i--);?
?}
}
void put_num(char c)
{
P0=seg[c&0x0f];
}
void timer0( ) interrupt 1 using 1? /*定時器中斷程序*/
{
EA=0;
//顯示:
TH0=-(XMS/256);?
TL0=-(XMS%256);
disppoint&=3;
put_num(buf[disppoint]);
//if(disppoint==2)P0&=~0x20; /* 小數(shù)點*/
P1=low[disppoint];
disppoint++;
if(stop){EA=1;return;}
//----
ms--;
if(ms==0)
?{
?ms=100;
?buf[3]++;
?if(buf[3]>9)
??{buf[3]=0;
??buf[2]++;
??if(buf[2]>9)
???{buf[2]=0;
???buf[1]++;
???if(buf[1]>9)
????{buf[1]=0;
????buf[0]++;
????if(buf[0]>9)buf[0]=0;
????}
???}
??}
?}
EA=1;
}
main()
{
TMOD=0x01;
TH0=-(XMS/256);?/* 5ms */
TL0=-(XMS%256);
TR0=1;
EA=1;
while(1)
?{
?EA=1;
?ET0=1;
?if(!KEY1 && stop!=0){stop=0;delayms(100);}
?if(!KEY2 && stop==0){stop=1;delayms(100);}
?if(!KEY3)
??{buf[0]=buf[1]=buf[2]=buf[3]=0;
??stop=1;
??delayms(100);}
?}
}
?

5、AT89S5x看門狗
#include
#include


sfr AUXR??? = 0x8E;??//定義AT89S51擴(kuò)展寄存器
sfr WDTRST? = 0xA6;

void clr_wdt();
main()
{
?AUXR = 0xff;??// 初始化看門狗相關(guān)寄存器
?while(1)???// 主循環(huán)
?{
??clr_wdt();??// 8191個機(jī)器周期內(nèi)必須至少調(diào)用此程序一次
??????// 否則看門狗會溢出
??
??// 其它子程序?
??// ?
?}
}
void clr_wdt()
{
?WDTRST = 0x1E;??// 清除看門狗指令
?WDTRST = 0xE1;??//?
}
?

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 日韩毛片免费视频一级特黄 | 五月婷婷伊人网 | 欧美成人全部费免网站 | tom影院亚洲国产日本一区 | 亚洲人成网站色7799在线观看 | 男男扒开后菊惩罚 | 一级在线观看视频 | 天堂福利视频 | 亚洲电影一区二区 | 超黄视频在线观看 | 国产美女在线精品观看 | xxxxxx性| 丁香综合 | 五月天婷婷久久 | 四虎电影免费观看网站 | 久久riav二区三区 | 在线免费观看一区二区三区 | 操一操日一日 | 国产专区青青草原亚洲 | 欧美在线视频一区二区三区 | 电源天堂| 亚洲女同一区二区 | 韩国韩宝贝2020vip福利视频 | 免费人成在线观看视频播放 | 久久国产精品免费看 | 三级欧美在线 | 色免费观看 | 手机免费看a | 色成人免费网站 | 欧美一级视频在线观看欧美 | 丁香狠狠色婷婷久久综合 | 狠狠狠狠狠操 | 国产成年网站v片在线观看 国产成人91青青草原精品 | 狠狠丁香激情久久综合 | 好爽好黄的视频 | 看大片全色黄大色黄 | 欧美αv日韩αv另类综合 | 精品国产柚木在线观看 | 天天色综合三 | 色费女人18女人毛片免费视频 | 黄色一级视频网 |