成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

c語言里的方波函數 方波 函數

如何用C語言編程使單片機產生方波信號?

普通51的話需要模擬PWM,如果是加強版51有內置PWM模塊,

成都創(chuàng)新互聯公司是工信部頒發(fā)資質IDC服務器商,為用戶提供優(yōu)質的達州服務器托管服務

PIC和AVR以及430還有STM也有集成PWM的型號!

如果是單純輸出方波的話就簡單了。

程序如下:

//功能,按下P1_0的開關降低頻率,按P1_1為升高頻率

#includeAT89X52.H ?//引用AT89X52的庫文件

#define?uchar?unsigned?char ?//替換簡稱

#define?uint??unsigned?int ?//替換簡稱

uchar?sm; //定義臨時變量

void?delay_ms(uint?ms) //延時子函數,一個循環(huán)12uS

{

while(--ms);

}

void?T0_IRQ(void)?interrupt?TF0_VECTOR ?//定時器0中斷函數

{

TH0=sm; ?//將變量賦予定時器0的高位

P2_0=!P2_0; ?//翻轉IO

}

?//寄存器初始化子函數

void?mcu_init()

{

ET0=1; //開定時器0中斷

EA=1; ??? //開總中斷

TMOD=0x01;? //設置為16位定時器0

TH0=0xFF; //填充定時器高位

TR0=1; //開定時器0

sm=0xFF; //變量初始化

}

void?main() //主函數

{

mcu_init(); //調用初始化函數

while(1) //主循環(huán)

{

if((!P1_0)||(!P1_1))?? //檢測是否有按鍵按下

{

delay_ms(8333); //延時去抖

if(!P1_0) //如果是P1_0按鍵按下

{

while(!P1_0); //等待按鍵放手

if(sm) //檢測變量不為0

{

? --sm; //自減1

P2_1=1; //取消邊界LED

}

else?P2_1=0; //到達邊界點亮LED

}

else?if(!P1_1) //否則如果P1_1按鍵按下

{

while(!P1_1); //等待按鍵放手

if(sm0xFF) //檢測變量小于0xFF

{

?? ++sm; ? //自加1

P2_1=1;

}

else?P2_1=0;

}

}

}

}

怎樣用C語言編寫一個方波函數?

附上代碼,講解在后面:

public class Program

{

static void Main(string[] args)

{

ListPoint range = new ListPoint(5 * 5);

for (int i = 0; i 5; i++)

{

for (int j = 0; j 5; j++)

{

range.Add(new Point { X = j, Y = i });

}

}

//移動方向的順序

MoveDirection[] md = new[]

用c語言編程實現C8051F300單片機1s定時,50Hz的方波輸出

#include

sbit wave=P1^0;

void SetupTimer0()

{

TMOD = 0XF0; //僅保留T1信息

TMOD |= 0X02; //設置T0: 定時功能,方式2,自動重載8位定時器/計數器

TH0 = 256-250;//定時每0.25ms中斷一次

TL0 = 256-250;

TR0 = 1; //開啟定時器

ET0 = 1; //定時器0中斷打開

}

data unsigned char us250;

data unsigned int ms;

bit WAVE; //用以記住當前wave的狀態(tài)

void Timer0_ISR() interrupt 1 //定時中斷服務程序,為按鍵消抖服務

{

if (++us2504) return;

us250=0; ++ms;

if (ms10) return;

//每10ms波形變化一次,20ms完成一個波形,所以波形是50Hz的

ms=0;

WAVE=~WAVE; wave=WAVE; //方波輸出

}

void main()

{

us250=ms=0;

wave=WAVE=0;

SetupTimer0();

EA = 1; //全局中斷打開

while(1); //在中斷函數中實現方波輸出

}

如何用c語言編寫一段方波

最好還是不要用延時函數

比較準確的方法是利用定時器

以c51為例:

/*********定時器方波************/

/*********16位定時器************/

/************機器周期1us********/

/*********占空比50%*************/

/*********方波周期1s*************/

int a; // 定義全局整形變量

void int() interrupt 1

{

設置定時器初值為500;

a++;

if(a == 1000)

{

"輸出取反"

}

}

當前題目:c語言里的方波函數 方波 函數
路徑分享:http://jinyejixie.com/article32/dodocsc.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站內鏈、外貿建站搜索引擎優(yōu)化、服務器托管、網站營銷、網頁設計公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設
镇康县| 濉溪县| 嘉鱼县| 邢台市| 万安县| 工布江达县| 抚州市| 太康县| 齐河县| 平和县| 康保县| 洛川县| 射洪县| 高邮市| 绥滨县| 锦屏县| 通许县| 科技| 武隆县| 兴业县| 阳春市| 义马市| 固阳县| 光山县| 富顺县| 朔州市| 滨州市| 普宁市| 潞西市| 渭源县| 北川| 苏尼特右旗| 清镇市| 通道| 福贡县| 丰县| 农安县| 龙南县| 芜湖县| 香港| 墨竹工卡县|