📄 test24.c
字号:
#pragma CODE_SECTION(vect,"vect")
int data[7]={0x249,0x28a,0x208,0x30c,0x451,0x41,0x861};
unsigned int *pmem=0;
#define PMST *(pmem+0x001D)
#define SWCR *(pmem+0x002B)
#define SWWSR *(pmem+0x0028)
#define BSCR *(pmem+0x0029)
#define READS *(pmem+0x8000)
#define IMR *(pmem+0x0000)
#define IFR *(pmem+0x0001)
#define TIM0 *(pmem+0x0024) /* timer0 register */
#define PRD0 *(pmem+0x0025) /* timer0 period register */
#define TCR0 *(pmem+0x0026) /* timer0 control register */
int time1_over;
void cpu_init()
{
PMST=0x3fa0;
SWWSR=0x7fff;
BSCR=0x0002;
SWCR=0x0000;
IMR=0;
IFR=IFR;
}
void set_t0()
{
asm(" ssbx intm");
TCR0=0x0a18;
PRD0=0x0f;
IMR=IMR|0x0008;
IFR=IFR;
asm(" rsbx intm");
}
void busy()
{
TCR0=0x0a2f;
PRD0=0x86ff;
while(time1_over==0);
time1_over=0;
}
main()
{
int i,j;
cpu_init();
set_t0();
time1_over=0;
READS=data[0];
for(i=0;i<200;i++) busy();
for(;;)
{
READS=data[1];
for(i=0;i<1000;i++) busy();
for(j=0;j<3;j++)
{
READS=data[2];
for(i=0;i<20;i++) busy();
READS=data[1];
for(i=0;i<20;i++) busy();
}
READS=data[3];
for(i=0;i<200;i++) busy();
READS=data[4];
for(i=0;i<1000;i++) busy();
for(j=0;j<3;j++)
{
READS=data[5];
for(i=0;i<20;i++) busy();
READS=data[4];
for(i=0;i<20;i++) busy();
}
READS=data[6];
for(i=0;i<200;i++) busy();
}
}
interrupt void tint0()
{
time1_over=1;
}
void vect()
{
asm(" .ref _c_int00");
asm(" .ref _tint0");
asm(" b _c_int00"); /* reset */
asm(" nop");
asm(" nop");
asm(" rete"); /* nmi */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* int0 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* int1 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* int2 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" b _tint0"); /* tint0 */
asm(" nop");
asm(" nop");
asm(" rete"); /* brint0 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* bxint0 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* dmac0 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* tint1 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* int3 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* hpint */
asm(" nop");
asm(" nop");
asm(" rete"); /* brint1 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* bxint1 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* dmac4 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" rete"); /* dmac5 */
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -