?? main.c
字號:
/* LEDS.C example file for Motorola MC9S12DP256 Evaluation Board */
#include <hidef.h>
/* port B definitions */
#define PORTB (*((volatile unsigned char*)(0x0001)))
#define DDRB (*((volatile unsigned char*)(0x0003)))
/* Timer TCNT definitions */
#define TSCR1 (*((volatile unsigned char*)(0x0046)))
#define TSCR2 (*((volatile unsigned char*)(0x004D)))
#define TFLG2 (*((volatile unsigned char*)(0x004F)))
#define TCNT (*((volatile unsigned short*)(0x0044)))
int counter;
void TimerOverflow(void) {
/* This function waits for th timer overflow.
Then it changes the LEDs bargraph display */
while (TCNT != 0x0000);
while (TCNT == 0x0000);
counter++;
if (counter == 8) PORTB = 0x7e; /* LEDs' lightshow */
if (counter == 7) PORTB = 0xbd;
if (counter == 6) PORTB = 0xdb;
if (counter == 5) PORTB = 0xe7;
if (counter == 4) PORTB = 0xe7;
if (counter == 3) PORTB = 0xdb;
if (counter == 2) PORTB = 0xbd;
if (counter == 1) PORTB = 0x7e;
}
void main(void)
{
TSCR1 = 0x80; /* enable timer TCNT */
TSCR2 = 0x03; /* TCNT prescaler setup */
counter = 0;
DDRB=0xff; /* PTB as output */
PORTB=0xff; /* LEDs off */
asm{
nop
}
for (;;)
{
TimerOverflow();
if (counter >= 8) {
counter = 0;
TSCR2 = 0x05; /* TCNT prescaler switch */
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -