main.c

来自「《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter」· C语言 代码 · 共 92 行

C
92
字号
#include <reg51.h>
#include <intrins.h>
typedef unsigned char BYTE;

BYTE DBUF0[4];
BYTE TEMP[4];

sbit DIN=P3^0;
sbit CLK=P3^1;
sbit P33=P3^3;

BYTE code SEGTAB[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
        			0x7D,0x07,0x7F,0x6F,0x77,0x7C,
        			0x58,0x5E,0x79,0x71,0x00,0x40};


void DELAY()
{
	BYTE i=0xAF;
	 
	do
	{	 
		BYTE j=0xFF;
		do
		{
			_nop_();
			_nop_();
			_nop_();
		}while(--j);
	}while(--i);
}

void DISP1()
{
	BYTE data *p=DBUF0;
	BYTE data *q=TEMP+4;
	BYTE num=5;

	do
	{
		*q=SEGTAB[*p];
		p++;
		q--;	
	}while(--num);

	p=TEMP;
	num=5;
		
	do
	{
		BYTE num2=8;
		ACC=*p;
		do
		{
			#pragma asm
				RLC 	A			
				MOV 	DIN,C
			#pragma endasm

			CLK=0;
			CLK=1;
					
		}while(--num2);
		p++;
	}while(--num);
}

main()
{				 
	while(1)
	{
		BYTE data *point=DBUF0;
		BYTE xdata *x_point;
		BYTE temp;

		*point++=0x0A;
		*point++=0x0D;
		*point++=0x10;

		x_point=0xFEF3;
		*x_point=0;
		while(!P33);
		temp=*x_point;
		P1=temp;

		*point=_crol_(temp,4)&0x0F;
		point++;
		*point=temp&0x0F;
		DISP1();
		DELAY();
	}	
}

⌨️ 快捷键说明

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