PIC单片机C语言设计
扫描二维码
随时随地手机看文章
前言
学习PIC单片机设计,除了理论学习之外,主要就是依靠实践,离开了实践的学习只能是纸上谈兵。这里我们使用下面的低成本实验器材进行PIC单片机的学习及设计。
1.MPLABIDE集成开发环境。
2.PICCC语言编译器。
3PICDEMO单片机综合试验板。4,ICD2在线调试器/程序下载器。5.5V高稳定专用稳压电源。下面简介一下这些实验工具及器材。
1.MPLABIDE集成开发环境
MPLABIDE是MicroChip公司开发的用于PIC单片机的集成开发环境,包括工程项目管理器、源程序编辑器、汇编器、软件调试器、在线调试器等,并且支持第三方的C语言开发工具。下图为MPLABIDE的工作界面。
2.PICCC语言编译器
Microchip公司没有针对中低档系列PIC单片机的C语言编译器,但很多专业的第三方公司提供众多支持PIC单片机的C语言编译器,常见的有HJ-TECH、CCS、IAR以及Bytecraft等公司。
PICC是Hl-TECH公司开发的一个用于PIC单片机的高性能C语言编译器,具有稳定可靠、生成的目标代码效率高等特点。PICC软件的正式版需要购买,也可到Hl-TECH公司的网站上下载免费的学习版软件PICC-Lite进行使用。
3.PICDEMO单片机综合试验板
PICDEMO单片机试验板为综合了多种学习功能的实验板,对入门实习及学成后开发产品很有帮助,其主要的学习实验功能有:
1.PIC单片机的输入/输出实验。2.音响实验。3.A/D实验。4.PWM(D/A)实验。5.八位数码管动态扫描输出及驱动。6.八位LED输出指示。7.IIC及SPI总线实验。8.DS18820温度控制实验。9.红外遥控实验。10.16*2液晶驱动实验。11.128*64液晶驱动实验。12.与PC机连接做RS232通信实验。
上图为PICDEMO单片机综合试验板外型。
上图为PICDEMO单片机综合试验板电路原理图。各单元部分的功能简介如下:
U1为单片机PIC16F877A。
JP1、JP2为双排针,它将单片机的40PIN引出,便于单片机外扩其它器件。
DO-D7为8个发光二极管,通过LED双排针与RCO-RC7连接,可作开关量输出的指示。
ICSP1及ICSP2为在线调试/程序下载的接口。
LCD128*64为驱动128*64图型液晶的接口,可做128*64液晶驱动实验。LCD16*2为驱动16*2液晶的接口,可做16*2液晶驱动实验。
U2为232通信芯片,通过USART双排针与单片机PIC16F877A的RC6、RC7连接,方便与PC机连接做RS232通信实验。
RVI为多圈电位器,所取得的模拟电压通过排针AD后送单片机的RAO,可做A/D实验。
Q1及蜂鸣器BZ组成音响电路,通过排针BEEP与单片机的PA2连接,可做音响实验。
S1-S3、INT为4个轻触式按键开关,与RBl-RB3、RBO连接,可做开关量输入实验及外中断输入实验。
RST为单片机外部复位按键。
LEDMOD1、LEDMOD2为8位数码管显示器,其中字段码经LEDMOD_DISP双排针后由单片机的RDO-RD7送出,位选码经LEDMOD_COM双排针后由单片机的RCO-RC7送出,可做8位数码管动态扫描输出及驱动。
U4为IIC总线实验器件24C01,通过IIC双排针与RC3、RC4连接,可做IIC总线实验。
U5为SPI总线实验器件93C46,通过SPI双排针与RC2-RC5连接,可做SPI总线实验。
U7为测温器件,通过排针TEMP将DS18820与RA1连接,能进行测温及控温实验。
U6A、U6B及外围器件组成有源滤波电路,通过双排针CCP与单片机的RC1、RC2连接,可做PWM(D/A)实验。
J1、J2为外接电源插口,其中J1输入9-12V直流电压,供U6运放使用,同时经U3稳压获得的5V供其它部分使用。若实验中不需从PWM_OUT1、PWM_OUT2端口取得PWM的模拟量,那么直接从J2口输入5V稳压电源即可,而不用J1口。
4.ICD2在线调试器/程序下载器
ICD2是(in-circuitdebugger)的英文缩写,中文是“在线调试”的意思,当然它也可以作为程序下载器使用。ICD2是ICD1的改进版,它支持调试更多的FLASH型的PIC单片机。下图为ICD2在线调试器/程序下载器外型。
5.5V高稳定专用稳压电源
5V高稳定专用稳压电源使用了集成稳压器,可输出纹波系数很小、非常纯净的直流电压,输出电流达500mA以上。上图为5V高稳定专用稳压电源外型。
1.MPLABIDE集成开发环境的安装
在电脑中放入配套安装光盘,打开PICMCU开发软件,找到MPLAB+IDEv8[1]10文件夹并打开,双击In-staII_MPLAB_v8.exe进行安装(见图1)。可以选择默认的方式一路按Next或Yes后安装。安装过程会弹出安装PICC-Lite软件的提示(见图2),点确定后出现PICC-Lite软件的安装界面(见图3),我们可以选择Next后进入安装。但是由于PICC-Lite是一个免费的学习版软件,它只支持PIC16F84、PIC16F877、PIC16F628等少数几款型号的单片机,对有些读者来说,会觉得不方便使用,这时您也可以选择CANcel关闭安装。然后另外安装完全版的PICC软件。最后点击Finish后完成MPLABIDE集成开发环境的安装(见图4)。
2.PICCC语言编译器软件的安装
运行Hl-TECH.PICCv8.05PL2安装程序,出现图5所示的界面后,我们一路按Next或Yes进行安装。安装路径可以使用系统默认的路径进行安装(见图6、图7),直至安装成功(见图8),随后系统会提示重启计算机(图9)。
安装完成后,我们还需激活PICC软件。选择“开始\所有程序\HI-TECHSOFtware\PICC\CompilerActivation”,见图10。这样就可进入PICC软件的激活界面(图11)。按下一步后,出现输入相关注册信息的界面(图12)。我们输入正确的注册信息后(图13)再按下一步,等到出现图14界面后,按完成则激活过程OK。
3.第一个入门实验程序
MPLABIDE的界面主要由标题栏、菜单栏、工具栏、工作区和状态栏等五部分组成(见图15)。标题栏用来显示项目文件或源文件的名称及所在的目录。菜单栏中汇集了所有的功能选择和开发设置,共有10个英文菜单选项,它们分别是:File(文件)、Edit编辑)、View(视图)、Project(项目)、Debugger(调试器)、Programmer(编程器)、Tools(工具)、Configure(配置)、Window(窗口)、Help(帮助)。工具栏为一组快捷工具图标,它为用户提供了一种执行快速操作的便捷手段。工作区主要用于源程序的输入、编辑,以及显示各种对话框、调试窗口等。状态栏位于底部,主要显示MPLABIDE当前的工作状态信息,如芯片型号、地址指针、工作寄存器的值、寄存器区、晶振频率等。
PIC单片机的开发过程为:1.建立一个工程项目,选择芯片,确定选项。2.建立汇编源文件或C源文件。3.将源文件添加到项目中(添加节点)并编译项目。4.编译通过后进行软件模拟仿真。5.编译通过后进行硬件在线仿真。6.编程操作。7.应用。
1).建立一个工程项目,选择器件并确定选项
(1)。建立一个工程项目双击桌面上MPLABIDE快捷图标后进入MPLABIDE开发环境,点击Project/New(图16),将该新项目保存在D盘中建立一个文件名为pictest的文件夹中(注意:路径必须不能含有中文!),项目名也起pictest,如图17所示。
(2).选择器件并确定选项选择主菜单栏中的“Configure”,选中下拉菜单中“SelectDevice”,在Device选择栏中,选择PIC16F877A,如图18所示。
如果我们需要使用ICD2进行调试的话,按下面的方式进行设置:
选择主菜单栏中的“Configure”,选中下拉菜单中“Configu-rationBits”,出现配置位的选择(图2-19)。
先将ConfigurationBitssetincode前面的打钩去掉。
Oscillatot振荡方式选择XT或HS。
WatchdogTimer看门狗使能位,选择off。
PowerUpTimer上电延时使能位,一般选择为on有利于芯片起振。
BrownOutDetect掉电检测使能位,ICD2作调试工具时一定要选择为off。
LowVoltageProgram低压编程使能,选择为DISAbLEDo
DataEEReadProtect读内部EEPROM保护位,用ICD2作调试工具时一定要选择为off。
FlashProgramWrite写FLASH保护,选择为WritePro-tectionoff。
CodeProtect加密位,用ICD2作调试工具时一定要选择为offo完成后再将ConfigurationBitssetincode前面的钩打上。
重新设定后的配置位如图19所示。
选择主菜单栏中的“Project”,选中下拉菜单中“SelectLan-guageToolsuite”,出现选择语言组件的对话框(图20)。在Ac-tiveToolsuite下拉列表中选择Hl-TECHPICCToolsuite:在ToolsuiteContents列表中选择PICCCompiler(picc.exe);点击LOCation选项表右侧的Browse浏览按钮,找到picc.exe(默认位置在C:\HT-PIC\BiN\PICC.EXE),如图21所示。
同理,ToolsuiteContents列表中的PICCAssembler(picc.exe)、PICCLinker(picc.exe).我们都选择picc.exe作为汇编、链接的处理程序。见图22、图23。
选择主菜单栏中的“Project”,选中下拉菜单中“SetLan-guageToolLocation”,出现设定语言组件的对话框(图24)。单击Hl-TECHPICCToolsuite前面的+号进行展开,再展开Exe-cutables,我们看到PICCAssembler(picc.exe)、PICCCompiler(picc.exe)、PICCLinker(picc.exe)都已使用picc.exe作为汇编、编译、链接的处理程序。
下来我们选择包含搜索路径和库搜索路径。
再展开DefaultSearchPaths&Directories,选中IncludeSearchPath,$(INCDIR),点击Location选项表右侧的Browse浏览按钮,选择C:\HT-PIC\include;选中LibrarySearchPath,$(INCDIR),点击Location选项表右侧的Browse浏览按钮,选择C:\HT-PIC\libo见图25。
2).建立汇编源文件或C源文件
选择File/New新建源文件,下面为输入的源程序:
输入完毕后,选择保存路径(保存在pictest的文件夹中),源文件名取pictest.c(提示:如果