PIC单片机练习题解答.docx

上传人:b****2 文档编号:1863036 上传时间:2022-10-24 格式:DOCX 页数:15 大小:128.47KB
下载 相关 举报
PIC单片机练习题解答.docx_第1页
第1页 / 共15页
PIC单片机练习题解答.docx_第2页
第2页 / 共15页
PIC单片机练习题解答.docx_第3页
第3页 / 共15页
PIC单片机练习题解答.docx_第4页
第4页 / 共15页
PIC单片机练习题解答.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

PIC单片机练习题解答.docx

《PIC单片机练习题解答.docx》由会员分享,可在线阅读,更多相关《PIC单片机练习题解答.docx(15页珍藏版)》请在冰豆网上搜索。

PIC单片机练习题解答.docx

PIC单片机练习题解答

PIC单片机习题

第一次

一、选择题

(B)1、PIC单片机采用总线结构。

A、普林斯顿B、哈佛

2、PIC16F877单片机精简指令集系统共C条。

A、75B、133C、35D、111

3、PIC16F877单片机程序存储器和数据存储器的宽度是B和。

A8,8B、14,8C、16,8D16,16

4、PIC16F877单片机共C中断源。

A5B、8C、14D、16

5、PIC16F877单片机共C端口。

A3B、4C、5D、6

&PIC16F877单片机共有C个定时/计数器

A1B、2C、3D、4

7、PIC16F877单片机定时器1具有的特殊功能是Db

A定时B、计数C、PWMD、CCP

8、若端口B接8个按键,则该端口的TRISB应初始化成

A0x00B|、OxFFC、OxOFD、OxFO

9、TMR啲位宽度为

A8B、16C、32D、64

10、PIC16F877单片机外围接口区域包括RA,RB,RC,RD和RE5个端口,而每个端口均

有多条输入/输出可编程的引脚,合计5个端口共有__C―引脚.

A.30B.34C.33D.31

11、PIC16F877单片机外围接口区域包括RA,RB,RC,RD和RE5个端口.在下列端口

中,D不具备8条引脚.

A..RA,RBB.RC,RDC.RB,RCD.RA,RE

二、问答题

1、如何确定I/O端口的输入和输出?

答:

根据方向控制TRIS确定,高电平做输出,低电平做输入。

2、在确定AB、C、DE端口的功能时,首先要执行什么操作?

答:

确定端口方向。

3、PIC16F877单片机有几个定时/计数器?

他们的区别是什么?

答:

TMR08位宽与WD共用预分频器

TMR116位宽与CPP模块配合使用可实现捕捉和比较功能

TMR2只作定时;8位宽与PW模块配合使用可实现脉宽调制输出功能

4、PIC单片机具有的优点有哪些?

答、1、哈佛总线结构;2、指令系统采用RISC技术;3、代码压缩率高;4、IO端口驱动负载能力较强及功耗低等。

三、程序设计题

1、电路如图所示,编程实现走马灯的运行效果,即DO-D7循环被依次点亮,但

同一时刻只有一个灯亮。

单片机主频为4MHz

tt]_nclude_COMFIG(0x3831>;

voidnidinCvoid)

<

unsignedcharjtdatai:

un5ignedintt;

TRISD-0X00:

whileC1>

<

ddtai=0x01;

Far(J=1;j<=8;J++)

{PDRTD^datai:

4=or(t=0;t<3O00O;t*+):

datai=datai<<1;

09C?

rLrtOLiTR&i

如⑷《潼1Mar

RAliWiKlIRB4-

RjOWH^FLfXVFifcFHtfr

RAliAOVFFFlFHfiffIX

RM/TCO

ifGO

冈3鼻百GW

R^rur^aswTiMRfaQAflJigjR旷HCIjrtldSiftOT

RFZlftnrTJCS-RC3fSIKEEL

氈U4ZdWyjA

MOLRAW1HVRCS5KI

HCitF&T^A

FCClP£J-tRCiUPTFIRZi2ra=T

才占戶廿!

=

JZ

R5

RCSTT■舟匾呻妝?

T

 

2、电路如图所示,编程实现4个数码管显示数值5678。

单片机主频为4MHz

上主主士二

口5C1IITLHH

RSCMITi

O«3fl5_Maj|

KADJjk'il]

田mrPDU

RA2JWJ2T^REF-.CI^EFRR=;

冃⑶』EEREM

Rft&PQ-

FUM1K也ST

REW^t-

KA5版-艸莓勺口DIJT

fifnriW5RP

FKirTicarocE?

RC1i'M4ECJR

RC2MTCPI

RcsrspuEnj

h*:

lF%tc7HV

fh:

5rSCC-■如m

RMuRiP*RWJFEPIWC^P2PtWSP)蹴业声M

熬曲5賂

1F

l・

is

•i

a

RCf

2E

s"

an

23

LT

J

ttinclude

_CONFIG(0x3B31>;

voiddelateunsigned£ntms)

{ur>signiedinti,j;

Forti=ns;i>0;i——>

For(j=0;j<&7;

{;>

>

constcharseg7[10]-{QxCB,.QxF9QhAU,1

0k92,0x8?

0kF8”0xSO„0x?

g>;//

display

uaidinaint)

unsignedchari.j;

unsignedctiarrnimstr[ii];//

THrSC-flxBO;

TRLSD-0X00;

"处理数据

nufristr[3]=lclata/1购肥"千位nunstr[2]=idatafel0BQ/100;"百苻nunstr[1]=idata%1B9S%i68/19;//十位nunstr[0]=Ldata%1B00%100%10;FF个位

"显示

while(1>

tFor(i=0;i<'t0;i^-+)

{PORTO-BkOI;

Foi-Cj-3:

j>=0;j-->

^PORTC-segZErtunistrEj)];delay

(1);PORlD=POHrD«1;}

3、电路如图所示为3个按键控制8只LED灯显示状态,其中3个按键开关组成

独立式键盘,分别用key1键控制灯依次左移循环点亮,key2键控制灯右移循

环点亮,key3键控制8灯闪烁。

ttincluda

_C0NFIG(ex3B3^l);ttdefinekey1RBOttdoFinekey2R81ttdeFineHH2

uoiddela^(unsignedintns){unsign&dinti,j;

For(i=ms;i>G;i——)for

voidzuo^if)

{unsignedchari;

PORTD-CX01;

ForCl^l;i<8;i++)

>

PORID^OxOfi;

uoidyouyi(){unsignedchari;

PORrD=Oxso;

For(i=l;i<8;i++0

PORTD=PORTD»1;

>

PORTD=DxO(l;

>

n

uoidganshuo(){unsignedchari;

PORTD=BkOO:

Fort1=1;i<>i:

l++)

{delay(^DO);

PORTD=~POBID;

>

PORTD>6mOO;

}

uoidmain()

<

TRISB=BxFF;

TRISD=0xU0;

P0RTD=flxB0;whiled)

<

犍按下吗?

5虹砂(辆);"址吋云什砌

if(key1==0>//确去按下

>if(key2»=0)//keyZ犍按下吗T

lf(K?

(j2==0)//确喜按下切ciuyi();》"调T若移子程序

>

i+(key3==0)//kpy2fit按下吗7

>

>

第二次作业

1、假如PIC单片机的系统时钟振荡频率是4MHz污E么执行一条非转移类指令的真实

时间应该是__Dus

A.0.5B.2C.3D.1

2、在PIC单片机系统配置和程序设计中,采用很有特色的哈佛总线结构,其根本意义就

在于B.

A.减少CPU的功耗B.数据存储器和程序存储器总线分离

C.提高端口的驱动能力C.可以方便进行在线调试

3、PIC单片机与其他单片机相比,具有以下这些明显的优点,但—C外.

A.哈佛总线结构B.精减指令RISC结构

C.存储器大D.驱动能力强

4、在PIC16F877单片机系统配置中,特别引入A/D转换器(ADC),它具有个

模拟量输入通道•

A.5B.8C.10D.6

5、PIC16F877单片机的ADC转换器具有A位的分辩率。

A.10B.12C.8D.14

&PIC16F877单片机多数I/O引脚都设计有第2功能,甚至还有第3功能,RA端口中

可以承担A/D转换中负参考电压端(VREF)的引脚是___B.

A.RA0B.RA2C.RA3D.RA4

7、在PIC16F877单片机ADC转换模块中,配置有8个模拟量输入通道,分别由

两个端口中的引脚承担.

A.RA和RCB.RC和RBC.RB和RDD.RA和RE

二、AD转换的中断程序设计

1、设计一个电子温度测量仪的雏形,温敏电阻(F2)感受外界温度变化,单片机实时采集RA0引脚的模拟量将其转化为数字量,通过端口C连接的一位LED

数码管显示AD转换结果的高8位(要求画出程序流程图,写出相关中断程序)。

说明:

R是一个温敏电阻,其电阻值随温度的变化而变化。

#include

__CONFIG(Ox3B31);

intadcdata=0;//

constunsignedcharseg7[10]={0xC0,0xF9,0xA4,0xB0,0x99,

0x92,0x82,0xF8,0x80,0x90};〃

VoidinterruptISR()

{if(ADIE&&ADIF)

{ADIF=0;//

adcdata=(((unsignedint)ADRESH)«8)+ADRESL;〃

ADGO=1;//

}

}

voiddelay(unsignedintms)

{unsignedinti,j;

for(i=ms;i>0;i--)

for(j=0;j<67;j++)

{;}

}

voiddisplay(unsignedintidata)

{unsignedchari,j;

//unsignedintt;

unsignedcharnumstr[5]={0,0,0,0,0};

//处理数据idata

numstr[1]=idata/1000;//千位数numstr[2]=(idata%1000)/100;//百位数

numstr[3]=idata%100/10;//十位数

numstr[4]=idata%10;//个位数for(i=0;i<10;i++)

{PORTD=0x01;

for(j=1;j<=4;j++){PORTC=seg7[numstr[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1