《PIC单片机技术上机指导书》 2.docx

上传人:b****4 文档编号:3998707 上传时间:2022-11-27 格式:DOCX 页数:19 大小:1.63MB
下载 相关 举报
《PIC单片机技术上机指导书》 2.docx_第1页
第1页 / 共19页
《PIC单片机技术上机指导书》 2.docx_第2页
第2页 / 共19页
《PIC单片机技术上机指导书》 2.docx_第3页
第3页 / 共19页
《PIC单片机技术上机指导书》 2.docx_第4页
第4页 / 共19页
《PIC单片机技术上机指导书》 2.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

《PIC单片机技术上机指导书》 2.docx

《《PIC单片机技术上机指导书》 2.docx》由会员分享,可在线阅读,更多相关《《PIC单片机技术上机指导书》 2.docx(19页珍藏版)》请在冰豆网上搜索。

《PIC单片机技术上机指导书》 2.docx

《PIC单片机技术上机指导书》2

 

PIC单片机技术

上机指导书

 

电子信息与电气工程系

通信教研室

一、说明

《PIC单片机技术》课程上机实验学时为10~12课时。

上机实验采用开发板和Proteus仿真。

1.1开发实验板电路

注:

1.假设开发实验板上采用的PIC单片机型号为pic16f877a;

2.开发实验板上发光二极管接RB0~RB3。

1.2Proteus仿真

见后面“利用Proteus仿真PIC应用系统”

二、实验内容

实验一I/O实验

图1.1实验系统连接图

注:

图1.1中,PC机与在线调试器的连接也可以采用USB接口。

若采用USB接口,则ICD2_USB的驱动程序在C:

\ProgramFiles\MPLABIDE\Driver2000\ICD2_USB

C:

\ProgramFiles\MPLABIDE\DriverXP\ICD2_USB

C:

\ProgramFiles\Microchip\ICD2\Drivers目录下。

1.目的

1熟悉MPLABIDE开发环境,重点掌握MAPLABICD2的开发过程。

2学习项目的创建。

3掌握ICD2作为调试器(Debugger)的开发步骤。

4掌握ICD2作为编程器(Programmer)的开发步骤。

5学习应用程序的编写、调试、烧写。

6掌握子程序(延时子程序)的概念及其调用方法。

2.要求

①RB0~RB3的发光二极管按照下图闪烁。

3.操作步骤

(1)建立一个项目目录,如D:

\exp1。

选择MPLABIDE的主菜单Project\New,创建一个新的项目,对话框如下

(2)选择Project\SelectLanguageToolsuit,如图设置好路径。

(3)新建应用程序。

选择File/New,在打开的对话框中输入程序。

然后选择File/Save,保存到D:

\exp1目录下。

保存类型为*.asm

(4)将应用程序IO.asm添加到项目中。

说明:

步骤

(1)~(4)用于创建一个项目,并把应用程序添加到项目中。

(5)选择单片机芯片Configure\SelectDevice:

PIC16f877a;选择调试器Debugger\SelectTools\MPLABICD2。

进行配置位设置,如下

(6)选择Debugger\Settings,communication接口选择USB(或com1com2,根据实际连接选择)。

(7)选择Debugger\Connect连接到MPLABICD2。

(8)编译程序。

Project\BuildAll或者Make

(9)烧写程序。

Debugger\\Program,将调试代码下载到PIC单片机中。

(10)运行程序。

Debugger\Run全速运行

Debugger\Animate单步运行

(5)~(10)采用Debugger调试。

说明:

1.运行时,可以用View菜单下的各种视图,观测数据存储器(FileRegester)、程序存储器(Programmemory)、单片机引脚(SpecialFunctionRegister)的信号和数据的变化。

2.采用Programmer编程时,与Debugger类似。

不再说明。

实验二定时/计数器实验

1.目的

1了解PIC数据存储器的结构

2掌握PIC的定时器/计数器工作原理;

3掌握PIC接收键盘操作的处理方法,包括按键操作检测和去抖动的软件实现方法;

4掌握子程序的调用及应用

2.要求

通过RA4引脚检测按键S2的所按次数,并通过RB0~RB3以四位二进制显示计数值,当数值操作15时,又恢复到0重新计数。

3.参考程序

;**********************************************************

;*.检测引脚按键次数

;说明:

本实验以RA4作为按键输入(平时为高电平、按下为低电平),RB0~RB3作为

;输出显示

;**********************************************************

listp=16f877a;//芯片型号根据实际修改

include"p16f877a.inc"

RP0equ5

RP1equ6

delay1equ22h

delay2equ23h

aequ24h;存放按键次数

;*********************************************************

;主程序

org0x30

nop

callInitial

mainloop

callDelay

callDelay

btfssPORTA,4;测试开关是否被按下

callCheck

gotomainloop

;************************************************

;初始化子程序

Initial

bcfSTATUS,RP1

bsfSTATUS,RP0;选存储体1

clrfTRISB;输出

bcfSTATUS,RP1

bcfSTATUS,RP0;选存储体0

clrfPORTB

movlwB'00001111'

movwfPORTB

movlw0x00

movwfa

return

;************************************************

;键盘处理子程序

Check

incfa;

ifa==0fh

clrfa;a计数记满后重新计数

endif

movfa,0;a-->W

movwfPORTB

check1

btfssPORTA,4

gotocheck1;若RA4仍为低电平,继续检测

callDelay;若RA4为高电平,则说明按键断开,此时调用延时子程序,消除断开抖动影响

;为了保险起见,再测一次

btfssPORTA,4

gotocheck1

return

;************************************************

;延时子程序

Delay

movlw05Fh

movwfdelay1

clrfdelay2

Delayloop

decfszdelay2,1

gotoDelayloop

decfszdelay1,1

gotoDelayloop

return

;************************************************

end

实验三中断实验

1.目的

1掌握中断服务例程编写方法。

2了解中断的逻辑控制和中断处理过程

3掌握查询中断标志位来检测中断源的方法。

2.要求

中断信号源来自RB0/INT引脚上的外部中断,采用边沿触发,下降沿触发。

当RB0/INT引脚上来一个脉冲时,接RC2的扬声器要能够马上发出声音报警。

实验四A/D实验

1.目的

1了解A/D转换的应用;

2掌握PIC16F87X的A/D转换模块功能的实现方法;

2.要求

以RA0引脚作为模拟信号的输入通道用发光二极管来显示A/D转换的结果。

当RA0输入最小电压为0V时,发光二极管显示0000,当RA0输入最大电压为5V时,发光二极管显示1111;中间值依输入电压相应变化。

常见问题

1、问:

烧写过程出现如下

ICD0161:

Verifyfailed(MemType=Program,Address=0x30,ExpectedVal=0x186,ValRead=0x0)ICD0275:

Programmingfailed.答:

调试器和目标板没有连接好,可能是RJ45水晶头没接好。

实验五串行通信实验

1.目的

①学习Proteus软件;

②掌握采用Proteus仿真PIC16F87X的串行通信;

2.要求

单片机的数据存储器的21H~23H分别存放十进制数5、6、7,外接3个数码管。

通过74LS164串/并转换,采用SPI串行输出,实现21H~23H数据的静态显示。

利用Proteus仿真PIC应用系统

Caizhiming2008.4.25

第一篇开发详细步骤

一、在MAPLABIDE中的操作步骤。

(这部分内容和以前介绍的一样,只需要创建项目、保存程序、编译3个步骤,其它的步骤不需要。

1、创建一个新文件夹D:

\PICTEST

2、打开MAPLAB,在主菜单点击Project\New

在PICTEST目录创建项目01_LedTest(注:

该名称自己取),如上图。

3、点击主菜单File\New新建一个程序,并以porgram01命名(注:

该名称自己取),存放在PICTEST文件夹。

并如下图添加到项目01_LetTest中。

程序内容如下:

LISTp=16F877

#include"P16F877.INC"

delay1equ22h

delay2equ23h

ORG0

bankselTRISB;选择TRISB所在的体

bcfTRISB,0;RB0设置为输出

bankselPORTB;选择PORTB所在的体

loopbsfPORTB,0;RB0=1

callDelay;延时

bcfPORTB,0;RB0=0

callDelay;延时

gotoloop

;************************************************

;延时子程序

Delay

movlw0FFh

movwfdelay1

clrfdelay2

Delayloop

decfszdelay2,1

gotoDelayloop

decfszdelay1,1

gotoDelayloop

return

;************************************************

END

4、选择单片机型号

5、点击主菜单Project\BuildAll。

对程序进行编译,若通过则生成一个后缀为*.HEX的文件,该文件在Proteus仿真时要装入PIC单片机中。

二、Proteus中的操作步骤

1、打开Protesu7professional\ISI7professional,如下图。

点击P进行元器件选择。

输入关键字pic进行搜索,找到PIC16F877,并双击它添加到自己。

2、同理添加发光二极管LED_RED、电阻RES、按钮BUTTON、开关SWITCH

3、将元器件拖放到工作区。

选中PIC16F877,并将鼠标移到工作区在适当的位置单击左键即可。

同理拖放电阻、发光二极管。

4、添加接地GROUND。

如下图。

(注:

若电源,如+5V,要选择POWER)

元件之间的连线很简单,直接用鼠标左键选中引脚并连到另一个引脚即可。

5、保存Proteus的设计文件。

保存在PICTEST,名称为ProteusDesign01。

6、各个元件的参数设置。

(1)单片机设置

双击PIC单片机,如下图装入前面在MAPLABIDE中编译好的程序program01.hex。

也可修改其它参数,如时钟频率(即晶振频率)等。

(2)电阻设置。

双击电阻RES,由于该电阻做限流电阻,要改小点,改为100Ω。

(3)接地设置

注:

String,给该接地取一个名称。

7运行仿真。

点击如下图按键。

注:

观察芯片引脚颜色变化,红色代表高电平、蓝色代表低电平。

Proteus中单片机芯片默认已经添加电源与地,所以可以省略。

单片机外接晶振也可以省略。

 

 

第二篇Proteus常用器件中英文对照表

AND与门

BATTERY直流电源

BELL铃,钟

BUZZER蜂鸣器

CAP电容

CAPACITOR电容

CAPACITORPOL有极性电容

CRYSTAL晶振

DIODE二极管

DIODESCHOTTKY稳压二极管

DIODEVARACTOR变容二极管

DPY_3-SEG3段LED

DPY_7-SEG7段LED

DPY_7-SEG_DP7段LED(带小数点)

ELECTRO电解电容

INDUCTOR电感

INDUCTOR3可调电感

LAMP灯泡

LED发光二极管

METER仪表

MOTORAC交流电机

MOTORSERVO伺服电机

NAND与非门

NOR或非门

NOT非门

NPNNPN三极管

OPAMP运放

OR或门

PHOTO感光二极管

PNP三极管

NPNDARNPN三极管

POT滑线变阻器

RES1.2电阻

RES3.4可变电阻

SPEAKER扬声器

SW?

开关

SW-PB按钮

DPY_7-SEG_DP数码管

SW-PB开关

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

当前位置:首页 > IT计算机 > 互联网

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

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