新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)能力測(cè)試

單片機(jī)能力測(cè)試

作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
1、74HC595為串行輸入、并行輸出的邏輯芯片,調(diào)用函數(shù)MDIP_HC595(0x01);在輸出端輸出7個(gè)低電平及1個(gè)高電平,其中參數(shù)為無符號(hào)8位變量BYTE,請(qǐng)用C語言編寫函數(shù)void MDIP_HC595(BYTE gLOcal_1);

答案:
sbit SER=P1^0; //595串行數(shù)據(jù)輸入
sbit SRCLK=P1^1; //595時(shí)鐘出入
void MDIP_HC595(BYTE gLOcal_1)
{
BYTE i;
for(i=0;i<8;i++)
SRCLK=0; //時(shí)鐘為低
SER=gLOcal_1&0x80; //寫入一位串行數(shù)據(jù)
gLOcal_1=gLOcal_1<<1;//數(shù)據(jù)左移一位
SRCLK=1; //時(shí)鐘為高
}

本文引用地址:http://m.butianyuan.cn/article/201611/317315.htm

2、AT89C51為8051系列中比較通用的1個(gè)芯片,如果用C語言編寫程序,子函數(shù)可以被調(diào)用最大多少層,為什么?

答案:對(duì)于AT89C51來說一般控制在10層內(nèi)。因?yàn)閷?duì)函數(shù)的嵌套調(diào)用層次的限制是由于其片內(nèi)RAM中缺少大型堆棧空間所致。在AT89C51內(nèi)部RAM共有128B,在這個(gè)區(qū)域中的任何子區(qū)域都可以用作堆棧區(qū)。

3、請(qǐng)說明子函數(shù)被調(diào)用時(shí)單片機(jī)是如何動(dòng)作的。

答案:每次子函數(shù)被調(diào)用時(shí)單片機(jī)把2字節(jié)壓入內(nèi)部堆棧,C編譯器通常依靠堆棧來頻繁地進(jìn)行參數(shù)傳遞。



關(guān)鍵詞: 單片機(jī)能力測(cè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉