scan.c

来自「IO」· C语言 代码 · 共 56 行

C
56
字号
//Scan.c
//
//Body: HT48C10-1
//Mask option
//All the mask options use the default value.

#include <ht48c10-1.h>

bit direction;
unsigned char lamp;

#pragma vector isr_4 @ 0x4
#pragma vector isr_8 @ 0x8
#pragma vector isr_c @ 0xc

//ISR for safequard
void isr_4(){} // external ISR
void isr_8(){} // timer/event 0
void isr_c(){} // timer/event 1

//initialize registers for safeguard
void safeguard_init(){
	_intc = 0;
	_tmrc = 0;
	_tmr = 0;
	_pac = 0xff; //input mode
	_pbc = 0xff;
	_pcc = 0xff;
}

void main(){

	safeguard_init();

	direction = 0; //shift left direction
	_pac = 0;      //set port A as output port
	lamp = 1;      //set initial lamp light up

	while(1) {
		_pa = lamp;  //output lamp value to port A

		_delay(50000);

		if(!direction)
			lamp <<= 1;
		else
			lamp >>= 1;

		if(lamp & (unsigned char)0x80)
			direction = 1;  //shift right
		else if(lamp & 0x01)
			direction = 0;  //shift left
		//else, don't change the direction
	}
}

⌨️ 快捷键说明

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