新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的方波發(fā)生程序

基于51單片機(jī)的方波發(fā)生程序

作者: 時(shí)間:2012-08-06 來(lái)源:網(wǎng)絡(luò) 收藏
這是一個(gè)最簡(jiǎn)單的程序,在的控制下由p1.0腳發(fā)出500赫茲的方波要求:6MHz的晶振,P1.0引腳產(chǎn)生500Hz的方波代碼如下:#includereg52.h>sbit P1_0=P1^0;void int_X_T(){IE=0x82;TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;??     ??}void int_x() interrupt 1{TH0=(65536-500)/256;TL0=(65536-500)??%256;P1_0=!P1_0;}void main()??{int_X_T();while(1);}

---------------------------------------------------------------------------------------------------------------------------

還有一個(gè)程序:

//用中斷方式控制方式1(16位),完成1s的脈沖,1S亮,1S滅,P0口控制LED  //#includereg52.h>#define uchar unsigned char#define uint  unsigned intsbit d0=P0^0;uint num,a,b;void main(){EA=1;ET0=1;TR0=1;//或者是TCON=0X10// 定時(shí)器0工作//TMOD=0X01;///這是設(shè)置定時(shí)器的工作方式:定時(shí)器0的方式1//TH0=0X3C;TL0=0XB0;//給定時(shí)器放初值//PT0=1;while(1){ if(num==4000){d0=!d0;num=0;}}}void timer0() interrupt 1{  TH0=0X3C;TL0=0XB0;// 中斷 定時(shí)器方式1定時(shí),當(dāng)定時(shí)到時(shí),TF0溢出標(biāo)志 自動(dòng)清零,//同時(shí)定時(shí)器的計(jì)數(shù)器計(jì)滿自動(dòng)清零,如果不加,則計(jì)時(shí)時(shí)間變化 num++;}


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉