44bmon.c

来自「44b0平台」· C语言 代码 · 共 105 行

C
105
字号

#include "44b.h"
#include "option.h"
#include "def.h"

#define rPCONB		(*(volatile unsigned *)0x1d20008)
#define rPDATB		(*(volatile unsigned *)0x1d2000c)


//extern int display1(void); //声明外部汇编子程序

void Sys_Init(void);
void Delay(unsigned long timer)
{
  __asm
  { 

    mov     r0, timer;
lable:
    sub     r0,r0,#1
    cmp     r0,#0
    bne     lable

  } 

}  

void Main(void)
{
  Sys_Init();
  //display1();  //调用外部汇编子程序
  __asm
  {
 	mov	    r0,#0x1d20008	   
    mov	    r1,#0x1cf 		
    str	    r1,[r0]

display:   
    mov	    r0, #0x1d2000c	     // 全灭
    mov	    r1, #0xFFFF 		
    str	    r1,[r0]
    
    mov		r0,5000000
    bl      Delay,{r0}
    
    mov	    r0, #0x1d2000c	     // D2亮
    mov	    r1, #0x7df 		
    str	    r1,[r0]
    
     mov		r0,5000000
    bl      Delay,{r0}
    
    mov	    r0, #0x1d2000c	     // D1亮
    mov	    r1, #0x7ef 		
    str	    r1,[r0]
    
     mov		r0,5000000
    bl      Delay,{r0}
    
    mov	    r0, #0x1d2000c	     // D11亮  
    mov	    r1, #0x3ff 		
    str	    r1,[r0]
    
     mov		r0,5000000
    bl      Delay,{r0}
    
    mov	    r0, #0x1d2000c	     // D12亮
    mov	    r1, #0x5ff 		
    str	    r1,[r0]
    
     mov		r0,5000000
    bl      Delay,{r0}
    
    mov	    r0, #0x1d2000c	     // 全亮   
    mov	    r1, #0x0 		
    str	    r1,[r0]
    
     mov		r0,5000000
    bl      Delay,{r0}
    
    b       display
    


  }
  while(1);

} 



void Sys_Init(void)
{
	 /* Write Buffer On,8K Cache */
    rSYSCFG = CACHECFG; 
    
    /* Set NonCache Area */
    rNCACHBE0 = 0xc0002000;
       
    
}



⌨️ 快捷键说明

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