㈠ 求一個用51單片機c語言寫出脈沖信號
去買本單片機編程的書看看,這種基本的程序,上邊都有
㈡ 怎麼用C語言編寫一個程序,輸入三個數值,然後輸出其中最大者。
#include
int
main()
{
int
a,b,c;//定義三個整形變數用來存儲那從鍵盤輸出的三個數
printf("請輸入3個數:");//提示語
scanf("%d
%d
%d",&a,&b,&c);//從鍵盤輸出三個數到a,b,c中
int
max;
//下面是最簡單的if循環求出這三個數最大值存入max中
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else
{
if(b>c)
{
max=b;
}
else
{
max=c;
}
}
printf("這三個數的最大數為:
%d\n",max);
return
0;
}
㈢ 51單片機C語言編程 如果我想完成以下要求,該如何編程:
當P0^0接收到信號時,每接收a個高電平,P1^0輸出一組方波,為c個脈沖;
當P0^1接收到信號時,每接收b個高電平,P1^0輸出一組方波,為c個脈沖。
方波的頻率可以先不考慮,a,b,c均為常數
#include <reg51.h>
sbit P0^0 = P00;
sbit P0^1 = P01;
sbit P1^0 = P10;
void P10_OUT(void)
{
char c = 20;
while(c) {
P10 = 0; DELAY();
P10 = 1; DELAY();
c--;
}
}
void main(void)
{
char a = 0, b = 0;
bit P00H = 0, P01H = 0;
while(1) {
//下面檢測 P00
if (P00) P00H = 1; //信號是高電平, 就記錄下來
else { //信號是低電平
if (P00H) { //如果上次是高電平,
a++; //這就是收到了一個信號
if(a == 100) { //到了100 ?
P10_OUT();//就輸出
a = 0;
}
}
P00H = 0;
} //上面的,實際上是檢測 P00 輸入下降沿的個數
//下面檢測 P01
//和上面的程序,雷同,略。
// …………
}
}
㈣ 如何用C語言實現3秒的脈沖
輸出高電平,延時(脈寬),輸出低電平,延時至三秒(周期).
重復上述步驟.
㈤ c語言編寫單片機計數脈沖
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint times,freq;
sbit p35=P3^5;
main()
{
TMOD=0x01;
TH0=0;
TL0=0;
while(1)
{
while(p35);
TR0=1;
while(!p35);
while(p35);
TR0=0;
times=TH0*256+TL0;
freq=1000000/times;
//處理頻率,自己做
}
}
㈥ 怎麼用c語言控制單片機輸出高低電平
以標准51單片機為例:
①先要對埠進行定義: sbit P11=P1^1;
②通過賦值 進行 電平輸出:P11=1; P11=0;
㈦ 單片機C程序:怎麼讓單片機輸出一個方波的脈沖,並且它的高電平持續時間可以控制,是不是還要接D/A。。。
51單片機只能通過控制i/o口輸出電平高低輸出方波了,不用D/A就可以實現啊,接倆按鍵,一個是高電平時間增加一個是減少,,,,動腦筋想想,不難實現的,祝你成功
㈧ c語言脈沖發生器
你說的是單片機C編程吧,不知道你要的脈沖頻分是多少,也不知道你用的是哪種單片機,只能給你個思路.
while(1)
{
定時1;
輸出高電平信號;
定時2;
輸出低電平信號;
}
定時1和定時2要自己控制,可用單片機的定時器做,也可以用循環做.
㈨ 如何寫一個單片機輸入上升沿和下降沿的脈沖輸出信號的c語言程序
這個簡單,從低到高就是上升輸出,重高到低就是下降輸出
#include<reg51.h>
sbit pluse=P1^0;
main()
{
int i;
while(1)
{
pluse=0; //此時為下降輸出
i=100;
while(i--);
pluse=1; //此時為上升輸出
i=100;
while(i--);
}
}