當前位置:首頁 » 編程語言 » c語言引腳作用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言引腳作用

發布時間: 2022-06-06 17:38:52

c語言中這句話是什麼意思

這是STM處理器的操作吧?
GPIO_WriteLow是它的庫函數,作用是將對應引腳輸出低電平。前提是必須配置對應引腳為GPIO輸出模式。

第一個參數表示的是選擇哪一組GPIO(埠GPIOA到GPIOI可選),現在選擇的GPIOD。
第二個參數表示的是選擇的GPIO組中哪幾個引腳輸出低電平,每個引腳對應一個bit,那麼(GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_7)進行或操作,就表示0,2,4,7四個引腳對應的bit都有效,也就是這四個引腳都輸出低電平。

⑵ C語言如何控制並口引腳

可以通過從語言中的位運算來做(&,|,!)可以實現控制某一位而屏蔽其它位 。

⑶ C語言編程

單片機的外部結構:DIP40雙列直插;P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)電源VCC(PIN40)和地線GND(PIN20);高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位)內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序)P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務)四個8位通用I/O埠,對應引腳P0、P1、P2和P3;兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)一個串列通信介面;(SCON,SBUF)一個中斷控制器;(IE,IP)針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。教科書的160頁給出了針對MCS51系列單片機的C語言擴展變數類型。C語言編程基礎:十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。++var表示對變數var先增一;var—表示對變數後減一。x|=0x0f;表示為x=x|0x0f;TMOD=(TMOD&0xf0)|0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。While(1);表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)#include//該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口{P1_3=1;//給P1_3賦值1,引腳P1.3就能輸出高電平VCCWhile(1);//死循環,相當LOOP:gotoLOOP;}注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)#include//該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口。{P2_7=0;//給P2_7賦值0,引腳P2.7就能輸出低電平GNDWhile(1);//死循環,相當LOOP:gotoLOOP;}在某引腳輸出方波編程方法:(比如P3.1引腳)#include//該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口{While(1)//非零表示真,如果為真則執行下面循環體的語句{P3_1=1;//給P3_1賦值1,引腳P3.1就能輸出高電平VCCP3_1=0;//給P3_1賦值0,引腳P3.1就能輸出低電平GND}//由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波}將某引腳的輸入電平取反後,從另一個引腳輸出:(比如P0.4=NOT(P1.1))#include//該頭文檔中有單片機內部資源的符號化定義,其中包含P0.4和P1.1voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口{P1_1=1;//初始化。P1.1作為輸入,必須輸出高電平While(1)//非零表示真,如果為真則執行下面循環體的語句{if(P1_1==1)//讀取P1.1,就是認為P1.1為輸入,如果P1.1輸入高電平VCC{P0_4=0;}//給P0_4賦值0,引腳P0.4就能輸出低電平GNDelse//否則P1.1輸入為低電平GND//{P0_4=0;}//給P0_4賦值0,引腳P0.4就能輸出低電平GND{P0_4=1;}//給P0_4賦值1,引腳P0.4就能輸出高電平VCC}//由於一直為真,所以不斷根據P1.1的輸入情況,改變P0.4的輸出電平}將某埠8個引腳輸入電平,低四位取反後,從另一個埠8個引腳輸出:(比如P2=NOT(P3))#include//該頭文檔中有單片機內部資源的符號化定義,其中包含P2和P3voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口{P3=0xff;//初始化。P3作為輸入,必須輸出高電平,同時給P3口的8個引腳輸出高電平While(1)//非零表示真,如果為真則執行下面循環體的語句{//取反的方法是異或1,而不取反的方法則是異或0P2=P3^0x0f//讀取P3,就是認為P3為輸入,低四位異或者1,即取反,然後輸出}//由於一直為真,所以不斷將P3取反輸出到P2}注意:一個位元組的8位D7、D6至D0,分別輸出到P3.7、P3.6至P3.0,比如P3=0x0f,則P3.7、P3.6、P3.5、P3.4四個引腳都輸出低電平,而P3.3、P3.2、P3.1、P3.0四個引腳都輸出高電平。同樣,輸入一個埠P2,即是將P2.7、P2.6至P2.0,讀入到一個位元組的8位D7、D6至D0。

⑷ C語言編寫引腳定義

要看說明書啊,普通的用sbit定義就行了,這個行不行就不知道了。

⑸ 單片機c語言里 sbit P1_0=0x90語句的作用是什麼

sbit P1_0=0x90
就是定義了P1_0引腳所在的地址。

⑹ 求單片機 c語言 控制引腳

ACC 是累加器啊,是會自動計數的,在C語言中還敢這么用?

需要另外定義一個變數!
void IOMOD(unsigned char 位置,unsigned char 值)
{
unsigned char i, var_P1;
var_P1 = P1;
for(i=8; i>0; i--)
{
if (i==位置) var_P1 = 值;
var_P1 = var_P1 >> 1;
}
P1 = var_P1;//這個是不是應該放到for循環裡面?不知道要求所以只是提醒一下
}

按照你的要求,是改變P1.x埠對應x的輸出值(友情提醒一下,這也是危險的。因為P1不是一個變數,讀取P1是指P1外部電路的情況,如果外部電路為低電平,但是這時候P1對應位輸出高電平的話就會有電流輸出,當然如果加好電阻的就沒事。)
void IOMOD(unsigned char 位置,unsigned char 值)
{
unsigned char i, var_P1;
if (值 == 1)
var_P1 = var_P1 | (1 << 位置); //對應位置1
else
var_P1 = var_P1 & ~(1 << 位置); //對應清0
P1 = var_P1;//重新輸出即可

}

⑺ 在單片機C語言中 「P1^0 = 1」「P0 = 0xFF」 實現了什麼功能

P1^0
=
1讓P1^0這一個管腳輸出高電平,在
51單片機
中是幾百uA的上拉電流
P0
=
0xFF讓P0^0~P0^7八個管腳輸出高電平,在51單片機中P0口是
開漏
,無高電平輸出能力
所以實際輸出作用上相當於懸空。

⑻ C語言怎麼定義PLC中FB塊的引腳

FB模塊與FC模塊相比,在調用FB模塊時需要調用DB塊,這個DB塊裡面的內容就是你在FB塊中寫的那些交換的變數。你可以為一個FB塊設定許多的DB塊,各個DB塊中的參數不一樣,在不同的狀態下調用不同的DB塊,就可以實現功能一至,但參數不同的結果。比如你寫的FB塊的功能是設定電機轉速,你把500轉的參數放DB1中,把1000轉參數放DB2中,把1500轉參數放DB3中,在不同的情況下調用FB塊,後跟不同DB塊,就可以達到控制轉速的目的了。這里節省了寫多個參數的控製程序了。沒說明白的話後面的人接著解答