PIC单片机练习题解答
- 格式:doc
- 大小:22.95 KB
- 文档页数:4
第一章 微型计算机概论1、数据的字长是评价计算机性能的一个非常重要的技术指标,计算机的字长一般取( )的整数倍。
2、微型计算机的问世和发展过程伴随着电子技术的日新月异,至今已经历了( )个发展时代。
3、计算机的处理能力与( )、( )、( )有关。
4、将十六进制数26D.3H转换成二进制,结果为( )。
5、RAM是( ),ROM是( )。
6、计算机的核心部分是( )。
7、如果内存储器的容量为64KB,则其地址范围是( );如果一台微型计算机的地址范围是0000H~3FFFH,那么存储器容量为( )。
8、在计算机的内部结构中引入了总线的概念,三总线包括( )、( )、( )。
9、人类已经进入了信息时代,( )是现代计算机技术和通信技术高度发展和密切结合的产物。
10、不管是个人计算机还是单片机,核心CPU执行的程序内容是( )指令。
第二章PIC 单片机的组成1、若PIC单片机的系统时钟频率为4MHz,那么执行一条非转移指令的时间是( )。
2、上电延时定时器能提供一个固定的( )ms的延时。
3、在PIC单片机中采用哈佛总线结构,其根本意义在于( )。
4、在PIC单片机中,作为数据流通和传输的桥梁,使用最频繁的寄存器是( )。
5、PIC单片机的寻址方式简单,主要包括( )、( )、( )和( )四种。
6、PIC16F877单片机的程序存储器的空间为( ),数据存数器的空间为( )。
7、PIC16F877单片机内配置一种可以掉电保护的数据存储器是( ),可以在线存放系统重要的参数。
8、对于PIC单片机,外围设备中断服务程序的入口地址是( )。
9、PIC16F877单片机ADC转换模块中,配置8个模拟量输入通道,分别由( )两个端口的引脚承担。
10、PIC16F877单片机的ADC转换器具有( )位的分辨率。
第三章 PIC存储器1、在PIC16F877单片机的数据存储器RAM中,总的地址空间是512字节,但是真正作为通用寄存器单元个数为( )字节。
PIC单片机考试题目及答案一、选择题(每题2分,共20分)1. PIC单片机属于哪种类型的微控制器?A. 8位B. 16位C. 32位D. 64位答案:A2. PIC单片机的内部时钟频率通常由什么决定?A. 外部晶振B. 内部RC振荡器C. 外部时钟信号D. 外部计数器答案:B3. 在PIC单片机中,哪个寄存器用于存储程序计数器的值?A. PCLB. PCHC. FSRD. INDF答案:A4. PIC单片机的I/O端口可以配置为以下哪种模式?A. 数字输入B. 数字输出C. 模拟输入D. 所有以上答案:D5. PIC单片机中,哪个指令用于跳转到指定的地址执行程序?A. GOTOB. CALLC. RETD. MOV答案:A6. 在PIC单片机编程中,哪个指令用于将立即数传送到寄存器?A. MOVFB. MOVFFC. CLRFD. BSF答案:D7. PIC单片机的看门狗定时器(WDT)的主要功能是什么?A. 系统复位B. 定时中断C. 串行通信D. 模数转换答案:A8. PIC单片机的EEPROM数据存储区的大小通常是多少?A. 128字节B. 256字节C. 512字节D. 1024字节答案:B9. 在PIC单片机中,哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑或操作?A. ANDWFB. XORWFC. ORWFD. IORWF答案:C10. PIC单片机的睡眠模式中,哪种模式可以快速唤醒?A. SLEEPB. IDLEC. DOZED. PCON答案:B二、填空题(每空1分,共10分)1. PIC单片机的_______指令用于将程序状态字寄存器(STATUS)的内容传送到W寄存器。
答案:STATUS2. 在PIC单片机中,_______指令用于将累加器(ACC)的内容与直接地址的数据进行逻辑与操作。
答案:ANDLW3. PIC单片机的_______指令用于将寄存器的内容与立即数进行逻辑异或操作。
单片机考试题目及答案一、选择题1. 下列单片机中,不属于8位单片机的是:A. 8051B. AVRC. PICD. STM32答案:D. STM322. 在单片机中,下面哪个不是内部存储器:A. RAMB. ROMC. FlashD. EEPROM答案:A. RAM3. 在单片机内,系统时钟频率越高,单片机运行速度越快,对错?A. 对B. 错答案:A. 对二、填空题1. 单片机是一种集成了______的芯片。
答案:微处理器、存储器、外围设备2. 在单片机系统中,指令寄存器用来存放______。
答案:待执行的指令3. 单片机内部时钟频率通常由______提供。
答案:晶振三、判断题1. 单片机中,外部设备通过I/O口与单片机进行通信,可利用端口输入和输出数据。
答案:正确2. 在单片机内部,EEPROM是一种易擦除可编程只读存储器。
答案:错误四、简答题1. 请简述单片机中的中断概念及中断响应过程。
答:中断是单片机在执行程序时,由于处理器内部或外部事件发生而打断其正常工作顺序,转而去执行相应的中断服务程序。
中断响应过程分为五个步骤:中断请求、中断决策、保存现场、跳转执行、中断返回。
2. 请简要介绍单片机中的I/O口及其作用。
答:单片机中的I/O口用于和外部设备进行数据传输,可以输入或输出数字信号,实现与外界的通信。
通过I/O口可以控制LED灯、数码管、继电器等外部设备,也可以接收来自按键、传感器等的输入信号。
以上是单片机考试题目及答案,希望能对您有所帮助。
如有任何疑问,请随时联系我们。
单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是:A. CPUB. MCUC. ROMD. RAM答案:B2. 下列哪个不是单片机的组成部分?A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的内部RAM是:A. 128字节B. 256字节C. 512字节D. 1024字节答案:B4. 单片机的程序存储器通常使用的是:A. RAMB. ROMC. EPROMD. EEPROM答案:C5. 单片机的I/O口可以配置为:A. 只读B. 只写C. 推挽输出D. 开漏输出答案:D6. 下列哪个不是单片机的中断源?A. 定时器溢出B. 外部中断C. 串行通信D. 显示器答案:D7. 8051单片机的定时器/计数器的计数范围是:A. 0到255B. 0到511C. 0到1023D. 0到2047答案:A8. 单片机的看门狗定时器的主要作用是:A. 计时B. 计数C. 监视程序运行D. 控制I/O口答案:C9. 下列哪个不是单片机的常用编程语言?A. C语言B. 汇编语言C. Java语言D. C++语言答案:C10. 单片机的I/O口的模式设置通常包括:A. 推挽输出B. 开漏输出C. 上拉输入D. 以上都是答案:D二、填空题(每题2分,共20分)1. 单片机的CPU主要由______、______和______组成。
答案:算术逻辑单元、控制单元、寄存器组2. 单片机的______存储器用于存储程序代码。
答案:程序3. 8051单片机的定时器/计数器有______个。
答案:24. 单片机的中断优先级可以通过______寄存器来设置。
答案:IP5. 单片机的______模式可以减少功耗。
答案:睡眠6. 单片机的______接口允许单片机与外部设备进行数据交换。
答案:I/O7. 单片机的______寄存器用于存储程序计数器的值。
答案:PC8. 单片机的______功能可以防止程序死循环。
PIC单片机习题第一次一、选择题(B) 1、PIC单片机采用总线结构。
A、普林斯顿B、哈佛2、PIC16F877单片机精简指令集系统共C条。
A、75B、133C、35D、1113、PIC16F877单片机程序存储器和数据存储器的宽度是B和。
A 8,8 B、14,8 C、16,8 D 16,164、PIC16F877单片机共C中断源。
A 5 B、8 C、14 D、165、PIC16F877单片机共C端口。
A 3 B、4 C、5 D、6& PIC16F877单片机共有C个定时/计数器A 1 B、2 C、3 D、47、PIC16F877单片机定时器1具有的特殊功能是DbA 定时B、计数C、PWM D、CCP8、若端口B接8个按键,则该端口的TRISB应初始化成A 0x00 B|、OxFF C、OxOF D、OxFO9、TMR啲位宽度为A 8 B、16 C、32 D、6410、PIC16F877单片机外围接口区域包括RA,RB,RC,RD和RE5个端口,而每个端口均有多条输入/输出可编程的引脚,合计5个端口共有__C― 引脚.A. 30B. 34C.33D.3111、PIC16F877单片机外围接口区域包括RA,RB,RC,RD和RE 5个端口.在下列端口中, ___ D____ 不具备8条引脚.A.. RA,RBB. RC,RDC. RB,RCD. RA,RE二、问答题2、在确定A B、C、D E端口的功能时,首先要执行什么操作?答:确定端口方向。
3、PIC16F877单片机有几个定时/计数器?他们的区别是什么?答:TMR0 8位宽与WD共用预分频器TMR1 16位宽与CPP模块配合使用可实现捕捉和比较功能TMR2只作定时;8位宽与PW模块配合使用可实现脉宽调制输出功能4、PIC单片机具有的优点有哪些?答、1、哈佛总线结构;2、指令系统采用RISC技术;3、代码压缩率高;4、IO 端口驱动负载能力较强及功耗低等。
单片机习题解答 (仅供参考)单片机习题解答(仅供参考)在单片机学习过程中,习题解答是非常重要的一部分。
通过解答习题,我们可以加深对单片机原理的理解,提高解决问题的能力。
本文将提供一些常见的单片机习题解答,供大家参考。
一、基础知识题1. 单片机的基本概念是什么?单片机是指将微处理器、存储器和输入输出接口电路等功能集成在一个芯片上的一种微型计算机系统。
它具有体积小、功耗低、可靠性高等优点,广泛应用于嵌入式系统中。
2. 单片机有哪些主要的寄存器?单片机主要包括通用寄存器、程序计数器、状态寄存器、堆栈指针、数据指针等。
其中,通用寄存器用于存放临时数据,程序计数器用于存放下一条指令的地址,状态寄存器用于记录程序运行的状态,堆栈指针用于管理函数的调用和返回,数据指针用于存放数据的地址。
3. 单片机的时钟信号是如何产生的?单片机的时钟信号是通过外部晶体振荡器或者内部振荡电路产生的。
晶体振荡器通过振荡晶体使得IC内部产生稳定的时钟信号,内部振荡电路则通过RC电路或者LC电路产生时钟信号。
4. 如何配置单片机的I/O口?单片机的I/O口通常需要配置为输入模式或者输出模式。
配置为输入模式时,需要将相应的引脚配置为高阻态或者低电平输入;配置为输出模式时,需要将相应的引脚配置为高电平输出或者低电平输出。
二、编程实践题1. 编写一个程序实现LED灯的闪烁。
#include <reg52.h> // 包含寄存器定义文件sbit LED = P1^0; // 定义LED连接的引脚void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LEDdelay(500); // 延时500msLED = 1; // 熄灭LEDdelay(500); // 延时500ms}}2. 编写一个程序实现按键控制LED灯的亮灭。
单片机试题答案一、选择题1. 单片机中的“单片”是指()。
A. 单一的集成电路B. 只有一个微处理器的芯片C. 一个系统全部集成在一个芯片上D. 只有存储器的集成电路答案:C2. 下列哪种设备不属于单片机的典型外围设备?()。
A. 串行通讯接口B. 并行打印机接口C. 模数转换器D. 数字模拟转换器答案:B3. 单片机中的RAM是指()。
A. 只读存储器B. 随机存取存储器C. 静态随机存取存储器D. 动态随机存取存储器答案:B4. 在单片机系统中,通常使用哪种逻辑电平表示高电平?()。
A. 0VB. 1.5VC. 2.4VD. 5V答案:D5. 下列哪种中断源在单片机中是可屏蔽的?()。
A. 外部中断0B. 外部中断1C. 定时器/计数器中断D. 串行通讯中断答案:C二、填空题1. 单片机的核心部件是__________,它负责执行程序中的指令。
答案:中央处理器(CPU)2. 在单片机编程中,__________是一种常用的二进制代码,用于表示数据和指令。
答案:字节3. 单片机的__________用于存储程序和数据,是系统运行的基础。
答案:存储器4. 为了实现单片机与外部设备的数据交换,需要使用__________。
答案:接口5. 单片机的__________是指在特定条件下,能够自动响应并处理系统内部或外部的事件。
答案:中断系统三、简答题1. 简述单片机的基本组成结构。
答案:单片机的基本组成结构通常包括中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入/输出端口、定时器/计数器、中断系统以及可能包含的模数转换器(ADC)、数模转换器(DAC)等外围功能模块。
2. 说明单片机编程中的“堆栈”是什么,以及它的工作原理。
答案:堆栈是单片机内存中用于存储临时数据、返回地址以及保护现场的一种数据结构。
它的工作原理基于“后进先出”(LIFO)的原则,即最后压入堆栈的数据会最先被弹出。
在中断处理和函数调用过程中,堆栈用来保存断点和返回地址,以便程序能够正确返回到中断前的执行状态或函数调用后的执行点。
单片机复习1答案一、填空题(每小题2.0分,共20分)1. 所谓软件知识是指它们的寻址方式,指令系统,编译系统等,硬件知识则是指它们的硬件资源I/0口,定时/计数器,中断系统等。
2. 在计算机的发展历史上,运算和控制一直是计算机功能实施的两条主线。
一个方向是以PC机为核心的群体为代表,另一个方向则以嵌入式独立系统为技术理念,主要与控制对象耦合,能与控制对象互动和实时控制。
3. PIC系列单片机的寻址方式共有4种:寄存器间接寻址,立即数寻址,直接寻址和位寻址。
4. PIC系列微控制器系统结构中,ALU与其数据位等宽为8位。
具有算术加,减和逻辑运算以及移位功能,算术运算一般是以2的补码形式进行。
5. PIC单片机数据存储器用8位数据总线把I/O口和一组可寻址的8位寄存器组成的寄存器陈列,与8位的ALU单元两个基本功能连接起来构成。
数据寄存器又分成通用寄存器和专用寄存器FSR 两类。
6. PIC16C7X系列有一个13位的程序计数器,可寻址8K*14 程序存储空间。
对于PIC16C74,仅使用前面4K*14 ,超出上述范围将会回到有效的程序空间。
7. PC的低字节PCL 是一个可读写寄存器,高字节PCH是不能直接读或写的,PC的高字节可以通过PCLATH 寄存器写入。
8. 任何使用INDF寄存器的指令,存取数据实际上是通过文件选择寄存器(FSR)来实现的。
9. 采用10MHZ的晶振时钟输入。
那么PIC16C74一条单周期指令的执行时间为0.4us 。
10. PIC16C74的中断入口地址为0004H ,复位地址为0000H 。
二、简答题(3小题,共18分)1.画出PIC系列单片机哈佛总线结构示意图,并说明其工作原理。
(8分)结构示意图程序存储器PIC16F74 数据存储器CPU内核2.工作原理如下:1.该结构为实现指令提取和执行流水作业提供结构保证,即在执行一条执指令同时又协同处理下一条指令取指操作2.哈佛结构采取指令总线与数据总线分开办法,两总线分离,也为PIC单片机实现全部指令的单字节和单周期创造条件,从而大大提高CPU执行指令速度和工作效率2. PIC单片机指令可分为哪三类,各举例3~4条指令。
PIC单片机课程练习题一、简答题1.二进制有何特点?什么叫BCD码?---P22.单片机主要有哪几部分组成的?---运算器、控制器、存储器、输入、输出设备---CPU、存储器、输入、输出设备3.简述PIC16F87X单片机响应中断的过程。
PIC16F87X单片机响应中断的过程如下:①中断源发出申请,并建相应中断标志。
②CPU停止当前工作,响应中断。
③断点保存,保护现场,信息压栈。
④执行中断服务程序。
⑤恢复现场,弹栈。
⑥中断返回。
4.怎么判断PIC16F87X单片机的A/D转换已经完成?---(1)判断ADGO这位是否由1变为0,如果是,则说明AD转换完成,否则说明AD转换未完成;(2)AD中断的的标志位是否为1,5.中断现场保护指的是什么?一般保护那些寄存器?6.常用的显示器有哪两种?各有什么特点?常用的数码管显示器有共阴和共阳两种。
共阴显示器的公共端加电源的负极,它的段码加电源的正极,显示器才能点亮。
共阳显示器的供电电源正好相反。
7.单片机中最常用的键盘有哪几种?各有什么特点?8.在程序设计中,基本程序结构有哪几种?9.PIC16F877的存储器构架分哪几大模块?---P41411.叙述中断的概念,并说明一次中断过程可以分为几部分?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(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;PORTC=x;该程序执行的功能是什么?执行完程序后,x的值是________。
单片机习题PIC 第一次一、选择题总线结构。
(B)1、PIC单片机采用 B、哈佛 A、普林斯顿、2PIC16F877条。
单片机精简指令集系统共 C111、A、75 B、133 C、35 D 3、PIC16F877。
单片机程序存储器和数据存储器的宽度是 B 和16 C、16,8 D、16,BA、8,8 、14,84、PIC16F877单片机共 C 中断源。
16A、5B、8C、14D、端口。
单片机共 C 5、PIC16F87765 D、、、3 B、4 CA /计数器PIC16F877单片机共有 C 个定时6、4、、1 B2 C、3 DA、。
单片机定时器1具有的特殊功能是 D7、PIC16F877CCPPWM D、、计数 C、A、定时 B 8个按键,则该端口的接TRISB应初始化成8、若端口B0xF0 0x0F D、、0xFF C、A、0x00 B TMR0的位宽度为9、64、16 C、32 D、A、8 B 而每个端口均RE 5个端口,和10、 PIC16F877 单片机外围接口区域包括RA,RB,RC,RD. 5个端口共有__C____条引脚有多条输入/输出可编程的引脚,合计 A. 30 B.34RE 5 个端口.在下列端口11、PIC16F877 单片机外围接口区域包括RA,RB,RC,RD 和. ,____D_____并不具备8 条引脚中D. RA,RE A.. RA,RB B. RC,RD C. RB,RC 二、问答题 1、如何确定I/O端口的输入和输出?确定,高电平做输出,低电平做输入。
答:根据方向控制TRIS 、DE端口的功能时,首先要执行什么操作?A、B、C、、在确定2 答:确定端口方向。
计数器?他们的区别是什么?PIC16F877单片机有几个定时3、/ 共用预分频器与WDT位宽答:TMR0 8模块配合使用可实现捕捉和比较功能与CPPTMR1 16位宽PWM模块配合使用可实现脉宽调制输出功能位宽只作定时;8 与TMR24、PIC单片机具有的优点有哪些?答、1、哈佛总线结构;2、指令系统采用RISC技术;3、代码压缩率高;4、IO端口驱动负载能力较强及功耗低等。
三、程序设计题1、电路如图所示,编程实现走马灯的运行效果,即D0-D7循环被依次点亮,但同一时刻只有一个灯亮。
单片机主频为4MHz。
2、电路如图所示,编程实现4个数码管显示数值5678。
单片机主频为4MHz。
3、电路如图所示为3个按键控制8只LED灯显示状态,其中3个按键开关组成独立式键键控key3键控制灯右移循环点亮,key2键控制灯依次左移循环点亮,key 1盘,分别用.制8灯闪烁。
第二次作业假如PIC 单片机的系统时钟振荡频率是4MHz,那么执行一条非转移类指令的真实1、__D___us时间应该是A. B. 2 C. 3 D. 1其根本意义就单片机系统配置和程序设计中,采用很有特色的哈佛总线结构在2、 PIC,_______B___.在于数据存储器和程序存储器总线分离减少CPU的功耗 B. A.可以方便进行在线调试C. 提高端口的驱动能力 C.. 但具有以下这些明显的优点,___C_____除外3、 PIC单片机与其他单片机相比, B.精减指令RISC结构A. 哈佛总线结构力强驱动能 C. 存储器大 D. 它具有_________个4、在PIC16F877 单片机系统配置中,特别引入A/D 转换器(ADC),.模拟量输入通道C. 10 D. 6B. 8 A. 5转换器具有___A_____位的分辩率。
ADC5、PIC16F877 单片机的D. 14A. 10B. 12C. 8功能,RA端口中6、 PIC16F877 单片机多数I/O 引脚都设计有第2功能,甚至还有第3___B_____.转换中负参考电压端(VREF-)的引脚是可以承担A/DD. RA4 C. RA3 A. RA0 B. RA2_______ ,分别由在PIC16F877单片机ADC转换模块中,配置有8个模拟量输入通道7、. 两个端口中的引脚承担RE D. RA和A. RA和RC B. RC和RB C. RB和RD转换的中断程序设计二、AD)感受外界温度变化,单片机实时采集R1、设计一个电子温度测量仪的雏形,温敏电阻(2转换结果数码管显示RA0引脚的模拟量将其转化为数字量,通过端口C连接的一位LEDAD是一个温敏电阻,其电阻的高8位(要求画出程序流程图,写出相关中断程序)。
说明:R2值随温度的变化而变化。
#include<>__CONFIG(0x3B31);____C____ mA。
所有输入/输出驱动小于,int adcdata=0;整个单片机而言D. 200 A. 100 B. 150 C. 250C 3、预分频器最大的分配比是256 :128 C、1、A1::64 B、1 B4、TXSTA是、发送状态控制寄存器、接收状态控制寄存器 B A 、接收寄存器 D、发送寄存器 C 、PIC16F877单片机把要发送的数据放入5RCSTA、TXSTA D A、TXREG B、RCREG C、自动将接收的数据放入CPU6、PIC16F877单片机接收到一个数据,RCSTA 、RCREG C、、、ATXSTA DTXREG B二、判断题1、PIC单片机采用哈佛总线结构,在芯片内部数据总线和指令总线分离,允许采用不同的字节宽度。
01FFH-0000H字节单元空间,即512单片机的数据存储器共有PIC16F877、2.。
位单元空间,即0000H-01FFH3、PIC16F877单片机的程序存储器共有8K×14 与其他部件配合具有捕捉功能。
4、TIMER0 位宽可编程定时器。
、PIC16F877的三个定时器都是85 个模拟输入通道。
单片机的A/D转换器具有86、PIC16F877位分辨率。
单片机的A/D转换器具有87、PIC16F877 转换器功能引脚。
单片机的RA端口全部能做A/D8、PIC16F877 IO口还可作外部中断输入端。
单片机的RB0端口除了作为一般9PIC16F877、 RB7具有电平变化中断功能。
引脚中,只有RB4-10、PIC16F877单片机端口RB I/O端口驱动负载能力较弱。
、PIC16F877单片机1112、INTF外部中断标志位是硬件置1,软件清0。
13、TXIF发送中断标志位和RCIF接收中断标志位都是硬件置1,软件清0。
14、波特率指的是每秒中传送的字节数。
15、异步通信是以帧为单位的。
16、SPBRG——波特率因子寄存器写入的是波特率。
17、PIC16F877单片机主要用PORTA、PORTB、PORTC、PORTD和PORTE5个寄存器与外界交换的信息。
18、OPTION寄存器的上电复位的初始状态为0xFF。
三、程序设计1、下图为一个双机通信的线路图,2个单片机通过异步串行通信接口相连的方式为:RX和TX交叉连接。
左边的单片机U1为发送,每按一下按键S1就发送一个数,从1开始发送,每送一个数,此数加1,(即0-9)。
发送的数同时在D口上输出显示。
读写其发送与接收程序,并补充相应的语句。
(两单片机主频都是4MHz)//双方通信协议为:波特率9600bps,数据格式:8位数据位,无奇偶校验,1位停止位//发送方串行通信U1,按一下发送键便发送一个数据,从1开始发送,随后按一下键数值自动加1,到9后以后循环从0开始发送。
#include<> 出__CONFIG(0x3B31); PORTD=0; //PORTD清0打开全局中断使能 INTE=1 ; //unsigned char num=0; //发送数据变量位const char seg[10]=GIE=1 ; //打开外部中断使能位{0x3F,0x06,0x5B,0x4F,0x66,9600 SPBRG=25 ; //选择波特率0x6D,0x7D,0x07,0x7F,0x6F};//显示数值笔 TXSTA=0b00100100; // 段码} //延时子程序子程序void delay(unsigned int ms) //外部中断INTvoid interrupt INTISR() {unsigned int i,j;{ if(INTF==1&&INTE==1) for(i=ms;i>0;i--)清INT中断标志 for(j=0;j<67;j++) { INTF=0 ;// RB1=1 ;//发送指示灯亮 {;}+1 num++ ;//发送数据}if(num==10){num=0;} //发送初始化子程序将发送数据void transinit() TXREG=num ;// 中放入TXREG{ TRISB=0x01; //发送按键为输入同时将PORTD=seg[num] ;//引脚置为输入 TRISC7=1; //RX PORTD发送的数据送显示 TRISC6=0; //TX引脚置为输出延时 delay(100);//端口方向控制寄存器为输 TRISD=0; //RD.调发送初始化子程{ transinit() ; // RB1=0;//发送指示灯灭 } 序 RB1=0; // 发送指示灯灭}while(1); // 循环等待//主程序}main()//接收方串行通信U2//保证每次接收到完整的数据包//PIC单片机主频:4MHz,波特率9600bps//数据格式:8位数据位,无奇偶校验,1位停止位#include<> RCIE=1;// __CONFIG(0x3B31); SPBRG=25;//波特率9600const char seg[10]= TXSTA=0b00100100;//高速,8位数{0x3F,0x06,0x5B,0x4F,0x66, 据0x6D,0x7D,0x07,0x7F,0x6F}; }//延时子程序 //接收中断服务子程序void delay(unsigned int ms) void interrupt rcISR(){unsigned int i,j; { unsigned char x; //接收数据暂存 for(i=ms;i>0;i--) 变量for(j=0;j<67;j++) if(RCIE==1&&RCIF==1){;} { RB1=1; //接收指示灯亮} X=RCREG ;//将RCREG//接收初始化子程序中的数据放入x中void receivinit() PORTD=seg[x]; //接收数据显{ TRISB=0x00; 示TRISC6=0; // delay(100); //TRISC7=1;// RB1=0; //TRISD=0x00;// }GIE=1; // } PEIE=1;////main(){ receivinit(); //调接收初始化子程序RB1=0; //接收指示灯灭while(1); //循环等待}。