这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » halibote523使用手记(从安装到程序编写)

共54条 2/6 1 2 3 4 5 6 ›| 跳转至
专家
2010-10-13 20:30:13     打赏
11楼
点击:Debug ---start Debug
点击:Debug ---Run---Go
得到下面的图片,图片是静止,当然也看不到闪烁的,但是这是经过我一步步的操作,是没啥疑问的!!图片图下:::::::::::::::::::::


专家
2010-10-13 20:46:45     打赏
12楼
IO口寄存器介绍:
PDR:端口数据寄存器    0:输出低    1:输出高
DDR:数据方向寄存器   0:输入         1:输出
PUL:上拉控制寄存器    0:禁止         1:使能
ILSR:输入电平选择寄存器  0x04:CMOS      0x00:磁带(只有PDR0_P04具有次功能)
输入模式:有AD输入以及数字输入,由寄存器:AIDRL_Pyz来设置
比如:DDR0_P01=0;(设置输入)AIDRL_P01=1;(禁止AN1作为AD的输入)



明天再继续传定时器操作或者是URAT的的操作过程以及注意事项!

专家
2010-10-14 19:38:21     打赏
13楼
管教的详细说明:

CN303代表的管教为CPU的第11到第20管教
与板子的相应的对比图是下图:

红色的数字20为CN303的1,也就是P12

专家
2010-10-14 20:11:24     打赏
14楼
定时器的操作(定时的时间内让LED亮与灭)
首先看的是定时寄存器的描述
1、控制状态寄存器0(T00CR0/T01CR0)
   bit0:F0,bit1:F1,bit2:F2,bit3:F3,bit4:C0,bit5:C1,bit6:C2,bit7:IFE
2、控制状态寄存器0(T00CR1/T01CR1)
   bit0:OE,bit1:SO,bit2:IF,bit3:BF,bit4:IR,bit5:IE,bit6:HO,bit7:STA
3、定时器模式寄存器(TMCR0)
   bit0:FE00,bit1:FE01,bit2:FE10,bit3:FE11,bit4:MOD,bit5:IIS,bit6:TO0,bit7:TO1

操作的步骤:
1、设定模式(T00CR0:[F3:F0])=0000
2、设定计数器始终(T000CR0:[C2:C0])
3、设定计数器值
4、设定中断优先级
5、使能定时器输出(T00CR1:OE=1)
6、启动定时器(T00CR1:STA=1)









专家
2010-10-14 20:14:10     打赏
15楼

定时器操作的程序如下:(自己测试用的)
main.c文件:
#include "mb95200.h"

unsigned int Systemtime;

/******************************************************************************
NAME:  InitCompTimer();
FUNCTION: initial timer for the interval timer (Free run) function
******************************************************************************/
void InitCompTimer (void)
{
 T01DR = 0x01;    // set count value (high 8 bit)
 T00DR = 0xFF;    // set count value (low 8 bit)
 TMCR0 = 0x10;    // 16-bit, no filtering
 T00CR0 = 0x82;    // interval timer in free run mode
        // enable IF flag interrupt
 T00CR1 = 0xA1;    // enable interrupt, enable output
        // start timer
}

/******************************************************************************
   name: CompTimer ();
   function: enter ISR while the counter value matches the pre-set value
******************************************************************************/
__interrupt void CompTimer (void)
{
 T00CR1_IE = 0;    // disable interrupt
 T00CR1_IF = 0;    // clear flag

 //...      // interrupt service routine
 Systemtime++;

 T00CR1_IE = 1;    // enable interrupt
}

/******************************************************************************
   name: main ();
   function: main loop
******************************************************************************/
void main (void)
{
 InitCompTimer();
 InitIrqLevels();
 __EI();
 
 DDR6_P63 = 1;
 while (1)
 {
 if(Systemtime<=10)
    {
    PDR6_P63=0;
    }
 if(Systemtime>=20)
    {
    PDR6_P63=1;
    }
 if(Systemtime>=30) {Systemtime=0;}
 }
}


专家
2010-10-14 20:23:31     打赏
16楼
定时器中断向量的设置:
Vertor.c文件里面



然后声明中断入口函数


修改中断入口函数:


注意:
红线的函数为main文件的函数:__interrupt void CompTimer (void)
P63控制的蓝色的灯,现象如下:


定时器的操作完毕
(待续。。。下次是UART的测试)

专家
2010-10-14 20:44:17     打赏
17楼
以定时器为例,关于中断优先级的解释:
    ILR1 = 0xF3;      //  IRQ4:  UART/SIO ch0
                                 //  IRQ5:  8/16-bit timer ch0 (lower)
                                 //  IRQ6:  8/16-bit timer ch0 (upper)
                                 //  IRQ7:  LIN-UART (reception)

F3:二进制为:11 11 01 11
那么:
11--IRQ4:  UART/SIO ch0
11--IRQ5:  8/16-bit timer ch0 (lower)
01--IRQ6:  8/16-bit timer ch0 (upper)
11--IRQ7:  LIN-UART (reception)

在每个ILR中可以中断优先级00 01 10 11, 优先级00为最大,ILR0>ILR5

专家
2010-10-15 09:18:56     打赏
18楼
中断源解析::::
0   //  IRQ0:外部中断ch.4
1   //  IRQ1:外部中断ch.6
2   //  IRQ2:外部中断ch.2  | ch.6
3   //  IRQ3 :外部中断ch.3  | ch.7      
                              
4   //  IRQ4:UART/SIO ch0
5   //  IRQ5:8/16位多功能定时器ch.0(低位)
6   //  IRQ6:8/16位多功能定时器ch.0(高位)
7   //  IRQ7:LIN-UART(发送)
                                     
8   //  IRQ8 :LIN-UART(接收) 
9   //  IRQ9:8/16-bit PPG ch1 (lower) | UART/SIO ch1
10  //  IRQ10 :8/16-bit PPG ch1 (upper) | I2C ch1
11  //  IRQ11:16-bit reload timer ch0(16位重载定时器)
                                     
12  //  IRQ12:8/16-bit PPG ch0 (高) (16位PPG--ch0高)
13  //  IRQ13:8/16-bit PPG ch0 (低)(16位PPG--ch0低)
14  //  IRQ14:8/16位多功能定时器ch.1(高位)
15  //  IRQ15 :16-bit PPG ch0 + ch2 (16位PPG--ch0+ch2)
                                       
16  //  IRQ16:16-bit reload timer ch1 | I2C ch0(16位重载定时器)
17  //  IRQ17:16-bit PPG ch1(16位PPG--ch1)
18  //  IRQ18:8/10位A/D转换器
19  //  IRQ19  :时基定时器    
                                   
20  //  IRQ20:计时预分频
21  //  IRQ21:external interrupt ch 8-11(外部中断ch8--11)
22  //  IRQ22:8/16位多功能定时器ch.1(低位)
23  //  IRQ23:闪存

专家
2010-10-15 22:40:05     打赏
19楼
LIN-UART的设置:
内部框图为:


专家
2010-10-15 22:40:58     打赏
20楼
LIN-UART的寄存器名称以及解析:

共54条 2/6 1 2 3 4 5 6 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]