�������gӭ�M�������зf���¿Ƽ�����˾�ٷ��W(w��ng)վ��
N76E003���֧��26����λ��ַ��ͨ��I/O���_���ֳ�4�M P0 �� P3 ��ÿһ���˿������Ķ˿ڿ��ƼĴ���(Px)���˿ڿ��ƼĴ����Č����x�в�ͬ����˼�����˿ڿ��ƼĴ����O(sh��)��ݔ���i��߉ֵ���x�˿����_��߉��B(t��i)������I/O���_����P2.0�����Ա�ܛ���������ó��ķNI/Oģʽ�е�һ�N���@�ķNģʽ�ǜ��p��ģʽ����(bi��o)��8051�˿ڽY(ji��)��(g��u)��������ݔ����ݔ����_©ģʽ��ÿһ���˿�ͨ�^�ɂ�����ܼĴ���PxM1 �� PxM2���x��˿�Px��I/Oģʽ���±�ָʾ����x��Px.n��I/Oģʽ��ע���κΏ�(f��)λ֮����Ĭ�J�������Ǹ���ݔ��ģʽ��
����I/O���_����ͨ�^PxS�Ĵ������(y��ng)��λ�x���TTL�ƽݔ���ʩ�����|�l(f��)ݔ�� ��ʩ�����|�l(f��)ݔ���и��õĿ��ɔ_���������е�I/O���_��ͨ�^ܛ���x��λ������б��ݔ��������ݔ��б�ʿ��ƼĴ�����PxSR��Ĭ�J����б����.����Ñ���Ҫ����I/O���_ݔ���������O(sh��)��PxSR������(y��ng)λ����б���O(sh��)�óɸ���ݔ����
��(d��ng)����RPD (CONFIG0.2) ��0��P2.0�����Þ�ݔ�����_��ͬ�rP2.0�����h��ݔ��ģʽ��ʩ�����|�l(f��)ģʽ��ͨ�^P20UP��P2S.7)ʹ�܃�(n��i)��������������RPDδ������P2.0�����ⲿ��(f��)λ���_��P2.0������_���ܟoЧ�����������(f��)λ�_����(n��i)���������ʼ�K��Ч���˷N��B(t��i)���xȡP2.0��ֵʼ�K��0.
���p��ģʽ
���p��ģʽ�����(bi��o)��8051��I/O�Y(ji��)��(g��u)������ͬ�r����ݔ���ݔ������(d��ng)�˿�ݔ��߉�ߕr���(q��)�������^����ͬ�r���S�ⲿ�������ƽ��������(d��ng)���_�����͕r�Џ��(q��)�������������մ�������ڜ��p��I/O �Y(ji��)��(g��u)�У�����������MOS�����m��(y��ng)��ͬ�đ�(y��ng)��������һ����������������������(d��ng)�˿��i����߉1�r�����_�������������������к�С��������_������
�ڶ��N�����顰������������(d��ng)�ⲿ�˿����_����̎��߉1�r���_���@�N�����ṩԴ�����ʹ���p�����_ݔ��1��������_��߉1�����ⲿ���������� �����������P(gu��n)�]�� �H�С��������������_�� �˕rҪ�����_���ͣ��ⲿ����Ҫ�����Ĺ���� (����ITL)�Կ˷���������������ʹ�˿ڵ�늉�����ݔ���T��늉� (����VIL)��
�����N�����顰�����������@�N���������ڜ��p������_�������ٶ˿��ƽ��߉0�D(zhu��n)��߉1���D(zhu��n)�Q�ٶȡ� ��(d��ng)�@�N
��r�l(f��)���r�����_�������Ãɂ�CPU�r犵ĕr�g���ٵ،��˿����_���ߡ� Ȼ����P(gu��n)�]�������������������^�m(x��)
����ԓ�˿����_��ߡ� ���p��˿ڽY(ji��)��(g��u)������ʾ��
����ģʽ
����ݔ��ģʽ�c���p��ݔ��ģʽ����ͬ�������Y(ji��)��(g��u)����(d��ng)�˿��i����1�r���ṩ���m(x��)�ď�����������ݔ��ģʽ������Ҫ�Ķ˿�ݔ��������r�đ�(y��ng)����
ݔ�����ģʽ
ݔ��ģʽ�ṩ�挍�ĸ���ݔ��·�����mȻ���p��ģʽҲ��������ݔ�����_����������Ҫ��������ݔ��Դ��ݔ��ģʽ�ĺ�̎�ǜp����߉0�r���������������ǜ��p��ģʽ��߉0�r�������ā���VDD ��������Ñ���Ҫע����ǣ�ݔ��ģʽ��(y��ng)ԓ���ⲿ�O(sh��)�������ṩһ���_�����ƽ���Ҹ������_�ڵ�늠�B(t��i)������©늡�
�_©ģʽ
�_©ݔ�������P(gu��n)�]���Ѓ�(n��i)����������(d��ng)�˿��i����߉0�r���H���_�(q��)�Ӷ˿ڵ��������w������(d��ng)�˿��i���߉1
�r�����ͺ�ݔ��ģʽһ�ӡ�ͨ������I2Cݔ���������_©���_��Ҫ��һ���ⲿ������裬�����Bһ����赽
VDD�� �Ñ���Ҫע����ǣ��_©ģʽݔ��߉1�ĕr������(y��ng)ԓ���ⲿ�O(sh��)�������ṩһ���_�����ƽ���Ҹ�����
�_�ڵ�늠�B(t��i)������©늡�
�x-��-�� ָ��
��SFR���(n��i)��RAM�xһ���ֹ�(ji��)����������������ȥ��ָ���������x-��-��ָ������(d��ng)Ŀ��(bi��o)��һ��I/O�˿ڻ�
һ���˿�λ���@Щָ���x��(n��i)��ݔ���i��������ⲿ���_�Ġ�B(t��i)���@�Nָ���x�˿�SFR��ֵ�����������ص�SFR
�˿��������x-��-����ָ���������У�
ָ�� ����
ANL ߉ �c. (ANL direct, A and ANL direct, #data)
ORL ߉ ��. (ORL direct, A and ORL direct, #data)
XRL ߉ ���� OR. (XRL direct, A and XRL direct, #data)
JBC if bit = 1 �D(zhu��n)��ָ����. (JBC bit, rel)
CPL λȡ��. (CPL bit)
INC ��һָ��. (INC direct)
DEC �pһָ��. (DEC direct)
DJNZ �pһ�������D(zhu��n)��ָ��. (DJNZ direct, rel)
MOV bit, C ���Mλ��(bi��o)־��λ. (MOV bit, C)
CLR bit ��λ. (CLR bit)
SETB bit ��λ. (SETB bit)
������lָ��Ʋ������@���x-��-��ָ�������H���������x-��-��ָ���� �����x�����˿��i��ֵ���ĸ�׃λ�������µ�ֵ��
���_���ƼĴ���
N76E003���S��I/O���ƼĴ����ṩ�`��ĸ��N��(y��ng)������I/O�˿����P(gu��n)��SFRs���Է���ĽM��ݔ��ݔ�����ƣ�ݔ��ģʽ������ݔ����ͺ����������ݔ��б�ʿ���������SFRs�������У�
ݔ��ݔ����(sh��)��(j��)����
�@Щ�Ĵ�����I/Oݔ��ݔ����(sh��)��(j��)�������x�@ȡI/Oݔ��Ĕ�(sh��)��(j��)�����(q��)�Ӕ�(sh��)��(j��)ݔ���������@Щ�Ĵ������ǿ�λ��ַ����
ݔ��ģʽ����
�@Щ�Ĵ�������ݔ��ģʽ�����Þ�ݔ��ģʽ���ķNģʽ�У�ݔ��ģʽ�����p��ģʽ��������_©ģʽ��ÿһ�����_���Ԫ�������������P2.0���_����һ������������λ��P2S.7��
ݔ�����
ÿһ�� I/O ���_���Ԫ��������ó�TTLݔ���ʩ�����|�l(f��)ݔ����ע������PxS �Ĵ���ͨ�^�ГQSFR퓵��1���L����
ݔ��б�ʿ���
N76E003�ɆΪ����ƹ��_ݔ��б����Ĭ�J��r�£����_������ͨб��ģʽ����(d��ng)�Ñ��ГQ������б��ģʽ�r��ÿ�����_б�ʿɿ����@��׃����ע����PxSR�Ĵ�����Ҫ��SFR��ГQ���1 ��
#include "N76E003.h" #include "SFR_Macro.h" #include "Function_define.h" #include "Common.h" #include "Delay.h" //***************** The Following is in define in Fucntion_define.h *************************** //****** Always include Function_define.h call the define you want, detail see main(void) ******* //*********************************************************************************************** #if 0 ////------------------- Define Port as Quasi mode ------------------- //#define P00_Quasi_Mode P0M1&=~SET_BIT0;P0M2&=~SET_BIT0 //#define P01_Quasi_Mode P0M1&=~SET_BIT1;P0M2&=~SET_BIT1 //#define P02_Quasi_Mode P0M1&=~SET_BIT2;P0M2&=~SET_BIT2 //#define P03_Quasi_Mode P0M1&=~SET_BIT3;P0M2&=~SET_BIT3 //#define P04_Quasi_Mode P0M1&=~SET_BIT4;P0M2&=~SET_BIT4 //#define P05_Quasi_Mode P0M1&=~SET_BIT5;P0M2&=~SET_BIT5 //#define P06_Quasi_Mode P0M1&=~SET_BIT6;P0M2&=~SET_BIT6 //#define P07_Quasi_Mode P0M1&=~SET_BIT7;P0M2&=~SET_BIT7 //#define P10_Quasi_Mode P1M1&=~SET_BIT0;P1M2&=~SET_BIT0 //#define P11_Quasi_Mode P1M1&=~SET_BIT1;P1M2&=~SET_BIT1 //#define P12_Quasi_Mode P1M1&=~SET_BIT2;P1M2&=~SET_BIT2 //#define P13_Quasi_Mode P1M1&=~SET_BIT3;P1M2&=~SET_BIT3 //#define P14_Quasi_Mode P1M1&=~SET_BIT4;P1M2&=~SET_BIT4 //#define P15_Quasi_Mode P1M1&=~SET_BIT5;P1M2&=~SET_BIT5 //#define P16_Quasi_Mode P1M1&=~SET_BIT6;P1M2&=~SET_BIT6 //#define P17_Quasi_Mode P1M1&=~SET_BIT7;P1M2&=~SET_BIT7 //#define P20_Quasi_Mode P2M1&=~SET_BIT0;P2M2&=~SET_BIT0 //#define P30_Quasi_Mode P3M1&=~SET_BIT0;P3M2&=~SET_BIT0 ////------------------- Define Port as Push Pull mode ------------------- //#define P00_PushPull_Mode P0M1|=SET_BIT0;P0M2&=~SET_BIT0 //#define P01_PushPull_Mode P0M1|=SET_BIT1;P0M2&=~SET_BIT1 //#define P02_PushPull_Mode P0M1&=~SET_BIT2;P0M2|=SET_BIT2 //#define P03_PushPull_Mode P0M1&=~SET_BIT3;P0M2|=SET_BIT3 //#define P04_PushPull_Mode P0M1&=~SET_BIT4;P0M2|=SET_BIT4 //#define P05_PushPull_Mode P0M1&=~SET_BIT5;P0M2|=SET_BIT5 //#define P06_PushPull_Mode P0M1&=~SET_BIT6;P0M2|=SET_BIT6 //#define P07_PushPull_Mode P0M1&=~SET_BIT7;P0M2|=SET_BIT7 //#define P10_PushPull_Mode P1M1&=~SET_BIT0;P1M2|=SET_BIT0 //#define P11_PushPull_Mode P1M1&=~SET_BIT1;P1M2|=SET_BIT1 //#define P12_PushPull_Mode P1M1&=~SET_BIT2;P1M2|=SET_BIT2 //#define P13_PushPull_Mode P1M1&=~SET_BIT3;P1M2|=SET_BIT3 //#define P14_PushPull_Mode P1M1&=~SET_BIT4;P1M2|=SET_BIT4 //#define P15_PushPull_Mode P1M1&=~SET_BIT5;P1M2|=SET_BIT5 //#define P16_PushPull_Mode P1M1&=~SET_BIT6;P1M2|=SET_BIT6 //#define P17_PushPull_Mode P1M1&=~SET_BIT7;P1M2|=SET_BIT7 //#define P20_PushPull_Mode P2M1&=~SET_BIT0;P2M2|=SET_BIT0 //#define P30_PushPull_Mode P3M1&=~SET_BIT0;P3M2|=SET_BIT0 ////------------------- Define Port as Input Only mode ------------------- //#define P00_Input_Mode P0M1|=SET_BIT0;P0M2&=~SET_BIT0 //#define P01_Input_Mode P0M1|=SET_BIT1;P0M2&=~SET_BIT1 //#define P02_Input_Mode P0M1|=SET_BIT2;P0M2&=~SET_BIT2 //#define P03_Input_Mode P0M1|=SET_BIT3;P0M2&=~SET_BIT3 //#define P04_Input_Mode P0M1|=SET_BIT4;P0M2&=~SET_BIT4 //#define P05_Input_Mode P0M1|=SET_BIT5;P0M2&=~SET_BIT5 //#define P06_Input_Mode P0M1|=SET_BIT6;P0M2&=~SET_BIT6 //#define P07_Input_Mode P0M1|=SET_BIT7;P0M2&=~SET_BIT7 //#define P10_Input_Mode P1M1|=SET_BIT0;P1M2&=~SET_BIT0 //#define P11_Input_Mode P1M1|=SET_BIT1;P1M2&=~SET_BIT1 //#define P12_Input_Mode P1M1|=SET_BIT2;P1M2&=~SET_BIT2 //#define P13_Input_Mode P1M1|=SET_BIT3;P1M2&=~SET_BIT3 //#define P14_Input_Mode P1M1|=SET_BIT4;P1M2&=~SET_BIT4 //#define P15_Input_Mode P1M1|=SET_BIT5;P1M2&=~SET_BIT5 //#define P16_Input_Mode P1M1|=SET_BIT6;P1M2&=~SET_BIT6 //#define P17_Input_Mode P1M1|=SET_BIT7;P1M2&=~SET_BIT7 //#define P20_Input_Mode P2M1|=SET_BIT0;P2M2&=~SET_BIT0 //#define P30_Input_Mode P3M1|=SET_BIT0;P3M2&=~SET_BIT0 ////-------------------Define Port as Open Drain mode ------------------- //#define P00_OpenDrain_Mode P0M1|=SET_BIT0;P0M2|=SET_BIT0 //#define P01_OpenDrain_Mode P0M1|=SET_BIT1;P0M2|=SET_BIT1 //#define P02_OpenDrain_Mode P0M1|=SET_BIT2;P0M2|=SET_BIT2 //#define P03_OpenDrain_Mode P0M1|=SET_BIT3;P0M2|=SET_BIT3 //#define P04_OpenDrain_Mode P0M1|=SET_BIT4;P0M2|=SET_BIT4 //#define P05_OpenDrain_Mode P0M1|=SET_BIT5;P0M2|=SET_BIT5 //#define P06_OpenDrain_Mode P0M1|=SET_BIT6;P0M2|=SET_BIT6 //#define P07_OpenDrain_Mode P0M1|=SET_BIT7;P0M2|=SET_BIT7 //#define P10_OpenDrain_Mode P1M1|=SET_BIT0;P1M2|=SET_BIT0 //#define P11_OpenDrain_Mode P1M1|=SET_BIT1;P1M2|=SET_BIT1 //#define P12_OpenDrain_Mode P1M1|=SET_BIT2;P1M2|=SET_BIT2 //#define P13_OpenDrain_Mode P1M1|=SET_BIT3;P1M2|=SET_BIT3 //#define P14_OpenDrain_Mode P1M1|=SET_BIT4;P1M2|=SET_BIT4 //#define P15_OpenDrain_Mode P1M1|=SET_BIT5;P1M2|=SET_BIT5 //#define P16_OpenDrain_Mode P1M1|=SET_BIT6;P1M2|=SET_BIT6 //#define P17_OpenDrain_Mode P1M1|=SET_BIT7;P1M2|=SET_BIT7 //#define P20_OpenDrain_Mode P2M1|=SET_BIT0;P2M2|=SET_BIT0 //#define P30_OpenDrain_Mode P3M1|=SET_BIT0;P3M2|=SET_BIT0 ////--------- Define all port as quasi mode --------- //#define Set_All_GPIO_Quasi_Mode P0M1=0;P0M1=0;P1M1=0;P1M2=0;P2M1=0;P2M2=0;P3M1=0;P3M2=0 #endif /*------------------------------------------------ The main C function. Program execution starts here after stack initialization. ------------------------------------------------*/ void main (void) { // unsigned char temp; Set_All_GPIO_Quasi_Mode; // Define in Function_define.h #if 0 InitialUART0_Timer3(115200); // set_CLOEN; // For clock out from P1.1 while(1) { clr_GPIO1; // Tiny board GPIO1 LED define P0 = 0x00; P2 = 0x00; P1 = 0x00; Timer0_Delay1ms(30); P0 = 0xff; P2 = 0xff; P1 = 0xff; set_GPIO1; Send_Data_To_UART0(0x35); //UART0 send ascii "U" temp = 0x31 + P0; Send_Data_To_UART0(temp); temp = 0x31 + P1; Send_Data_To_UART0(temp); Timer0_Delay1ms(30); } #endif #if 1 while(1) { clr_GPIO1; // Tiny board GPIO1 LED define P0 = 0x00; P2 = 0x00; P1 = 0x00; Timer0_Delay1ms(30); P0 = 0xff; P2 = 0xff; P1 = 0xff; set_GPIO1; Timer0_Delay1ms(30); } #endif }
���Լ�����һ������(j��)�����(q��)���^������������~����ô�f��������
//*********************************************************************************************************** // File Function: N76E003 Timer0/1 Mode1 demo code //*********************************************************************************************************** #include "N76E003.h" #include "Common.h" #include "Delay.h" #include "SFR_Macro.h" #include "Function_define.h" //***************** The Following is in define in Fucntion_define.h *************************** //****** Always include Function_define.h call the define you want, detail see main(void) ******* //*********************************************************************************************** #if 0 #endif #define TH0_INIT 50000 #define TL0_INIT 50000 UINT8 u8TH0_Tmp,u8TL0_Tmp,u8TH1_Tmp,u8TL1_Tmp; int i=0; /************************************************************************************************************ * TIMER 0 interrupt subroutine ************************************************************************************************************/ void Timer0_ISR (void) interrupt 1 //interrupt address is 0x000B { i++; TH0 = u8TH0_Tmp; TL0 = u8TL0_Tmp; if(i==200) { P12 =1; i=0; } } void main (void) { P12_PushPull_Mode; clr_GPIO1; TIMER0_MODE1_ENABLE; clr_T1M; u8TH0_Tmp = (65536-TH0_INIT)/256; u8TL0_Tmp = (65536-TL0_INIT)%256; TH0 = u8TH0_Tmp; TL0 = u8TL0_Tmp; set_ET0; //enable Timer0 interrupt set_EA; //enable interrupts set_TR0; //Timer0 run while(1); }
���p����һ���]����ô����(q��)��������(q��)�Ӳ���늙C�����x������ģʽ��
�ߴa�P(gu��n)ע�҂�
���棺0755-82591176
�]�䣺vicky@yingtexin.net
��ַ�����������A�^(q��)���νֵ����δ��973�f�����S��(chu��ng)�I(y��)�@A��2��A08