单片机软件工程师笔试题目
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int UART1_Interrupt (unsigned char *temp_array) interrupt 20{ static unsigned char temp_data=0,i = 0 ; if(RI1 == 1) {
temp_data = SBUF1;
//接收数据
if(temp_data == temp_array[i]){
WireCollTerminalSensorData(); //终端传感器数据接收处理分析函数
return temp_data; } else{
return temp_array[i]; } }
if(TI1 == 1)
//发送数据
{
} }
SBUF1 = temp_array[i];
6 请分析下面两段程序的输出情况,对结果进行说明:
单片机软件工程师笔试题 开始
初始化看门狗
初始化晶振
初始化I/O口
打开按键口中断
是抖动 N
N 按键被按下?
Y
延时20ms
确实被按下? Y
点亮灯
10 扫描方式:
还被按着?
N
Y
while(9)
关闭灯
单片机软件工程师笔试题
开始
初始化看门狗
初始化晶振
初始化I/O口
打开按键口中断
中断方式:
While(9);
}
7 在嵌入式程序编写前,对编译器的设置时,设置编译包含路径中$PROJ_DIR$\..是什
么意思?
8 请简述下面 2 个电路图的功能作用,并写出输入输出的关系:
9 请大致翻译下面一段英文为中文:
Low power sleep mode: This mode is achieved by entering the Sleep mode with the internal voltage regulator in Low power mode to minimize the regulator’s operating current. In the Low power sleep mode, both the clock frequency and the number of enabled peripherals are limited; a typical example would be to have a timer running at 32 kHz.When wakeup is triggered by an event or an interrupt, the system reverts to the run mode with the regulator on.
单片机软件工程师Hale Waihona Puke Baidu试题
说明:
char 一个字节 1 byte int 两个字节 2 byte long int 四个字节 4 byte float 四个字节 4 byet double 八个字节 8 byte long double 十个字节 10 byte pointer 两个字节 2 byte
1 写一个宏定义,完成功能:输入一个天数,得到这些天总共有多少秒。
2)return 0,因为无符号与有符号的比较,会自动转成无符号的数,会很大;
7 表示包含当前软件工程所在目录外的所有文件;
8 左图的作用是通过 I/O1 和 I/O2 的不同电平来选择 Power_Out 的电源电压,关系如下:
I/O1 I/O2 Power_Out
01
0V
11
5V
00
3.3V
右图的作用是将输入信号 Vamp 的转成方波信号,关系如下:
明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明
它的模块的本地范围内使用。
4 int *ptr; ptr = (int *)0x4455; *ptr = 0x88AA;
5 不能有参数,不能有返回值,没有清除中断标志,不要在内部做复杂计算,不要在内
部定义变量;
6 1)输出值不一定等于 100,因为其中有一个 Volatile 变量,可能在别的地方被改变了;
有按键中断? Y
清中断标志
点亮灯
还被按下?
N
Y
While(9);
关闭灯 退出中断
printf(“%d”, BufferL); }
单片机软件工程师笔试题
——————————2—————————
unsigned char foo(void) { unsigned int a = 6; signed int b = -20; if(a > b) { return 1; } else { return 0; }
10 画一个 C51 单片机的外部中断按键控制指示灯的程序流程图,按下按键灯亮,按键弹 起灯灭。
单片机软件工程师笔试题
参考答案:
1 #define GET_DAYS_SEC(x) ((x) * 24 * 60 * 60)UL
2 typedef enum
或者
enum human
{
{
MALE = 0,
2 新建一个枚举类型,包含男性和女性(标识符和值自定义);
3 关键字 static 对变量的作用是什么?
4 假设在 MDK-ARM 编译器中,编写一段代码,要求设置一绝对内存地址 0x4455 为整 型值 0x88AA:
5 请找出下面 C51 的 UART1 中断函数中,你认为的几个错误:(用笔圈出,并加以解释)
当 Vamp < 1.65V 时,输出低电平;
当 Vamp > 1.65V 时,输出高电平;
9 这种模式是通过进入睡眠模式达到的,此时内部电压调节器会减少调节器的工作电流。 在低功耗的睡眠模式,包括时钟频率和使能的外围设备的数目都是有限的;一个典型 的例子是有一个定时器运行在 32KHZ。当唤醒的事件或中断触发,系统将恢复到与调 节器的运行模式
MALE = 0,//也可以不赋值
FEMALE = 1
FEMAL = 1
} human;
};
3 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2).
在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。它是一个本地的全局变量。3). 在模块内,一个被声
——————————1—————————
volatile int BufferL; int TestSqr(int temp_v) {
return (BufferL * temp_v); } //…… void testc(void) {
BufferL = 10; BufferL = TestSqr(10);