HWYC_C语言笔试v11
展开姓名: 1.P0 = 0xFF;表示把P00至P07都拉高。操作P0,要求把P02,P04拉高,并且把P05,P07拉低,不影响其它口电平要怎么表示?(15’) 2.单片机内置FLASH读写功能。在某个扇区存储了3种数据,只需要更新其中1种数据时应该怎么操作?(15’) 3.请定义一个函数指针,并指向下面的函数。(15’)void process_power_on(uint8_t work_state){ ;} 4.在项目中截取以下代码。(1) 请分析为什么要这样写。是否有隐患?(10’)(2) 用一个宏表示a与b的差值的绝对值。(5’)#define ONE_SECOND 200#define SECOND(n) (ONE_SECOND * n)#define MINUTE(n) (SECOND(60) * n) 5.在使用51单片机的程序中截取以下代码,编译工具是keil。数组是温度从0到80度时对应的ADC值,每4度一个值。(1) 请问static有哪些用处?不限此处。(5’)(2)如何用sizeof表示该数组的长度?(5’)(3)请实现一个函数,输入adc值,返回温度(精确到个位即可)。(30’)static uint16_t code ntc_adc_value_tab[]={ 8050, //0 8018, //4 7979, //8 7933, //12 7880, //16 7818, //20 7746, //24 7663, //28 7569, //327463, //36};