PIC课程3
PICKIT3中文说明书

• Microchip 愿与那些注重代码完整性的客户合作。
• Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 dsPIC、 KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、 PICmicro、 PICSTART、 rfPIC 和 UNI/O 均为 Microchip Technology Inc. 在美国和其他国家或地区的注册商标。
Analog-for-the-Digital Age、 Application Maestro、 CodeGuard、 dsPICDEM、 、 dsPICworks、 dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、 HI-TIDE、 In-Circuit Serial Programming、 ICSP、 ICEPIC、 Mindi、 MiWi、 MPASM、 MPLAB Certified 徽标、 MPLIB、 MPLINK、 mTouch、 nanoWatt XLP、 Omniscient Code Generation、 PICC、 PICC-18、 PICkit、 PICDEM、 、 PICtail、 PIC32 徽标、 REAL ICE、 rfLAB、 Select Mode、 Total Endurance、 TSHARC、 WiperLock 和 ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地 区的商标。
爱晶PIC视频教程介绍

零基础一周学会PIC单片机视频教程(爱晶电子创新PIC单片机视频教程)恭喜您,找到了这套非常精彩的PIC单片机视频教程!45课时的高清视频教程、全程手把手教学、程序逐条讲解、摄像头实时拍摄实验效果、课后练习、网上答疑教室,让你真正快速入门!本视频教程由王伟民老师主讲,王老师曾在05年参加国内电子设计业权威杂志《电子设计技术China》与美国Microchip公司联合举办的“start now PIC单片机设计竞赛”,获得亚太区唯一的特等奖,他长期从事PIC单片机的开发和教学,具有丰富的实践经验,其讲课风格非常类似于“百家讲坛”,擅长用最通俗和最具趣味性的语言讲解复杂的单片机原理和术语,大多数初学者看了第一讲以后,就会被深深地吸引住,因为这套教程从一开始就给了你全新的体验——你似乎不是在听课,而是在听王老师讲故事,你完全不会再有“学单片机枯燥”的感觉,相反,你会觉得学单片机其实是世界上最有趣的事情。
学习采用对初学者最有效的“手把手”教学方式,从最基本的0、1开始,手把手地教你逐条写出语句,并为你逐条讲解,即使你没有任何基础,对单片机和C语言一概不懂,也没有关系,只要你识中文、会四则运算,就能跟着王老师轻松学会PIC单片机。
整个过程全部用C语言讲解,从容易掌握的单片机实践应用讲起,到第二讲,你就能编写出你的第一个程序,理论知识在需要的时候“即用即讲”,我们会采用“举生活中的例子”、“自制教具”、“演示实验”等多种教学手段将各个知识点彻底讲清楚,让你不但学得轻轻松松,而且清清楚楚。
全部教程学完后,你将具备一般项目的实际开发能力。
总之,这部我们耗费半年时间策划并录制的精品教程,是绝对值得每一个PIC初学者乃至专业的开发人员拥有的,本视频教程在网上可免费下载,俗话说:“耳听为虚、眼见为实”,赶快下载看一下吧,只要你认真看,认真练,完全可以在短时间内学会PIC单片机。
最后,如果你觉得这套视频教程对你有帮助,希望你能够广为传播,让更多人来下载,并从中受益,你可以将其发到你熟悉的论坛或群里,也可以做成BT 种子供人下载,各种非盈利性的传播方式都可以,在传播时请保留此声明。
PIC教程3-点亮LED②软件

2.创建一个新项目:点击主菜单→Project→new,出现对话框:New Project,在对话框中输入项目名称和路径。注意MPLAB I一个项目其软件和硬件必须在同一目录,否则会死机退出。
3.设置编程语言
主菜单→Project→Bulid All或Ctrl+F10
如果你看到一行绿色,说明编译成功。如果你看到的进度条最后是红色的,嘿嘿,有点麻烦,你的.asm程序有错误。成功后的画面如下:
9.查看刚刚生成的.hex文件
上图中的LX1_LED.HEX文件就是软件开发的最后成果,实际应用时需要将这个文件烧录到单片机中去,这样单片机就可以运行,也就能按照你预先设定的程序运行。关于实际中如何烧录程序,我们后面再讲。
4.打开项目管理器。主菜单→View→Project
5.新建.asm文件。
主菜单→File→New,出现一个Untitled文本编辑器,在编辑器中输入相应的汇编程序。关于程序的输入,后面再详细讲解,请打开本教程附带的文件,用EXCEL打开LX1_LED目录下的”点亮LED之软件.XLS”文件,从第一行选中到最后一行(共4列),复制到MPLAB IDE中的Untitled文本编辑器中,存盘(注意路径),命名为LX1_LED.asm,如下图:
PIC单片机的编程语言有“汇编”和“C语言”。C语言有:①PICC、②MCC18和③CCS。
汇编语言和C语言各有千秋,这里不做讨论。本教程主要讲解用汇编语言进行单片机开发。下面就如何选择汇编语言,进行相关设置。如图:
主菜单→Project→Select Language Toolsuite→Microchip MPASM Toolsuite
【弱智的PIC教程之2】
pic单片机选型 (3)

pic单片机选型1. 引言在嵌入式系统和电子设备开发中,单片机起到至关重要的作用。
它们是一种集成了中央处理器、存储器和各种输入输出接口的微型计算机芯片。
PIC(Peripheral Interface Controller)单片机是由Microchip Technology公司推出的一系列单片机产品。
选择适合的PIC单片机是一个关键的决策,它需要考虑多个方面,包括系统需求、性能要求、电源管理、成本和开发环境等因素。
本文将介绍如何进行PIC单片机选型,并对一些常用的PIC单片机进行简要的比较和评估。
2. PIC单片机选型指南2.1 系统需求在选择PIC单片机之前,首先需要明确系统的需求。
这包括但不限于以下几个方面: - 处理能力:需要考虑系统的运算复杂性和实时性要求。
如果需要处理大量数据或实时响应,可能需要选择高性能的PIC单片机。
- 存储容量:系统需要的存储容量包括程序存储器(Flash)和数据存储器(RAM)。
根据系统的功能和数据处理需求,选择合适的存储容量。
- 输入输出接口:根据系统的外部设备需求,选择具有足够的IO口和通信接口的PIC单片机。
- 电源管理:如果系统对功耗要求比较高,需要选择低功耗的PIC单片机。
- 开发环境:选择一个熟悉且易于使用的开发环境,以便开发过程更加顺利。
2.2 PIC单片机性能PIC单片机的性能指标包括但不限于以下几个方面: - 主频:PIC单片机的主频决定了其计算能力和运行速度。
主频越高,性能越强。
- 片内存储器:片内存储器包括Flash和RAM。
Flash存储程序,RAM存储变量和临时数据。
存储容量越大,可以处理的程序越复杂,数据存储越丰富。
- 片外扩展:某些应用可能需要扩展片外存储器,如外部Flash、EEPROM或SD卡。
选择具备这些扩展接口的PIC单片机可以满足更高的存储需求。
- IO口数量和类型:根据系统的外部设备需求,需要足够的IO口和通信接口。
shinehawk 自编pickit3连接教程

PICkit3专业解释:PICkit 3 编程器/ 调试器是一款由在Windows® 平台上运行MPLAB IDE(v8.20 或更高版本)软件的PC 控制的简单低成本在线调试器。
PICkit 3 编程器/ 调试器是开发工程师工具包的不可或缺的组成部分。
可用于从软件开发到硬件集成等各种应用领域。
对于pickit3(以下简称kit3)下面我给出自己的一点解释:对于我自己来说从来没有用过这样的下载器,以前学的单片机像51系列的都可以直接通过串口进行下载,只要和单片机连上用相应的下载软件进行下载就可以了。
但是对于pic单片机不支持进行串口直接下载。
必须要有自己对应的下载器进行下载,最常用的不过就是ICD2、kit2、kit3。
在这三种下载工具中最强大的就kit3。
对于ICD2主要是下载用,但是kit2与kit3不但能进行下载而且还能进行在线仿真,但是在这里不介绍仿真的实现可以自己去探究。
但是kit3对于kit2来讲支持的IC更多,功能更加强大,所以在这里选用了kit3。
Kit3是要和mplab连接才能进行使用的,也就是像其他单片机的下载软件对于kit3不存在要下载只要在编译环境mplab中设置就可以进行下载了,这个很方便。
下面进行kit3使用的介绍,先说明一下在一下的介绍中采用的mplab8.5 kit3是网上购买的。
PICkit3与mplab连接使用教程第一步打开mplab软件默认out put界面如下图只有三个选第二步咱们要调出需要的kit3的选项在工具栏中选择programmer>>select programmer>>pickit3 然后就会出现下面的界面这样就把kit3 的选项掉出来了。
第三步就要把kit3 连接到电脑上用kit3的专用USB线连接到电脑上(一般第一次的时候要进行USB的驱动(一般是PL2303驱动)在对应的给的kit3 的资料中找到相应的驱动就好了)。
PIC单片机的最小系统及开发流程

; 设置RA口为IO口 ;选择数据存储器的体0
第三讲 5. PIC单片机的集成开发环境MPLAB 编译失败的原因1-拼写错误 学会看Output窗口的信息
第三讲 5. PIC单片机的集成开发环境MPLAB 编译失败的原因2-用中文输入法输入“;”“,”
DIP封装的 PIC16F877A
SOIC和SSOP封 装的PIC单片机
TQFP封装的 PIC6F877A
更加详细的封装信息在datasheet里面
第三讲 3,PIC单片机的封装
•
小知识点 • 环氧树脂聚合物 成本低,重量 轻 欣赏下黑胶芯片的内部 • 光照(包括紫外线)会影响晶 体管的工作性能,所以外壳不 能透光。
第三讲 5. PIC单片机的集成开发环境MPLAB 软件安装详见课本P32, 3.3节 安装程序,下课学习委员来找我拷贝
可官方免费下 载,但只支持 汇编编译,C 语言编译的话 需要安装其他 C编译器,而 且不同信号的 编译器不同
MPLAB 8.8 IDE (本课程讲解用)
MPLAB X IDE (最新版本)
asm文件第三讲pic单片机的集成开发环境mplab软件安装详见课本p3233节安装程序下课学习委员来找我拷贝mplab88ide本课程讲解用mplabide最新版本可官方免费下载但只支持汇编编译c语言编译的话需要安装其他c编译器而且不同信号的编译器不同第三讲pic单片机的集成开发环境mplabmplabide提供以下功能
TQFP封装的 PIC6F877A
集 成 电 路 的 封 装 ( Package ) 指 厂 商 对 由 集 成 电 路 的 核 心 —— 半 导 体硅片的包装方式,也即 芯片的载体。
第三讲 4,PIC单片机的烧写流程
第3章 PIC单片机指令系统
第3章 指令系统3.1 3.2 3.3 3.4 汇编语言 寻址方式 PIC18F452指令系统 程序设计举例3.1汇编语言• 指令:是 指令:是CPU CPU根据人的意图来执行某种操作的命令。
根据人的意图来执行某种操作的命令。
• 程序设计语言:是实现人机交换信息的基本工具,分为机 器语言、汇编语言和高级语言。
• 机器语言:用二进制编码表示每条指令 机器语言:用二进制编码表示每条指令,是计算机能 ,是计算机能直接 直接 识别和执行的语言。
识别和执行 的语言。
• 汇编语言:是用助记符、符号和数字 汇编语言:是用助记符、符号和数字等来表示指令的程序 等来表示指令的程序 设计语言。
它与机器语言指令是一一对应的。
设计语言。
它与机器语言指令是一一对应的。
? 汇编语言编写的程序能否直接被计算机执行? • 高级语言:面向问题和计算过程的语言,可通用于各种不 同的计算机。
用户编程时不必了解所用计算机的指令系统。
Why study assembly language?• Many critical programs are written in assembly language • To better understand the functions and architecture of a computer system • To better understand the working of high level languages • To design efficient programs • A tool for writing system programs • Embedded systems development– Mixed languages programming3• PIC18F452 PIC18F452汇编语言指令格式 汇编语言指令格式 标记段: 标记段 :操作码 [目的 目的操作数 操作数][, ][,源 源操作数 操作数][ ][; ;注释 注释] ]MOVLW BTFSS BCF GOTO 0x7F WREG, 7 WREG, 0 Stop ;load test data ;clear bit 0Stop:• 其中操作码 其中操作码是必不可少的。
PIC24系列单片机原理与开发 第3章 时钟和系统管理
设所需的配置为: 禁双速启动,使用主振荡器和 PLL 四倍频, OSC1 与 OSC2 引脚接 8MHz 的 XT 晶振,禁时钟切换和保护监视。 在程序中加入下面的芯片配置字 2 的宏便可实现所需配 置。 _CONFIG2(IESO_OFF & FNOSC_PRIPLL & FCKSM_CSDCMD & POSCMOD_ XT) 若配置改为使用片内快速RC振荡器(8MHz,不分频) 和PLL四倍频, 禁止主振荡器, 其余不 变,则芯片配置字2的宏为: _CONFIG2(IESO_OFF & POSCMOD_NONE & FCKSM_CSDCMD & FNOSC_FRCPLL) 因为没有启用主振荡器,因此 OSC1 与 OSC2 引脚可作 I/O 用。 说明:1. 当配置为禁止主振荡器时(POSCMD<1:0> = 11,宏定义为POSCMOD_NONE) ,引脚 OSC1 和 OSC2自动配置成数字I/O功能(RC12和RC15)。 2. 当主振荡器配置为 外部时钟 的EC 模式时 (POSCMD<1:0> = 00,宏定义为 POSCMOD_EC),外部时钟接OSC1引脚,若将 OSCIOFCN位(配置字2<5>)编程为0或引用 宏定义OSCIOFNC_ON,OSC2引脚仍可以为数字I/O,否则OSC2引脚上为Fosc/2 时钟输出, 可用于系统时钟测试或同步。
PIC24 系列单片机原理与开发
by
Zeng
2012-6-9
如下: (1)在 OSCCON 寄存器解锁和写序列期间禁止中断 。 (2)用两条字节传送指令将 78h 和 9Ah 写入 OSCCON<15:8>, 以执行 OSCCON 高字节的 解锁序列。 (3)紧接上面解锁序列之后将新的振荡器源写入 NOSC<2:0>。。 (4)用两条字节传送指令将 46h 和 57h 写入 OSCCON<7:0>,以执行 OSCCON 低字节的 解锁序列。 (5)紧接着将 OSWEN 位置 1。 (6)调用软件延时,使选中的振荡器和/或 PLL 启动并稳定。 (7)检查 OSWEN 位是否为 0,如果为 0,则说明切换成功。 下面是解锁 OSCCON 寄存器和启动时钟切换的核心序列 。 例 3-1:时钟切换的基本代码序列 .global _Exam3_1 _Exam3_1: ;W0<2:0>为新的振荡器选择 PUSH SR ;状态寄存器入栈 MOV #0x0e0,w1 ;准备使 IPL<2:0>=0b111, MOV w1,SR ;CPU 中断优先级 7,禁止所有可屏蔽中断 MOV #OSCCONH,w1 ;OSCCONH (OSCCON 寄存器的高字节) 解锁序列 MOV #0x78, w2 MOV #0x9A, w3 MOV.b w2, [w1] MOV.b w3, [w1] MOV.b WREG, OSCCONH ;设置新的振荡器选择 MOV #OSCCONL,w1 ;OSCCONL(OSCCON 寄存器的低字节) 解锁序列 MOV #0x46, w2 MOV #0x57, w3 MOV.b w2, [w1] MOV.b w3, [w1] BSET OSCCON,#0 ; 启动时钟切换 POP SR ; 恢复状态寄存器 RETURN 上面的汇编子程序作为 C 函数调用的格式为: void Exam3_1(int X)。参数 X 的 bit2:0= 新振荡器选择位 NOSC<2:0>。例如将系统时钟切换成带分频的 FRC 为: Exam3_1(0b 111); 在基本序列完成后,系统时钟硬件按以下方式自动响应 : (1)若 COSC<2:0>位与 NOSC<2:0>位的值相同,则不进行切换操作,OSWEN 位自动清零, 时钟切换终止。 (2)如果启动了有效的时钟切换,则 LOCK 位(OSCCON<5>)和 CF 位(OSCCON<3>)清零。 (3)如果新的振荡器当前未运行 ,硬件会自动启动它。如果启动晶体振荡器,则硬件将等 待到振荡器起振定时器( OST)计时期满。如果新的振荡器源使用 PLL,则硬件将等待 到 PLL 锁定(位 LOCK = 1)。 (4)硬件等待新的时钟源达到稳定 ,然后执行时钟切换。 (5)硬件清零 OSWEN 位,指示时钟切换成功,并且 COSC<2:0>更新成 NOSC<2:0>位的值。 (6 ) 关闭旧时钟源。但是若旧时钟源是下面两种情况时例外 :若闪存配置字 1 中使能 WDT
pic课程设计
pic课程设计一、课程目标知识目标:1. 学生能理解并掌握课程核心概念,如XXX(此处填写具体学科概念),建立扎实的理论基础。
2. 学生能运用所学知识,分析和解决实际生活中的问题,将理论知识与实际应用相结合。
技能目标:1. 学生通过本课程的学习,培养良好的XXX(此处填写学科相关技能,如实验操作、数据处理等)技能,提高实践操作能力。
2. 学生能够运用所学技能,独立完成课程项目,具备一定的创新意识和团队协作能力。
情感态度价值观目标:1. 学生在学习过程中,培养对学科的兴趣和热情,形成积极向上的学习态度。
2. 学生通过课程学习,认识到所学知识在现实生活中的重要性,增强社会责任感和使命感。
3. 学生在团队合作中,学会尊重他人,培养良好的沟通能力和团队精神。
课程性质:本课程为XXX学科(此处填写具体学科)的示范课,旨在帮助学生巩固基础知识,提高实践能力,培养创新精神和团队协作能力。
学生特点:考虑到学生所在年级的特点,课程设计将注重知识性与趣味性相结合,激发学生的学习兴趣,同时关注学生的个体差异,因材施教。
教学要求:教师应关注学生的实际需求,注重启发式教学,引导学生主动探究,提高课堂互动效果。
同时,注重过程性评价,及时了解学生的学习进度,调整教学策略,确保课程目标的达成。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 知识讲解:- 教材章节:XXX(此处填写教材具体章节)- 内容列举:XXX(此处列举具体教学内容,如基本概念、原理、公式等)2. 实践操作:- 教材章节:XXX(此处填写教材具体章节)- 内容列举:XXX(此处列举实践操作相关内容,如实验、案例分析等)3. 知识拓展:- 教材章节:XXX(此处填写教材具体章节)- 内容列举:XXX(此处列举拓展性内容,如学科前沿、跨学科知识等)4. 课程项目:- 教材章节:XXX(此处填写教材具体章节)- 内容列举:XXX(此处列举课程项目相关内容,明确项目目标、任务分配等)教学大纲安排如下:1. 导入新课:通过生活实例或问题,激发学生兴趣,引出本节课的学习内容。
PICkit3(ICD2)使用方法140722
ICD2或PICkit3使用方法一、工程文件的建立1、可事先根据任务要求用记事本、MPLAB IDE软件或其它手段编写好主文件或主函数(*.ASM或*.C)、子程序或子函数(*.INC或*.h)并与特殊功能存储器的定义文件(PIC16F877A.INC,C编译环境略)、连接文件(16f877a.lkr,可略)存放在某一路径XX(不能用中文)。
2、运行MPLAB IDE软件3、Project→New(选择工程文件名,如ex1407),Project Directory(选择路径XX,不能用中文)4、View 选择Project、Output5:编译器选择:(选择汇编语言或C语言)5_1:汇编语言:Project→Select Language→Toolsuite(如下图) →OK5_2:C语言:Project→Select Language→Toolsuite(如下图) →OK6、主函数加载:右击Source Files→Add Files *.asm或*.C(主程序或主函数,在路径XX下的文件)7、子函数加载:右击Header Files Add Files→*.INC和PIC16F877A.INC或*.h(在路径XX下的文件)8(略)、右击Linker script Add Files→16f877a.lkr(在路径XX下的文件)9、器件型号选择:Configure select Device→PIC16F877A10、参数设置:Configuration →Configuration Bits set in code 的√去掉晶振4MHz Oscillator 选XT,大于4MHz(如晶振20MHz)则选HS,其它选项可关闭原始界面:典型参考设置:11、编译并纠错(编译成功会自动生成ex1407.HEX、ex1407.mcp等文件)二、程序下载调试1、将ICD2或PICkit3只与PC机连接,与开发板是断开的2、工作方式选择Debugger或programmer,将出现如下界面,表示ICD2或PICkit3与PC机成功连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(6)数据储存的顺序
• 低字节储存在低地址,低字节优先存
long Var = 0xAABBCCDD ;
(7)内存模式: near , far & rom , ram
程序存储区(rom)
数据存储区(ram)
far 2M bytes 寻址模式 4K bytes 寻址模式 (用24-bit的指针) (用16-bit的指针)
ANSI (American National Standards Institute) 是美国负责订定国家标准的机构。 它除了订定各种 工业及产品的标准外,也同时负责计算机 程序语言 的标准。ANSI 在 1989 年发表了语言的标准X3.159, 也就是我们一般所称的 ANSI C 标准。
2-1. MPLAB C18 简介
MPLAB C18 概述2
• 支持软件堆栈 使用RAM空间做为软件堆栈 参数及自变量的传递 函数调用与中断使用硬件堆栈
• 内建嵌入式汇编语言
In-Line Assembly
• 程序里可直接调用汇编语言 • 可直接处理中断服务程序 • 可将变量直接指定到 Access Bank,以提高执行效率。
2-2. 程序设计基础
if else 条件判断 范例1
if else 条件判断 范例2
C18 的三个帮手
•������ 微控制器的标准名称定义文件 ������ p18f452.h , p18f8720.h •������ 微控制器的周边地址设定文件 ������ p18f452.lib,p18f448.lib •������ 微控制器的起动模块 ������ Reset Vector 的控制权
if (条件判断)
{ 动作1 } ---->条件判断成立时执行
else
{ 动作2 } ---->条件判断不成立时执行
例: if ( PORTBbits.RB0 = = 1 )
PORTD=0xff ; else
PORTD=0x00 ;
// 判断位RB0=1? // RB0=1, PORTD=0xFF
// RB0=0, PORTD=0x00
维护了?
为什么要用C? ������ 复杂程序简易化
������
少于2K的程序- 可用汇编语言
������
2K ~ 8K的程序- 最好用C来完成
������
大于8K的程序- C 语言
������ 程序容易撰写
������ 高时效性
������ 兼容性高
������ 程序的阅读性强
������ 日后的维护方便 ������
18F452 对周边的定义
• 利用一种数据类型来定
义其周边,这个数据类 型就是“结构类型” • 结构类型可视为将不同 类型的数据收集在一起 当做一个整体,并给予 一个结构名称。 • 在结构名称内会有其它 成员,可利用结构变量 与成员名称来指定结构 中的某个成员。
• 范例: 利用结构类型来 定义PORTD 的程序
MPLAB C18 概述 1
• 与 ANSI ‘89 相容 • 支持浮点运算
32-bit浮点运算 使用Microchip浮点运算格式
• 原始程序除错(Source Level Debugging)
与MPLAB IDE系统兼容
• MPLAB-C18支持周边控制函数库
SPI,I2C,USART,A/D,Timer,….etc. 提供原始程序可供修改
MPLAB C18 编译器是适用于 PIC18 单片机的独立而优化 的 ANSI C 编译器。仅在 ANSI 标准 X3.159-1989 与高效的 PICmicro 单片机支持有冲突的情况下,此编译器才会与 ANSI 标准有所偏离。
此编译器是一个 32 位 Windows 平台应用程序,与 Microchip 的 MPLAB IDE 完全兼容,它允许使用 MPLAB ICE 在线仿真器、 MPLAB ICD 2 在线调试器或 MPLAB SIM 软件 模拟器进行源代码级调试。
������ if (a <= b)
������ * , /
• 逻辑运算符������
������ + , -
Байду номын сангаас
&& , || , !
������ << , >>
������ (a && b) || c
������ < , <= , >=
• 位运算符
������ == , !=
������ & , | , ^ , >> , <<
C 是否可做的到?
• 汇编语言速度较快 ������ 加快振荡频率 ������ PIC18Fxxxx @10MHz,指令执行速度100nS • 汇编语言编译后的程序代码较少 ������ PIC18F8720 最大的程序空间为128K-Byte • 汇编语言对周边硬件较好控制 ������ MPLAB C18 提供了完整的周边控制函数功能 • 汇编语言对时序精确度较容易掌握 ������ MPLAB C18 提供了内建汇编语言功能 ������
struct {
unsigned RD0:1; unsigned RD1:1; unsigned RD2:1; unsigned RD3:1; unsigned RD4:1; unsigned RD5:1; unsigned RD6:1; unsigned RD7:1; } PORTDbits;
微控制器的标准名称定义文件
循环控制((Looping))
• 在C语言里,共有三种循环控制 ������ for (算式1;算式2;算式3) ������ while ������ do while • 循环控制使用在重复事件中,一般会加
入条件判断以离开此循环。 • 循环控制可以让程序更简洁,易读。
for 循环
指令 - for for (算式1;算式2;算式3 )
������ 产生可执行文件(HEX) ������ 安排堆栈地址及深度给MPLAB C18 ������ 提供COD 文件以利程序侦错 ������ 让程序更容易模块化 ������ 连结数据库(Library)
1-3. MPLAB IDE 使用方法
2. MPLAB C18和程序设计基础
{ 动作}
• 算式1: 通常是起始值的设定,
• 算式2: 通常是条件判断式,
• 算式3: 通常是步进表达式
例:让PORTD LED 闪五次, 每次间隔200mS
for ( i=0 ; i <5 ; i ++)
{
PORTD=0xff;
// LED on
Delay10KTCYx(10 );
// Delay 100ms @4MHz
第三讲
1. MPLAB IDE简介 2. MPLAB C18和程序设计基础 3. 实验要求
1. MPLAB IDE简介
1-1. MPLAB IDE 及其构成
MPLAB IDE 是一个运行于PC 机上PIC单片机综 合集成开发环境(软件)。它把开发过程中用到的 各种独立的工具集合为一体,以实现 PIC 单片机的 一站式开发。包括源程序编辑器、自带汇编语言的 编译和连接器、软件模拟器、硬件仿真器、烧写器 等。
PORTD=0x00;
// LED off
Delay10KTCYx(10 );
// Delay 100ms @4MHz
}
for 循环范例
while 循环
指令 - while while (条件判断式)
{ 动作}
• 条件判断成立时执行循环内动作,做完后又继续跳回
条件式作测试,直到条件式不成立为止。
������ & , |
������ a=(b & c) >> 6
������ && , ||
(2)常数的表示
• 表示单一ASCII字符码 ������ ‘\x41’ (=0x41=‘A’) •������ 二进制表示法 ������ 0b01011010 (=0x5A) •������ 八进制表示法 ������ o101 (欧壹零壹=0x41=‘A’) •������ 十六进制表示法 ������ 0x5A、0x3FFF •������ 字符串进制表示法 ������ “How are you?”
C语言与汇编语言比较
汇编语言
• 困难不容易理解 • 必需对MCU架构很清楚 • 写完后容易忘记 • 除错较为困难 • 写大程序的时侯很辛苦 • 花较长的时间 • …….. • ‹优点 • 程序代码较小 - 省钱 • 执行速度较快 • 让老板觉得你很厉害
C 语言
• 简单易读易懂 • 仅需对MCU有概念即可 • 写大程序时较简单 • 除错较简单 • 别人也很容易看懂程序 • 容易修改 • …….. • ‹缺点 • 汇编语言优点的相反, • 就是C的缺点
1. 用P18F452.H 定义文件定义18F452 特殊周边缓存(SFR) 的名称及相关位名称。该文件位于 c:\mcc18\h
near <64K bytes寻址模式 Access RAM 寻址模式 (用16-bit的指针) (用8-bit的指针)
注意:红色字框为内定的内存模式(Default)
(9)程序的控制
• 循环控制 (Looping) • 条件判断 (Conditional) • 多向叙述 (Switch Statement) • (Break Statement) • (Continue Statement)
(4)运算
a. 算数运算(Arithmetic) b. 关系比较运算(Relational) c. 逻辑比较运算(Logical) d. 位运算(Bitwise) e. 指定运算(Assignment) f. 加一、减一运算(Inc & Dec)