PIC单片机C语言程序设计-丁锦滔
PIC单片机C语言程序设计探析
干组 成 函数 , 可 以在 一个甚 至几个 源程序 文件里进行 保存 , 并 且 C为 基本扩展名 , 而一般的汇编语言的扩展名都是 A S M。在一个程序中, 一 般 有且 只有—个 m a i n 为 名称 的函数 , 也就是 主 函数 。一般运 行程序 的 时候, 开始执行的都是主函数 m a i n ( ) 。 2 . 2 C语言 函数 概述 函数是 c 语言程序的基本单位。 在—个 C 语言程序中, 有且只有一 个主函数并且名为 m a i n O 。 这个主函数, 可以对于其他函数进行调用, 其 他的函数也可以在互相之间进行调用。 在被调用的函数中, 既可以是程 序设计者 自 行编写的函数 , 也可以是系统提供的库函数。函数头和函数 体, 共同组成了—个函数的两个部分 , 并且具有相同的函数形式。 2 . 2 . 1由 自 定 义名或 者称之为 函数名 、 一对 圆括号的 函数 标志 、 函数 形式参数名( 又称参数表) 、 定义形式参数类型( 参数说明) 这几个部分共 同组成 。其 中 , 函数 名和 函数标志 为必须 , 其 他选项 则是根 据需要进 行 确 定 。需要 强调 的是 , 包括 了 函数 名字和 函数类 型 , 才能共 同组成 函数 名。 2 2 . 2由一对花括号f } 括起来的部分 , 就是函数体部分。这个括号内 的内容组成 , 一般是由若干语句。 在这些语句中, 一类是执行语句, 也就 是函数功能的执行部分功能的内容; 一类是说明语句, 也有称作变量定 义, 它能起到对于函数中用到的变量进行定义的作用。 算法处理是对于一定的功能进行并完成的过程。这里有一类情况 需要说明, 没有变量定义部分 , 但是可能存在若干的执行语句 , 有的函 数 就存在这样 的情况 。如果 在特定 的情况和环境 之下 , 则既没有 执行部 分, 也没有声明部分。比如—个空函数, 即使什么也没有表示和执行, 也 依 然是— 个合 法的 函数 。 另外,在数据定义和每个语句的最后,都要有一个分号来加以表 示 。在 C语言环境 中, 最先接 触到的基本符 号 , 就是分 号。 2 . 2 . 3赋 值运算符 中的赋值号 “ = ” 在赋值运算符中, 有三个表达的方式, 本文分析的是最简单的赋值 运 算符 : 对于表达式值进行汁算, 对于这个值赋给出等式左边的变量来。 一 般按照从左到右的顺序 , 对于赋值运算符进行计算和作业 , 可以通过变 量= 表达式 的格式 , 对其 进行表示 。 3 C语 言程 序编 写 对于某单片机端口寄存器外接的几个 L E D灯的亮和灭, 本文通过 编写 C程序语 言 , 来对于这些 灯光进 行相应 的控制 。 本文使用集成开发环境和 P I C C的编译器, 生成 了c语言源程序 , 也 就是相应 的源文件 。 对于硬件的标志头文件 , 也就是头文件或者包含头文件进行定义 , 这 是编写 C源程 序时所首 先必须做 的。 一般而 言 , 用 户经常要用 到的标 准寄存器 和其 位地址 , 都在 P i c h的标 志头文件里 能够被相对应 的进行 定义, 并且通 过 C语言相 关 的编译 器 , 按 照编译源 程序 的语 法规则进 行 详 细的定 义 , 并且 使用 # i n c l u d e 语 句来把 这个头 文件 , 包 含到相应 的源 程 序之 中。这样下 来 , 对于 P I C 里 中级产 品的单 片机 , 就能 把相应 的 内 容 复制到对 应 的源程序里 ,并且 对于标 准寄存器 的位地址 和端 口 地 址 进行定义, 源程序就能合法对于这些标准寄存器和对应位进行使用。 4结 束语
PIC单片机C语言程序设计(14)
PIC单片机C语言程序设计(14)
丁锦滔
【期刊名称】《电子制作》
【年(卷),期】2010(000)011
【摘要】@@ 十五、Pic单片机的A/D转换rn在电子技术中,传感器是一种很重要的器件,传感器的种类也有多种,如温度传感器、光敏传感器、压力传感器……,其特点是能把非电量,如温度、光度、压力等转换成相关的电量(电流或电压).这些电量都是模拟量,可用Pic单片机的A,D转换,将上述的模拟量转换成数字量,再将数字量进行各种处理,如LED、LCD显示.
【总页数】4页(P54-57)
【作者】丁锦滔
【作者单位】
【正文语种】中文
【相关文献】
1.PIC单片机C语言程序设计探析 [J], 李永飚;王景;许娜
2.PIC单片机C语言程序设计(4) [J], 丁锦滔
3.PIC单片机C语言程序设计(5) [J], 丁锦滔
4.PIC单片机C语言程序设计(6) [J], 丁锦滔
5.PIC18F13K22/LF13K22/PIC18F14K22/LF14K22:8位PIC单片机(MCU)系列[J],
因版权原因,仅展示原文概要,查看原文内容请购买。
PIC单片机C语言程序设计_10_
表6
Pic07.c 的语句或函数名称,
模拟运行 fima
从 Void main( )后开始
(耗时)
TRISA=Ox10 ;
2μs
PORTB= Ox40 ;
3μs
INTCON= Ox00 ;
2μs
X=0 ;
2μs
While (RA4)
2μs
Displag(x) →调用显示函数体 2μs
Unsighid int d=100……
⑷ Step Into、step over 和 Step out 命令配 合运行调试
前面讲到,用 Animate(动画运行)命令,观 察 pic07.c 程序运行,会感到运行速度较快,看不 清楚程序经过的路径。这里介绍用工具栏快捷图标 (见图 43)中的命令 Step Into、Step over 和 Step out,对程序进行模拟调试的方法,其功能见表 5。
作者 丁锦滔
就业技能
JOBSEEKERS
PIC单片机C语言程序设计(10)
(接上期)
4. C程序pic07.c的SIM软件仿真调试 在《PIC 单片机 C 语言程序设计(8)》和《PIC 单片机 C 语言程序设计(9)》中,我们已对 C 程 序 pic07.c 进行了编辑和编译,现在需要查看该程 序能否达到预期的设计目标,即能否完成 pic07.c 的 0~99 秒增量计时 LED 数码显示功能(脉冲发生 器),因此需要调试程序。 调试程序,可以使用 MPLAB ICD2 在线调试器、 MPLAB ICE2000 硬件仿真器等开发工具。对于初 学 C 语言程序,又没有上述硬件仿真调试器的读者, 最好选用 MPLAB SIM 软件模拟仿真器进行程序的 调试。 模拟仿真调试是检查程序是否正确,能否实现 预期功能的有效手段。有了它,可以实现程序的“单 步运行”、“单步越过”、设置“断点”、用软件跑表 直接测试延时函数的准确计时等等,对初学 C 语言 编程者特别有用。 PTC 单片机的 C 语言程序,是由函数、表达式 和各种运算符组成的。初学 C 语言程序时,很难清 楚看出程序是如何运行的,而利用程序的模拟仿真, 则可直观看到程序运行的整个过程。 ⑴ 模拟仿真的主要命令及功能 PIC 单片机 C 语言程序的 SIM 软件的模拟仿真, 是在 MPLAB IDE 集成开发环境(C 语言)中进行 的。操作时,只需利用 MPLAB IDE 中的有关菜单, 如 Debugger(调试)、Select Tool 等命令项,即可 完成模拟仿真操作。为了方便读者查看程序或操作, 特将模拟仿真时常用的主要命令和功能汇集起来, 如表 5 所示。 ⑵ 设置软件仿真调试状态窗口 前面已经讲到,对程序进行软件仿真的先决条 件,是在 MPLAB IDE 环境下将所编辑的源程序编 译成功后,才能对源程序进行仿真调试。对 pic07.
PIC单片机C语言程序设计_2_
C 程序文件
以上 C 语言变量的要点,是相关的关键字,以及
程序预处理定义 每个整型变量的取值范围,即长度 (二进制位个数)。
表2 数据类型
表示方法
举例或说明
十进制 整型常量
八进制
按十进制数直接书写 以字母 O 开头
123、82、5 012、032
十六进制
以字母 Ox 开头或以 H 结尾
0x24、24H、10H(表示十进制的 16)
字符串一 字符串常量
(包括数字)
用一对双引号括起来的字符, 其引号仅起界定作用。
“PIC18F452”。字符串常量,在内存中存放时,会 自动在字符串的末尾加结束标志‘\0’,即 ASCⅡ码 值 0 字符。字符串占 n+1 个字节。
2009 年第 11 期电子制作 55
学 电 子 跟 我 来 FOLLOW ME
s t a t i c bi t PORTB_2 @PORTBI T( PORTB, 2) ;
s t a t i c bi t PORTB_4 @PORTBI T( PORTB, 4) ;
s t a t i c bi t PORTB_6 @PORTBI T( PORTB, 6) ;
∥PORB 的 RB0、RB2、RB4、RB6 位
{ 说明语句 语句
} (2)功能:程序运行时,先判断条件表达式,当 条件表达式的值为非零(即为“真”)时,执行 while 语句中的内嵌语句,即先判断条件表达式,再执行 语句。当条件表达式为零时,退出循环;若表达式一 开始就为 0,其 while 语句一次也不执行;若条件 表达式恒为 1,则程序在 while 体内一直循环。 (3)程序实例 2 1)硬件电路和功能 硬件电路同 《PIC 单片机 C 语言程序设计(1)》 一文的图 1(见《电子制作》2009 年第 10 期)。图中 的 RAO 口外接的微动开关 KO,作为程序的起动开 关。KO 未按下时,单片机系统处于等待状态,按一次 KO,系统依次进行以下工作:RBO 口外接的 LEDO 点亮→延时→LEDO 熄灭→RB2 外接的 LED2 点 亮→延时→LED2 灭→RB4 外接 LED4 点 亮 → 延 时→LED4 灭→执行间断语句 break 终止循环→点 亮 RB6 外接的 LED6→回到等待状态,直到 RAO 外 接的微动开关 KO 再次按下,再重复上述过程。 2)源文件清单 本实例 2 的程序清单如下 (源文件名 PIC02. C): #i nc l ude <pi c . h>∥包含头文件 #de f i ne PORTAI T ( a dd, bi t ) ( ( uns i gne d) ( &a dd) *1+( bi t ) ) ∥端口寄存器 PORTA 位定义 s t a t i c bi t PORTA_0 @PORTAI T( PORTA, 0) ;
PIC单片机的C语言
㈣ volatile 修饰词 PICC 中还有一个特殊的变量修饰词“volatile”,用来 说明一个变量的值是会随机变化的,即使程序没有刻意对 它进行任何赋值操作。 在单片机中,作为输入的IO 端口其内容将是随意变 化的;很多特殊功能寄存器的值也将随着指令的运行而动 态改变。所有这种类型的变量必须将它们明确定义成 “volatile”类型,例如: volatile unsigned char STATUS @ 0x03; volatile bit commFlag;
Hitech-PICC 编译器基本上符合ANSI C标准,但是不 支持函数的递归调用。其主要原因是因为PIC 单片机特殊 的堆栈结构。PIC 单片机的堆栈是硬件实现的,其深度已 随芯片固定,无法实现需要大量堆栈操作的递归算法。
二、PICC C编译器的安装 PICC C编译器可以运行在Windows操作系统上,可 以在MPLAB IDE集成开发环境下进行项目开发。 下面介绍在MPLAB IDE 7.00集成环境下安装和设置 PICCV8.05 PL1 PICC编译器,以及在此环境下编译和调 试源程序的基本方法。
第3步:单击对话框中的Browse按钮,弹出如下图所示的 打开文件对话框。在缺省PICC V8.05PL1编译器安装目录 C:\HT-PIC\bin\下,选择plcc.exe作为编译程序。然后单击 “打开”按钮,可以发现PICC Compiler项已选择picc.exe 作为编译程序。
同样,PICC Assembler和PICC Linker都选择picc.exe 作为汇编和链接程序,如下图所示。
㈤标准库函数 PICC 提供了较完整的C 标准库函数支持,其中包括 数学运算函数和字符串操作函数。在程序中使用这些现成 的库函数时需要注意的是入口参数必须在bank0 中。 如果需要用到数学函数,则用 “#include <math.h>” 包含头文件;如果要使用字符串操作函数,就需要包含 “#include <string.h>”头文件。在这些头文件中提供了函 数类型的声明。直接查看这些头文件就可以知道PICC 提 供了哪些标准库函数。 C 语言中的格式化输出函数“printf/sprintf”用在单片 机的程序中时要特别谨慎。printf/sprintf 是一个非常大的 函数,一旦使用,你的程序代码长度就会增加很多。
PIC 单片机的C 语言编程
PIC单片机C语言编程讲义奥科电子工作室(内部资料)2006年元月第一版第1章 PIC 单片机的C 语言编程1.1 PIC 单片机C 语言编程简介用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单片机系统设计中已得到越来越广泛的运用。
针对PIC 单片机的软件开发,同样可以用C 语言实现。
但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。
现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。
写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。
这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。
本讲稿围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。
其中笔者最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。
其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。
另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。
C语言程序设计说课(超好)PPT课件
文理兼招
①学生入学基础差 ②逻辑思维能力参差不齐 ③高中学习阶段接触到的计
算机知识较少
④程序设计能力几乎是零。
先强化基础知识
任务驱动、通过 实训提升实际操 作能力
从习题入手、自主探 索C基lic础k 知to识add 任T务itle驱动、合作交流
高职学生
《C语言程序设计》说课
《C语说言课程人:序唐设涛 计》课程说课 机电与信息工程系说课人:唐涛
电子与通信教研室
可编辑
说课导航
说课程教学大纲 说教学资源 说教学方法与手段 说学情与学法指导 说教学过程设计
说考核评价
可编辑
说课导航
说课程教学大纲 说教学资源 说教学方法与手段 说学情与学法指导 说教学过程设计
分组讨论教学:集思广益、拓展与升华
可编辑
说教学方法与手段
2、教学手段-营造快乐课堂
可编辑
说教学方法与手段
2、教学手段-构建压力课堂
“过山车”式的平时成绩计算方法
可编辑
说课导航
说课程教学大纲 说教学资源 说教学方法与手段 说学情与学法指导 说教学过程设计
说考核评价
可编辑
说学情与学法指导
教学对 象分析
成绩排名 菜单设计
成绩输入数据有效性检查 最高成绩的计算 考查课成绩的转换
学生总分、平均分的计算 乘法口诀的打印
学生按总成绩的排名 学生成绩的查询 学生成绩管理系统菜单设计
4
4
4
4
4
8
排
S6
S7
函数 指针
学生成绩打印
学生成绩打印模块的设计
4
8
利用指针对学生成绩排序
PIC单片机C语言程序设计_1_
一、汇编语言与C语言早期的单片机程序多采用汇编语言编写。
用汇编语言编程,直接、简捷,可有效地访问和控制各种硬件设备,如存储器、I/O口等,目标代码简短、占用内存少、执行速度快、语句效率高。
然而,由于汇编语言是面向机器的语言,不同厂家或同厂家不同系列的单片机,其汇编语言指令系统往往互不相同,即通常所说的“不兼容”。
这就出现了精通51单片机汇编语言的人不能直接编写PIC或其他单片机的汇编语言源程序,反之亦然的现象,以及产品升级换代和不同单片机间程序移植难的问题。
而且,由于汇编语言是采用助记符的低级语言,可读性较差,当源程序功能多、程序长时,即使加了注释,阅读自己编写的程序也会感到困难,更不用说修改程序和增加功能了。
目前,单片机的应用越来越广,各半导体生产厂家不断推出各种高、中、低档单片机系列,以适应市场的需求。
而客户对单片机系统的设计人员的基本要求,就是要选择能够满足产品性能和成本要求的单片机,并以最快的速度开发出完全满足市场需求的智能化产品。
用汇编语言编程显然无法达到要求。
用C语言开发单片机系统软件的最大好处,是代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等。
因此,C语言在单片机系统设计中得到越来越广泛的运用。
C语言是一种高级语言,具有低级语言的特点,原来用各种汇编语言编写的单片机程序,均可用C 语言程序代换。
二、C语言的特点C语言的特点可归纳如下。
1.语言简洁C是一种小型语言,共有32个关键字,9种控制语句,表示方法简单,只需用规范的方法,就可以构造出功能很强的数据类型、语句和程序结构。
如用++表示加1;--表示减1;运算符省写等。
2.表达方式灵活实用C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。
它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。
3.表达力强C语言有丰富的数据结构和运算符。
基于PICC编译器中C语言与汇编语言混编的分析
Test(void)
{
#asm clrf STA7IUS
movlw Ox55 movwf_trap #endasm
}
void
Test!(void)
{
#asm clrf—STATUS movlw Oxl0 movwf—tmp bcf—STATUS,6 BSF—STATUS,5 movlw Ox20
movwf_tmpl33x80;非BANK0变量,在汇编语言中使用要如此
本栏目责任编辑:谢媛媛
…一,,-软锋设计开发。二2641
万方数据
Computer Kno俐edge and Technology电奠知识与技术
第6卷第11期(2010年4月)
#include<pie.h> void
Test(unsigned
char inVarl,unsigned char inVar2,unsigned char
//inVar3+=5;
#asm movf_inVar3,w
addlw 0x5ቤተ መጻሕፍቲ ባይዱmovwf inVar3 #endasm
//inVar4一=0x5左移一位,低位补1;
#asm
bsf_STATUS,0
rlf #endasm
//tmpl=inVarl;
#asm movf_inVarl,w movwf?a_Test
trapl=0xcd;
) Test0;
tmp2=tmp+tmpl;
J 】 程序6采用全局变量传递数据.共定义trap、tmpl、tmp2三个全局变量,分别定义在RAM的BANK0、BANKl、BANK2,其中trap、 tmpl用于函数之间传递函数.在汇编语言部分要使用这两个全局变量时,只要在变量名前加下划线作为引导就可以了。但要注意的 是,若这些全局变量定义在非BANK0,如程序中的tmp,则在汇编语言部分使用时,必须写成_tmplmx80。若是定义在BANKl,就得 写成一tmpl屯x100,若是定义在BANK2,就得写成一tmpl'0x180。 程序7:
PIC单片机的C语言编程指南
C语言程序设计(第二版)-电子教案-丁亚涛-8587 第8章 指针
8.5.3 指针与二维数组
• 二维数组其实可以看成由一维数组构造而成。就相当于 几个队列构成一个方阵,方阵由队列组成,队列由具体 的元素--人组成。
• 一级指针只能管理队列,如果管理方阵,则需要二级指 针。
•int a=1000,*pa,**ppa; • pa=&a; • ppa=&pa;
• *(*(ppa)) ≡ *(pa) ≡ a ≡ 1000
• p是二级指针 • *p相当于*(p+0),级别降低为一级指针,相当于p[0] • **p相当于*(*(p+0)+0),级别降低为数组元素(普通变量),
也相当于p[0][0]
• p[1][2],相当于*(*(p+1)+2) • &p[1][2], 级别提升为一级指针,相当于:
• p[1]+2,*(p+1)+2 • &p[1],级别提升为二级指针,相当于:
f=f4; printf("a/b=%d\n",f(a,b));
8.5 指针与数组
• 8.5.1 指针与字符数组 • char str[100]= "Hello World"; • char *p=str; • 字符w可以有如下多种表示形式: • str[6] • *(str+6) • p[6] • *(p+6)
【例8-2】演示指针和数组的关系。
#include <stdio.h>
接可存取,由于p中存储的是x的信息。访问p可以获取x的信 息,再对银行存款进行操作。
8.1 借钱的故事
8.2 指针的概念
• C语言允许使用变量名、数组名[下标]、函数名等标 识符来访问内存
c语言程序设计丁亚涛
c语言程序设计丁亚涛C语言程序设计是计算机科学领域中非常重要的基础课程之一,它不仅是许多高级编程语言的基石,也是理解计算机系统工作原理的关键。
丁亚涛教授的C语言程序设计课程,以其深入浅出的教学方式和丰富的实践内容,受到了广大学生的欢迎。
C语言概述C语言是一种通用的、过程式的编程语言,由Dennis Ritchie在20世纪70年代初期开发。
它以其高效性、灵活性和可移植性而闻名,广泛应用于操作系统、嵌入式系统、高性能计算等领域。
C语言的特点1. 简洁性:C语言的语法简洁,易于学习和使用。
2. 结构化:C语言支持模块化编程,使得程序更加易于组织和管理。
3. 可移植性:C语言编写的程序可以在不同平台上编译运行,具有很好的跨平台特性。
4. 高效性:C语言编译后的程序执行效率高,接近汇编语言。
5. 底层操作:C语言允许直接访问内存地址,进行位操作等底层操作。
C语言的基本语法1. 数据类型:C语言提供了多种数据类型,包括整型、浮点型、字符型等。
2. 变量声明:在C语言中,变量在使用前必须声明其类型。
3. 运算符:C语言拥有丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。
4. 控制结构:C语言的控制结构包括条件语句(if, switch)、循环语句(for, while, do-while)和跳转语句(break, continue, return)。
5. 函数:C语言支持函数的定义和调用,允许程序模块化。
C语言程序的基本结构一个典型的C语言程序通常包括以下几个部分:- 预处理指令:如`#include <stdio.h>`,用于引入标准库。
- 主函数:`int main()`,程序的入口点。
- 变量声明:在函数内部声明所需的变量。
- 程序逻辑:使用控制结构和函数实现程序的逻辑。
- 输入输出:使用`printf()`和`scanf()`等函数进行输入输出操作。
- 返回值:`return`语句用于返回程序的执行结果。
PIC单片机C语言程序设计探析
作者: 李永飚 王景 许娜
作者机构: 河南工业职业技术学院,河南南阳473000
出版物刊名: 科技创新与应用
页码: 85-85页
年卷期: 2013年 第15期
主题词: PIC 单片机 C语言 程序设计
摘要:在PCI单片机的c语言程序设计上,如何快速掌握和利用C语言,对于PIC单片机的程序进行编写的方法进行透彻了解,从而实现在PIC单片机上进行C语言程序设计的相关操作,成为从事本行业广大人员共同关心的话题。
文章以此作为着力点,对于C语言在PIC单片机上的程序设计进行一定程度上的分析,期待能够对于相关从事人员有一定的帮助和启示作用。
PIC单片机C语言程序设计(9)
PIC单片机C语言程序设计(9)丁锦滔【摘要】@@ 3.pic07.C源程序的编译rn在<PIC单片机C语言程序(8)>一文中,我们已在MPLAB IDE7.40集成开发环境中编辑了pic07.C源程序(0~99秒脉冲发生器).对于PIC单片机来说,所有的C语言源程序.【期刊名称】《电子制作》【年(卷),期】2010(000)006【总页数】3页(P54-56)【作者】丁锦滔【作者单位】【正文语种】中文(接上期)3.pic07.C源程序的编译在《PIC单片机C语言程序(8)》一文中,我们已在MPLAB IDE7.40集成开发环境中编辑了pic07.C源程序(0~99秒脉冲发生器)。
对于PIC单片机来说,所有的C语言源程序,都要在进行编译并生成目标码.hex文件后,方能烧写到PIC单片机中运行,即每编辑一个C程序都要进行一次编译,所以对C程序(pic0.7c)的编译操作是十分重要的。
下面详细介绍用PICC编译器对pic07.C 源程序进行编译并生成目标码.hex文件的全过程。
(1)编辑源程序根据《PIC单片机C语言程序(8)》一文介绍的方法,在MPLAB IDE7.40运行界面中编辑源程序pic07.C,并存盘,如图29所示。
图29(2)建立项目project点击图29中菜单栏的项目project,在其下拉菜单中点击“project wizard”(项目向导)命令,即可生成图30所示的Welcome!(欢迎)界面。
该界面的项目向导可帮助你配置一个新项目。
图30(3)选择器件点击图30中的“下一步”,弹出“Step One:Select a device”(第一步:选择器件)对话框,如图31(a)所示。
如果对话框中的器件(Device)不是PIC16F84A,可点击该对话框中的三角形下拉按钮,并在下拉菜单中选择器件(这里是PIC16F84A),完成器件选择,如图31(b)所示。
图31(4)选择需要的语言工具点击图 31(a)中的“下一步”,弹出“Step Two: Select a language toolsuite”(第二步:选择语言工具)对话框,如图32所示。
PIC单片机C语言程序设计(12)
PIC单片机C语言程序设计(12)丁锦滔【摘要】@@ (接上期)rn6.Pic单片机C语言程序SlM软件仿真技巧(2)rn鉴于C 语言模拟仿真(SlM)在学习C语言程序时十分有用,这里笔者再进一步讨论模拟仿真的更多功能.【期刊名称】《电子制作》【年(卷),期】2010(000)009【总页数】4页(P59-62)【作者】丁锦滔【作者单位】【正文语种】中文(接上期)6.Pic单片机C语言程序SIM软件仿真技巧(2)鉴于C语言模拟仿真(SIM)在学习C语言程序时十分有用,这里笔者再进一步讨论模拟仿真的更多功能。
⑴ 模拟仿真C程序运行的全过程,如果想要仿真查看《PIC单片机C语言设计程序(8)》Pic07.C中的程序的全部运行过程(0~99的增量),是十分困难的,其原因是,主函数void main( )要调用显示函数display(x),而该显示函数为了完成X++的0~99任意一个增量(△为1秒)的显示,则要通过循环语句while(d>0)进行d--的100次循环(因d=100),模拟仿真这种循环太费时。
且在该循环语句while(d>0)中,又要调用延时函数delay(200),使仿真更复杂。
尽管这种仿真可以在MPLAB IDE中完全正常运行,但是操作者等待时间太长。
解决上述问题的最佳方法,是改写程序pic07.C中的一些参数,以快速完成程序模拟仿真的全过程。
改写程序仍在MPLAB IDE(较高版本)集成环境下进行,改写的原则是不能减少C程序的代码数(量),仅改写其中少数参数值(值大的),即不改变程序的整体工作模式。
比如,将pic07.C显示函数中说明语句unsigned intd=100,的d值改为3,d值决定0~99每个增量的时间,d=100,增量时间约1秒,同一循环操作时间大大减少,以便我们进入程序的其他运作。
又如,将pic07.C循环语句while(d>0)中的延时(调用)delay(200);改为delay(4),将无限循环语句while(1)中调用显示函数display(x);中的if(x==99)改为if(x==4)。
“精通PIC单片机”实用技术讲座(七)PIC单片机指令及其应用——秒脉冲发生器和花样彩灯控制器
“精通PIC单片机”实用技术讲座(七)PIC单片机指令及其应用——秒脉冲发生器和花样彩灯控制器
丁锦源
【期刊名称】《电子制作》
【年(卷),期】2002(000)008
【摘要】这里介绍PIC16F627单片机应用,除它的自身特点外,主要想通过应用实例说明如何使用该单片机直接取代PIC16F84,以提示不同型号的单片机如何根据它的特点进行必要的初始化,以便读者能扩展到PIC其它型号单片机的应用。
一、PIC16F62X单片机主要特点 PIC16F62X单片机包括了两种型号:16F627和
16F628。
PIC16F62X内部无ROM程序存储器而是内置电可重擦写的FLASH程序存储器,
【总页数】4页(P21-24)
【作者】丁锦源
【作者单位】无
【正文语种】中文
【中图分类】TP368.1
【相关文献】
1.“精通PIC单片机”实用技术讲座(五)PIC单片机指令及其应用—延时程序和可逆计数器 [J],
2.“精通PIC单片机”实用技术讲座(六)PIC单片机指令及其应用—秒脉冲发生
器和花样彩灯控制器 [J], 丁锦源
3.“精通PIC单片机”实用技术讲座(八)PIC单片机指令及其应用—查表程序和抢答器电路 [J], 丁锦源
4.“精通PIC单片机”实用技术讲座(十):PIC单片机指令及其应用——TMRO 中断实验程序 [J], 丁锦源
5.“精通PIC单片机”实用技术讲座(十一)——PIC单片机指令及其应用两位LED 数码计数显示及动态扫描 [J], 丁锦源
因版权原因,仅展示原文概要,查看原文内容请购买。