導航:首頁 > 編程語言 > c程序舉例

c程序舉例

發布時間:2023-09-17 18:28:04

① c語言程序設計實例

這是個宏定義,表示後面那個格式化字元串以FORMAT來代替

② 用C語言編寫一個簡單程序,有哪些步驟,可以舉一個例子詳細講解下嗎

#include<stdio>
//這個是頭文抄件襲
也是
C語言裡面最常用的頭文件之一
int
main()//這個是主函數
也就是程序的入口
你寫的程序就是從這里開始的
{
//這個
{
}表示裡面的范圍
是必須的
跟main
主函數是不可分的
int
a=2;
//這里表示有一個
int型的數據a(int型就是整數型)把2
賦值給a,你先理解為a=2
printf(「%d,a」);//printf函數的意思是在界面輸入,%d
的意思是
整形數據的輸出格式
對應的
是a,而每一段結束後都要用
;
去表示結束
return
0;
//這個表示
返回
0
給主函數
,你理解為結束語句也行。
}

③ 200行以上C語言程序舉例

無聊,粘著玩 657行

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdarg.h>
#include <ctype.h>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <Winsock2.h>
#include <ws2tcpip.h>
#include <io.h>

int raw2iframe(char *rawfile, char *ifile );
int Ts_pes(const char *src, const char *des ,unsigned short pid);
int pes_raw( char *pesfile, char *rawfile );
int es_pes(char *src, char *des);
int pes_ts(char *tsfile, char *pesfile);

static unsigned char m_buf[188 * 1024];
static unsigned char buf[188*1024];

/* 設置Dts時間戳(90khz) */
unsigned int SetDtsTimeStamp( unsigned char *buf, unsigned int time_stemp)
{

buf[0] = ((time_stemp >> 29) | 0x11 ) & 0x1f;
buf[1] = time_stemp >> 22;
buf[2] = (time_stemp >> 14) | 0x01;
buf[3] = time_stemp >> 7;
buf[4] = (time_stemp << 1) | 0x01;
return 0;
}

/* 設置Pts時間戳(90khz) */
unsigned int SetPtsTimeStamp( unsigned char *buf, unsigned int time_stemp)
{

buf[0] = ((time_stemp >> 29) | 0x31 ) & 0x3f;
buf[1] = time_stemp >> 22;
buf[2] = (time_stemp >> 14) | 0x01;
buf[3] = time_stemp >> 7;
buf[4] = (time_stemp << 1) | 0x01;
return 0;
}

/* 讀取時戳(45khz) */
unsigned int GetTimeStamp( unsigned char *buf )
{
unsigned int ts;
unsigned char *p = buf;

ts = ((*p>>1) & 0x7) << 30;
p++;
ts += (*p) << 22;
p++;
ts += ((*p)>>1) << 15;
p++;
ts += (*p) << 7;
p++;
ts += (*p) >> 1;
p++;

return ts;
}

/*主函數*/
int main(void)
{
Ts_pes("shoes.ts", "641.pes", 641); //提取PES
pes_raw("641.pes","641.raw"); //提取ES
raw2iframe( "641.raw", "641.iframe" ); //提取I幀
es_pes("641.iframe", "es.pes"); //打包成PES
pes_ts("pes.ts","es.pes"); //打包成TS
return 0;
}

/*從視頻中提取PES*/
int Ts_pes(const char *src, const char *des ,unsigned short pid)
{
unsigned char *p;
FILE *fpr, *fpw;
int size;
int ret;
unsigned short vpid;
unsigned char adaptation_field_control;
unsigned char continuity_counter;
unsigned char adaptation_field_length;
unsigned char *payload;
unsigned char payload_unit_start_indicator;
unsigned char last_counter = 0xff;
int start = 0;
fpr = fopen(src, "rb"); //打開文件
fpw = fopen(des, "wb"); //寫入文件
if(NULL == fpr || NULL == fpw)
{
return -1;
}
size = sizeof(m_buf);

while(!feof(fpr))
{
ret = fread(m_buf, 1, size, fpr ); //讀取文件
p = m_buf;
while(p < m_buf + ret)
{
vpid = (p[1] & 0x1f) << 8 | p[2];
if(pid == vpid)
{
adaptation_field_control = (p[3]>>4)&0x3; //判斷是否有可調整欄位
continuity_counter = p[3] & 0xf;
payload_unit_start_indicator = (p[1]>>6) & 0x1;
payload = NULL;
adaptation_field_length = p[4];
switch(adaptation_field_control)
{
case 0:
case 2:
break; /*0為保留,2為只有調整無負載*/
case 1:
payload = p + 4; /*無調整欄位*/
break;
case 3:
payload = p + 5 + p[4];/*凈荷*/
break;
}
if(1 == payload_unit_start_indicator)
{
start = 1;
}
if(start && payload)
{
fwrite(payload, 1, p + 188 - payload, fpw); //寫入文件
}
if( last_counter!= 0xff && ((last_counter +1 )&0xf) != continuity_counter )
{
printf( "data lost\n" );
}
last_counter = continuity_counter;
}
p = p + 188;
}
}

printf("ts_pes_END\n");

fclose(fpr); //關閉
fclose(fpw);
return 0;
}

/*從PES中提取ES*/
int pes_raw( char *pesfile, char *rawfile )
{
FILE *fpd, *fp;
unsigned char *p, *payload, *tmp;
int size, num, rdsize;
unsigned int last = 0;
__int64 total = 0, wrsize = 0;

fp = fopen( pesfile, "rb" );
fpd = fopen( rawfile, "wb" );
if( fp == NULL || fpd == NULL )
return -1;

num = 0;
size = 0;
p = m_buf;

while( true )
{
REDO:
if( m_buf + size <= p )
{
p = m_buf;
size = 0;
}
else if( m_buf < p && p < m_buf + size )
{
size -= p - m_buf;
memmove( m_buf, p, size );
p = m_buf;
}

if( !feof(fp) && size < sizeof(m_buf) )
{
rdsize = fread( m_buf+size, 1, sizeof(m_buf)-size, fp );
size += rdsize;
total += rdsize;
}
if( size <= 0 )
break;

tmp = p;
/* 尋找PES-HEADER: 0X000001E0 */
while( p[0] != 0 || p[1] != 0 || p[2] != 0x01 ||
( ( p[3] & 0xe0 ) != 0xe0 && ( p[3] & 0xe0 ) != 0xc0 ) )
{
p++;
if( m_buf + size <= p )
goto REDO;
}
if( p != tmp )
{
printf( "pes skip size=%d\n", p - tmp );
}
/* PES_packet_length */
unsigned short len = (p[4]<<8) | p[5];
if( len == 0 )
{
unsigned char *end = p + 6;
while( end[0] != 0 || end[1] != 0 || end[2] != 0x01 ||
( ( end[3] & 0xe0 ) != 0xe0 && ( end[3] & 0xc0 ) != 0xc0 ) )
{
if( m_buf + size <= end )
{
if( feof(fp) )
break;
goto REDO;
}
end++;
}
len = end - p - 6;
}
if( m_buf + size < p + 6 + len )
{
if( feof(fp) )
break;
continue;
}
p += 6;

{
unsigned char PES_scrambling_control = (*p>>4)&0x3;
unsigned char PES_priority = (*p>>3)&0x1;
unsigned char data_alignment_indicator = (*p>>2)&0x1;
unsigned char right = (*p>>1)&0x1;
unsigned char original_or_ = (*p)&0x1;
p++;
unsigned char PTS_DTS_flags = (*p>>6)&0x3;
unsigned char ESCR_flag = (*p>>5)&0x1;
unsigned char ES_rate_flag = (*p>>4)&0x1;
unsigned char DSM_trick_mode_flag = (*p>>3)&0x1;
unsigned char additional__info_flag = (*p>>2)&0x1;
unsigned char PES_CRC_flag = (*p>>1)&0x1;
unsigned char PES_extension_flag = (*p)&0x1;
p++;
unsigned char PES_header_data_length = *p;
p++;

payload = p + PES_header_data_length;

if (PTS_DTS_flags == 0x2 )
{
unsigned int pts;
pts = (*p>>1) & 0x7;
pts = pts << 30;
p++;
pts += (*p)<<22;
p++;
pts += ((*p)>>1)<<15;
p++;
pts += (*p)<<7;
p++;
pts += (*p)>>1;
p++;

p -= 5;

if( pts < last )
{
printf( "?\n" );
}
last = pts;
}
else if( PTS_DTS_flags == 0x3 )
{
unsigned int pts, dts;

pts = (*p>>1) & 0x7;
pts = pts << 30;
p++;
pts += (*p)<<22;
p++;
pts += ((*p)>>1)<<15;
p++;
pts += (*p)<<7;
p++;
pts += (*p)>>1;
p++;

dts = (*p>>1) & 0x7;
dts = dts << 30;
p++;
dts += (*p)<<22;
p++;
dts += ((*p)>>1)<<15;
p++;
dts += (*p)<<7;
p++;
dts += (*p)>>1;
p++;

p -= 10;
printf( "num=%d ra=%d size=%d pts-dts=%d\n", num, pts - last, len-3-PES_header_data_length, (int)(pts-dts) );
if( pts < last )
{
printf( "?\n" );
}
last = pts;
}
else if( PTS_DTS_flags != 0 )
{
printf( "error\n" );
}

if( fpd )
{
fwrite( p + PES_header_data_length, 1, len - 3 - PES_header_data_length, fpd );
wrsize += len - 3 - PES_header_data_length;
}
num++;
p += len - 3;
}

payload = p;
size -= p - m_buf;
memmove( m_buf, p, size );
p = m_buf;
}

fclose( fp );
fclose( fpd );

printf("pes_raw_END\n");
return 0;
}

/*提取I幀*/
int raw2iframe(char *rawfile, char *ifile )
{
unsigned char *temp_p;
unsigned char *p;
unsigned char picture_coding_type;
unsigned char buf[188*1024] = {0};
unsigned char pes_buf[32*1024] = {0};
unsigned short pid = 641;
unsigned short t_pid = 0;
int i = 0;
int j = 0;
int size = 0;
int iLen = 0;
int wiLen = 0;
int temp_queue = 0;
int temp_ifrem = 0;

void *fps = CreateFile(rawfile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); //打開讀文件
void *fpd = CreateFile(ifile, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, 0 , NULL); //打開寫文件

temp_p = NULL;

while(1)
{
if (0 == ReadFile(fps, buf+size, sizeof(buf)-size, (unsigned long *)&iLen, NULL)) //讀取文件內容
{
CloseHandle((HANDLE)fps);
return -1;
}

if (0 == iLen)
{
break;
}

p = buf;

while( p + 6 < buf + iLen +size)
{
if (p[0] == 0x0 && p[1] == 0x0 && p[2] == 0x1) //是頭進入
{

if (p[3] == 0x0 || p[3] == 0xB3 )
{
if ( (NULL != temp_p) && ((1 == temp_queue) || (1 == temp_ifrem)))
{
WriteFile(fpd, temp_p, p-temp_p, (unsigned long *)&wiLen, NULL); //寫文件,先寫序列頭,再寫I幀
temp_queue = 0;
temp_ifrem = 0;
temp_p = NULL;
}
}

if (p[3] == 0xB3) //判斷是視頻序列,則初始化
{
temp_queue = 1;
temp_p = p;
}

picture_coding_type = (p[5]>>3) & 0x7;
if (p[3] == 0x0 && 1 == picture_coding_type) //判斷是I幀,則初始化
{
temp_ifrem = 1;
temp_p = p;
}
}

p++;
}
/*把多出來的內容寫入下個BUF*/
if(NULL != temp_p)
{
size = buf + iLen + size - temp_p;
memmove(buf, temp_p, size);
}
else
{
size = buf + iLen + size - p;
memmove(buf, p, size);
}

temp_p = NULL;
}

CloseHandle((HANDLE)fps);
CloseHandle((HANDLE)fpd);

printf("raw_iframe_END\n");

return 0;
}

/*打包成PES*/
int es_pes(char *src, char *des)
{
FILE *iframe_fp, *pes_fp;
unsigned char *p;
unsigned char *temp_p = NULL;
unsigned char buf[188*1024] = {0};
unsigned char pes_header[19];
unsigned short int pes_packet_length = 0;
unsigned int framecnt = 0;
unsigned char flag = 0;
unsigned int Pts = 0;
unsigned int Dts = 0;
int i = 0;
int size = 0;
int iLen = 0;
int wiLen = 0;
int temp_que = 0;

iframe_fp = fopen( src, "rb" );
pes_fp = fopen( des, "wb" );
if( iframe_fp == NULL || pes_fp == NULL )
{
return -1;
}

while(!feof(iframe_fp))
{
iLen = fread(buf + size, 1, sizeof(buf) - size, iframe_fp);
p = buf;

while( p + 3 < buf + iLen +size)
{
memset(pes_header, 0, sizeof(pes_header));
if (p[0] == 0x0 && p[1] == 0x0 && p[2] == 0x1 && 0xB3 == p[3])
{
if ((NULL != temp_p) && (1 == temp_que))
{
LAST_I:
pes_packet_length = p - temp_p + 13;
pes_header[4] = (pes_packet_length&0xff00) >> 8;
pes_header[5] = pes_packet_length&0x00ff;
/*PES包頭的相關數據*/
pes_header[0] = 0;
pes_header[1] = 0;
pes_header[2] = 0x01;
pes_header[3] = 0xE0;
pes_header[6] = 0x81;
pes_header[7] = 0xC0;
pes_header[8] = 0x0A;

Dts = (framecnt + 1) * 40 * 90;
Pts = framecnt * 40 * 90;
SetPtsTimeStamp(&pes_header[9], Pts); //設置時間戳 PTS
SetDtsTimeStamp(&pes_header[14], Dts); //設置時間戳 DTS
framecnt++;
if (0 == flag)
{
fwrite(pes_header, 1, sizeof(pes_header), pes_fp); //把PES包頭寫入文件
fwrite(temp_p, 1, p-temp_p, pes_fp); //把I幀寫入文件
}
else
{
fwrite(pes_header, 1, sizeof(pes_header), pes_fp); //把PES包頭寫入文件
fwrite(temp_p, 1, p-temp_p+3, pes_fp); //把I幀寫入文件
}

temp_p = NULL;

}

if (p[3] == 0xB3) //判斷是否到了下一個序列頭
{
temp_p = p;
temp_que = 1;
}
}

p++;
}

/*把多出來的內容寫入下個BUF*/
if(NULL != temp_p)
{
if (feof(iframe_fp)) //把最後一幀寫入文件
{
// flag = 1;
goto LAST_I;
}

size = buf + iLen + size - temp_p;
memmove(buf, temp_p, size);
}
else
{
size = buf + iLen + size - p;
memmove(buf, p, size);
}

temp_p = NULL;
}

printf("es_pes_END\n");

fclose(iframe_fp);
fclose(pes_fp);

return 0;
}

/*打包成TS包*/
int pes_ts(char *tsfile, char *pesfile)
{
FILE *ts_fp, *pes_fp;
int flag = 0;
int iLen = 0;
int size = 0;
int temp_pes = 0;
int pes_packet_len = 0;
unsigned char *p;
unsigned char counter = 0;
unsigned char *temp_p = NULL;
unsigned char ts_buf[188] = {0};
unsigned char start_indicator_flag = 0;

pes_fp = fopen(pesfile, "rb");
ts_fp = fopen(tsfile, "wb");
if( ts_fp == NULL || pes_fp == NULL )
{
return -1;
}

/*設ts參數*/
ts_buf[0] = 0x47;
ts_buf[1] = 0x62;
ts_buf[2] = 0x81;

while(!feof(pes_fp))
{
iLen = fread(buf+size, 1, sizeof(buf)-size, pes_fp); //讀文件
p = buf;

while( p + 6 < buf + iLen +size)
{
if (0 == p[0] && 0 == p[1] && 0x01 == p[2] && 0xE0 == p[3]) //進入
{
if (flag == 0) //第一次找到PES包
{
temp_p = p;
flag = 1;
}
else
{
pes_packet_len = p - temp_p; //pes包長度
start_indicator_flag = 0;

while (1)
{
ts_buf[3] = counter;

if (1 != start_indicator_flag)
{
ts_buf[1] = ts_buf[1] | 0x40; //payload_unit_start_indicator置為1
start_indicator_flag = 1;
}
else
{
ts_buf[1] = ts_buf[1] & 0xBF; //payload_unit_start_indicator置為0
}

if (pes_packet_len > 184) //打包成TS包(188)
{
ts_buf[3] = ts_buf[3] & 0xDF;
ts_buf[3] = ts_buf[3] | 0x10;
memcpy(&ts_buf[4], temp_p, 184);
fwrite(ts_buf, 1, 188, ts_fp); //寫文件
pes_packet_len -=184;
temp_p += 184;
}
else //不夠184B的加入調整欄位,為空
{
ts_buf[3] = ts_buf[3] | 0x30;
ts_buf[4] = 183 - pes_packet_len;
memcpy(&ts_buf[4] + 1 + ts_buf[4], temp_p, pes_packet_len);
fwrite(ts_buf, 1, 188, ts_fp); //寫文件

break;
}

counter = (counter + 1) % 0x10; //ts包計數
}
}
temp_p = p;
}

p++;
}

if (1 == flag)
{
size = buf + iLen + size - temp_p;
memmove(buf, temp_p, size);
temp_p = NULL;
flag = 0;
}
else
{
size =buf + iLen + size - p;
memmove(m_buf , p , size);
}
}

printf("pes_ts_END\n");

fclose(pes_fp);
fclose(ts_fp);
return 0;
}

④ 求 單片機簡單的C語言程序例子(越多越好)

我前幾天剛在網上看到的,不知道對你有沒有用》

1. 閃爍燈
1. 實驗任務
如圖4.1.1所示:在P1.0埠上接一個發光二極體L1,使L1在不停地一亮一滅,一亮一滅的時間間隔為0.2秒。
2. 電路原理圖

圖4.1.1
3. 系統板上硬體連線
把「單片機系統」區域中的P1.0埠用導線連接到「八路發光二極體指示模塊」區域中的L1埠上。
4. 程序設計內容
(1). 延時程序的設計方法
作為單片機的指令的執行的時間是很短,數量大微秒級,因此,我們要求的閃爍時間間隔為0.2秒,相對於微秒來說,相差太大,所以我們在執行某一指令時,插入延時程序,來達到我們的要求,但這樣的延時程序是如何設計呢?下面具體介紹其原理:
如圖4.1.1所示的石英晶體為12MHz,因此,1個機器周期為1微秒
機器周期 微秒
MOV R6,#20 2個機器周期 2
D1: MOV R7,#248 2個機器周期 2 2+2×248=498 20×
DJNZ R7,$ 2個機器周期 2×248 498
DJNZ R6,D1 2個機器周期 2×20=40 10002
因此,上面的延時程序時間為10.002ms。
由以上可知,當R6=10、R7=248時,延時5ms,R6=20、R7=248時,延時10ms,以此為基本的計時單位。如本實驗要求0.2秒=200ms,10ms×R5=200ms,則R5=20,延時子程序如下:
DELAY: MOV R5,#20D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RET
(2). 輸出控制
如圖1所示,當P1.0埠輸出高電平,即P1.0=1時,根據發光二極體的單向導電性可知,這時發光二極體L1熄滅;當P1.0埠輸出低電平,即P1.0=0時,發光二極體L1亮;我們可以使用SETB P1.0指令使P1.0埠輸出高電平,使用CLR P1.0指令使P1.0埠輸出低電平。
5. 程序框圖
如圖4.1.2所示

圖4.1.2
6. 匯編源程序ORG 0START: CLR P1.0LCALL DELAYSETB P1.0LCALL DELAYLJMP STARTDELAY: MOV R5,#20 ;延時子程序,延時0.2秒D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND7. C語言源程序#include <AT89X51.H>sbit L1=P1^0;void delay02s(void) //延時0.2秒子程序{unsigned char i,j,k;for(i=20;i>0;i--)for(j=20;j>0;j--)for(k=248;k>0;k--);}void main(void){while(1){L1=0;delay02s();L1=1;delay02s();}}

2. 模擬開關燈
1. 實驗任務
如圖4.2.1所示,監視開關K1(接在P3.0埠上),用發光二極體L1(接在單片機P1.0埠上)顯示開關狀態,如果開關合上,L1亮,開關打開,L1熄滅。
2. 電路原理圖

圖4.2.1
3. 系統板上硬體連線
(1). 把「單片機系統」區域中的P1.0埠用導線連接到「八路發光二極體指示模塊」區域中的L1埠上;
(2). 把「單片機系統」區域中的P3.0埠用導線連接到「四路撥動開關」區域中的K1埠上;
4. 程序設計內容
(1). 開關狀態的檢測過程
單片機對開關狀態的檢測相對於單片機來說,是從單片機的P3.0埠輸入信號,而輸入的信號只有高電平和低電平兩種,當撥開開關K1撥上去,即輸入高電平,相當開關斷開,當撥動開關K1撥下去,即輸入低電平,相當開關閉合。單片機可以採用JB BIT,REL或者是JNB BIT,REL指令來完成對開關狀態的檢測即可。
(2). 輸出控制
如圖3所示,當P1.0埠輸出高電平,即P1.0=1時,根據發光二極體的單向導電性可知,這時發光二極體L1熄滅;當P1.0埠輸出低電平,即P1.0=0時,發光二極體L1亮;我們可以使用SETB P1.0指令使P1.0埠輸出高電平,使用CLR P1.0指令使P1.0埠輸出低電平。
5. 程序框圖

圖4.2.2
6. 匯編源程序 ORG 00HSTART: JB P3.0,LIGCLR P1.0SJMP STARTLIG: SETB P1.0SJMP STARTEND
7. C語言源程序#include <AT89X51.H>sbit K1=P3^0;sbit L1=P1^0;void main(void){while(1){if(K1==0){L1=0; //燈亮}else{L1=1; //燈滅}}}

3. 多路開關狀態指示
1. 實驗任務
如圖4.3.1所示,AT89S51單片機的P1.0-P1.3接四個發光二極體L1-L4,P1.4-P1.7接了四個開關K1-K4,編程將開關的狀態反映到發光二極體上。(開關閉合,對應的燈亮,開關斷開,對應的燈滅)。
2. 電路原理圖

圖4.3.1
3. 系統板上硬體連線
(1. 把「單片機系統」區域中的P1.0-P1.3用導線連接到「八路發光二極體指示模塊」區域中的L1-L4埠上;
(2. 把「單片機系統」區域中的P1.4-P1.7用導線連接到「四路撥動開關」區域中的K1-K4埠上;
4. 程序設計內容
(1. 開關狀態檢測
對於開關狀態檢測,相對單片機來說,是輸入關系,我們可輪流檢測每個開關狀態,根據每個開關的狀態讓相應的發光二極體指示,可以採用JB P1.X,REL或JNB P1.X,REL指令來完成;也可以一次性檢測四路開關狀態,然後讓其指示,可以採用MOV A,P1指令一次把P1埠的狀態全部讀入,然後取高4位的狀態來指示。
(2. 輸出控制
根據開關的狀態,由發光二極體L1-L4來指示,我們可以用SETB P1.X和CLR P1.X指令來完成,也可以採用MOV P1,#1111XXXXB方法一次指示。
5. 程序框圖

讀P1口數據到ACC中
ACC內容右移4次

ACC內容與F0H相或

ACC內容送入P1口
<![endif]-->
圖4.3.2
6. 方法一(匯編源程序)ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP STARTEND7. 方法一(C語言源程序)#include <AT89X51.H>unsigned char temp;void main(void){while(1){temp=P1>>4;temp=temp | 0xf0;P1=temp;}}8. 方法二(匯編源程序)ORG 00HSTART: JB P1.4,NEXT1CLR P1.0SJMP NEX1NEXT1: SETB P1.0NEX1: JB P1.5,NEXT2CLR P1.1SJMP NEX2NEXT2: SETB P1.1NEX2: JB P1.6,NEXT3CLR P1.2SJMP NEX3NEXT3: SETB P1.2NEX3: JB P1.7,NEXT4CLR P1.3SJMP NEX4NEXT4: SETB P1.3NEX4: SJMP STARTEND9. 方法二(C語言源程序)#include <AT89X51.H>void main(void){while(1){if(P1_4==0){P1_0=0;}else{P1_0=1;}if(P1_5==0){P1_1=0;}else{P1_1=1;}if(P1_6==0){P1_2=0;}else{P1_2=1;}if(P1_7==0){P1_3=0;}else{P1_3=1;}}}

先給你,傳不上 太多了

閱讀全文

與c程序舉例相關的資料

熱點內容
07word怎麼去掉標記 瀏覽:979
qq緩存的數據是什麼 瀏覽:348
LED主Kv文件多少兆 瀏覽:856
蘋果edge怎麼刪除下載文件 瀏覽:471
sas邏輯回歸代碼 瀏覽:572
用於keil下的stc器件資料庫 瀏覽:400
新聞網站後台如何操作前台 瀏覽:539
在剪映app中怎麼查看視頻尺寸 瀏覽:9
linux文件成分包括 瀏覽:886
文件轉換免費的軟體 瀏覽:644
linuxwpsxlsx 瀏覽:482
小米手機怎麼上移動網路連接失敗怎麼辦 瀏覽:598
win10系統打開java 瀏覽:479
全日制編程什麼意思 瀏覽:447
筆記本創建區域網怎麼傳文件 瀏覽:871
怎樣查看id密碼 瀏覽:647
贛州極客晨星少兒編程怎麼樣 瀏覽:690
覺醒年代哪個app可以免費觀看 瀏覽:830
如何關閉win10觸摸屏幕 瀏覽:761
蘋果142不能傳文件 瀏覽:128

友情鏈接