一、简答题
1.二进制有何特点?什么叫BCD码?---P2
2.单片机主要有哪几部分组成的?---运算器、控制器、存储器、输入、输出设备 ---CPU、存储器、输入、输出设备 3.简述PIC16F87X单片机响应中断的过程。 PIC16F87X单片机响应中断的过程如下:
①中断源发出申请,并建相应中断标志。 ②CPU停止当前工作,响应中断。 ③断点保存,保护现场,信息压栈。 ④执行中断服务程序。 ⑤恢复现场,弹栈。 ⑥中断返回。
4.怎么判断PIC16F87X单片机的A/D转换已经完成?
---(1)判断ADGO这位是否由1变为0,如果是,则说明AD转换完成,否
则说明AD转换未完成;
(2)AD中断的的标志位是否为1,
5.中断现场保护指的是什么?一般保护那些寄存器?
6.常用的显示器有哪两种?各有什么特点?
常用的数码管显示器有共阴和共阳两种。共阴显示器的公共端加电源的负极,它
的段码加电源的正极,显示器才能点亮。共阳显示器的供电电源正好相反。 7.单片机中最常用的键盘有哪几种?各有什么特点? 8.在程序设计中,基本程序结构有哪几种?
9.PIC16F877的存储器构架分哪几大模块?---P414
11.叙述中断的概念,并说明一次中断过程可以分为几部分?
12.异步通信方式与同步通信方式的最大区别是什么?它的优点何在?。
要点:① 异步通信方式在从机内部自带时钟信号,而不用时钟信号线,也不采用
同一个时钟信号源。
② 为了保证数据正确传输,在异步数据传输时,必须保证传送的波特率和
数据的格式一样。
③ 优点:异步通信方式,信号线少,仅两根,在远距离传送时成本低。
13.PIC单片机具有的优点有哪些?
14.简述数码管动态显示电路的工作原理以及它的优缺点。
二、程序分析题
1.void main() {
int a=50,b=10,c;
c=y(a,b); }
y(int x,int y) {
int z;
z=(x>y)? x : y ; return(z) ; }
这个程序实现什么功能?执行完程序后, c=?
2.void main() { int n;x=0;
for(n=1;n<=30;n++) {
if(n%9!=0) continue; x++;
//printf(“%d”,x); } }
该程序的功能是什么?程序执行后,x的值是多少? x=3;
3.void main()
{ int x,y=0; x=1; while(x<=15) {
y=y+x;x++; } }
该程序执行的功能是什么?程序执行后,y的值是多少?
4.int a=1,b=3,c=5,d=4,x; if(aif(c 该程序执行的功能是什么?执行完程序后,x的值是________。 5.void main() { int a=50,b=8,c=10,x; if(a>b) if(a>c) x=a; else x=c; else if(b>c) x=b; else x=c; } 该程序完成什么样的功能?执行程序后,x的值是多少? 三、编程题 1.根据下图编写程序:每按下一次K0键时,LED灯的循环点亮方向与前一次相反(初始时的方向是由RC0---RC7循环点亮)。 要求: ①画出程序设计的流程图; ②用PICC语言编写相应的程序,并标出注释。 2.利用取表的方法,使端C口连接的广告灯实现左移右移,点亮的顺序为: RC0→RC1→RC2 ~ →RC7→RC6→RC5 ~ →RC0如此重复循环。 每一种状态延时的时间为100毫秒。要求: ①画出程序设计的流程图; ②用C语言编写相应的程序,并标出注释。 4.用PIC16F877A单片机的RC口控制1个共阴的LED数码管,要求循环显示字符 0~9,显示字符间隔时间为100毫秒。下面给出电路图和0~9的字型段码表。 0~9的字形码为:0x3F、0x06、0x5B、0x4F、0x66、0x6D、0x7D、0x07、0x7F、0x6F 要求: ①画出程序设计的流程图; ②用C语言编写相应的程序,并标出注释。 5.将变量a、b、c中预先存放的三个数做比较,将其中最大者找出并存入max变量中,同时将最大的数传送到PIC单片机的C端口上显示。要求: ①画出程序设计的流程图; ②用C语言编写相应的程序,并标出注释。 6.用端口C驱动一组八位发光二极管,使它产生(八位同时)亮→灭→亮→灭。。。。。,如此重复循环,亮灭时间间隔为100毫秒。要求: ①画出程序设计的流程图; ②用C语言编写相应的程序,并标出注释。 因篇幅问题不能全部显示,请点此查看更多更全内容