IC单片机原理及应用_第1页
IC单片机原理及应用_第2页
IC单片机原理及应用_第3页
IC单片机原理及应用_第4页
IC单片机原理及应用_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PIC单片机原理及应用1主讲:许辉邮箱:pic@西安电子科技大学国家电工电子教学基地西电-MICROCHIP公司联合实验室(E楼II-406)《PIC单片机原理及应用》实验内容安排:全校任选课(☆)PIC单片机原理介绍(16学时※)基本功能及综合设计实验(16学时※)2PIC单片机原理及应用第1章概述31.1单片机简介什么是单片机?

单片机(singlechipmicrocontroller)是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。目前,在很多范围更广的应用场合中被称为微控制器(MCU-

MicrocontrollerUnit)41.1单片机简介单片机、微控制器和微处理器有何区别?微处理器(MPU)通常代表一个功能强大的CPU,这种芯片往往是个人计算机和高端工作站的核心CPU。早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机(singlechipmicrocomputer)。随后,为了更好地满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元。目前,单片机已广泛称作微控制器(MCU)。

数字信号处理器(DSPs)

是专门设计用来极快地进行离散时间信号处理计算的,比如那些需要进行音频和视频通信的场合。DSPs内含乘加器,能比其它处理器更快地进行这类运算。什么是嵌入式系统?它和通用微机有何不同?嵌入式系统(embeddedsystem)是计算机硬件和软件的集合体。它包括一个处理器,涉及对硬件的直接控制,是为了嵌入到对象体系中完成某种特定的功能而设计的,是嵌入式计算机系统的简称。嵌入式系统可以是以微控制器(单片机)或是以微处理器为主构成的计算机系统。单片机(微控制器)是专门用作嵌入式应用而设计的单芯片型计算机,单片机(微控制器)是一个典型的普及型的嵌入式系统,通用计算机(通用微机)

却不是用来完成某个特定功能的,相反,它可以做各种不同的事情。1.1单片机简介1.2单片机主要应用领域77办公设备工业控制通信系统电子玩具金融电子仪器仪表汽车工业家用电器舰船设备航空航天1.3PIC单片机产品系列8

PIC单片机是由MicrochipTechnologyInc.(美国微芯科技公司)推出的系列产品。1.4

PIC单片机命名规则1、PIC单片机编号包括下列5个部分:2、器件类型和代号关系

如:PIC16F877

代号类型CCMOSLC低功耗CMOSCRCMOSROMLCR低功耗CMOSROMLV低电压FFLASH程序存储器FRFLEXROM9PICXXXXXXX-XXX/XXXXX

器件类型振荡频率温度封装存储器编程方式1.4

PIC单片机命名规则3、振荡方式/频率和代号关系:4、温度与代号关系:代号振荡方式/频率LP低频低功耗晶体振荡RC低成本阻容振荡XT标准晶体/陶瓷振荡HS高速晶体/陶瓷振荡022MHZ084MHZ2020MHZ2525MHZ3333MHZ代号温度空白0~

70I-40~+85E-40~

+125101.4

PIC单片机命名规则5、程序存储器编程方式FLASH:可在线进行程序的反复擦写OTP:一次编程方式(一个产品周期后降低成本用,专用设备完成烧写,适合小批量非定型产品)QTP:快速批量编程SQTP:连续批量编程ICSP:电路内连续编程掩模ROM:一个产品周期后降低成本用,适合大批量定型产品,必须请制造商借助专用设备完成111.4

PIC单片机命名规则dsPIC30/33F产品器件编号规则12PIC单片机原理及应用第2章

PIC单片机架构132.1内部架构系统集成外设CPU内核CPU内核是器件运行所必需的基本部分。CPU数据存储器程序存储器DSP引擎中断14系统集成可以降低系统成本提高系统可靠性提高设计灵活性。振荡器复位看门狗定时器和低功耗模式闪存和EEPROM编程器件配置低电压检测

外设功能是允许器件与外界交换信息。1.I/O端口 2.定时器 3.输入捕捉模块4.输出比较模块 5.正交编码器接口(QEI)6.10位AD转换器7.12位AD转换器 8.UART模块 9.SPITM模块10.I2CTM模块 11.CAN模块 12.数据转换器接口(DCI)模块

2.泻2扯C兆PU内核CP批U内核陆(8/辟16聪/3鱼2位数平据)荷采用改良可的哈柏佛结影构哈佛交结构百是一羽种并优行体系擦结构,程带序和翻数据辜存储剑在不著同的存储捞空间中,冷每个埋存储摘器独立义编址、独桂立访犬问。与两蚂个存扶储器冠相对银应的扶是系础统的4条总宽线:递程序刷的数据蚂总线与地址翻总线,数慈据的数据裹总线与地址响总线。从达而提艰高CP屠U执行肝速度耗和数育据的宝吞吐恼率。17AL弦U能进嫂行执改行8/间16扔/3留2位的加、想减、葛单位鞭移位货和逻尸辑运尺算。除专非特恭别指监明,羽算术漠运算继一般著是以2进制便补码茎形式讨进行舱的。由一窜个高棚速17位x匙17位乘糟法器、一流个桶形添移位革寄存杂器和一愧个40位加湾法器/减法尤器组成斑。单周创期可纪完成小数皱或整牲数DS味P乘法足、有资符号请或无温符号DS橡P乘法笋、常航规或瞧收敛服舍入在单根指令逼迭代罢除法递下支孔持16隐/1略6位有言符号炉小数地除法终运算午,以做及32营/1狼6位、16争/1兆6位有欠符号桥和无阴符号渴整数典除法盗运算寄存察器是档一种存逐储单需元,未通常钓由触若发器锋组成。包括通用钞寄存绪器、专用寄存纵器、控制辫寄存志器每个W工作丑寄存魂器可舌以充侧当数谅据、欣地址庙、地洪址偏窗移量众寄存仓器数据起存储胀器RA翁M(ra涉nd肆om遭a给cc效es阀s绒me笑mo你ry)又膨称作触随机嘱存储辆器数据愉存储铸器可腥读可腊写,闻用来宿存放朵数据荡变量弯、堆末栈,梦掉电升时数特据会洞消失疑;8/16/32位的勺单片妨机,繁其内改部数低据存悦储器址的数泼据宽驼度分峡别是8/16/32位。23特殊驱功能边寄存喘器SF艇R(Sp访ec著ia讨l码Fu司nc搜ti持on诉Re船gi它st据er)是蹈各功能氧部件裤对应抄的寄藏存器际,用倘于存锦放相割应功抹能部第件的控制弟命令,状态,数据每个泻单元象已经答定义飞过,车用户终不能狼自己木定义数据数存储享器简贫介24MC敌U操作龟时作背为一旧个线假性空恭间访搂问,塔数据怨从统柜一的驶空间竭进行桌读写,DS什P操作送时分顺为X和Y数据娱空间斜,乘忠运算忘的数顽据从赶两个拼空间霸读取用户厚可以孟自己库定义25以上争两个殊空间姥统称仁为Ne笨ar数据常存储皱器。枣可通唱过所至有文诞件寄捉存器栏指令恭中的13位绝跟对地边址字税段直浮接对Ne盟ar数据拉存储丽器寻饮址。用于残保存灶应用派程序拆代码夫,同思时还缓可以笑用于太保存或程序挥执行染时用纯到的数据根据冒内部倡程序员存储唇器类蚕型的害不同否可分棉为RO匹M型、FL新AS味H元Me辱mo证ry型27中断向量壶是中伍断源的筝识别壮标志听,可区用来谊形成脖相应的中碧断服反务程序的入口子地址朋或存放中断鞋服务拨程序的首地址把所蚁有的援中断刑向量由集中窄起来趁,按具中断烈类型捞号从秤小到旺大的掩顺序倚存放剩到存职储器愁的某冷一区基域内队,这并个存恨放中软断向缝量的秩存储辉区叫惩做中策断向摆量表许,即叶中断纱服务础程序盈入口授地址表程序巷存储漏器简蚕介28用于保存涛用户蹦编写涨的应驶用程糟序代码苹,同钥时还虚可以登用于雁保存完程序环执行梢时用甜到的恒数据29EE躬PR型OM(带解电可隔擦写可编掠程只蔬读存委储器贫),拥掉电后戏数据不会剪丢失程序隆计数岩器用橡于存放仓下一蚁条指轿令所宿在单美元的地址在程减序开朽始执呜行前,CP贪U按照PC的指忆示从程猪序内铜存读取肺第一叨条指姑令(折取指学)。朱当执鱼行指乳令时桃,CP仿U自动亏地修萍改PC的内杏容,华即每卖执行易一条橡指令PC增加2,2这个量等逝于指找令所籍含的桐字节很数(陕指令拥字节列数)毅,使PC总是英指向毅下一奸条将航要取驰指的游指令槐地址粘。PC用于猾在程划序存番储器请空间杨中对羽连续余指令此字寻黑址。PC以2为增防量,LS雷b置为“0”,使之颠与数学据空灯间寻中址相喷兼容品。31322.裕3系统盼集成系统喘集成救可以喘降低交系统穿成本竭提高鼠系统掠可靠鼻性提胶高设衣计灵盲活性涨。复位振荡悬器看门狗定时炼器低功份耗模式低电怒压检测系统挎集成34RE榴SE誓T指令夜:只要何时弯执行俱了RE术SE僻T指令迈,器遮件都俭会产伪生主怠复位板信号SY启SR旅ST信号距,从闭而将暖器件贼置于确特殊客复位她状态1.复位咳模块主复位企信号SY驼SR康ST信号35引脚音复位姻(MC义LR):只要MC酒LR引脚安拉为兄低电贩平,谷输入邻脉冲歌比规惨定的遣最小宽度伸长,当引脚劳被释放索产生川高电高平后苦,在下一苏个指圆令时稻钟周孙期将惠产生SY物SR认ST信号下并开切始复悼位向葱量取永指。1.复位源模块36WD丈TR看门狗定车时器复位箩:只催要何时悔发生套看门砖狗超唤时,犯器件垃将异硬步产税生SY堪SR照ST信号看门狗(Wa胀tc揪hDo花g道Ti柏me扬r)实坡际上是一颠个计数杰器,一战般给愤看门员狗一赴个大灯数,程序开始站运行摄后看欠门狗腔开始果倒计秧数。每如果程序运行块正常蕉,过古一段漆时间CP弦U应发枕出指阀令让看门厅狗复位,重枝新开庄始倒计躁数。如某果看门满狗减到0就认房诚为程序没有晓正常攻工作唉,强楼制整香个系气统复位。1.复位膊模块37上电复位美:在检测腹到VD唯D电压炼上升确时会侧产生冶内部域上电康复位狡脉冲是。复评位脉坊冲会侄产生10森μ截s短时川间的钞延时套,以兰确保施内部录器件寄偏置拌电路案稳定怕。1.复位尖模块38BO牵R欠压枝复位培:主丑要用途背是在侵发生梅欠压驼条件末时产察生器吃件复赶位。京欠压问条件询通常庄由AC电源级上的亲干扰短信号切或接畜入大蒜负载莫时过覆电流茫造成茎电压聚下降狭产生酬的。1.复位趋模块2.振荡弱器系秒统振荡蝇器系歼统包达含时钟铺源、缠时钟而倍频遗器、偷可编杂程时孝钟后客分频绩器、敏时钟优监视津器等模老块。(1)振亦荡源带多地时钟荷模式疲的主绍振荡肿器辅助脊振荡小器(旦低功湖耗的32观k险Hz晶振伯)FR鸡C振荡技器:终快速劝内部RC(8副MH钓z)LP虏RC振荡柿器:川低功掠耗内萝部RC(51哄2乳kH狐z)39系统贴时钟者源FOS纯C(2)PL泉L时钟灾倍频集器:与XT或EC时钟优模式父的主砌振荡姐器配悠合工彩作输入院频率温范围太为4敢MH腹z-失10祖M蚀Hz4倍频商增益炉模式自(Fo洋ut图=兼1先6街MH晓z-砌40粉M陷Hz)8倍频谷增益崖模式月(Fo园ut帮=挂3毕2脱MH唤z-咐80殃M猫Hz)16倍频庸增益穴模式榨(Fo畅ut鞋=翼6从4帅MH呆z-随12旺0任MH类z)带有汉“失糠锁”偏陷阱齿选项汁的PL恩L肢VC环O锁定苍提示(3)可裕编程蜘时钟站后分臂频器可编及程时烟钟后戚分频值器分频格比为4、16和6441系统状时钟歇源FOS奖C系统私时钟恰源FOS迅C系统截时钟劲源四沃分频遥可产占生内洽部指怒令周灭期时捏钟Fc姻y系统仍时钟选源和疤指令陷执行奔之间村的关烫系如椒下图粉:443.低压骑检测预模块它(LV办D)LV纲D模块农可应巡寿用于电池懒供电的应验用场案合。气当电超池消小耗能修量时阁,电背池电春压缓壁慢下江降。最电池赞的源山阻抗嘱也随橡着能扰量的均损耗切而不吓断增漏大。LV勿D模块检测仿到电尝池电拘压(队即器衔件的VD住D电压面)低谷于阈纯值时,即料认为虚是接焦近电木池使煎用寿牵命的甲终点孙。这培时应沫用程豆序自何动关摩闭。LV莫D模块勤使用闯内部镜参考汉电压间与供电去电池惧电压毙进行叠比较流。阈值宣电压VL攀VD可编猪程设损置。454.低功班耗模计式有两拴种低功功耗悼模式驰,可寄以通尺过执裤行PW惹RS董AV指令辈进入俱:休眠嫁模式:CP畜U、系社统时柜钟源艰和任息何依黎靠系云统时昼钟源舍工作余的外乳设都雕被禁在止。刘这是词器件骂的最雹低功耍耗模贷式。模式还退出笛:中批断源透、器材件复成位。空闲绍模式:CP骑U被禁拳止,此但是症系统顺时钟衬源继年续工种作。姥外设碎继续室工作员,但直可以蒜有选值择地适禁止赌。模式号退出牺:中旗断源严、器长件复凶位、WD左T超时晌。WD修T也可进用于炸将器约件从辱休眠装或空谢闲模负式唤乘醒。46PI柿C单片茶机原胸理及稠应用第3章巩开发致工具473.辛1开发扯工具愉快速传入门芯片声数据具手册:可圆在ww邻w.总mi梢cr愈oc至hi寒p.禾co缠m查找骑及下睁载,赶目前展大多舅数新姑的芯臭片均奇有中勺文数你据手贫册免费夹的集步成编揭译调征试环列境MP艰LA碑B师ID酸E集成增了工程渗管理、语哲法高种亮显井示的文本杂文件土编辑团器、汇编危编译需器、功瞎能强狗大的软仿倒真调炕试器等,疤同时劣可外挂多种C编译制器、硬件裙仿真难调试顺器、烧写乞器等。3.主要端的C语言阀编译理器:菊目前MP巴LA节B支持葛所列搭的所火有C编译赖器的绍内嵌里调试杰,单渣步,辉全速转都没休问题来。不同贼的单篇片机计系列掩必须题使用就不同感的编帐译器藏,目该前大意多数否编译寻器都连有免温费的肯试用欠版或书限制奋版本帅下载裕。4.低成洪本下渐载器废、在琴线调浩试器快:PI踢CK暑IT甲2:是廉坏价的急产品外,本兰身保饮护电丢路设摇计不数完善损,比吩较容像易出占问题欠。好似处是升可以私支持跟脱机货烧写检和KE忧EL斤OQ的片陶子烧沟写IC局D2:现在认市场翅上的茶都是牧国产顽授权昌的IC仙D2,价士格中最等,勒之前蓬很多武人采阁用,辜编程馅速度嘱显的衫有点奶慢,盟连接摸上比感较容吸易出庙现问朱题。PI津CK爽IT文3是低疼端在肾线调陶试器赵,PI吹CK皇IT迫2的升退级版稠,可禾支持知脱机蓄编程捡,编叙程速糕度方四面有选提高德,性之价比外比较报好的花调试释器。IC念D3算是散中端辩的调碑试器外,采枯用FP内GA内核熊,支与持软毛件断河点多放,编厦程速页度快钩,而欲且本太身的汽稳定绑性比丘较好沟,可米以看巾作是活一款宽简化预版的RE猴AL凡I醋CE。3.踩2动MP鼻LA丧B衬ID惑E的使茧用方犯法安装MP叙LA召B中ID腐E(集成况开发漫环境)捡8.载56要求绝:系喜统用哀户账引户名筒为英祸文,安装粘文件存夹路筝径中燥不能若有中京文存放袜文件甚名必亲须为榜英文安装C3扑0编译狮器MP介LA揉B检C3冈0总V1姥.3歌0MP连LA占B股C3岭0念V2咬.0幼0套Up核gr矿ad起eMP绞LA慨B做ID皮E软件姥环境携使用畅分为北下面晶几步刚骤进董行:创建洽文件使用征项目顿向导妄创建找项目编译数项目使用MP疾LA怨B滋SI踩M软件早模拟胜器进内行调葱试使用PI贪C慎ki井t3进行惭在线跟调试新建枯源文白件:地选择Fi嫁le递>N揭ew打开浩一个灶新的骂空白厦的源及文件。保存府源文昨件MP算LA膨B刺ID垦E软件刷环境过使用亲分为活下面畏几步笛骤进踏行:创建哗文件使用六项目越向导新建薯项目编译澡项目使用MP器LA冰B芒SI倡M软件申模拟算器进们行调尤试使用PI篇C高ki扇t3进行在衬线调需试选择Pr备oj猴ec热t>收Pr攻oj柄ec辈t掠Wi莲za只rd来创庭建新拖项目针。将驻出现翠一个昨欢迎凤页面域。点思击Ne困xt等>继续糟。在“St剩ep心O桃ne:Se较le满ct错a干D吓ev勿ic和e”中,悲通过科下拉秀菜单浙选择ds律PI宿C3生0F糟60弯14芯片狱,点益击Ne员xt泥>继续智。在“St风ep签T绍wo:Se圈le蝴ct跳a隔l裤an洽gu应ag尾e艺to迎ol馒su瘦it默e”中,霞选择告“Mi钻cr页oc缩慧hi捉p韵C3炼0T龄oo耳ls汤ui品te询”在“St申ep嗽T雨hr储ee:Na貌me亡y立ou父r坛pr暴oj胶ec哪t”中,劫键入锈项目筹名My著Pr临oj愈ec眯t并点潜击BR雄OW权SE进入MP靠LA什B胃C3尺0安装替目录罢下的\e含xa江mp皇le者s文件贺夹。监然后促点击NE奸XT语>继续在“St勿ep觉F百ou遍r:Ad忽d凭an氧y椅ex驱is赛ti兴ng的f津il只es挑t详o屈yo遍ur染p惑ro畅je扑ct捷”中,愉将添红加两企个文杜件到共项目根中。在Su吨mm疲ar仔y(摘泄要)厚窗口孝中重妨新检秀查“炼项目评参数帝”,亭验证颠芯片薯、工快具包诸和项骆目文游件的条位置购是否递正确设置叔编译姑选项现在队已经豆可以锡用ds雷PI糖C3甲0F工具爱来编川译项去目,法但是孟,需榆要检市查项宣目和种工具禽编译贞选项劝。选择Pr钳oj鄙ec锋t>同Bu辩il炼d封Op下ti见on满s并点帅击“Pr待oj毫ec弦t”显示鞋整个难项目巷的Bu弱il攀d梨Op同ti民on滨s(编信译选农项)剂对话螺框。MP扇LA嚷B曲ID蚕E软件膏环境也使用拦分为日下面颠几步碑骤进慰行:创建金文件使用辅项目设向导创建抖项目编译身项目使用MP屋LA丙B烫SI环M软件李模拟府器进矿行调牵试使用PI碌C躲ki肿t3进行在略线调独试选择Pr在oj渠ec拥t>视Bu判il淘d腐Al尤l对项陕目进种行编聋译、棍汇编梨和链羊接。你如果关有任仰何错销误或市警告柿消息六,会显示侄在输关出窗劣口中啦。如果蜜在项丘目编疗译后族出现心错误毁,可肯双击悲显示忌错误咽消息依的行阴直接乓进入喊导致惕该错最误的母源代脖码行系。如静果您屑使用弄的是夕例子院中的味代码辨,那记么最抽常见渡的错规误就习是拼奴写错戴误、追漏掉亲了分奇号或失大括樱号不拢匹配MP湾LA勇B扁ID们E软件踪蝶环境僵使用捧分为警下面优几步惯骤进桌行:创建科文件使用跑项目良向导创建篇项目编译瞒项目使用MP框LA吗B评SI宇M软件芝模拟瓣器进挥行调讲试使用PI原C斗ki扒t3进行在渔线调茄试通过租选择De冬bu厨gg戒er揭>S俯el逆ec节t净To存ol委>M箭PL膊AB培S带IM将MP寇LA淘B嫌SI半M软件脸模拟尿器作怜为调试工袖具。设置谁断点欣:方殃法一揪:在望源文雪件中楚,将草光标慌移动研到行艰上,尘然后骡通过减鼠标右键逼选择胶“Se住t萌Br励ea境kp惊oi防nt”设吐置断纯点。方兰法二米:将黎光标见移动央到行米上,双击靠设置柴断点。选择Vi王ew苹>W疾at架ch打开Wa驱tc扶h窗口吩。从Ad新d钢Sy懂mb蓝ol旁边找的下我拉扩哭展菜扫单中日选择co栋un嚼te摄r,然蜘后点高击Ad察d遮Sy股mb冒ol。点击遣工具搞栏中考的RU忠N运行帽程序坡。程序剃将在尚执行饭设置粒了断员点的担语句鸦之前炮停下涨。源傲代码辟窗口鞭左边克空白唉处的天绿色坝箭头沈指向掘下一柏个要伟执行衡的语互句。Wa红tc凯h窗口配中红捡色字块体显上示,参表明毕变量桂的值扁发生出了变绳化。MP致LA糖B棉ID资E软件低环境京使用仪分为久下面盼几步衰骤进名行:创建柿文件使用腿项目青向导创建选项目编译瓣项目使用MP铺LA址B乎SI绘M软件厕模拟岗器进裂行调让试5.使用PI爆C帆ki蔑t3进行送在线疼调试De舰bu火g管脚拾选择拨动旁开关1,柄2并on3,晌4稿of晃fIC肉D2渠/窗PI丸Ck糊it茄3在线变调试际器接足口Ki留t3上的拐白色帮箭头岂对应坦白色始线注意睁右边枣的一枯列跳纵线分别浊是:姻右,奏右,地左候,左飞,右(1)如鸡图所秧示选秋择PI底Ck湖it痕3在线扛调试教器(2)出前现下堵图,葱点击OK(3)选艺择de孕bu骡gg研er灰>s透et概ti宾ng悼s(4计)S叨et督ti介ng刑s中选秘择Po滔we口r,如下紫进行质勾选实验钩一、MP模LA课P蜡ID拣E软件颤和在竟线调件试器角的使乖用一.实验侍目的(1)掌吧握MP啦LA跳P惹ID挤E集成融开发婆环境羡的基歼本操好作。(2)掌去握软值件模荣拟器题的调忍试方森法。(3)掌脏握在尿线调脆试器身的使何用方亲法。(4)学央会查深阅相援关数犬据手初册。二.实验仍仪器装设备(1)MP既LA浸P隙ID吵E开发联软件膝一套剩;(2)IC值D2或ki贼t3在线直调试毫器一刑套;(3)AP移P0痛09实验汽板一俗套;三.实验标任务(1)编欲写两售数相上加或事泡泡始排序择程序歼练习MP缝LA售P惧ID基E集成享开发训环境皱的使富用。(上)(2)调抗用函挨数库疯编写锋在屏钥幕上办输出口时间催信息宏的程喜序,存并用略软件腿模拟浪器调约试完疗成。烦(下猪)(3)通绢过在棕线调粘试器垫将IC兴D显示备程序谊下载绒到AP调P0墓09实验窜板。献(下怀)PI席C单片妖机原轨理及她应用第4章MP境LA摇B政C程序井设计704.骨1MP从LA广B®尘C编译纹器MP及LA萝B啦C编译打器是一念个遵矿循AN狸SI暖C标准的C编译敏器,MP军LA蛛B被C编译斥器带键有一跟个完躁整的AN当SI标准五函数泳库。这链个函姜数库状包括芦字符侧串处贡理、咱动态灶存储魄器分段配、埋数据灶转换域、计咳时和锻数学爽函数姥(三贪角、沙指数挖和双更曲线把函数持)、地文件乎处理抽的标捷准I/订O函数供。MP典LA穗B共C3窝0还包赴括针丙对ds射PI呜C嵌入肚式控视制应碍用的阶语言填扩展第。编译居器使涝用代码剪优化技术园将C源代界码编袭译为基高效准而紧乔凑的授代码软件边开发遥工具只数据校流图4.班2常用集文件1.刮x勿xx顾.c浅:腰C源文姓件,伸用户锡编写味,可御有多充个2.婚x带xx刑.a罚:汇编港源文宁件,算用户岗编写苏,可凯有多诱个3.绸x雾xx失.h毫:头文挡件,异编译杆器提烫供,挽或用尽户编疯写。处理后器头社文件伪,如斧:#i俯nc垃lu捆de膛<减p3税0f夺xx洒xx帆.h维>函数禾库头太文件拿,参察见数届据手壳册《d卫sP洞IC语言虚工具沉库》如:#i机nc采lu桂de令<输st特di悲o.扔h>#i贼nc妇lu完de翼<伴ti房诚me授r.猫h>4.扰x盾xx鸡.h天ex释:烧写灾到单汁片机铃中被那执行议的文松件5.编译弊过程旺中的介其他墙文件糟:fi心le何.s汇编钞代码纵,编页译器爷生成fi域le渣.i不应头预处价理的薪源文粱件。fi渡le物.o目标桃文件逮。fi迈le个.p预过矮程抽莫象汇译编语拘言文穴件。fi粗le换.S必须社预处背理的迎汇编扎代码胳。与编呢译器绢有关耀的目抵录目录内容…\c30\pic30-tools\includeANSIC头文件目录,存放标准C函数的系统头文件…\c30\pic30-tools\hdsPIC器件的头文件目录,文件定义器件可用的特殊功能寄存器,但没有定义地址…\c30\pic30-tools\lib库文件目录,存放库文件和预编译目标文件…\c30\pic30-tools\gld链接描述文件目录,存放不同型号器件的链接描述文件,文件定义SFR地址…\c30\pic30-tools\bin可执行文件目录,存放编译程序4.科3程序仙设计1.数据队类型vo牢id蜘d姓el堡ay海(v枪oi束d){in姑t捆i;fo魔r嫂(i液=0塌;i殖<2检00卧0;目i+垦+)垦;}vo妇id庸d牌el左ay许(v面oi带d){lo筐ng碧i乖nt偿i氏;fo赌r耐(i祥=0迟;i懒<65首00悲0;i韵++番);}2.常量岭、变秒量及廊其存停储方仆式常量掘:程盼序运胁行过卫程中涛其值营不改扮变的保数据,不占营用存哄储空码间如:#d萌ef斑in蛙e歼P传I而3撇.1拍41爸59疏26#d陵ef久in螺e医c淘oe鄙f聪2议*P帖I变量经:程株序运走行过宪程中狸其值耳会改攻变的蒙数据喉。一般辽情况庸下,悉不加寇限定色时,稼存放特于RA宏M数据榨存储配器中冈,如:in舱t阳i,谊j;加限井定时疫,被段限定伴的变耻量将贫被分荣配到仅程序转存储鹊器,如:co软ns羽t唤un燥si唤gn白ed作k龙_d胳at送a;。3.数组in融t涛i,捕j,看s=炕0,扬l,v[固3]汉;//定义楼一维赢数组v[丑3]昼;st抓at锹ic茶i言nt叫a迷[5痕][销3]遭={愈{僻80恳,7浑5,棉92织},遵{6突1,启65苏,7争1}绕,{商59和,6权3,靠70妹},{8势5,规87悄,9皮0}兆,{荣76赖,7誓7,纪85敏}售};挡/续/定义握二维榆数组a[藏5]铸[报3],并愚赋值;fo恨r(败i=撒0;壶i<烦3;毫i+捧+){方fo懂r(磁j=品0;勇j<角5;进j+曾+)s=厕s+扇a[仰j]线;V[鹿i]后=s倘/5锯;鱼//给一雁维数炼组v[匀3]赋值;s=杂0;}l=绘(v劝[0不]+蓄v[幕1]湖+v怨[2斜])初/3均;//数组抱的使辞用4.运算狸符(1)算奴术运稍算符艺:+幼-*/(2)关番系运搂算符颤:>蹦<进>=半<姜=;==测试织等于!=测试缘瑞不等达于(3)逻厘辑运尖算符锅:(滋见C语言钻)(4)位跨运算遥符:崖~位大取反胸;&位与孩;∣车位或素;<<左移浓;>>右移位赋栋值及忠读取刊:xx帽xx手xx愁b忙it晚s.扒X程xx嫁xx五=豆0/俱1寄存退器名上称耗位弓名称5.流程蜻控制(1)条粒件语犁句:if予…e缴ls吃e…(2)开塌关语捆句:sw召it悄ch错/c蜓as营e(3)循弄环语泼句:wh鲁il膀e;鹊f混or6.函数(1)一惨个c程序淡由一患个或炊多个抓程序符模块蛙组成跟,每抵一个段程序福模块锻作为余一个盆源程障序文暗件。蜡对较悼大的毫程序恢,一念般不凡把所桂有内苹容全既放在宇一个棕文件百中,吼而是舒将它瓶们分赵别放邀在若脑干个稿源文兔件中受,由勺若干然个源饰程序烦文件波组成臂一个c程序糖。这植样便牲于分冈别编爸写和露编译般,调陈高调肥试效碰率。(2)一讲个源炸程序案文件汁由一晕个或际多个饿函数愉以及夫其他绍有关滥内容秒(如母指令苹,数危据声隆明与训定义粱等)桶组成点。(3)c程序纠的执功行是举从ma其in函数绞开始攀的,徐若在ma燃in函数基中调荣用其侵他函壶数,本调用哭后流烂程返陆回ma直in函数捞,在ma扭in函数葬中结广束整鼠个程其序的除进行(4)所阵有函欲数都纱是平豪行的雨,即姨定义将函数项时是选分别典进行牧的,帅是互非相独泊立的焰。函圈数间耻可以供互相彼调用君,但奥不能苍调用ma击in函数稼。ma有in函数缝是被吼操作浪系统换调用鼠的。(5)从犁用户彼的角管度来丸看函破数分乔为两贞种a:库询函数郑,由挥系统剖提供努,用意户不宫必自陷己定鲁义,周可直泰接使改用它请们b:用啄户自侮己定白义的竭函数讽。它情是以并解决乘用户贷专门商需求永的函迁数。(6)从址函数坦的形扬式来慎看,曾函数战分为腥两类蛛:a:无改参函邻数。役无参级函数川可以像带回牺或不誓带回数函数晓值,室但一劣般不坚带回佣函数蝴值较减多。b:有絮参函东数。擦在调疯用函池数时闪,主朽调函赚数在刻调用让被调乘函数脚时,衬通过来参数尺向被登调函堵数传写递数请据。贵一般阵情况舅下,缺执行尺调用漠函数牧时会令得到析一个收函数含值,桌供主篮调函阅数使抖用。例1:两粪数相乐加的帐简单C程序#i奔nc偏lu授de粘<添p3更0f障40遍11无.h抢>悠/*这个涉头文低件提扫供了呆该器村件的增所有着特殊钩功能侧寄存器的降定义*/un哈si努gn绵ed脖i驰nt拖A乒dd毕(u盾ns刚ig示ne复d见in沾t惨a,插u重ns再ig脖ne腹d卖in玩t责b)闸;蹦/理/函数凯定义un凳si楼gn旺ed示i纤nt浙x梯,破y,衣z仁;佩/讨/变量购定义In肤t姥ma糠in橡(v辫oi胸d)//主程奶序{x正=扒2;y绍=标5;z挺=色Ad象d(雾x,厦y)嘱;re改tu包rn闲0默;}un朽si贡gn异ed床i渠nt购A冰dd蓝(u风ns败ig统ne乞d店in水t忙a,徐u巨ns转ig键ne崭d漠in貌t市b)//函数发调用{re蹦tu膛rn嘉(a抓+b痒);}例2:编级译多根个文印件文件1插/*棚a捧dd贪1.罪c啄*/#i寄nc沈lu竖de峰<球p3统0f诞40葬11技.h干>in糠t草ma车in口(v少oi弊d)兰;un千si史gn域ed穴i谣nt顶A肺dd唯(u眼ns荒ig绵ne彩d辈in敏t揉a,基u加ns周ig揪ne庆d目in悉t挪b)亡;un秋si翁gn闲ed浆i谁nt兵x或,浙y,键z肉;in垫t饺ma卷in稻(v弃oi休d){x躺=兰2;y婶=醋5;z龟=牢Ad驱d(食x,窗y)狱;re尿tu报rn付0夺;}通过劫库管亩理器冶和链袜接器纲,可梅以将她一个槽项目栗中的先多个脱文件设编译症链接轻生成饼可执蓝行文茫件文件2兼/弄*ad踩d2林.c*/#i尾nc烧lu跨de嫁<警p3由0f椅40高11交.h妄>un旱si土gn外ed筐i忆nt屑A波dd凳(u她ns赛ig他ne夫d寨in释t贞a,抗u拥ns伟ig桑ne伍d剖in剥t卸b){re饺tu悉rn触(a奸+b灵);}例3:调素用函黎数库#i换nc斗lu轧de狸<砖ti擦me装.h丽>急/*调用ti失me蹄.h中的cl方oc验k函数邪获得伏时间*/#i阔nc估lu验de安<看st用di枯o.辈h>砖/坐*调用st败di跌o.饼h中的pr索in题tf函数静进行吧输出*/vo蜓la禁ti似le斜i喊nt宽i朝;in揪t闲ma裁in馅(v欠oi凡d){cl培oc昂k_朝t贝st活ar灰t,道s痕to笨p;in苹t分ct善;st毙ar定t蔬=之cl界oc幸k(附);fo琴r拿(i片=娱0草;繁i常<减10超;臂i+丘+)st旗op跪=设c妨lo糊ck宗()星;pr删in返tf甩("乏st何ar兵t绑=历%l峰d\扁n"蛇,利st稻ar京t)究;pr驶in窜tf普("腐st氏op泳=肥%雷ld糊\n坡",改s葱to让p)痒;}7.宏的雨使用(1)配鄙置位电设置使用痰宏设俊置目识标板工配置尖位可让在C源代耗码开箭头前且插入背代码迫,如潜:_F符OS次C(融CS六W_各FS类CM蜘_O惧N袍&夜EC块_P生LL延16耗);//使能忽外部型时钟舌,PL火L设置部为16碰x。//同时蚊使能絮时钟蜻切换吸和时像钟失村效保网护监状测。_F妈BO第RP专OR欺(P先BO糊R_描ON晨&绩B秒OR法V_狡27摸&余P织WR查T_呀ON肠_6皮4爷&晴MC愿LR蓄_D疑IS榜);//使能2.膨7V的欠活压复嫂位,票上电扭延时钱定时袖器初版始化挽为64务m冒s,//将MC诊LR引脚依配置连为普倚通I/期O口。每个税配置已位的糊设置洲列表介,参旷见处勤理器阿头文法件。(2)行内简汇编蜜使用如:#d谎ef守in抗e座No份p(抖)欣{_旷_a妹sm扶__稻v演ol刑at箩il择e尽("种no敏p"秩);写}(3)数现据存胸储器臣分配如:#d蜜ef乓in侦e滚_N圈EA龟R艺__圾at鸭tr鸽ib赞ut欲e_敞_(洲(n熔ea恶r)思)//将变绵量分舒配到ne区ar数据枣存储用区中(4)中赞断服逗务程性序声衔明下面军的宏凉可用规于声灭明中僵断服爆务程寨序(IS富R):#d厉ef售in售e拨_I导SR雅_唐_a夕tt蒸ri绑bu涌te骂__御((块in炮te纪rr榆up熔t)艺)#d闷ef瓦in碗e桂_I赞SR型FA筛ST愁_赠_a袋tt椅ri迈bu祸te境__率((贴in踏te娘rr测up扔t,笑s洁ha浴do撤w)州)如:寇声明ti稻me蚂r0中断陆的中洋断服献务程熔序:vo丸id估_留IS循R泼_I揪NT捏0I火nt每er妥ru完pt贼(v闸oi损d)和;声明SP埋I1中断旦的快择速现凑场保洒护中善断服困务程钩序:vo丛id厨_佩IS除RF舟AS响T达_S断PI捆1I落nt活er使ru千pt扫(v私oi勾d)怒;例4:LC细D显示#d蜜ef群in议e锄__惹ds耀PI饥C3摘0F扰40从11武__#i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论