⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.c.bak

📁 采用TMS320LF2407实现电子琴演奏功能
💻 BAK
字号:
#include "2407A.h"  

void initial();                             /*初始化子程序 */ 
void timer3initial();                       /*定时器3初始化子程序 */
void pwminitial();                          /*PWM初始化子程序 */

unsigned int CMPR;	        		        /*设置PWM周期变量 */
unsigned int TPER;			                /*设置Timer1周期变量 */

void inline disable()
{
	asm(" SETC INTM");	                    /*禁止所有中断*/
}

void inline enable()
{
	asm(" CLRC INTM");	                    /*开放所有中断 */
}

void initial()
{
	asm(" SETC SXM");                       /*抑制符号位扩展 */ 
	asm(" SETC OVM");                       /*根据遇到溢出的情况,累加器被设置为它的最大正值或负值 */
	asm(" SETC CNF");                       /*B0被设置为程序存储空间 */

	*SCSR1=0X87FE;			                /*clock=fin;使能ADC、SCI、SPI、CAN、EVA、EVB模块*/	
	*WDCR=0X0E8;                            /*不使能看门狗*/
	
	*IMR=0X0002;				            /*允许INT2中断*/
	*IFR=0X0FFFF;				            /*清除全部中断标志*/
	WSGR=0X00;				                /*禁止所有等待状态*/
	
	*MCRA=*MCRA|0X0040;			   /*IOPA6端口设置为基本功能,PWM1 */
	*MCRC=*MCRC&0X0FF00;                    /*IOPE端口设置为一般的I/O功能 */

    	*PADATDIR=*PADATDIR|0X4000;             /*IOPA6设置为输出方式*/ 
	//*PEDATDIR=*PEDATDIR|0X0000;		        /*IOPE端口设置为输入方式*/ 
	*PEDATDIR=*PEDATDIR&0X0000;
}

void  pwminitial()
{
    *ACTRA=0X0001;                          /*PWM1低有效*/   
    *DBTCONA=0X00;                        /*不使能死区控制*/
    *CMPR1=0X4A9C;                            /*设置CMPR1,以确定输出占空比*/                                            
    *T1PER=0X9538;                            /*设置Timer1周期寄存器,以确定PWM周期*/
    *COMCONA=0X8200;                        /*使能比较操作*/
    *T1CON=0X1000;                          /*Timer1为连续增计数模式,预分频值为1,使用内部时钟,Timer1比较使能*/
}

void main()
{
	disable();
	initial();
	pwminitial();
	*T1CON=*T1CON|0X0040; 
	
	while(1)
	{
	asm(" nop"); 
	}
}

void interrupt nothing( ) 
{
 	return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -