单片机能力测试
时间:11-10
来源:互联网
点击:
1、74HC595为串行输入、并行输出的逻辑芯片,调用函数MDIP_HC595(0x01);在输出端输出7个低电平及1个高电平,其中参数为无符号8位变量BYTE,请用C语言编写函数void MDIP_HC595(BYTE gLOcal_1);
答案:
sbit SER=P1^0; //595串行数据输入
sbit SRCLK=P1^1; //595时钟出入
void MDIP_HC595(BYTE gLOcal_1)
{
BYTE i;
for(i=0;i<8;i++)
SRCLK=0; //时钟为低
SER=gLOcal_1&0x80; //写入一位串行数据
gLOcal_1=gLOcal_1<1;//数据左移一位
SRCLK=1; //时钟为高
}
2、AT89C51为8051系列中比较通用的1个芯片,如果用C语言编写程序,子函数可以被调用最大多少层,为什么?
答案:对于AT89C51来说一般控制在10层内。因为对函数的嵌套调用层次的限制是由于其片内RAM中缺少大型堆栈空间所致。在AT89C51内部RAM共有128B,在这个区域中的任何子区域都可以用作堆栈区。
3、请说明子函数被调用时单片机是如何动作的。
答案:每次子函数被调用时单片机把2字节压入内部堆栈,C编译器通常依靠堆栈来频繁地进行参数传递。
单片机能力测 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)