//======================================================
// Main program routine
// - Device name : MC96F8216
// - Package type : 20SOP
//======================================================
// For XDATA variable : V1.041.00 ~
#defineMAIN1
// Generated : Thu, May 05, 2016 (10:05:33)
#include"MC96F8316.h"
#include"func_def.h"
#include"Intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define ComMode 0x52 //4COM,1/3bias 1000 010 1001 0
#define RCosc 0x30 //??RC???(????)1000 0011 0000
#define LCD_on 0x06 //??LCD ?????1000 0000 0 11 0
#define LCD_off 0x04 //??LCD??
#define Sys_en 0x02 //?????? 1000 0000 0010
#define CTRl_cmd 0x80 //?????
#define Data_cmd 0xa0 //?????
#define sbi(x, y) (x |= (1 << y)) /*????x??y?*/
#define cbi(x, y) (x &= ~(1 <<y )) /*????x??y?*/
#define DATA1 sbi(P1, 1)
#define DATA0 cbi(P1, 1)
#define WR1 sbi(P1, 2)
#define WR0 cbi(P1, 2)
#define CS1 sbi(P2, 1)
#define CS0 cbi(P2, 1)
char dispnum[5]={0x00,0x00,0x00,0x00,0x00,};
/*0,1,2,3,4,5,6,7,8,9,A,b,C,c,d,E,F,H,h,L,n,N,o,P,r,t,U,-, ,*/
const char num[]={0x7D,0x60,0x3E,0x7A,0x63,0x5B,0x5F,0x70,0x7F,0x7B,0x77,0x4F,0x1D,0x0E,0x6E,0x1F,0x17,0x67,0x47,0x0D,0x46,0x75,0x37,0x06,0x0F,0x6D,0x02,0x00,};
/*?????*/
void delay_1us(void) //1us????
{
_nop_();
}
void delay_nus(unsigned int n) //N us????
{
unsigned int i=0;
for(i=0;i<n;i++) //1nop=12/8M(1.5us) 667*1.5us=1ms
{
_nop_();
}
}
void delay_1ms(void) //1ms????
{
unsigned int k;
for(k=667;k>0;k--) //1nop=12/8M(1.5us) 667*1.5us=1ms
{
_nop_();
}
}
void delay_nms(unsigned int n) //N ms????
{
unsigned int j,k;
for(j=n;j>0;j--)
{
for(k=667;k>0;k--) //1nop=12/8M(1.5us) 667*1.5us=1ms
{
_nop_();
}
}
}
/**-------------------------------------------------------------------------
Name: SendBit_1621(?????)
---------------------------------------------------------------------------*/
void SendBit_1621(uchar sdata,uchar cnt) //data ??cnt ???HT1621,????
{
uchar i;
for(i=0;i<cnt;i++)
{
WR0;
delay_nus(20); //8M???,4M???
if(sdata&0x80) DATA1;
else DATA0;
delay_nus(20);//8M???,4M???
WR1;
delay_nus(20); //8M???,4M???
sdata<<=1;
}
delay_nus(20);
}
/**-------------------------------------------------------------------------
Name: SendCmd(???)
---------------------------------------------------------------------------*/
void SendCmd_1621(uchar command)
{
CS0;
SendBit_1621(0x80,4); //??????00?9 ?command ??,??
SendBit_1621(command,8); //??????????????,??????
CS1; /