77范文网 - 专业文章范例文档资料分享平台

嵌入式复习材料(完整版)(3)

来源:网络收集 时间:2018-12-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

如果设计一个定时间隔时要进行什么设置?(如设计接在B口上的八个LED每隔500ms一亮一灭)完成这个功能的程序设计?

//main.c//

#include \

uint8 Count_100ms=0; //定义100ms计数值变量,并给初值0

void main(void) {

DisableInterrupts; MCUInit(); TPM1Init(); PTBDD=0xff; PTBD=0xff;

EnableInterrupts;

while(1) { } }

void TPM1Init(void){

TPM1SC=(0|TPM1SC_TOIE_MASK|TPM1SC_CLKSA_MASK

|TPM1SC_PS2_MASK|TPM1SC_PS1_MASK|TPM1SC_PS0_MASK); //TPM1时钟源选择系统时钟(20MHZ), 分频因子128 TPM1MODH=0x3D;

TPM1MODL=0x09; //根据时钟源及分频因子,将TPM1的定时时间设定为100ms TPM1CNTH=0x00; TPM1CNTL=0x00; }

//中断程序//

interrupt 11 void TPM1_100msover(void) {

uint8 temp;

Count_100ms++;

while(Count_100ms==5)

{

PTBD=~PTBD; Count_200ms=0; }

temp=TPM1SC; //清除中断标志位 TPM1SC&=~TPM1SC_TOF_MASK; }

4、TPM模块的某个通道设置为输入捕捉,并计数捕捉到的脉冲数(例如TPM1的通道0上接入光电编码器,设计完成相关程序使通道0对光电编码的输出脉冲计数)

void TPM1C0Init(void) {

TPM1C0SC=(0| TPM1C0SC _CH0IE_MASK |TPM1C0SC _ELS0A_MASK); //上升沿捕捉// }

Interrupt 5 void TPM1C0_isr(void) { unsigned char i; i++; }

5、TPM模块的某个通道设置为输出比较,输出方波(例如TPM1的通道1输出10KHZ的方波,设计完成相关程序)

void TPM1C1Init(void) { unit16 temp;

TPM1SC=(0|TPM1SC_CLKSA_MASK|TPM1SC_PS2_MASK|TPM1SC_PS1_MASK); //TPM1不允许溢出中断, 时钟源选择系统时钟(20MHZ), 分频因子64 //

TPM1C1SC=(0| TPM1C1SC _MS1A_MASK|TPM1C1SC _ELS1A_MASK); //翻转//

temp=(20/64)*100; //根据指定的定时周期100us计算模数寄存器值 T1_Mod=(uint16)temp; TPM1CNTH=0x00; TPM1CNTL=0x00;

TPM1MODL=(uint8)T1_Mod; TPM1MODH=(uint8)(T1_Mod>>8);

}

6、TPM模块的某个通道输出某个占空比的PWM脉冲(例如TPM1的通道2输出20KHZ、占空比为60%的PWM,设计相关程序)

void TPM1C2Init(void) { unit16 temp;

uint16 duty; uint8 dutyH,dutyL;

TPM1SC=(0|TPM1SC_CLKSA_MASK|TPM1SC_PS2_MASK|TPM1SC_PS1_MASK); //TPM1不允许溢出中断, 时钟源选择系统时钟(20MHZ), 分频因子64 // TPM1C2SC=0|TPM1C2SC_MS2B_MASK |TPM1C2SC_ELS2B_MASK;

//设置TPM1通道2,边沿对齐PWM,比较为低,溢出为高 temp=(20/64)*50; //根据指定的定时周期50us计算模数寄存器值 T1_Mod=(uint16)temp; TPM1CNTH=0x00; TPM1CNTL=0x00;

TPM1MODL=(uint8)T1_Mod; TPM1MODH=(uint8)(T1_Mod>>8);

duty=(T1_Mod/100)*60; //根据占空比求对应的通道数值寄存器值 dutyH=duty/256; dutyL=duty%6; TPM1C0VL=dutyL; TPM1C0VH=dutyH;

}

七、AD转换

1、 什么是AD转换?什么是AD转换的采样精度?MC9SAW60有怎样的采样精度? ? 采样精度

采样精度就是指数字量变化一个最小量时模拟信号的变化量,即我们通常所说的采样位数。 ? 采样速率

采样速率是指完成一次A/D采样所要花费的时间。 ? 滤波

对采样的数据进行筛选去掉误差较大的毛刺。中值滤波和均值滤波。 ? 物理量回归

把A/D采样值与实际物理量对应起来。

AW60最高采样精度为10位,若参考电压为5V,则检测到的模拟量变化为5/(2^10)=4.88mV 2、MC9S08AW60有几个AD模块?AD模块有多少路通道?其中能够接入外部信号的通道有几路?

MC9S08AW60芯片内部集成了一个8位/10位精度的逐次逼近式的A/D转换模块,最多可支持28路独立的模拟输入(AD0~AD27),但在64引脚封装中,只引出16个通道供用户使用(AD0~AD15),这些通道与I/O引脚复用,另外,AD26通道连接了一个内置的温度传感器。

3、MC9S08AW60的AD模块有几个控制寄存器?各寄存器的功能? ? 状态控制寄存器ADC1SC1、ADC1SC2 ? 数值结果寄存器ADC1RH、 ADC1RL ? 数值比较寄存器 ADC1CVH、ADC1CVL ? 配置寄存器ADC1CFG

? 引脚使能寄存器APCTL1, APCTL2, APCTL3

4、MC9S08AW60的AD转换模块对AD转换的时间信号有什么要求? 在高速状态下:0.4MHz~8MHz 在低功耗状态下:0.4MHz~4MHz

5、MC9S08AW60的AD转换模块的AD转换触发有几种模式? 转换控制:由MODE位决定使用8位还是10位模式转换。一个软件或硬件触发可以初始化转换。另外,ADC模块可以设置为低功耗操作,长采样时间,连续采样,自动比较转换值和软件决定的比较值。

1)启动转换

(1)如果选择软件触发操作,在写ADC1SC1之后(ADCH不是全1)。 (2)如果选择硬件触发操作,在一个硬件触发(ADHWT)事件之后。

(3)当进行连续转换时,在将数据传到数据寄存器之后启动下一次转换。 2)完成转换

当转换的结果传到数据结果寄存器(ADC1RH和ADC1RL)后,转换完成,通过置位COCO来表示。 在10位模式下如果上一转换结果的低位没有被读出,则当前的转换不会被送入数据结果寄存器,COCO不会被置位,此次转换数据丢失。

6、AD模块0~7通道上接入8路信号,AD转换采用RTI的8ms定时触发,将各通道转换值存入sensor0[]、sensor1[]、sensor2[]??sensor7[],设计相关程序。

void RTI_8ms(void){

SRTISC=0|SRTISC_RTIS0_MASK; //设置RTI时钟源为1KHZ,定时周期为8ms,禁止RTI中断 }

void ADCInit(void) {

ADC1CFG=0|ADC1CFG_ADICLK0_MASK|ADC1CFG_ADIV1_MASK|ADC1CFG_MODE1_MASK; //时钟源为总线时钟/2,4分频,即ADCLK为2.5MHZ,10位模式 ADC1SC1=0|ADC1SC1_AIEN_MASK; //中断使能打开

ADC1SC2=0|ADC1SC2_ADTRG_MASK; //硬件触发,禁止比较功能 APCTL1=0xff;

ADC1SC1|=0b00011111; //初始时关闭AD模块 }

uint8 i=0 ;

interrupt 23 void ADC1_Int(void){ uint8 revalueL,revalueH, channel;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库嵌入式复习材料(完整版)(3)在线全文阅读。

嵌入式复习材料(完整版)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/339283.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: