#include "tms320uc5402.h"#include "math.h"#include "stdio.h"#define IMAGE_WIDTH 64#define IMAGE_HEIGTH 64/*******************************************************************/FILE *fi;int i,j,k;int y[IMAGE_HEIGTH][IMAGE_WIDTH];unsigned char id[64];/*******************************************************************/
void sys_ini() //系统初始化子程序{ asm(" ssbx INTM"); //禁止所有可屏蔽中断 PMST&=0x00FF; //(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间 //BSCR=0x8800; //32k分区,ps~ds插入一个等待周期 SWWSR=0x7000; //io空间7个等待周期,程序与数据空间0个等待周期 //SWCR=0x0000; //等待状态倍率为1 CLKMD=0x0000; //设置pll为div模式 while(CLKMD==0x0001); //等待设置完成 { } CLKMD=0x37FA; //CLKOUT=(3+1)*CLKIN=40M,自动延时最长时间 //CLKMD=0x17FA; //CLKOUT=(1+1)*CLKIN=20M,自动延时最长时间 IMR=0x0000; //禁止所有可屏蔽中断 IFR|=IFR; //清除所有中断标志位} void main(void){ sys_ini();
k=10; /*k is Threshold Value*/
fi=fopen("..\Lena64.bmp","rb");
for (i=0; i<=16; i++) { fread((char *)id,sizeof(char),IMAGE_WIDTH,fi); } fread((char *)id,sizeof(char),54,fi); for (i=0; i<IMAGE_HEIGTH; i++) { fread((char *)id,sizeof(char),IMAGE_WIDTH,fi); for (j=0; j<IMAGE_WIDTH; j++) { y[i][j]=id[j]; } } fclose(fi); i=0; for (i=0; i<IMAGE_HEIGTH; i++) { for (j=0; j<IMAGE_WIDTH; j++) { y[i][j] = (255-y[i][j]); } } i=0; for (i=0; i<IMAGE_HEIGTH; i++) { for (j=0; j<IMAGE_WIDTH; j++) { y[i][j] = 255*((255-y[i][j])/k); } } i=0; i=0;}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>