📄 mcu.c
字号:
#include "golbal.h"
/* define these variable for MTV230M chip configuration */
//BYTE xdata AUXRAM[768] _at_ 0x0800;
//Xdata use DPTR instruction
//Pdata use MOVX instruction set at BL51 Code/banking linker>size/location
//chip confliguration
BYTE xdata byM230_PadMode1 _at_ 0xF2B; // HIICE IIICE HVE HclpE - - FclkE P62E
BYTE xdata byM230_PadMode2 _at_ 0xF2C; // DA3E DA2E DA1E DA0E AD3E AD2E AD1E AD0E
BYTE xdata byM230_PadMode3 _at_ 0xF2D; // P47oe P46oe P45oe P44oe P43oe P42oe P41oe P40oe
BYTE xdata byM230_PadMode4 _at_ 0xF2E; // P57oe P56oe P55oe P54oe P53oe P52oe P51oe P50oe
BYTE xdata byM230_Option1 _at_ 0xF2F; // PWMF DIV253 SlvAbs1 SlvAbs0 ENSCL Msel MIICF1 MIICF0
//I/O ports
BYTE xdata byM230_Port40 _at_ 0xF30;
BYTE xdata byM230_Port41 _at_ 0xF31;
BYTE xdata byM230_Port42 _at_ 0xF32;
BYTE xdata byM230_Port43 _at_ 0xF33;
BYTE xdata byM230_Port44 _at_ 0xF34;
BYTE xdata byM230_Port45 _at_ 0xF35;
BYTE xdata byM230_Port46 _at_ 0xF36;
BYTE xdata byM230_Port47 _at_ 0xF37;
BYTE xdata byM230_Port50 _at_ 0xF38;
BYTE xdata byM230_Port51 _at_ 0xF39;
BYTE xdata byM230_Port52 _at_ 0xF3A;
BYTE xdata byM230_Port53 _at_ 0xF3B;
BYTE xdata byM230_Port54 _at_ 0xF3C;
BYTE xdata byM230_Port55 _at_ 0xF3D;
BYTE xdata byM230_Port56 _at_ 0xF3E;
BYTE xdata byM230_Port57 _at_ 0xF3F;
BYTE xdata byM230_Port60 _at_ 0xF28;
BYTE xdata byM230_Port61 _at_ 0xF29;
BYTE xdata byM230_Port62 _at_ 0xF2A;
// define MTV230M's PWM DAC register
BYTE xdata byM230_DA0 _at_ 0xF20; // pulse width of PWM DAC0
BYTE xdata byM230_DA1 _at_ 0xF21;
BYTE xdata byM230_DA2 _at_ 0xF22;
BYTE xdata byM230_DA3 _at_ 0xF23;
//define MTV230M's H/V Sync processor register
BYTE xdata byM230_HVSTUS _at_ 0xF40; // CVpre - Hpol Vpol Hpre Vpre Hiff Voff
BYTE xdata byM230_HCNTH _at_ 0xF41; // Hovf - HF13 HF12 HF11 HF10 HF9 HF8
BYTE xdata byM230_HCNTL _at_ 0xF42; // HF7 HF6 HF5 HF4 HF3 HF2 HF1 HF0
BYTE xdata byM230_VCNTH _at_ 0xF43; // Vvof - - - VF11 VF10 VF9 VF8
BYTE xdata byM230_VCNTL _at_ 0xF44; // VF7 VF6 VF5 VF4 VF3 VF2 VF1 VF0
BYTE xdata byM230_INTFLG _at_ 0xF48; // HPRchg VPRchg HPLchg VPLchg HFchg VFchg - Vsync
BYTE xdata byM230_INTEN _at_ 0xF49; // EHPR EVPR EHPL EVPL EHF EVF - EVsync
//define MTV230's DDC&IIC's control
BYTE xdata byM230_IIC_CTR _at_ 0xF00; // IIC interface control
BYTE xdata byM230_IIC_STUS1 _at_ 0xF01; // IIC interface status
BYTE xdata byM230_IIC_STUS2 _at_ 0xF02;
BYTE xdata byM230_IIC_INTFLG _at_ 0xF03; // interrupt flag
BYTE xdata byM230_IIC_INTEN _at_ 0xF04; // interrupt enable
BYTE xdata byM230_IIC_MBUF _at_ 0xF05; // master IIC data shiftregister
BYTE xdata byM230_IIC_TXRCABUF _at_ 0xF06; // slave A IIC receive/transmit buffer
BYTE xdata byM230_IIC_SLVAADR _at_ 0xF07; // ENSlvA slave A IIC address
BYTE xdata byM230_IIC_TXRCBBUF _at_ 0xF08; // slave B IIC receive/transmit buffer
BYTE xdata byM230_IIC_SLVBADR _at_ 0xF09; // ENSlvB slave B IIC address
//BYTE xdata byM230_IIC_DBUF _at_ 0xF0A;
// ISP
BYTE xdata byM230_ISPSLV _at_ 0xF0B; // ISP slave address
BYTE xdata byM230_ISPEN _at_ 0xF0C; // write 0x93H to enable ISP mode
//define MTV230's A/D converter
BYTE xdata byM230_ADC _at_ 0xF10;
BYTE xdata byM230_WDT _at_ 0xF18; // WEN WCLR - - - WDT2 WDT1 WDT0
//define OSD register
BYTE xdata byM230_OSDRA _at_ 0xFA0;
BYTE xdata byM230_OSDCA _at_ 0xFA1;
BYTE xdata byM230_OSDDT0 _at_ 0xFA2;
BYTE xdata byM230_OSDDT1 _at_ 0xFA3;
//BYTE xdata byM230_WinReg[12] _at_ 0xFC0;
BYTE xdata byM230_W1ROW _at_ 0xFC0;
BYTE xdata byM230_W1COL1 _at_ 0xFC1;
BYTE xdata byM230_W1COL2 _at_ 0xFC2;
BYTE xdata byM230_W2ROW _at_ 0xFC3;
BYTE xdata byM230_W2COL1 _at_ 0xFC4;
BYTE xdata byM230_W2COL2 _at_ 0xFC5;
BYTE xdata byM230_W3ROW _at_ 0xFC6;
BYTE xdata byM230_W3COL1 _at_ 0xFC7;
BYTE xdata byM230_W3COL2 _at_ 0xFC8;
BYTE xdata byM230_W4ROW _at_ 0xFC9;
BYTE xdata byM230_W4COL1 _at_ 0xFCA;
BYTE xdata byM230_W4COL2 _at_ 0xFCB;
BYTE xdata byM230_VERTD _at_ 0xFCC;
BYTE xdata byM230_HORD _at_ 0xFCD;
BYTE xdata byM230_CH _at_ 0xFCE;
BYTE xdata byM230_RSPACE _at_ 0xFD0;
BYTE xdata byM230_OSDCON _at_ 0xFD1;
BYTE xdata byM230_OSDCON1 _at_ 0xFD2;
BYTE xdata byM230_CHSC _at_ 0xFD3;
BYTE xdata byM230_FSSTP _at_ 0xFD4;
BYTE xdata byM230_WINSW _at_ 0xFD5;
BYTE xdata byM230_WINSH _at_ 0xFD6;
BYTE xdata byM230_WINSC _at_ 0xFD7;
BYTE xdata byM230_WINSC1 _at_ 0xFD8;
BYTE xdata byM230_XDEL _at_ 0xFD9;
/*
void Initial230()
{
byM230_PadMode1 = 0xc1;
byM230_PadMode2=0x00;
byM230_PadMode3 =0xff;
byM230_PadMode4=0xff;
byM230_IIC_SLVAADR=0x00;
byM230_IIC_SLVBADR = 0x80|(0xc6>>1);
byM230_IIC_INTEN = 0xe0;
byM230_INTEN=0x01;
}
*/
void InitialRAM()
{
//Initial230();
byM230_PadMode1 = 0x81; // ISCL/ISDA is P6.0/P6.1
byM230_PadMode2=0xf0; // DA output enable
byM230_PadMode3 =0xff;
byM230_PadMode4=0xff;
byM230_Option1=0x80;
byM230_ADC=0x00 ;
byM230_WDT =0x00;
byM230_IIC_SLVAADR=0x00;
byM230_IIC_SLVBADR = 0x80|(0xc6>>1);
byM230_IIC_INTEN = 0xe0;
byM230_INTEN=0x01;
TH0=0x0fc;
TL0=0x18;
IT1=0;
TMOD=0x51; // Set Timer1=counter , Timer0=timer
TR0=1;
IE=0x86; // Enable timer 0 and interrupt 1
P1=0x0ff;
/*
ModePressCount=0;
MaxValue=255;
MinValue=0;
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -