单片机综合实验论文要点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟测速系统及LCD显示 摘要:在设定的时间段内,计算在该时间段内的脉冲数,达到模拟测速的效果。首先,采用 PIT定时器设定定时宽度;然后,在PIT计数结束时使用中断,使用变量来统计改时间 内采集到的脉冲数,并使PIT重新开始定时;最后,在LCD1602上显示该变量数目。 本实验采用PIT定时器、中断使能的方式,达到模拟测速的要求。 关键词:PIT定时器,中断,LCD1602,MC9S12XS128芯片 引言 1.1 MC9S12XS128芯片 ①PWM模块 PWM调制波有8个输出通道,每一个输出通道都可以独立的进行输出。每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。每一个PWM输出通道都能调制出占空比从0—100%变化的波形。 ②定时器模块 基本的定时器模块由1个增强的可编程预分频器驱动的可编程计数器、8个输入捕捉/输出比较通道和1个脉冲累加器组成。定时器模块一共有8个引脚,其中脉冲累加器与第7号通道的引脚是共用的。 ③A/D转换 模拟信号依次通过抽样和保持(S/H)电路和模拟转换器(A/D)后转换为数字格式。抽样和保持电路以均匀间隔对模拟信号进行抽样,并且在每个抽样运算后在足够的时间内保持抽样值恒定,以保证输出值可以被A/D转换器精确转换。 下一步是通过模数转换器将抽样和保持电路的输出转换为数字形式。模数转换器的输出通常表示为二进制编码的形式。 转换精度由分辨率来表示,它由离散级数量决定。比如,对一个以二进制形式编码的长度为N位的长的输出,有效地离散级数量是2的N次方,分辨率为离散数量级的倒数。12中A/D转换共有两个方块,每个方块各有8个输入通道,使用时应以标头ATD0或ATD1标识。 1.2 LCD1602 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 系统设计 2.1 硬件设计 设计图框 设定时间内计算脉冲数 下一段单位时间 2.2 软件设计 ①流程图 ②程序编写 #include hidef.h /* common defines and macros */ #include derivative.h /* derivative-specific definitions */ #define ep PTT_PTT3 #define rw PTT_PTT2 #define rs PTT_PTT1 int encoder_cnt,i1,j; //定义全局变量 /*************************************************************/ /* 初始化锁相环 */ /*************************************************************/ void PLL_32M(void) //BUS CLOCK = 32MHZ, PLL CLOCK = 64MHZ { CLKSEL = 0x7f; //set OSCCLK as sysclk 时钟选择寄存器 PLLCTL = 0x8F; //Disable PLL circuit 环控制寄存器 CRGINT = 0xDF; 中断 SYNR = 0x43; REFDV = 0x81;//PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)=64MHz ,fbus=32M PLLCTL = PLLCTL | 0x70; //Enable PLL circuit asm NOP; asm NOP; while(!(CRGFLG0x08)); /

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档