當前位置:首頁 » 編程語言 » 設計一個控制的c語言程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

設計一個控制的c語言程序

發布時間: 2022-12-25 06:44:50

『壹』 用c語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!

C語言實現LED燈閃爍控制配套51單片機開發板。

#include //包含單片機寄存器的頭文件

/****************************************
函數功能:延時一段時間

*****************************************/

void delay(void) //兩個void意思分別為無需返回值,沒有參數傳遞。

{

unsigned int i; //定義無符號整數,最大取值范圍65535。

for(i=0;i<20000;i++) //做20000次空循環。

; //什麼也不做,等待一個機器周期。

}

/*******************************************************

函數功能:主函數 (C語言規定必須有也只能有1個主函數)。

********************************************************/
void main(void)

{

while(1) //無限循環。

{

P0=0xfe; //P1=1111 1110B, P0.0輸出低電平。

delay(); //延時一段時間。

P0=0xff; //P1=1111 1111B, P0.0輸出高電平。

delay(); //延時一段時間。

}

}

單片機驅動LED燈的源程序:

#include<reg52.h> //頭文件。

#define uint unsigned int

#define uchar unsigned char

sbit LED1=P1^7; //位定義。

void delay_ms(uint);//mS級帶參數延時函數。

void main()

{

while(1)

{

LED1=0;

delay_ms(1000);

LED1=1;

delay_ms(1000);

}

}

void delay_ms(uint z) //延時子程序

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(1)設計一個控制的c語言程序擴展閱讀:

單片機應用分類:

通用型:

這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。

匯流排型:

這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接。

另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。

控制型:

這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型。

通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。

參考資料來源:網路-單片機



『貳』 C語言程序設計編寫一個交通紅綠燈的控制,各位高手幫幫忙急!

unsigned char counter;
sbit red_nb=P2^0;
......
void main()
{
TMOD=
TH0
TL0
ET0
TR0
while(1) //根據樓主所給,有4種狀態
{
state1;
state2;
state3;
state4;

}
}
void timer0() interrupt 1 //定時器0
{
TH0=0x3c;
TL0=0xb0;
counter++;
}
void state1() //控制南北紅燈亮,東西綠燈亮,30s
{
unsigned char temp = 30;
red_nb=1;
.....
green_dx=1;

while(1)
{
if( counter>19){counter=0;temp--} //每次counter=20,即1s,temp自減
if(temp) break; //當temp為0時,即30秒,退出狀態1,進入狀態2

}
}
沒經過測試,完全是5分誘惑不大。。

『叄』 任務:用C語言設計程序,完成8個數碼管的顯示控制

假設8個數碼管公共端均接地,同時顯示1-9
#include
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
code
dsy_code[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff
};
void
delayms(uint
x)
{
uchar
t;
while(x--)
for(t=120;t>0;t--);
}
void
main()
{
uchar
i=0;
p0=0x00;
while(1)
{
p0=~dsy_code[i];
i=(i+1)%10;/*顯示0-9*/
delayms(200);
}
}
下面程序從左到右顯示
#include
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
code
dsy_code[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
void
delayms(uint
x)
{
uchar
i;
while(x--)
{
for(i=200;i>0;i--);
}
}
void
main()
{
uchar
i,k=0x80;
while(1)
{
for(i=8;i>0;i--)
{
p2=0xff;
k=_crol_(k,1);
p0=dsy_code[8-i];
p2=k;
delayms(3);
}
}
}

『肆』 匯編語言或C語言編寫一個控制燈閃爍的程序

我寫的這個程序應該可以,按一下燈亮,再按一下燈滅
#include
"REG52.H"
sbit
LED1_01
=
P1^1;
//LED燈
sbit
KEY0_01
=
P1^2;
//按鍵
void
Delay_1ms(unsigned
int
Time)
{
unsigned
int
x,
y;
for(x
=
Time;
x
>
0;
x--)
for(y
=
120;
y
>
0;
y--);
}
int
main(void)
{
LED1_01
=
1;
//打開LED燈點亮
while(1)
{
if(KEY0_01
==
0)
//檢測按鍵是否按下
{
Delay_1ms(10);
//延時去抖動
if(KEY0_01
==
0)
//確定按鍵按下
{
LED1_01
=
~
LED1_01;
//取反LED燈
[

.

]
}
while(KEY0_01
==
0);
//檢測鬆手
}
}
}
你的圖里有A/D轉換器
AD轉換函數ADC_DIS.C
#include
<REGX51.H>
#include"def.h"
#include"lib.h"
sbit
adc_cs=P1^0;
sbit
adc_rd=P1^1;
sbit
adc_wr=P1^2;
/***ADC0804啟動轉換函數***/
INT8U
start_ad()
{
INT8U
temp;
adc_cs=0;
adc_wr=1;
delay(1);
adc_wr=0;
delay(1);
adc_wr=1;
delay(1);
//啟動AD
adc_rd=1;
delay(1);
adc_rd=0;
delay(1);
temp=P2;
delay(1);
adc_rd=1;
delay(1);
//讀取數據
return
temp;
}
用這個程序。

『伍』 c語言程序設計

第一章 程序設計的基本概念

第一節 C語言的發展歷史與特點

第二節 程序與程序設計

第三節 演算法與演算法的描述

第四節 C語言的上機操作

思考題與習題

第二章 C語言程序設計基礎

第一節 C語言的程序結構

第二節 數據類型

第三節 運算符與表達式

思考題與習題

第三章 C程序控制結構

第一節 C程序的三種基本控制結構

第二節 順序結構

第三節 選擇結構

第四節 循環結構

思考題與習題

第四章 數組

第一節 數組與數組元素的概念

第二節 一維數組

第三節 二維數組及多維數組

第四節 字元串與字元數組

思考題與習題

第五章 指針

第一節 指針與指針變數的概念

第二節 指針變數的定義和引用

第三節 指針變數與數組

思考題與習題

第六章 函數

第一節 函數的定義

第二節 函數的嵌套調用

第三節 數組作為函數參數

第四節 指針與函數

第五節 變數的使用范圍與存儲類別

第六節 不同文件中的函數使用

思考題與習題

第七章 編譯預處理

第一節 宏定義

第二節 文件包含

第三節 條件編譯

思考題與題

第八章 結構體與共用體

第一節 結構體基礎

第二節 結構體數組

第三節 結構體指針

第四節 鏈表

第五節 位段

第六節 共用體

第七節 枚舉類型與自定義類型

思考題與習題

第九章 文件

第一節 文件概述

第二節 文件的打開與關閉

第三節 文件的讀/寫

第四節 文件的定位

思考題與習題

第十章 程序設計方法

第一節 程序設計的基本概念

第二節 結構化程序設計方法

第三節 程序效率

第四節 程序設計風格

思考題與習題

附錄

附錄A C語言實驗

附錄B 標准ABSII碼表

附錄C C語言中的關鍵字

附錄D 運算符的優先順序與結合性

『陸』 寫出單片機LED閃爍的C語言控製程序,並說明程序的含義

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。[2]
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。[3]
馮.諾依曼在1945年提出了現代計算機的若干思想,被後人稱為馮.諾依曼思想,這是計算機發展史上的里程碑。自1945 年至今大多採用其結構,因此馮.諾依曼被稱為計算機之父。他的體系結構計算機由運算器、控制器、存儲器、輸入設備、輸出設備五大部件構成。 C語言擁有一套完整的理論體系經過了漫長的發展歷史,在編程語言中具有舉足輕重的地位。[4]
發展歷史
C語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言為基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發展,c語言也得到了不斷的完善。為了利於C語言的全面推廣,許多專家學者和硬體廠商聯合組成了C語言標准委員會,並在之後的1989年,誕生了第一個完備的C標准,簡稱「C89」,也就是「ANSI c」,截至2020年,最新的C語言標准為2017年發布的 「C17」。[5]
C語言之所以命名為C,是因為C語言源自Ken Thompson發明的B語言,而B語言則源自BCPL語言。

『柒』 C語言程序設計(循環控制用while ,do-while,for語句

你看這個應該滿足要求吧。我把三種循環方式都用上了:
#include<stdio.h>
#include<math.h>
int
isprime(int
n)
{
int
i,t;
if(n==2)
return
1;
if(n%2==0
||
n<2)
return
0;
for(i=3,t=(int)sqrt(n);i<=t;i+=2)
{
if(n%i==0)
return
0;
}
return
1;
}
void
main()
{
int
i,a,n;
i=0;
do
{
printf("Input
an
integer
(>=1):");
scanf("%d",&a);
if(a>=1)
break;
}while(++i<3);
if(i==3)
exit(0);
printf("prime
submultiples:\n");
i=1;
n=0;
while(i<=a)
{
if(a%i==0)
if(isprime(i))
{
printf("%d
",i);
n++;
if(n%10==0)
printf("\n");
}
i++;
}
printf("\nnumbers
of
prime
submultiples:%d\n",n);
}

『捌』 用C語言編寫按鍵控制流水燈的程序

1滅)。編譯器keil
c代碼如下:
#include<reg51.h>
#include<intrins.h>
//包含循環左移函數
_cro_l頭文件
unsigned
char
tmp;
//中間變數
//////////////////////////////////////////////////////////////////////////////////////////////////
//
延時子程序
////////////////////////////////////////////////////////////////////////////////////////////////
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//
主函數
////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
while(1)
//外層循環
{
tmp
=
0xfe;
p1
=
tmp;
while(1)
//內層循環,執行1、3、5、7亮燈循環
{
delay(30000);
//延時以便能觀察到燈亮移動,自己可以調整時間,由晶振和實參決定
tmp
=
_crol_(tmp,2);
p1
=
tmp;
if(tmp
==
0xbf)
//判斷是否已經點亮到第7燈。是,則退出進入2、4、6、8循環
{
break;
}
}
tmp
=
0xfd;
p1
=
tmp;
while(1)
//內層循環,執行2、4、6、8亮燈循環
{
delay(30000);
//延時以便能觀察到燈亮移動,自己可以調整時間,由晶振和實參決定
tmp
=
_crol_(tmp,2);
p1
=
tmp;
if(tmp
==
0x7f)
//判斷是否已經點亮到第8燈。是,則退出進入1、3、5、7循環
{
break;
}
}
}
}