超易单片机入门(小学生都能看得懂的PIC教程)
PIC单片机入门
单片机入门(rù mén)不难------谈PIC系列话说人间事物的学习,不外两类:一类入门易,精通难比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。
另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。
单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。
但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。
本故事说给一点也不懂计算机,甚至数字电路的引引道。
一般入门应该有保障。
改为: 本故事说给懂电工(diàngōng)、电子、逻辑电路的老家伙和半老家伙,如果对电子一窍不通人讲那我劝你也别瞎子点灯了,要是边讲基础边讲pic这书就不知唱到何年何月啦。
单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。
安排它就先的认识它,熟悉它请看图101.jpg.JPG (13.22 KB)这个8条腿的小螃蟹就是我们(wǒ men)的第一顿饭,只要把它吃下去,以后的大餐就好办了。
第1、8条腿接电源 +5V 和地线。
头两条腿是螃蟹钳子,好吃的很。
现在剩下了 6 条腿第2、3条腿使用(shǐyòng)时外接一个叫晶振的东西我们接一个 4 MHz 的。
第4条腿是复位脚,是一个信号输入脚。
单片机正常运行时接高电平。
当有一个低电平脉冲输入到这个脚时单片机就复位。
所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。
例如,你设计的一个报警锁定(suǒ dìnɡ)的 LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个负脉冲,系统就复位了,led灯就熄灭了,程序从头开始。
以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界上比较简单的单片机-----PIC12CE519轮到第5条腿了,这条叫单片机的 I/O 脚。
PIC单片机的C语言编程指南
PIC单片机的C语言编程指南PIC单片机是一种常用的嵌入式系统开发平台,其具有低功耗、成本低廉、易于编程等优点,在工业自动化、电子设备控制等领域有着广泛应用。
本文将为读者提供一份PIC单片机的C语言编程指南,帮助初学者快速入门并掌握基本的编程技巧。
首先,我们需要了解一些PIC单片机的基本概念。
PIC单片机采用哈佛结构,具有多种型号和系列,每个系列有多个型号可供选择。
不同的型号和系列有不同的特性和功能,因此在编程时需要根据具体的芯片型号进行适配。
PIC单片机的编程语言常用的是C语言,其语法简洁,易于理解和学习,并且具有较高的可移植性。
在编写PIC单片机的C语言程序时,我们需要按照以下步骤进行:1. 引入头文件:使用#include指令引入所需的头文件,头文件包含了定义和声明所需的函数和变量。
3.初始化:在程序开始时对所需的资源进行初始化,包括引脚配置、中断设置、定时器初始化等。
4.主循环:编写主循环代码,其中包括需要重复执行的功能,例如读取传感器数据、处理输入输出等。
5.中断处理:根据需要,编写中断处理函数,处理外部中断、定时器中断等。
6.清理工作:在程序结束时,进行一些清理工作,例如释放资源、关闭设备等。
下面是一个PIC单片机的C语言编程示例:```c#include <xc.h> // 引入XC8编译器的头文件#define LED_PIN RC0 // 定义LED连接的引脚void iniTRISC0=0;//配置RC0引脚为输出模式void maiinit(; // 初始化while(1)LED_PIN=1;//点亮LED__delay_ms(500); // 延时500毫秒LED_PIN=0;//关闭LED__delay_ms(500); // 延时500毫秒}```上述代码实现了一个简单的功能,即使LED灯以500毫秒的间隔交替点亮和关闭。
在程序中,我们首先引入了`<xc.h>`头文件,然后定义了一个宏`LED_PIN`来表示连接LED的RC0引脚。
6-PIC单片机基础教程课件-第六章
1:允许CCP2中断; 0:屏蔽CCP2中断。
第六章中断系统
6.3中断控制
5 第二外围接口中断标志寄存器2(PIR2) 第二外围接口中断标志寄存器2(PIR2)的内容为 CCP2外部接口中断、SSP总线碰撞中断允许位和 EEPROM写操作中断的标志位。
U-0 R/W-0 U-0 R/W-0 R/W-0 U-0 U-0 R/W-0
第六章中断系统
6.1 中断概述
6.1 中断概述 6.1.1中断概念的引入 6.1.2有关中断的名词
当单片机的CPU 正在处理某事件时,若外部发生了某一事 件 ( 如定时器溢出、引脚上电平变化 ) ,请求 CPU 迅速去处理, 于是 CPU 就暂时中止当前的工作,转去处理所发生的事件。中 断处理完该事件后,再回到原来被中止的地方,继续执行原来 的工作,实现这种功能的部件称为中断系统。产生中断的请求 源称为中断源。中断源向 CPU 提出的处理请求,称为中断请求 或中断申请。 CPU 暂时中断自身的事务,转去处理事件的过程, 称为 CPU 的中断响应过程。对事件的整个处理过程,称为中断 服务(或中断处理)。处理完毕,再回到原来被中止的地方,称 为中断返回。
1:表示TMR1寄存器出现捕捉 功能, 0:表示TMR1寄存器未出现捕 捉功能,
1 :表示 SSP 中断条件已经发 生; 0:表示没有SSP中断出现。
第六章中断系统
6.3中断控制
4第二外围接口中断允许寄存器2(PIE2) 第二外围接口中断允许寄存器2(PIE2)的内容包括 CCP2外部接口中断允许位、SSP总线碰撞中断允许位、 EEPROM写操作中断允许位。
1 :表示 SSP 中断条件已经发 生; 0:表示没有SSP中断出现。
第六章中断系统
PIC 单片机基础教程
PIC 单片机基础教程第一章PIC 系列单片机结构原理目前在全世界,利用单片机设计的嵌入式系统带来的工业年产值已超过几万亿美元。
在美国,但是使用嵌入式电脑的全数字电视产品预计每年将产生超过1500亿美元的于世界市场,我国的占有率好不到1 % 。
这说明单片机应用早我国才刚刚起步,有着广阔的前景。
因此,培养单片机应用人才,特别是在大学和中等专业学校相关专业中普及单片机知识,有着重要现实意义。
1.1单片机概述微型计算机是一种以电子器件为基础,可以介入输入信息,并能够对各种输入的数字化信息进行算术和逻辑运算,最后产生输出的电子设备。
微型计算机机油快速运算能力,又有极强的逻辑判断能力和的容量存储功能,是20世纪人类最卓越的发明之一,而单片微型计算机就是将CPU 、RAM、ROM、定时器/计数器和多种接口都集成到一块集成电路芯片上的尖端武器和日常生活中最广泛使用的计算机。
近年来,单片机得到突飞猛进的发展,已经完全深入到了人们的生活和工作的各个方面。
单片机的发展过程和性能的日益完善,实际上是对传统控制技术的一场革命,开创了为控制技术的新天地,现代控制系统的核心内涵就是嵌入式计算机应用系统(MCU),而单片机就是最典型、最广泛和最普及的嵌入式计算机应用系统。
可以毫不夸张地说,在现代化的设备中,单片机无处不在,如电信、家用电器、工业控制、仪器仪表、汽车和玩具等;单片机也比比皆是,如自动调台收音机、VCD、遥控空调、微波炉、智能玩具、人体秤和心电监护仪等。
随着科技的发展,单片机必将在更多的方面发挥作用。
目前,全世界各大公司的单片机品种已经形成多个系列,同一系列的单片机在软件和硬件方面有很大的相同之处。
例如,PIC16F87X系列单片机有着相同的内核、相同和兼容的指令系统。
各种单片机在其内部所处理的对象都是用二进制数表示的信息,因此在学习单片机原理之前,首先要了解二进制数和二进制编码。
1、1、1 二进制数和编码1 计算机中的二进制数字的表示,有二进制、十进制和十六进制等。
PIC单片机C语言教程
PIC单片机C语言教程PIC单片机(Peripheral Interface Controller)是德州仪器(Texas Instruments)公司生产的一款微控制器芯片。
它具有高性能、低功耗、易编程等特点,因此被广泛应用于各种电子设备中。
PIC单片机的编程语言主要是C语言。
C语言是一种广泛使用的高级程序设计语言,它结构简洁、表达能力强、可移植性好。
通过使用C语言,我们可以轻松地编写控制PIC单片机的程序,并且可以充分发挥PIC单片机的特性和功能。
在PIC单片机的C语言教程中,首先需要了解C语言的基础知识,包括变量、数据类型、运算符、控制语句等。
接下来,我们需要学习如何使用C语言编写PIC单片机的程序。
1.引脚配置:在PIC单片机的程序中,我们需要配置引脚的状态,包括输入输出模式、电平状态等。
通过使用C语言,我们可以方便地配置引脚,实现与外部器件的连接和通信。
2.中断编程:中断是PIC单片机的重要特性之一,可以使控制器在特定条件下停止当前任务执行,转而执行中断服务程序。
通过使用C语言,我们可以编写中断服务程序,实现特定条件下的任务切换和响应。
3.定时器编程:定时器是PIC单片机的另一个重要功能,可以实现一定时间间隔内的定时操作。
通过使用C语言,我们可以编程设置定时器的参数,以实现特定的定时操作。
4.串口通信:PIC单片机具有串口通信功能,可以与其他设备进行数据交换。
通过使用C语言,我们可以编写串口通信的程序,实现与其他设备的数据传输和交互。
5.外设控制:PIC单片机可以连接各种外设,如LCD显示屏、键盘、驱动器等。
通过使用C语言,我们可以编写控制程序,实现与外设的连接和控制。
以上只是PIC单片机C语言教程的一部分内容。
除了上述内容,我们还可以学习其他更高级的主题,如编码技巧、优化技术等。
通过系统学习和实践,我们可以掌握PIC单片机的C语言编程技巧,实现各种功能和应用。
总的来说,PIC单片机的C语言教程是一个庞大而丰富的话题,需要通过实践和深入学习来掌握。
5-PIC单片机基础教程课件-第五章
无法显示图像。计算机可能没有足够的内存以打开该 图像,也可能是该图像已损坏。请重新启动计算机, 然后重新打开该文件。如果仍然显示红色 “x”,则可能 需要删除该图像,然后重新将其插入。
第五章定时/ 第五章定时/计数器
5.2 定时和计数器硬件结构
5.2 定时和计数器硬件结构 PIC16F877单片机配置了 个定时器/计数器模块, 单片机配置了3 PIC16F877单片机配置了3个定时器/计数器模块,分别 TMR0、TMR1和TMR2。 为TMR0、TMR1和TMR2。 共同点:它们的核心部分都是一个由时钟信号触发, 共同点:它们的核心部分都是一个由时钟信号触发,按递增 方式累加工作的循环计数器; 方式累加工作的循环计数器;从预先设定的某一初始值开始累 在累计到计数器产生溢出, 计,在累计到计数器产生溢出,并同时建立一个相应的溢出中 断标志。 断标志。 三者的不同点:TMR0为 位宽,有一个可选的预分频器, 三者的不同点:TMR0为8位宽,有一个可选的预分频器,用 于通用目的,可用于定时和计数;TMR1为16位宽 位宽, 于通用目的,可用于定时和计数;TMR1为16位宽,附带一个可 编程的预分频器和一个可选的低频时基振荡器,适合与CCP 编程的预分频器和一个可选的低频时基振荡器,适合与CCP 捕捉/比较脉宽调制) (捕捉/比较脉宽调制)模块配合使用来实现输入捕捉或输出比 较功能,也可用于定时和计数;TMR2为8位宽,附带一个配合 较功能,也可用于定时和计数;TMR2为 位宽, 使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。 PWM脉冲宽度调制信号的产生 使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。
第五章定时/ 第五章定时/计数器
5.2 定时和计数器硬件结构
PS2 PS1 PS0 000 001 010 011 100 101 110 111 TMR0比率 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 WDT比率 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128
PIC快速入门版
在PIC单片机系列中,改变I/O口的输入输出依靠写入寄存器TRIS的值,相应位写0,表示对应管脚被定义成了输出,写1,就是输入。
现在假如预把GP1、GP2管脚定义成输出,其他脚全是输入。
那就应该向TRIS 寄存器写入二进制数11111001,换算成十六进制就是F9H.依照以前我们学到的知识,在PIC系列单片机里,本来应该用下列的语句来完成我们的设定:movlw 0F9H '常数进W 以字母开头的常数前面必须加0movwf TRISA'把W内的数复制到TRIS实际上PIC系列的单片机也都是这么写的,后面加的A,表示第一个8位的口(有的单片机不仅一个口,还有好几个8位的I/O口如TRISB TRISC TRISD等等) .但是,记住了, PIC12系列的单片机必须改写成为:movlw 0F9H '常数进W 以字母开头的常数前面必须加0tris GPIO '把W内的数复制到TRIS 以后凡见到这个指令一律理解成movwf TRISA写法不同,意思是一样的. 这样你就又学了一个指令TRIS,不过这个指令的实质还是你曾经学过的movwf 只是写法不同罢了.在PIC12系列里TRIS作为指令, 在其他系列(PIC16\17\18)里把TRIS 作为普通寄存器看待.因为我们现在讲的就是PIC12CE519,所以我们暂时用tris GPIO这个格式,等以后进入PIC16C877 我们再写成movwf TRISA , 至于理解按照后者进行.'-----------如果我们要控制GP1 GP2管脚的输出电平, 其他管脚作为输入.并且让GP1输出低电平,GP2输出高电平.完整的程序如下:movlw 0F9H '常数进Wtris GPIO '把W内的数复制到TRIS ,GP1 GP2为输出,其他为输入'此行无命令,起到的作用是容易读懂程序movlw 04H '常数4的二进制是00000100 ,GP1=0 GP2=1movwf GPIO 'W内的数进GPIO 输出生效,原来定义成输入的脚的电平,不会受该句影响?上面已经学会了三条指令,但是8位寄存器的概念概念一定要建立起来,程序通过写入寄存器不同的数据控制管脚作为输入使用还是输出使用,作为输出时是输出高电平还是低电平。
PIC单片机入门教程V1.1
PIC单片机入门教程V1.1PIC单片机入门教程一、简单介绍本文档主要介绍PIC单片机开发环境的建立、集成开发环境使用方法、简单示例程序说明、PIC单片机开发注意事项等。
ZC-ADK开发板作为Android外设开发套件(Accessory Developer Kit)时,提供两种与Android手机通信的方法,分别是USB和蓝牙通信,如果使用ZC-ADK做USB 外设开发时,只需支持USB Accessory的Android手机;如果使用ZC-ADK做蓝牙外设开发时,需要添加ZC-BLUE模块。
1.所需硬件:ZC-ADK开发板开发板数据线2.所需软件:集成开发环境:MPLAB_IDE_8_50,将代码编辑、编译、调试等功能集成于图形界面下的应用程序。
C编译器:MPLAB C30,用于将C源文件进行编译,生成汇编语言文件,并将编译器产生的文件与其他目标文件与库文件进行汇编和链接,产生最终的应用程序。
应用程序库:microchip-application-libraries,PIC单片机的应用程序库文件,包含图形、USB、Android外设等应用程序库。
程序下载:HIDBootloader,用于通过USB下载编译好的应用程序。
二、MPLAB IDE 8.50安装1.将MPLAB_IDE_8_50.zip解压缩,双击setup.exe开始安装,出现图2-1界面,点击NEXT继续。
图2-12.出现图2-2界面,选择I accept,点击Next图2-23.出现图2-3所示界面,选择Complete,点击Next。
图2-34.出现图2-4界面,选择安装目录,点击Next。
图2-45.出现图2-5界面,选择I accept,点击Next。
图2-56.出现图2-6界面,选择I accept,点击Next。
图2-67.出现图2-7界面,点击Next,开始安装。
图2-78.出现图2-8界面,询问现在是否安装HI-TECH C编译器,选择否。
PIC单片机程序设计基础教程
1、PIC单片机程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X 几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。
但这里我们推荐一种清晰明了的格式供参考。
TITLE This is …… ;程序标题;--------------------------------------;名称定义和变量定义;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片复位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序ORG 0 ;在0000H开始存放程序;-----------------------------------------;子程序区;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序区;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由伪指令定义为6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序结束注:MAIN标号一定要处在0页面内。
2-PIC单片机基础教程课件-第二章
说明:用于把指定文件读入源程序中作为源程序代码的一部分。 文件名必须用双引号或尖括号给出,如果被指定文件非当前工 作目录下,则需要指令完整的路径。
第二章 PIC单片机指令系统和汇编语言程序设计
2.4 汇编语言程序设计
2.4 汇编语言程序设计 2.4.2 PIC 汇编语言的伪指令 最常用的伪指令介绍 (2) EQU 功能: 对标号赋值 格式:<标号> EQU <表达式> 说明:使 EQU 两端的8位值相等,即给标号赋 予一个特定值或者说是给标号定义一个数值。
③循环程序流程图 循环程序的结构包含以下4个组成部分: 循环初始化部分:为循环程序作准备。如循环变量设置,
即指定或定义一个循环变量作循环次数计数器或地址指针,并 给它设置一个初始值。
第二章 PIC单片机指令系统和汇编语言程序设计
2.4 汇编语言程序设计
2.4 汇编语言程序设计 2.4.1 汇编语言程序设计知识 2.PIC 汇编语言的程序流程图
算术操作类指令
指令助记符
功能简述
周期
影响的状态位
DECF f,d
f减1
1
00 0011 dfff ffff
Z
DECFSZ f,d f减1,为0间跳
1(2)
00 1011 dffff ffff
—
INCF f,d
f加1
1
00 1010dfff ffff
Z
INCFSZ f,d SUBLW k
SUBWF f,d
功能简述
TO, PD
CLRWDT
清 除 WDT 定 时器
周期 1
14位指令字
PIC单片机手把手教你学
手把手教你学PIC单片机——先介绍一下我们所要使用的PIC单片机学习实验设备如果你想学习PIC单片机,请做好如下准备工作:一、需要准备的硬件设备有:计算机一台,仿真烧写调试器一台,单片机芯片一片,如PIC16F877A芯片(它PIC单片机家族中非常经典的一个型号,涵盖了PIC16F***子系列的所有功能,特别适合初学者使用,它在PIC家族中的地位类似51家族中的S51或者S52,不过内部包含了更多的功能,比如内部集成了AD等特殊单元),PIC实验板一块。
这样需要的硬件设备就齐了。
想学好单片机,肯定要多动手,多实践,当然也肯定是要适当的投入的。
二、对于PIC单片机学习和开发的软、硬件大致流程介绍1.1硬件部分上面我们已有介绍,您需要准备一台仿真烧写调试器和一块PIC学习板,我们推荐您看一下本站的“ICD2PIC仿真烧写器”和“增强型PIC实验板”,这样硬件部分可以很快搭建起来,插上相应的连接线即可,如果用户方案中有开发板所没有的特殊接口电路,或者说有其它特殊的应用,那么您可以通过实验板上扩展接口来实现外扩展,以实现自己的实际电路需求。
1.2软件部分(主要由5个步骤组成)1.用汇编语言或C语言编写源程序代码。
2.将源程序编译成目标代码(机器码),即HEX格式16进制文件。
3.用仿真烧写调试器完成软件的调试工作,解决程序中所存在的一些语法、语意问题,即排除所编程序中存在的各种错误。
4.用仿真烧写调试器将目标代码写入到单片机中,即我们平时所说的烧写芯片步骤。
5.单片机实验板上电,运行目标代码程序。
如果您能保证您所编写的程序绝对没有问题,也可以跳过第3步。
注意:“ICD2PIC仿真烧写器”既有仿真器的功能,又有编程器的功能,也就是说:一台机器同时拥有两种功能,因此也体现了它的性价比及实际使用的方便性。
下面我们先来看一看,在下面的学习过程中将要用到的硬件设备有哪些,它们分别是:“ICD2PIC仿真烧写器”和“增强型PIC实验板”,实物如图所示,你只需要有一台电脑就可以进行学习和开发了。
PIC单片机C语言编程入门
PICC入门笔记PIC单片机C语言编程入门笔记一、C语言基础复习--------没C语言基础看起来可能有点困难。
(1) 条件判断语句if语句,switch语句(2) 循环执行语句do while语句,while语句,for语句(3) 转向语句break语句,goto语句,continue语句,return语句第三章: 控制语句1.if语句C语言的if语句有三种基本形式。
1、如果表达式的值为真,则执行其后的语句,否则不执行该语句。
if(表达式) 语句;2、如果表达式的值为真,则执行语句1,否则执行语句2 。
If(表达式)语句1;else语句2;3、依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。
然后跳到整个if语句之外继续执行程序。
如果所有的表达式均为假,则执行语句n 。
然后继续执行后续程序。
If(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;…else if(表达式m)语句m;else语句n;2、条件运算符和条件表达式由条件运算符组成条件表达式的一般形式为:表达式1? 表达式2:表达式3其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。
例:max=(a>b)?a:b;意义:如果在条件语句中,只执行单个的赋值语句时,常可使用条件表达式来实现。
不但使程序简洁,也提高了运行效率。
3、switch语句C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case常量表达式1: 语句1;case常量表达式2: 语句2;…case常量表达式n: 语句n;default : 语句n+1;}其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
PIC单片机基础知识
第1课:单片机基础知识基于HJ-5G学习板1、前言尊敬的用户:您好!欢迎使用《慧净》系列开发板!恭喜您成为慧净电子产品的用户!我们非常高兴您选择了本款产品。
我们将为你提供最真诚最优质的服务,让您在以后的日子里尽情发挥你的创意!为了让您更好的使用本款产品,并将它的功能发挥到极限,我们特意为您提供此产品的学习笔记,使用产品前请您详细阅读,重头学起。
该操作说明。
希望您通过此学习笔记能够将您手中的产品性能发挥到最优。
谢谢!慧净电子 2、免责声明2.1、为了安全有效的使用该产品,请您使用前仔细阅读以下信息。
2.2、本产品可以通过USB供电,供电电流<500mA,自行外接电源时请注意电源极性和电压参数。
电源适配器必须使用原装产品。
2.3、请不要在带电时拔插芯片以及相关器件。
2.4、自行扩展搭接导致不良故障,慧净电子不负任何责任。
2.5、产品不定时升级,所有更改不另行通知客户,本单片机研究工人室有最终解释权。
2.5、网上购物给中评,差评的,客户自动放弃售后服务生效。
3、学习板使用的基本流程3.1、学会使用PIC基础下载工具3.2、学会使用PICC编程软件3.3、认识板上各种器件并了解其基本作用3.4、看懂HJ-5G电路图3.5、了解数字电路基础3.6、学习c语言3.7、了解单片机结构3.8、读程序并自己更改功能学习变通应用单片机基础知识4、收到学习板你需要做的事4.1、开机测试:4.1.2、在包装盒子取出单片机学习板。
接上USB电源线,一端接到电脑USB接口上,一端接到单片机USB接口上,打开电源开关,可以看到单片机里面的程序运行现象,比如,流水灯会走动,数码管有数字显示,LCD1602有时钟显示等,测试程序。
注意上面的不是同时有的,只能有其中的一个程序。
4.1.3、经过上面的开机测试,说明单片机学习板在运输过程中没有出现问题,学习板在出厂前全部是经多次测试合格后才出货的,各位朋友们请放心使用。
4.2安装学习板相关应用软件4.2.1、PIC单片机下载软件的安装,请看慧净电子PIC单片机下载编程烧录软件安装方法,第2课学习笔记上有详细使用说明。
7-PIC单片机基础教程课件-第七章
第七章单片机系统软硬件调试及维修技术 第七章单片机系统软硬件调试及维修技术
7.2 硬件仿真技术 .
7.2.1 在线仿真设置 为了进行在线仿真,必须进行合适的设置。方法是: 为了进行在线仿真,必须进行合适的设置。方法是:选择 项 目>编辑项目> 点击“改变”按钮。在“工具”菜单中选择 工具” 编辑项目> 点击“改变”按钮。 MPLAB调试” 处理器” “MPLAB-ICD 调试”,在“处理器”对话框中选择用户需要 的处理器。确信已经选择了正确的处理器,然后点击“确定” 的处理器。确信已经选择了正确的处理器,然后点击“确定” 按钮。如图7.18 所示。 按钮。如图7.18 所示。
显示ID代码。
把校验和作为ID代码,选择检查窗口。
第七章单片机系统软硬件调试及维修技术 第七章单片机系统软硬件调试及维修技术
7.2 硬件仿真技术 .
表7-4:电压选择
参数类别 参数选择 显示当前Vdd电压值,MPLAB-ICD的Vpp电 压为12V,从目标板的Vdd经升压泵升压达到。 烧写当前Vpp电压。
第七章单片机系统软硬件调试及维修技术 第七章单片机系统软硬件调试及维修技术
7.1 软件仿真技术
选择 窗口>调试>运 行>暂停 (或者按 动F5键或者点击工 具栏上的红色), 可以暂停执行程序。 选择 窗口>调试>运 行>复位 (或者按 动F6键或者点击工 具栏上),可以复 位程序,即执行 PC=0000。
图7.13“修改程序计数器”会话窗口
第七章单片机系统软硬件调试及维修技术 第七章单片机系统软硬件调试及维修技术
7.1 软件仿真技术
7.1.7模拟程序激励 在进行软件模拟调试时, 在进行软件模拟调试时,经常需要模拟一个激 励信号加在端口上,如中断信号、复位信号、 励信号加在端口上,如中断信号、复位信号、 脉冲、高电平、低电平或者是触发翻转信号。 脉冲、高电平、低电平或者是触发翻转信号。
超易单片机入门(小学生都能看得懂的PIC教程)
超易单片机入门(学单片机一定要看)( 向作者致敬!)一.话说人间事物的学习,不外两类:一类入门易精通难,比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。
另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。
单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。
但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。
单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。
安排它就先的认识它,熟悉它。
大家自己查看一下单片机的外形,不妨将它看成是一个8条腿的小螃蟹,这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。
第1、8条腿接电源 +5V和地线。
头两条腿是螃蟹钳子,好吃的很。
现在已经剩下6条腿了。
第2、3条腿使用时外接一个叫作晶振的东西,我们接一个4MHz的晶振(这还不知道?还是看一下:单片机之路()里面对晶振的介绍吧)。
第4条腿是复位脚,是一个信号输入脚。
单片机正常运行时接高电平。
当有一个低电平脉冲输入到这个脚时单片机就复位。
所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。
例如,你设计的一个报警锁定的LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。
以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-PIC12CE519。
轮到底几条腿啦?奥,是第5条腿,这条叫单片机的I/O脚。
就是输入输出脚。
你可通过程序动态地控制它作为输入或输出,作为输出时可以程序控制它的输出电平为高1或低0。
所以,他的工作状态有四种:输入0,输入1,输出0,输出1。
剩下的两条腿和第5脚功能一个样。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超易单片机入门(学单片机一定要看)( 向作者致敬!)一.话说人间事物的学习,不外两类:一类入门易精通难,比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。
另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。
单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。
但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。
单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。
安排它就先的认识它,熟悉它。
大家自己查看一下单片机的外形,不妨将它看成是一个8条腿的小螃蟹,这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。
第1、8条腿接电源 +5V和地线。
头两条腿是螃蟹钳子,好吃的很。
现在已经剩下6条腿了。
第2、3条腿使用时外接一个叫作晶振的东西,我们接一个4MHz的晶振(这还不知道?还是看一下:单片机之路()里面对晶振的介绍吧)。
第4条腿是复位脚,是一个信号输入脚。
单片机正常运行时接高电平。
当有一个低电平脉冲输入到这个脚时单片机就复位。
所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。
例如,你设计的一个报警锁定的LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。
以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-PIC12CE519。
轮到底几条腿啦?奥,是第5条腿,这条叫单片机的I/O脚。
就是输入输出脚。
你可通过程序动态地控制它作为输入或输出,作为输出时可以程序控制它的输出电平为高1或低0。
所以,他的工作状态有四种:输入0,输入1,输出0,输出1。
剩下的两条腿和第5脚功能一个样。
二.在PIC系列单片机入门并不难(1)中,我们已经把8条腿消化掉了,其实我们要弄明白的也就3只腿,我们再简单一些,先整明白两条腿,即GP0,GP1.这两条腿低级一点的用法,可以控制继电器,LED灯,高级一些的用法可以进行I2C 总线,RS232总线的通信,作为扩展输入可以模拟出来A/D转换器(6--7bit),可以测量一个电阻的粗略值。
作为输出也可以直接推动扬声器奏出音乐。
这是后话暂且不提。
现在要控制使用这两只腿了,这不得不首先要讲一下软件,要想讲明白软件又不得不涉及到单片机的内部结构。
可能有朋友说啦,可别提这软件和结构了,以前俺就是让它们打败的,现在听到这个心里就打鼓。
嘿嘿,不要紧,果真如你所说,那你就不妨跟着我再失败一次,反正多一次失败又不纳税吗,嘿嘿。
不过你也要有思想准备,彻底弄明白是个渐进的过程。
要说起这程序和单片机内部结构,还真是老大难,不过蟹黄蟹肉可都在里面。
我现在要是给你说PIC单片机是哈佛结构的,51系列是冯-诺伊曼结构的话,恐怕你要立马走人了。
所以我得用点心思不让你溜号。
好在PIC系列的制造商(microchip 微芯公司)理解我等苦衷,全部只有35条指令,而且有一些指令我们一般很少使用,常用的也就十几句,用的时候查手册,无需记忆。
就算我们两天学习一句,也就两三个月时间,总比到老了还怕它们强啊。
废话少说先看下面的两个例语:my_name006: movlw 02h '常数2进入wmovwf GPIO 'W 的数进入寄存器GPIO这就是我们编的程序里的两个句子,也叫源程序。
有以下特点:每行只能写一句话;每句话由四部分组成:标号:操作指令操作数 '程序注释下面我结合例子把这四部分解释一下。
第一部分 my_name006: 叫做标号,它是由字母或数字组成,由冒号结束。
标号可有可无,比如第二句就没有标号。
第二部分movlw 叫做操作指令。
它是必须有的,不能省略。
PIC 系列的单片机共有 35 条指令。
第三部分02h 叫做操作数。
有的指令没有操作数或者操作数是默认的,也不用写。
第四部分是程序注释,必须以单引号开头,主要作用是提醒和备忘。
注释也是可有可无。
第二个例句中,省略了标号,当然注释也可以省略。
他的指令是movwf,操作数是GPIO。
操作数不一定是数字,也可能是一个由字母组成的字符串知道了语句格式以后,我们下面就学习一些常用语句。
我们先把这两个例句弄清楚。
这两句话的作用是把 2 这个常数写入到 GPIO 这个寄存器里。
单片机里有一些部件需要我们使用和操作,都是通过读写寄存器来实现的。
每个部件都对应有操控它的寄存器,例如我们要控制使用的管脚GP0,GP1 这两个管脚对应的寄存器就叫做GPIO。
对GPIO寄存器读操作,实际等效察看管脚电平的高低;对GPIO寄存器相应的位写1操作,实际等效让管脚输出高电平。
写0,输出低电平。
每个寄存器可以储存一个八位的二进制数。
这八个位的每一位都有名称,从左向右的名称是:左端第首位名称叫D7,左端第二位名称叫D6,左端第三位名称叫D5,左端第四位名称叫D4,左端第五位名称叫D3,左端第六位名称叫D2,左端第七位名称叫D1,最后一位叫D0,而每一个位对应一个管脚的电平,例如当GPIO寄存器的D0位等于1时表示管脚GP0的电平是高电平。
D0位等于0时表示管脚GP0的电平是低电平。
常数2的八位二进制表示是“00000010”所以,GPIO寄存器存放的8位2进制数的每个位的值以及管脚电平是:D7对应于内部总线管脚的电平 D7=0 内部总线管脚输出低电平D6对应于内部总线管脚的电平 D6=0 内部总线管脚输出低电平D5对应于GP5 管脚的电平 D5=0 GP5 管脚输出低电平D4对应于GP4 管脚的电平 D4=0 GP4 管脚输出低电平D3对应于GP3 管脚的电平 D3=0 GP3 管脚输出低电平D2对应于GP2 管脚的电平 D2=0 GP2 管脚输出低电平D1对应于GP1 管脚的电平 D1=1 GP1 管脚输出低电平D0对应于GP0 管脚的电平 D0=0 GP0 管脚输出低电平D7、D6对应的内部时钟和数据总线我们现在暂且不要管它。
以后本事大了再调教它们。
在我们的例句中,向GPIO寄存器写入了2,常数2的八位二进制表示是“00000010”,如果此时GP0, Gp1等都已经被定义成输出的话,那么GP1输出高电平(接LED灯亮),GP0输出低电平(所接LED灯熄) 。
截止到现在,你已经学会如何控制管脚的电平高低了。
尽管还有一些疑问,比如怎样定义管脚为输出脚(以后会说),我得说,如果事先GP1,GP0这两个管脚处于输入状态,这两个例句无效,因为在这种状态下它们是控制不了电平的。
无论如何,这一会儿,你就学会了两个指令,35条我看也没啥难的。
下面再加深一下对寄存器的认识:要把一个常数存储到寄存器,或者说写到一个寄存器中,仅用一条指令是办不到的,必须通过一个特殊的寄存器W,把数据倒过去. 这就应该使用到下面两个语句:movlw 02H 指令的意思是把一个常数存入特殊寄存器W, 这个常数是3,后面的H是表示十六进制movwf GPIO 指令的意思是把特殊寄存器W的数值存入寄存器,这个寄存器的名称是GPIO这里涉及到两个概念,常数和寄存器:常数好说,比如说十进制数35,26。
但要注意,在单片机系统里我们一般不用十进制,而使用十六进制。
有关数制转换方面的知识,是计算机的基础,必须会熟练地在二进制、十六进制、十进制之间转换,此处不再罗索。
寄存器也叫单片机的内存,一个寄存器可以存储的数值范围是0--255,用十六进制表示就是0--FFH.用二进制表示就是00000000----11111111。
“单片机之路”提醒您:以后要养成习惯用十六进制表示数。
那么,一个单片机里有多少个这样的寄存器哩,pic12ce512里面有1024个这样的寄存器可以供你使用,为了使用方便生产商已经给它们编上了号码,第一号码是000H,往下依照次序为 001H,002H........3FFH.(怎么样,开始用十六进制说事了吧,如果你不熟悉熟制转换赶紧补课还来得及。
)有了编号就像我们居住的房间有了房间号码,使用就方便的多了.房间号码在邮政行业叫地址,因此我们称这些号码叫做寄存器地址,或称地址数。
例如:名称为GPIO的寄存器,它的地址或地址数是06H。
所以我们的两个例句完全等同于:my_name006: movlw 02h '常数2进入wmovwf 06 H 'W的数进入寄存器GPIO有两个寄存器比较特殊,它们没有地址,一个名字叫做W,另一个叫做TRIS.所以他们两个在存储数据的时候比较快,一个指令就可以解决问题,例如:movlw 03H 一条指令就把常数3写入到W寄存器了。
关于TRIS寄存器,我们以后用到它再说。
除了他们两个以外的其他所有寄存器,在写入数据时一般都要用两条指令进行。
本文虽然只有两个指令,但主要目的是让大家接触一下指令,建立寄存器的概念以及他们同硬件部件的联系。
增强学习的信心。
能有这些体会,这一节就算过关了。
随着以后的深入,你会发现小小单片机里面是一个大世界,兴趣也由此而生。
三.在PIC系列单片机入门并不难(2)中讲的是两个指令如何控制管脚电平的高低。
前提是所有管脚已经被定义成输出了(OUT)如果被定义成了输入,则上次的指令虽然也能运行,但运行后丝毫不能改变管脚电平高低,因为此时管脚是输入状态,电平取决于外部输入,指令无法改变。
在PIC单片机系列中,改变I/O口的输入输出依靠写入寄存器TRIS的值,相应位写0,表示对应管脚被定义成了输出,写1,就是输入。
现在假如预把GP1、GP2管脚定义成输出,其他脚全是输入。
那就应该向TRIS寄存器写入二进制数 11111001,换算成十六进制就是F9H.依照以前我们学到的知识,在PIC系列单片机里,本来应该用下列的语句来完成我们的设定:movlw 0F9H '常数进W,以字母开头的常数前面必须加0movwf TRISA '把W内的数复制到TRIS实际上PIC系列的单片机也都是这么写的,后面加的A,表示第一个8位的口(有的单片机不仅一个口,还有好几个8位的I/O口如TRISB、TRISC、TRISD等等). 但是,记住了,PIC12系列的单片机必须改写成为:movlw 0F9H '常数进W,以字母开头的常数前面必须加0tris GPIO '把W内的数复制到TRIS,以后凡见到这个指令一律理解成 movwf TRISA写法不同,意思是一样的.这样你就又学了一个指令TRIS,不过这个指令的实质还是你曾经学过的movwf 只是写法不同罢了.在PIC12系列里TRIS作为指令, 在其他系列(PIC16\17\18)里把TRIS作为普通寄存器看待.因为我们现在讲的就是PIC12CE519,所以我们暂时用tris GPIO 这个格式,等以后进入PIC16C877 我们再写成 movwf TRISA,至于理解按照后者进行.如果我们要控制GP1、GP2管脚的输出电平, 其他管脚作为输入.并且让GP1输出低电平,GP2输出高电平.完整的程序如下:movlw 0F9H '常数进Wtris GPIO '把W内的数复制到TRIS ,GP1 GP2为输出,其他为输入'此行无命令,起到的作用是容易读懂程序movlw 04H '常数4的二进制是00000100 ,GP1=0 GP2=1movwf GPIO 'W内的数进GPIO 输出生效,原来定义成输入的脚的电平,不会受该句影响四.前面已经学会了三条指令,至此,8位寄存器的概念概念一定要建立起来,程序通过写入寄存器不同的数据控制管脚作为输入使用还是输出使用,作为输出时是输出高电平还是低电平。