




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定时器PWM输出实验1. 实验目的1) 熟悉Linux开发环境。2) 掌握S5PV210内部相关寄存器的操作方法,最终实现对外部设备的控制。3) 熟悉在Linux裸机环境下的C语言编程。4) 熟悉S5PV210的定时器编程。2 实验内容学习并编程实现ARM的定时器PWM输出。3 实验设备1) 硬件:S5PV210教学实验箱、PC机;2) 软件:PC机操作系统Windows 98(2000、XP) VMware workstation+Ubuntu12开发环境。4 基础知识S5PV210共有5个32bit的PWM定时器,其中定时器0、1、2、3有PWM功能,定时器4没有输出引脚。PWM定时器使用PCLK_PSYS作为时钟源。时钟初始化相关寄存器定时器初始化相关定时器定时器PWM输出控制的相关内容:GPD0CON确定GPD0DAT引脚的功能,本实验用GPD00作为TOUT_0的输出。实验程序#define MP0_4CON(*(volatile unsigned long *)0xE0200340)#define MP0_4DAT(*(volatile unsigned long *)0xE0200344)#define GPD0CON (*(volatile unsigned long *)0xE02000A0)#define GPD0DAT (*(volatile unsigned long *)0xE02000A4)/ clock#define APLL_LOCK (*(volatile unsigned long *)0xE0100000)#define MPLL_LOCK (*(volatile unsigned long *)0xE0100008)#define APLL_CON0 (*(volatile unsigned long *)0xE0100100)#define APLL_CON1 (*(volatile unsigned long *)0xE0100104)#define MPLL_CON (*(volatile unsigned long *)0xE0100108)#define CLK_SRC0 (*(volatile unsigned long *)0xE0100200)#define CLK_SRC1 (*(volatile unsigned long *)0xE0100204)#define CLK_SRC2 (*(volatile unsigned long *)0xE0100208)#define CLK_SRC3 (*(volatile unsigned long *)0xE010020c)#define CLK_SRC4 (*(volatile unsigned long *)0xE0100210)#define CLK_SRC5 (*(volatile unsigned long *)0xE0100214)#define CLK_SRC6 (*(volatile unsigned long *)0xE0100218)#define CLK_SRC_MASK0 (*(volatile unsigned long *)0xE0100280)#define CLK_SRC_MASK1 (*(volatile unsigned long *)0xE0100284)#define CLK_DIV0 (*(volatile unsigned long *)0xE0100300)#define CLK_DIV1 (*(volatile unsigned long *)0xE0100304)#define CLK_DIV2 (*(volatile unsigned long *)0xE0100308)#define CLK_DIV3 (*(volatile unsigned long *)0xE010030c)#define CLK_DIV4 (*(volatile unsigned long *)0xE0100310)#define CLK_DIV5 (*(volatile unsigned long *)0xE0100314)#define CLK_DIV6 (*(volatile unsigned long *)0xE0100318)#define CLK_DIV7 (*(volatile unsigned long *)0xE010031c)#define CLK_DIV0_MASK 0x7fffffff#define APLL_MDIV 0x7d#define APLL_PDIV 0x3#define APLL_SDIV 0x1#define MPLL_MDIV0x29b#define MPLL_PDIV0xc#define MPLL_SDIV0x1#define set_pll(mdiv, pdiv, sdiv) (131 | mdiv16 | pdiv8 | sdiv)#define APLL_VAL set_pll(APLL_MDIV,APLL_PDIV,APLL_SDIV)#define MPLL_VALset_pll(MPLL_MDIV,MPLL_PDIV,MPLL_SDIV)/ PWM CLOCK#defineTCFG0 ( *(volatile unsigned long *)0xE2500000)#defineTCFG1 ( *(volatile unsigned long *)0xE2500004)#defineTCON ( *(volatile unsigned long *)0xE2500008)#defineTCNTB0 ( *(volatile unsigned long *)0xE250000C)#defineTCMPB0 ( *(volatile unsigned long *)0xE2500010)#defineTCNTO0 ( *(volatile unsigned long *)0xE2500014)#defineTCNTB1 ( *(volatile unsigned long *)0xE2500018)#defineTCMPB1 ( *(volatile unsigned long *)0xE250001C)#defineTCNTO1 ( *(volatile unsigned long *)0xE2500020)#defineTCNTB2 ( *(volatile unsigned long *)0xE2500024)#defineTCMPB2 ( *(volatile unsigned long *)0xE2500028)#defineTCNTO2 ( *(volatile unsigned long *)0xE250002C)#defineTCNTB3 ( *(volatile unsigned long *)0xE2500030)#defineTCMPB3 ( *(volatile unsigned long *)0xE2500034)#defineTCNTO3 ( *(volatile unsigned long *)0xE2500038)#defineTCNTB4 ( *(volatile unsigned long *)0xE250003C)#defineTCNTO4 ( *(volatile unsigned long *)0xE2500040)#defineTINT_CSTAT ( *(volatile unsigned long *)0xE2500044)void init_clock(void) CLK_SRC0 = 0x0;/ close PLL APLL_LOCK= 0x0000FFFF; MPLL_LOCK = 0x0000FFFF; / set PLL APLL_CON0 =APLL_VAL;/FOUT= MDIV * FIN / (PDIV*2(SDIV-1) = 1000 MHz MPLL_CON = MPLL_VAL;/ FOUT = MDIV*FIN/(PDIV*2SDIV)=667 MHz CLK_SRC0= 0x10001111;/ FOUT = MDIV*FIN/(PDIV*2SDIV)=667 MHzvoid init_timer(unsigned long tcntb,unsigned long tcmpb)TCON = 0;TCFG0= (TCFG0 & 0xff00ff)|0x41;/设置预分频系数65TCFG1 =(TCFG1 & (0xf0)|0x04;/ 16分频 输入时钟= PCLK /(prescaler+ 1) /divider =62500hzTCNTB0 = tcntb;TCMPB0 = tcmpb;TCON |= 11;/ 更新TCNTB0 TCMPB0 TCON &= (11);/ 清手动更新位TCON |= (10)|(1 0;count-) for(i=0;i loop; i+) j+; void main(void) GPD0CON = (GPD0CON & (0xF 0)|0x2;/ 控制GPD00作为TOUT_0的输出 MP0_4CON= (MP0_4CON & 0xFFFF0000) | 0x11110000; MP0_4DAT|= 0xF0; init_clock();/初始化时钟 init_timer(62500,40000);/初始wttimer while(1) /TCON = 0;5 实验步骤1. 准备好实验环境,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安阳教资考试题库及答案
- 押题宝典高校教师资格证之《高等教育法规》通关考试题库附参考答案详解(典型题)
- 高血压考试试题及答案
- 组织结构调整过程中的员工培训与发展试题及答案
- 2025年电商平台数据分析与社交电商模式创新报告
- 2025年直播电商行业主播品牌合作模式优化研究分析报告
- 2025年工业互联网平台光通信技术升级对光纤光缆制造设备行业的影响报告
- 2025年海上风电场海上风电场运维成本分析与控制策略报告
- 2025至2030年中国直接接触食品材料市场深度调研分析及投资前景研究预测报告
- 解析卷-人教版7年级数学上册期中试题及参考答案详解(综合题)
- 合同保证金转让三方协议
- 2025人教版(2024)一年级上册数学教学计划 (三篇)
- 无人机原理课件
- 1.1 精微广大-绘画的功能和种类 教学设计-2023-2024学年高中美术人美版(2019)选择性必修1 绘画
- 音响设备消费行为预测-洞察及研究
- 手术部(室)医院感染控制标准WST855-2025解读课件
- 医院信息化系统管理办法
- 2025广西来宾宾信投资集团有限公司招聘拟聘人员考前自测高频考点模拟试题及答案详解一套
- 2025年安徽演艺集团有限责任公司招聘20人笔试备考题库及完整答案详解
- 医学人文与医患沟通能力
- 安全生产施工管理方案(3篇)
评论
0/150
提交评论