单片机C语言复习题
一、选择题 (30分)
1. C语言程序开始运行时,首先执行以下哪个函数。B A.延时函数 B.主函数 C.中断函数
2. C语言的main()函数类型是 C A.有值有参函数 B.无值有参函数 C. 无值无参函数 3. 定义头文件的语句是 B A.#define语句 B.#include语句 C.sbit 语句
4.用sbit语句定义的是 B A.字符变量 B.位变量 C.特除功能寄存器位定义 5.以下sbit语句正确定义的是 A A.sbit led2=P1_7 B. sbit led2=0X97 C.sbit 2= 0X97 D. sbit 2led=0X97
6.十进制数256可以赋值给下面哪种变量,使其值不变A A.位变量 B.字符型变量 C 整型变量 7.下面哪种变量,数值范围最大 B A.整型变量B浮点型变量C字符型变量D位型变量
8.下面哪种变量,数值范围最小 D A.整型变量B浮点型变量C字符型变量D位型变量
9. C语言表达十六进制数,下面正确的是 D A.20 B.19B C.18H D.0X20
10.将十进制数255,转换为C语言十六进制数,下面正确的是C A.0X255 B.0ffH C.0xff D.0ff
11. 执行“unsigned char a=’b’;” 语句后, 以下哪种说法正确C A. a变量的值等于零 B. a变量的值等于b变量的值 C. a变量的值等于b字母的ASCII码值
12 语句 unsigned char code A[ ]={1,2,3,4,5}; 以下哪种说法正确A A.将变量定义在程序存储器中 B. 将变量定义在内部存储器中 C . 将变量定义在外部数据存储器中
第 1 页 共 6 页
13 在while for 循环语句中,如要退出循环可采用break语句, 但还可以采用 A A. goto 语句 B.if语句 C.continue 语句
14. 以下哪种因数能引起中断函数的执行 B A.执行了延时程序 B. 中断源 C. 主函数中调用了中断函数
15. 中断函数结束后,程序返回到 C A.主程序开始端 B.主程序结束端 C.主程序中断时的下一条执行语句 16.单片机89C51的中断优先级最高的是 B A.定时器0 B.外部中断0 C.外部中断1 D.串行口
17.定时器初值设定的越大,则其定时的时间 B A.越长 B. 越短
18.串行通信中,波特率设定的越高,则其通信速度 A A.越快 B. 越慢
19. 单片机89C51串行口,通信方式为 C A.同步 B.异步 C. 同步和异步都可以选择 20. 单片机89C51串行口异步通信模式是 A A.全双工的 B.半双工的 C. 单工的
二、写出下面程序的每一步结果 (20分) 1.程序
#include unsigned char a, b, c=10, a[ ]={5,4,3,2,1}; void main( ) { a++; // a= 1 b=a+b; //b= 1 b=c; //b= 10 c=a+b+c; //c= 21 a[0]=a[3]; //a[0]= 2 第 2 页 共 6 页 while(1); } 2.程序 #include unsigned char a=0x56, b=0x12, c ; void main( ) { c=a&b; //c= 0x12 c=a|b; //c= 0x56 c= ~c; //c= 0x00 a=a<<2; //a= 0x58 b=b>>4; //b= 0x01 while(1); } 三、 流程图(25分) 1.根据流程图,要求写出自定义的输入输出I/O分配端口,C语言程序。 开始 Yes 按键1 按下 ? 点 亮 LED1 熄 灭 LED2 No 点亮 LED2 熄 按键 2 按下 Yes ? 灭LED1 No 第 3 页 共 6 页 2. 根据流程图,要求写出 C语言程序。 I>=100 Yes No 开始 I=0, A=A+I 结束 1.#include Sbit LED2=P3^1; for(I=0;I<=100;I++) void main() { {A=A+I;} For(;;) while(1); {if (key1==0) {LED1==0; } LED2==1;} If(key2==0) {LED1=1; LED2=0;} } } 第 4 页 共 6 页 四、设计题 (25分) 1.硬件电路如图,设计一个用单片机控制微型电动机运行的C语言程序。 要求同时只能一台电机运行,即:M1运行时 ,M2不能运行; M2运行时, M1不能运行。 SB1:M1启动按钮 SB2:M2启动按钮 SB3:M1 M2 停止按钮 2、硬件电路如图,设计一个控制LED显示 的C语言程序。 要求:SB1按下 D1 D3 D5 D7点亮,其他熄灭;SB2按下 D2 D4 D6 D8点亮,其他熄灭。 第 5 页 共 6 页 1.#include for(;;) { If ((SB1==0)&&(M2==1)) {M1=0;} If ((SB2==0)&&(M1==1)) {MM2=0;} If(SB3==0) {M1=1;M2=1;} } } 2.#include For(;;) {if(SB1==0) {P2=0X55;} if(SB2==0) {P2=0XAA;} } } 注:钱晓浩做的 非标准答案 时间有限难免有误 欢迎交流指证 第 6 页 共 6 页 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务