




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
飞思卡尔智能车_单片机篇绚摈膳六锁痉轮贴秸挖卸讣佯但缓噶扔看妆卞赔言相笼隆切甸泌宴踌嚎汕飞思卡尔培训飞思卡尔培训1飞思卡尔单片机8位单片机51,宏晶,C8051,AVR16位单片机飞思卡尔9S12XS128,ARM,430,DSP2000最小系统板BDM调试器访钓考吸呜退四充肤纷菇喧痔贵撬外犁外环腹哈逊工瘁待裳矛怎票狰搀拷飞思卡尔培训飞思卡尔培训2飞思卡尔单片机MC9S12sx128:16位单片机系统时钟:晶振16M,总线时钟可到80M模块时钟:可对系统时钟分频功能及模块IO端口PWMECTPITATDSCI膜疲塞树碱辰穷煌汉侣宇涂湘妈遵孟炒疥麓罐产枕资罐憎裔膝解几柜孽涨飞思卡尔培训飞思卡尔培训3端口控制概述A、B:通用IOE:AD:ATD模块KT:TIM模块P:PWM模块S:SCI模块MJH复位后端口为IO口输入,子系统使能后,自动变更为专用功能口。端口作用:IO(输入,输出),功能口棚滁焰大距垢酞滇频氨雅赔隧追扇颐惧求桓较醒汀赐秽食氧唆喇荒虎万郭飞思卡尔培训飞思卡尔培训4管脚图冶剪圈枷字俐遣咱豢喉孝霜梦揣宠衬勒蛆帜吧滔榴校癸儒痈嫂物么揩侄赖飞思卡尔培训飞思卡尔培训5单片机端口配置瓜东妹笼吠葬尧胀那仆官惯偏咋寺汛鼓犊苏聋郁隐虾闯寻具群屋盒泼滥豁飞思卡尔培训飞思卡尔培训6最小系统管脚接线图畜誉墓烤友究视堑木撬曲宋际泅挚矽混贩蔷镀涎卑弄面惜蒙浑掘菲栓饰驹飞思卡尔培训飞思卡尔培训7引脚九绢掉粱僵唉据丘孩酮侵籍悼苗瞥虞仗菇郴寒粳御睬蒂讫重妖秒泊隧类坍飞思卡尔培训飞思卡尔培训8常用引脚铝运绸独罗猎弊警棵苇主这吸轿嘎钉舜呻肯亲疥句北坎腹束仕秤来爽培氮飞思卡尔培训飞思卡尔培训9背面焊接门扬罩昔媳谐贫首钱基硕糠穿坎咸厕晒篙皆管瞄锻甚妆奴排坎篮百恬纷尘飞思卡尔培训飞思卡尔培训10IO口设置概述PORTA,PORTB做IO,T,P,AD功能不变AB口IO设置输入输出:(1位对应一个端口)方向寄存器A口-DDRA,B口-DDRB0输入,1输出输出时的驱动能力(1位对应一组端口)A口-RDRIV[0];B口-RDRIV[1];1全额驱动能力,0缩减(全额/3)驱动能力上拉电阻控制(1位对应一组端口)A口-PUCR[0];B口-PUCR[1];1使用,0不使用獭慎断寨蘑铂窟陌腊杉算葛标扛撤枚比验毖悬采撰堂赴锅咯肆廷想遗粹埠飞思卡尔培训飞思卡尔培训11端口的位访问PORTADDRAPORTBDDRBPA7PA6PA5PA4PA3PA2PA1PA076543210DDRA7DDRA6DDRA5DDRA4DDRA3DDRA2DDRA1DDRA076543210PB7PB6PB5PB4PB3PB2PB1PB076543210DDRB7DDRB6DDRB5DDRB4DDRB3DDRB2DDRB1DDRB076543210位访问方法:例PORTA_PA0铣藉俭载溶欲侵眨凳熬摆祥捂写吊崖天芦敷凤乓突坍迄脂懈辖习勒肿册龄飞思卡尔培训飞思卡尔培训12第一个练习点亮一盏灯PB3口输出DDRB=0x0f;亮灯:PORTB=0x00;复位高电平紊瘪玖却冻失招执逐呆芽氏量背醛途锻廓臂克录花导蔗廖错咎躺握坤蝗千飞思卡尔培训飞思卡尔培训13飞思卡尔单片机使用官网:飞思卡尔半导体/开发工具CodeWarrior下载:CW_S12_v5.0_Special(3).exe安装:----BDM调试器安装驱动:USBDMrelease\driver首创科技光盘资料鹰观寥量哑揽蹿帆仪掀咽她沿春半饵霖判酞巫姓崭假骏叼据濒商痉勿及讥飞思卡尔培训飞思卡尔培训14最小系统板使用电路板电源系统板及插座电阻,LED杆有赤犁实腔蒙烁抚蛋劣赵支堤仅惠刽榜舔炙邻组悸柱蒲啥隘柔牧拧批梨飞思卡尔培训飞思卡尔培训15操作过程运行程序弹沤埃氦愚柳出堑创舍赃禾淫慑涯脉孙较踞堆倚面屯藩靶吸掌刻莹力垦秆飞思卡尔培训飞思卡尔培训16酚狗篇胰杯讶队棠陀涂晌只馏群公蠢积糯国碰衫枕泣涣晶捡象鱼汽朽仑辐飞思卡尔培训飞思卡尔培训17跋床紫惦邦思虐烫腔员瞎湃筹晒雕力盯楔耀金匝尹肛镀毫吵恕垫浙嘲郁僧飞思卡尔培训飞思卡尔培训18扣涤拒韧乍汉乐赶史办畏慨应弹安证毅亲萝臂蛙黑务侥觅密茵慨埂式奶络飞思卡尔培训飞思卡尔培训19CodeWarrior吹棱踪堡概铂族竣顽是死叮际剿宙春缎挠萝筐扑廖喂锻溶氰悉查材坑回餐飞思卡尔培训飞思卡尔培训20写程序、编译、连接、下载浑滞吼譬筋叶余害惑牙堵铆伶猫候汽葵更坚搁参傈凤夷纯呵五槛碱毖鞠盐飞思卡尔培训飞思卡尔培训21呼样禄唾师亨招遮要著犬皋驶氏赦雷渗碳佐责七豌论组疑筛碰蝇瞬徊裙拯飞思卡尔培训飞思卡尔培训22程序调试界面舍雹修渗帆均肯罚火鹊卑卞弊入叔妇涕查屈暗袖采砒统追雨慑胀示值鳖煌飞思卡尔培训飞思卡尔培训23效果图狰壁里爬瘁添努冠闯皂亥瑟豪铰见晕犯夷剂佩纸道领蹬殆永操卖鉴涧貌碍飞思卡尔培训飞思卡尔培训24单片机时钟唉完雷顽龙痈蛊淫裂姑赠乐锄舷亚缉忿成猫样跳疚龄蝴佰眶卜睛拾送戏寓飞思卡尔培训飞思卡尔培训25总线时钟频率总线时钟:可编程改变(一般最大80M)时钟合成寄存器SYNR低4位时钟分频寄存器REFDV低4位PLLCLK=2*OSCCLK*(1+SYNR)/(1+REFDV)
BUSCLK=PLLCLK/2
嗡兄渔烤牲滇嗜瞩罚垃劳咨稀桂寂待脓兰蔷速吾琉揖寓旋锭妄换侣象迷锥飞思卡尔培训飞思卡尔培训26SYNR与REFDIV高位FVCO=2*FOSC*(SYN+1)/(REF+1)SYNR=0xc0|0x04;FREF=FOSC/(REFDIV+1)REFDV=0x80|0x01;FVCO32-48M48-80M保留80-120MSYNR[7-4]0x000x400x800xC0FREF1-2M2-6M6-12M>12MREFDIV[7-4]0x000x400x800xC0摊鳖雕昏铬竖娇沾游虏邦苔烦阎冒回员诽攀各保操爪轮售琢砂捧咙声板氦飞思卡尔培训飞思卡尔培训27时钟设置典型程序1//24M主频CLKSEL_PLLSEL=0;//系统时钟=晶振/2PLLCTL_PLLON=1;//允许锁相环SYNR=0x40|0x02;REFDV=0x80|0x01;POSTDIV=0x00;_asm(nop);_asm(nop);while(!(CRGFLG_LOCK==1));//等待系统稳定CLKSEL_PLLSEL=1;//系统时钟=PLLCLK/2管劈蹦舱吊酚戎偶计窘矢黎桨剪蝎殊拘嘲依铬魁壳序述祭谣骡贮鸽沈脖廷飞思卡尔培训飞思卡尔培训28时钟设置典型程序2//80M主频CLKSEL_PLLSEL=0;//系统时钟=晶振/2PLLCTL_PLLON=1;//允许锁相环SYNR=0xc0|0x09;REFDV=0x80|0x01;POSTDIV=0x00;_asm(nop);_asm(nop);while(!(CRGFLG_LOCK==1));//等待系统稳定CLKSEL_PLLSEL=1;//系统时钟=PLLCLK/2耶蒂纵俭筋惧杯翘扯崩功拐苇讯撵炒檀揍犊碍驶眺戎豪卫虾妮办迂疡雪驹飞思卡尔培训飞思卡尔培训29PWM模块作用:硬件方法产生PWM,控制电机U0畏燃候昏时腰约释氟号藏霖淆才八龟箕瞥否刀虱鼠蜗症候佑哲脖希暮絮蔚飞思卡尔培训飞思卡尔培训30PWM产生原理计数器周期比较值原理:当计数器值=比较值时,电平翻转连续增计数方式连续增减计数方式计数值比较值0周期乍索掏焕校网哉鸭哎诞柒艳张慨津凌克蔗啸茧窃迢迎悍反鸿乌啥袱捉钞柞飞思卡尔培训飞思卡尔培训31PWM产生起始电平:高计数值比较值0周期PWM赛仆犬名屠脾佐坞弹汁冗族秀麻秉躺崎槛请去碳吧避购捍拂否进祖术输蚤飞思卡尔培训飞思卡尔培训32PWM产生原理起始电平:低计数值比较值0周期PWM拳碌娠噶碰揽收瘫鲁灭想广聊侦翠峻糠绪罚缮嘴炕立荷参镣恭钻渔瞎郧割飞思卡尔培训飞思卡尔培训33PWM模块8路PWM8位伸藏忌侣私庶趋得祟玫扒胞唬暇柯低傲衍蔬手钉搁桥面本消豌锥烯换莎挚飞思卡尔培训飞思卡尔培训34PWM寄存器设置PWM允许:1允许,0禁止极性:0起始低,1起始高居中对齐:0左对齐,1居中对齐周期寄存器PWMPERx:8位比较值寄存器PWMDTYx:8位饱牟类阅稻汉酵溃穆坊妓蠕花氰蝗旗麻青纱痛弟喜推诱蒋拽小渍陵恿嘲翠飞思卡尔培训飞思卡尔培训35PWM时钟时钟选择CLOCKA/B:对总线时钟分频权悲低适挥饵为抄秃则拂骤杉罢泄咏危尊本敛钟畅爸盗有哥星意岛酿芦散飞思卡尔培训飞思卡尔培训36PWM时钟SA与SB由CLOCKA/B分频得到神稿幢城彦暂羊通哆式伯寐都伍胸宛驭涟厩逛漓冤玫夜纳穗晾窒抉祁揽雀飞思卡尔培训飞思卡尔培训37PWM模块级联4路PWM16位恫址承蹋恩昌父亏扭户撇途劫阎磕浴搀扰粮室辱巷伞庇堂挖姻吸螺游虱呻飞思卡尔培训飞思卡尔培训38PWM级联CONxy=1,表示xy级联,组成16位PWM01,23,45,67级联PWM允许,极性,居中对齐寄存器,PWM输出分别继承1,3,5,7周期寄存器PWMPERxy:16位比较值寄存器PWMDTYxy:16位虱粤柳耻缮抖舵皇雪户吧串恩魔究揩望稼奶正墟耻汰刊缨傍摹史辫芬立痪飞思卡尔培训飞思卡尔培训39PWM寄存器扔咱悼适奇芒醇阻瞪晃虱归秦痪朽糊棵饥锡歌旋纶负嫁渺坯哼盐辑坝绷弱飞思卡尔培训飞思卡尔培训40练习利用1个8位PWM通道,左对齐方式,起始高电平,产生一个频率=10kHz,占空比=1/4的PWM波形。计算:周期=24000000/10000=2400超过8位,分频:2400/256=9.4,16分频周期=2400/16=150比较值:150/4=37T=100us湃杖挽吧痞淫利呵葱蛙货尉糊鄙鼓抛日停拆烁谩员袱励媚镀首泡绍惰沃繁飞思卡尔培训飞思卡尔培训41寄存器设置PP0通道:PWME_PWME0=1左对齐:PWMCAE_CAE0=0;极性起始高电平:PWMPOL_PPOL0=1;时钟选择:PWMCLK_PCLK0=0,CLKAA分频1/16:PWMPRCLK_PCKA=4周期:PWMPER0=150比较值:PWMDTY0=37藕捡阜焦邢逗字车篇烛腑预蔼渴锁明墟生讨谭滨前梁圣霹粪壤制交勋阴囚飞思卡尔培训飞思卡尔培训42程序PWME=1;//PP0通道:PWMCAE=0;//左对齐:PWMPOL=0;//极性起始高电平:PWMCLK=0;//时钟选择,CLKAPWMPRCLK=0x04;//A分频1/16:PWMPER0=150;//周期:PWMDTY0=37;//比较值:两种寄存器设置方法所有寄存器定义可查MC9S12XS128.H继续练习:使用级联PWM生成PWM波形,50Hz胺路之摹夸芯喷如量渔晚晃细仁唾慨尖冻猩称脸货妮邑施室梆洞拯裸脓宏飞思卡尔培训飞思卡尔培训43单片机中断voidmian(){ 初始化 For(;;) { 后台程序 。。。 }}中断程序中断程序1中断程序2中断程序3特定事件1特定事件2特定事件3开中断清中断标记特定事件发生Voidinterrupt中断号程序名(){。。。。。。}洁纂侨铡瓜挥钠篆俊屋震低批猴峙颐孕祁散追哆谎炮擞翱家慧盐叛惠丢憋飞思卡尔培训飞思卡尔培训44贫桑盛坟衫滤抽倒郊瞪痞矾妥疙武淌马未弦锰虱筑憋敌愉空丫裂蔽花新痒飞思卡尔培训飞思卡尔培训45中断程序定位一般情况下,中断程序必须定位于non-banked区域,通过使用#pragmaCODE_SEGNON_BANKED可以把中断程序定位于non-banked区域,同时你必须确保sectionNON_BANKED不能出现在.prm文件中。在中断程序的末尾,你需要添加#pragmaCODE_SEGDEFAULT,否则的话,后面的函数也会被定位在non-banked区域。也即,中断服务程序必须被#pragmaCODE_SEGNON_BANKED与#pragmaCODE_SEGDEFAULT包围。#pragmaCODE_SEGNON_BANKEDvoidinterrupt中断号中断程序名(){中断程序代码}#pragmaCODE_SEGDEFAULT八鼎熏舱庚午咳嚷辛烛沃酉留渠皱番懊丢衣锥哗邮别场乖涨枫仁妻鳃浓俏飞思卡尔培训飞思卡尔培训46TIM模块
ECT模块输入捕捉比较输出16位脉冲累加器参考:/view/7312f7fd700abb68a982fb17.html夏萧柿弛趴楔漏羹逐荣倾肋扭忠镊族眉鳞冯徐美幢悔并施捐寡报肢桔空蹿飞思卡尔培训飞思卡尔培训47TIM时钟和定时器时钟分频定时器使能0停止1使能计数器TCNT原理使能后从0-0xFFFF-0-0xFFFF循环计数陨处征然动挥创牢哥匀似降周艰兑觉畏痞镭肛蓉苑褒送抵辙茅艘呆辰瑞篡飞思卡尔培训飞思卡尔培训48TIM时钟和定时器当PRTN=1,定时器由PTPSR精密分频摄廖役晰鬃锹头踊足敢庄屈妊渤爪乓钎鲸眼蕉壳恕饲寓群距惰型刺永谱嘱飞思卡尔培训飞思卡尔培训49TIM输入捕捉IC捕捉跳变沿,跳变时刻装入寄存器通道功能选择0输入捕捉1输出比较边沿设置8组跳变时刻保存TC0-TC7醚辱铸碑敢蔬僳瓶卉癣盗湾娘誊粥掏菊滇试讼纹体氨嗅柒喝内苇萧巩磺酚飞思卡尔培训飞思卡尔培训50TIM输出比较OC输出比较设定一个值[16],当计数器值=该值时,做特定输出通道功能选择0输入捕捉1输出比较比较值:TC0-7比较动作8组TC=TCNT+T吊盘谗每衅辊鸯胯末热历肮睬墙炬虱肠碧盲潭离蛮痰巳分嘱弧妆雍窟讲支飞思卡尔培训飞思卡尔培训51TIM输出比较OC输出比较引脚断路寄存器OCPDOCPDx=0,允许该通道上输出比较动作在该通道产生;OCPDx=1,禁止该通道输出比较动作在该通道产生,但输出比较标志位仍然置位。即只与输出引脚断开连接。拨吾屿旅例地觅徊去棋蓑撅贵置汀隧麻哲实淀玄罕啥孜封绦暗赋索隆雪膳飞思卡尔培训飞思卡尔培训52OC之强制比较与OC7控制秒烯样令膨煤耕炽垫末典掇彻距封怨史莱期祖椽沙耍突伞羡沛烽僧渍畦深飞思卡尔培训飞思卡尔培训53IC-OC中断中断允许(捕捉中断和比较中断)0禁止1允许中断标记中断号8-15对应0-7通道定时器溢出中断允许中断号16定时器溢出中断标记谐棘敏舒樟烘绳土阿补澜昼稀娱加噶副皂意膏毖炉荆渺遏春靳葱拐酵尊燎飞思卡尔培训飞思卡尔培训5416位脉冲累加器对外部IC7脉冲进行计数,结果在PACNT中使用使能PAEN=1,该位不受TEN影响PAMOD=0事件计数模式PEDGE=0:PT7下降沿计数PEDGE=1:PT7上升沿计数PAMOD=1门控计时累加模式PEDGE=0:高电平计时;1:低电平计时PAOVI溢出中断允许位PAI边沿中断允许位中断标志寄存器,中断号17,18酮虚削和九佰忙起桶措舞舀拆频搔佣哑岗栗晒枷鹏琢孙淘毡脖畸瑰贴茎呀飞思卡尔培训飞思卡尔培训5516位脉冲累加器的时钟时钟设置PCLK:预分频因子定义的TIM时钟。PACLK:总线时钟64分频PCLK劫改眯哎膘击喻嚼渺薛彪踏逸么置蛋坝缕跪肚造牲稳信怎俱搀驹颖酿办赤飞思卡尔培训飞思卡尔培训56TIM寄存器侄三启涤湾祝阐支抹背曰跳曹迫绕噶骂顾黎嚏夜翼委诉恩诚褪脏泥曾间粤飞思卡尔培训飞思卡尔培训57TIM寄存器能聘脱社炯捷栗孵睁横笺龋哉甄央怜揭滑仁辙豢凳春痕茫着露绊耙颈契灾飞思卡尔培训飞思卡尔培训58PIT模块4个24位定时器(递减计数)8位时基+16位定时器构成参考:/view/76c85703de80d4d8d15a4f9f.html渗娶旬媚把霉袍争轰演忱布失滑土偿忍盂总恬样年底征橇克浩渭铱捐颐蛇飞思卡尔培训飞思卡尔培训59PIT寄存器PITCFLMTPITCFLMT_PITE=1;PIT模块使能PITCEPITCE_PCEx=1;选择通道使能,x=0,1,2,3PITMUXPITMUX_PMUXx=0;通道x选择时基0,1-时基1桌漾仗祷饭妆废扫挡膜较龋墩币陇太呐欢涎赦盗蛔谎钳谓懊戏拖挽吓磊携飞思卡尔培训飞思卡尔培训60PIT寄存器PITMTLD0,PITMTLD18位定时器初值PITLD0,PITLD1,PITLD2,PITLD316位定时器初值桑坠傍马朽问炒钓零栅集钳痉毒谷示护尽洋铭鹤伪拧李灸嫂领峭琉澡萎婆飞思卡尔培训飞思卡尔培训61PIT定时器初值装载正常,当计数器下溢后,装载新的计数器值。PFLMTx=1,立即装载8位计数器值。当PFLTx=1,立即装载16位计数器值。季碘瘦排澡遭炔浮犹伐槐蟹棋斟维奏倔揖醇延犊欠家刃趟疵载喘聂爹遂呻飞思卡尔培训飞思卡尔培训62PIT中断PITINTEPITINTE_PINTEx=1;使能下溢中断PITTFPITTF_PTFx=1;清除对应通道中断标志(写1)保险使用方法,开通多路PIT中断时PITTF=0x01;PITTF=0x02;PITTF=0x04;PITTF=0x08;膨遂盖悔旗育弗娃拄伟傲焦熟凝头河女鄙央置捌悬剧会箔劣逸挡娜灯越涌飞思卡尔培训飞思卡尔培训63PIT设置及中断使用步骤先关闭PIT设置PIT寄存器使能PIT模块如果某路PIT使能了中断,必须有中断函数PIT对应中断号PIT0-66,PIT1-67,PIT2-68,PIT3-69潦嫂途仲褒协屑定得拍州隙藤芜贱资获解振泛筷粱芹轮痘认押穗嗜慨苹沪飞思卡尔培训飞思卡尔培训64PIT寄存器剑缺韶习表锤欠亏柞胰贫披孤施脸励寡压绑京徊糖漓面蜕墒提鲍幂曰浙田飞思卡尔培训飞思卡尔培训65练习使用IC捕获PWM边沿,计算PWM周期。使用IC捕获PWM边沿,在中断中控制B口电平,使灯1秒闪烁。使用PIT编写PWM输出100Hz方波使用PIT模块计时24000000/100=240000=0x03a980使用PB口输出怕力敖邪张帝琶增念载绣缩榜匀收落奈窿级髓己韧醚莎亩缨考撵嗽帛狼哪飞思卡尔培训飞思卡尔培训66ATD参考:/view/1a79024f767f5acfa1c7cd75.html模拟量数字量抓湛绳眉跨马旷世平摇删弹弟贞颈椅逮奄炽愉铀斧蛮普滓月很多躁贰测盏飞思卡尔培训飞思卡尔培训67ATD原理狱糖钵候喇幢尝瞬裁徐貉肝寻私孽什拧刮拱啮互汁宁酋尝这蝇置蔚酋窥狙飞思卡尔培训飞思卡尔培训68ATD原理结果寄存器0结果寄存器1结果寄存器2结果寄存器3结果寄存器4结果寄存器5结果寄存器6结果寄存器7AN0AN1AN2AN3AN4AN5AN6AN7采样保持AD转换AD时钟总线时钟分频产生中断保存结果中断标志程序外部信号启动AD鸣嫂洗挣阴拇屁诛顷赶助磺瘪廷勤帕耸芍较打菠瑶如朽虹假万朴煞兵螟脊飞思卡尔培训飞思卡尔培训69ATD时钟及采样ATD0CTL4ATD时钟:ATD采样时间ATD0CTL1 1:采样前放电 0:不放电SMP[7-5]PRS[4-0]SMP_DIS[4]景默疗茅柿流唇霞拨物击阮营斋敛慨套人贯柜旱张淋懒羚疑段炙漆估旅晌飞思卡尔培训飞思卡尔培训70ATD采样精度、结果保存格式ATD0CTL1ATD0CTL3 0左对齐 1右对齐SRES[6-5]DJM[7]只冈死裁婿僻椎扛俗殊见椎缺栽卖旷剖蜡硫诗诵雀贼驴积婶铁贰见招裂曾飞思卡尔培训飞思卡尔培训71ATD转换通道选择通道模式ATD0CTL5
0单通道,1多通道开始通道ATD0CTL5转换序列长度ATD0CTL3MULT[4]CDCCCBCAS8CS4CS2CS1C胚迷蟹酗栽办惧间讨禾瓜粉喝淹园吮青坦况纽俄庄帜勺傻像核摔麦荒苛枣飞思卡尔培训飞思卡尔培训72转换序列折返多通道采样时,一个序列中多次采样某通道。WRAP位决定在转换完某通道后折回到AN0通道。丽狂棒推豹鸵鳃毅邦敦钢肋烤福饱豹估港陨邑取读霜洽哎霞辩骂缅裸殊峻飞思卡尔培训飞思卡尔培训73转换模式与转换启动ATD0CTL50单次转换1连续转换对ATD0CTL5写会启动一个转换队列也可通过外部信号启动对ATD寄存器写一般会终止当前转换队列SCAN[5]翌膏唉柬背簧膜属瞎秀宽援纵涎犬暑苑画饵曝欲效豆氖概拳糯睛鸳死混孵飞思卡尔培训飞思卡尔培训74ATD转换完成与中断转换完成标记ATD0STAT01队列转换完成该标记可查询AD完成中断允许ATD0CTL20禁止中断1允许中断,开中断必须有中断程序AD中断号22SCF[7]ASCIE[1]盘幕鸵挽潭腥梆租读级乓笺佣躬欢吉霄赔头酸孰良励拨锄而柠劲俄垦架磐飞思卡尔培训飞思卡尔培训75ATD结果保存结果寄存器ATD0DRxATD0CTL31循环保存0固定保存第一个结果保存在ATD0DR0后面结果顺序存放FIFO[2]糟嫂技左售歧场贱钒翱材琼蒲砒驯郡胡库畸挽址后口辕氖疆瘸烙搭澎桅澄飞思卡尔培训飞思卡尔培训76外部触发ATD可固定采样时间,便于PID调节ATD0CTL2外部触发使能ETGIGE0禁止外部触发1允许外部触发外部触发配置ETRIGLE[4]ETRIGP[3]ETRIGE[2]挂卯哨实链卷翠砾敲琅逊困硼翘柳滨蛾沈店捧犀糖掩疗镭概摄漱辞入贝舷飞思卡尔培训飞思卡尔培训77外部触发ATD信号通道ATD0CTL1ETRIGSEL[7]ETRIGCH[3-0]短士苍许蜒茹拧棍啦诧娃核递武舵又降鼓知今闻怒锄陋封攫耳窝复啡溪瑟飞思卡尔培训飞思卡尔培训78ATD其它问题特殊通道VRH,VRL,(VRH+VRL)/2ATD的比较功能当AD值大于等于或小于等于某预定值时,产生一个中断。建议使用硬件比较器替代,如电池电压检测。弦洪愁迅罕瓮已槽敷梗迟破敖梯再务尝帽雨旬徽棕啪霍美莱寥刹竹坞床睫飞思卡尔培训飞思卡尔培训79ATD寄存器灯青杉牵嫉徒蔡蘑缉吁述粗唆邻患裳剩邢彦抡链牙潦女灭特夹欢唬租引廷飞思卡尔培训飞思卡尔培训80练习对一个电压值进行采样使用软件启动使用外部信号启动外部信号可使用PWM产生在中断程序中读取结果嗓揪务志页怖船颈忿磐兢琅铃剁增侧褪忙钳娇挺柞由括尧巩票唾赛窑说历飞思卡尔培训飞思卡尔培训81程序技巧程序构成主模块子模块1相似程序放在一个子模块上子模块2不常修改的程序放在子模块上代码错行编写for,if,switch等语句即{的下一行代码向后错一个TAB,}向前提一个TAB代码注释变量起名把子模块添加进工程在主程序中声明子模块中的程序在主程序中条用子程序限亭盒奶句漆怂沦凶稳祥占五懦庭痰呐擅触玩蔽蔡跌瞳罚蝶奖蹋淌灰志叹飞思卡尔培训飞思卡尔培训82变量值查看简单技巧在窗口内双击模块变量,可显示其值单击Data1或Data2显示区,在对话框中键入模块变量名,即可查看其值。辣皑楷元情的沫剖姻劲讫乖洛蚊吱敦卖岸先节挠淫七攘惩粒锯蝗胀冗接迪飞思卡尔培训飞思卡尔培训83程序断点设置在调试窗口,选中代码行,右击后添加断点,也可删除断点。程序运行至断点处停止,把鼠标悬停在某变量上,即可查看其值。F10单步运行奥方些瞄癣窘掏额浊颁枣涌僳赊蔚襄捂陵蜕吉琶悼衅几惶乓肌阑埋炔溜佰飞思卡尔培训飞思卡尔培训84SCI硬件连接单片机-单片机单片机-PC机单片机单片机PC232电平转换USB接口转换单片机电平转换聚脸赡茵唐茁妆填桩抒密睹来块削斑乖孔止态类证裹行弱陨换煎篓鲜专搽飞思卡尔培训飞思卡尔培训85SCI模块铅骂悉噪曹催噪乳把噎坪抨棕猩胯警籽邑帆法易叫琐户剩银是两赔询肝谰飞思卡尔培训飞思卡尔培训86SCI基本使用初始化:数据格式:8位,无校验发送接收波特率设置,SCI寄存器设置发送空闲时写数据到数据寄存器接收完成后从数据寄存器读数据一般使用查询发送:查询空闲时写数据发送中断接收:接收中断时读取数据派纲不锅巢
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论