智能车制作

标题: MC56F8346 LED演示程序 [打印本页]

作者: chiusir    时间: 2010-8-29 21:38
标题: MC56F8346 LED演示程序
下面是834X的主程序,大家可以比较下,跟9S12有多大区别,有一点儿需要注意的是,原工程里面有一个头文件MC56F834x.h可以给大家编程带来很大的方便行,不过跟人感觉还是不如用S12用起来顺手!

拷贝MC56F834x.h和以下代码就可以方便的移植到834X芯片了。

/** ##############################################
龙丘MC56F8300开发板演示程序
Designed by Chiu Sir
E-mail:chiusir@yahoo.cn
软件版本:V1.1
最后更新:2010年7月12日
------------------------------------
Code Warrior 8.3
Target : MC56F8346
Crystal: 8.000Mhz
busclock:60.000MHz
** ###############################################*/
#include <stdio.h>
#include <stdlib.h>
#include "MC56F834X.h"
void delay(int ms)
{   
   int ii,jj;
   if (ms<1) ms=1;
   for(ii=0;ii<ms;ii++)
     for(jj=0;jj<2670;jj++);        
}
void MCU_init(void)
{   
  asm(bfset #0x0000,XEC0_FIR);
  asm(bfset #0x0000,X:DEC1_FIR);
  asm(bfset #0xffff,X:SIM_PCE);  
  asm(bfset #0x0000,X:SIM_CONTROL);
  asm(bfset #0x0020,X:SIM_CLKOSR);   
  //PORTA初始化程序
  //BFSET for |= , BFCLR for &=, and BFCHG for ^= operators
  asm(bfclr #0x7E01,X:GPIO_A_PER);  // 开启GPIO功能  
  asm(bfset #0x7E01,X:GPIO_A_PUR);  // 上拉电阻
  asm(bfclr #0x7E01,X:GPIO_A_DR);  // 低电平
  asm(bfset #0x7E01,X:GPIO_A_DDR);     // 设置方向
  //PORTE初始化程序  
  asm(bfclr #0x000C,X:GPIO_E_PER);   // 开启GPIO功能  
  asm(bfset #0x000C,X:GPIO_E_PUR);  // 上拉电阻
  asm(bfclr #0x000C,X:GPIO_E_DR);  // 低电平
  asm(bfset #0x000C,X:GPIO_E_DDR);  // 设置方向 E2,E3
}
int main(void)
{
MCU_init();   
   for(;;)
   {     
        asm(bfclr #0x7E01,X:GPIO_A_DR); // 亮灯      
        asm(bfclr #0x000C,X:GPIO_E_DR); // 亮灯                 
  delay(200);          // 延时
  asm(bfset #0x7E01,X:GPIO_A_DR); // 灭灯
  asm(bfset #0x000C,X:GPIO_E_DR); // 灭灯
  delay(200);          // 延时     
   }
return(0);
}

------------------------
[attach]3109[/attach]
作者: zouyf12    时间: 2010-8-30 00:14
这个芯片不能在头文件里定义寄存器的地址,然后把寄存器用定义的名字来访问,一定要用汇编吗?
作者: chiusir    时间: 2010-8-30 09:12
这个芯片不能在头文件里定义寄存器的地址,然后把寄存器用定义的名字来访问,一定要用汇编吗?
zouyf12 发表于 2010-8-30 00:14



   完全可以定义成9S12方式的共同体、结构体、宏定义方式,但工作量巨大,目前好像还没有人来做.
作者: zouyf12    时间: 2010-8-30 12:09
那如果把一些常用的寄存器定义了。那用起来和XS128也没什么区别了吧?
作者: chiusir    时间: 2010-8-30 13:44
那如果把一些常用的寄存器定义了。那用起来和XS128也没什么区别了吧?
zouyf12 发表于 2010-8-30 12:09



    应该是这样的,不过DSC的一些寄存器前面加了一个X,还没去查询具体含义呢,有空你可以确认下告诉大家。
作者: chuchiwolong    时间: 2010-11-22 20:51
希望哪位高手写一个出来啊
作者: sonwendi    时间: 2011-5-8 21:33
这个,可以用PE编程,相当简单~
作者: vgjkl    时间: 2011-7-9 23:57
可否详解PE?
作者: guojing870302    时间: 2011-11-10 21:27
回复 8# vgjkl
PE是Processor expert~~是它内部带的程序~~
作者: Yocher    时间: 2012-7-23 14:34
guojing870302 发表于 2011-11-10 21:27
回复 8# vgjkl
PE是Processor expert~~是它内部带的程序~~

PE你觉得好用吗?想自己一点点写,但是又不知道干如何做

作者: yangshenle    时间: 2012-11-20 20:20

作者: hust    时间: 2013-3-13 14:26
可否共享一下8346的SPI例程,谢谢了
作者: hust    时间: 2013-3-13 14:32
Yocher 发表于 2012-7-23 14:34
PE你觉得好用吗?想自己一点点写,但是又不知道干如何做

可否共享一下8013的SPI例程,谢谢了
作者: luxiaoyu    时间: 2013-3-17 00:53
你能解释下asm是什么意思吗?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2