DSP实验三、TMS320F28335 定时器 控制LED亮灭
更新时间:2024-01-19 01:00:01 阅读量: 教育文库 文档下载
- dsp实验三cpu定时器推荐度:
- 相关推荐
继续我的第三个实验;实现定时器控制LED亮灭: 学习目的:定时器的寄存器设置及准确定时功能,
F28335共有三个定时器:timer0、timer1、timer2(timer2也可用于DSP/BIOS);
功能描述:
上电默认LD4灭;
初始化完成后,LD4以1HZ(1S)频率做状态翻转; 电路连接说明:
LD4设置为通用GPIO 上拉输出初始化后默认为输出LD4灭状态;LD4控制LED灯的负极,如下图;
本次实验选用定时器0,程序时刻读取计数器的值,当值为0时,LD4状态翻转,计数器重载; 程序设计说明:
定时器0的预定标寄存器和计数器设置:定时器时钟为sysclkout=135MHz,预定标寄存器设为1350,计数器设为100000;135Mhz/(1350*100000=1Hz)
主要程序如下:
CpuTimer0Regs.TPR.bit.TDDR = 0x546 & 0xFF;//0x546 预定标寄存器(预分频器) CpuTimer0Regs.TPRH.bit.TDDRH = (0x546>>8) & 0x00FF;//0x546 预定标寄存器(预分频器)
注意:在对分配寄存器设置是出现问题,TDDR、TDDRH是两个8位寄存器组成的16位寄存器。
源程序如下:
#include\// DSP2833x Headerfile Include File #include\// DSP2833x Examples Include File
#define LD3_ON() #define LD3_OFF()
GpioDataRegs.GPACLEAR.bit.GPIO0 = 1 GpioDataRegs.GPASET.bit.GPIO0
= 1
#define LD3_TOGGLE() GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1
#define LD4_ON() #define LD4_OFF()
#define Key_SW12() /* * main.c */
intmain(void) {
//GPIO53 按键矩阵负极输出0
GpioCtrlRegs.GPBMUX2.bit.GPIO53 = 0;//0 gpio mode
GpioCtrlRegs.GPBDIR.bit. GPIO53 = 1;//1 output 0 input
GpioCtrlRegs.GPBPUD.bit. GPIO53 = 0;//1 enable pullup 0 disable pullup //GPIO50 按键矩阵SW12输入端
GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 0;//0 gpio mode
GpioCtrlRegs.GPBDIR.bit. GPIO50 = 0;//1 output 0 input
GpioCtrlRegs.GPBPUD.bit. GPIO50 = 0;//1 enable pullup 0 disable pullup GpioCtrlRegs.GPBCTRL.bit.QUALPRD2= 200;//采样周期=2*Tsysclkout*200 GpioCtrlRegs.GPBQSEL2.bit.GPIO50 = 2;//采样窗内3次采样结构相同 //GPIO34 LD4 控制LED负极
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;//0 gpio mode
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;//1 output 0 input
GpioCtrlRegs.GPBPUD.bit.GPIO34 = 0;//1 enable pullup 0 disable pullup //GPIO0 LD3 控制LED负极
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;//0 gpio mode
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;//1 output 0 input
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;//1 enable pullup 0 disable pullup EALLOW; InitPieCtrl(); InitPieVectTable(); InitGpio(); InitSysCtrl(); DINT;
IER = 0x0000; IFR = 0x0000;
GpioDataRegs.GPBDAT.bit.GPIO50
GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1 GpioDataRegs.GPBSET.bit.GPIO34
= 1
#define LD4_TOGGLE() GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1
}
GpioDataRegs.GPBCLEAR.bit.GPIO53 = 1; LD3_ON();//默认输出亮状态 LD4_OFF(); EDIS;
//定时器0 设为1Hz = 135MHz/(1350*100000)
CpuTimer0Regs.PRD.all = 100000;//0x186A0 周期寄存器
CpuTimer0Regs.TPR.bit.TDDR = 0x546 & 0xFF;//0x546 预定标寄存器(预分频器) CpuTimer0Regs.TPRH.bit.TDDRH = (0x546>>8) & 0x00FF;//0x546 预定标寄存器(预
分频器)
CpuTimer0Regs.TCR.bit.TSS = 1;//1停止定时器工作 0启动定时器 CpuTimer0Regs.TCR.bit.TRB = 1;//重载定时器计数器和预分频器 CpuTimer0Regs.TCR.bit.TSS = 0;//1停止定时器工作 0启动定时器 while(1) { }
if(CpuTimer0Regs.TIM.all==0){ }
LD4_TOGGLE() ;
CpuTimer0Regs.TCR.bit.TSS = 1;//1停止定时器工作 0启动定时器 CpuTimer0Regs.TCR.bit.TRB = 1;//重载定时器计数器和预分频器 CpuTimer0Regs.TCR.bit.TSS = 0;//1停止定时器工作 0启动定时器
主循环应该采用用下面的语句更合理,即采用判断定时器中断标志的方式,来判断计数器为0,计数结束,如下:
}
if(CpuTimer0Regs.TCR.bit.TIF==1){ //中断标志位,即使没有使能中断,但是定 }
CpuTimer0Regs.TCR.bit.TIF=1;//清中断标志位 LD4_TOGGLE() ;
时计数器减到0时,该位置1,该位写1清0
while(1) {
正在阅读:
DSP实验三、TMS320F28335 定时器 控制LED亮灭01-19
公司基层管理干部入党转正申请书09-08
第三章因特网的应用09-09
我家的分歧作文600字07-15
保护眼睛健康的教案11-19
韦氏词根11-27
路作文700字06-16
Cap 548A s 9 Licence to be kept on board and produced for inspection三04-28
第一次给妈妈洗脚作文550字06-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 定时器
- TMS320F28335
- 实验
- 控制
- DSP
- LED
- 20XX-20XX学年度下学期小学教导处工作总结
- 廉洁文化进校园活动总结
- 《骆驼祥子》名著导读:虎妞人物分析 教案
- 2014年广州市公安局拟录用公务员公示
- 公路隧道二衬结构计算算例
- 青岛市全日制毕业生专业技术职务资格确认呈报表
- 幼儿园安全问题调查分析开题报告
- 健康知识讲座方案及总结
- 机器人技术习题集
- SCI论文全攻略之审稿回复实例
- 汽车涂装排放VOC明细一览
- A电磁流量计标准MODBUS通讯协议(版本号: LMAGMODRTUV77)安均 yes
- 工程复检 见证取样及送检工作指南
- 辍学报告制度
- 高中军训心得体会2000字
- 探讨公路工程施工技术管理措施
- 笠翁对韵 A4打印 拼音版
- 多元对话:比较文学概论期末考试20
- 银行间债券市场交易员资格考试题库
- 语言学概论教学方案