?? cdle-j20_main.lst
字號(hào):
592 2 EX0 = 1;
593 2
594 2
595 2 //Fasheng();
596 2 }
597 1 while(1);
598 1 }
599
600 /*
601
602 void Fasheng()
603 {
604 if(Fasheng_Flag==10) /////////Close Button
605 {
606 for(a=0; a<500; a++)
607 for(k=0; k<55; k++)
608 P3_6=0;
609 P3_6=1;
610 }
611 else
612 for(k=0;k<Fasheng_Flag;k++)
613 {
C51 COMPILER V7.02a CDLE_J20_MAIN 04/28/2007 10:09:25 PAGE 11
614 for(a=0; a<6000; a++)
615 P3_6=0;
616 for(a=0;a<6000;a++)
617 P3_6=1;
618 }
619 // Fasheng_Flag=0;
620 }
621
622 */
623
624
625
626
627
628 void Timer0Int(void) interrupt 1 using 1
629 {
630 1
631 1 TH0=0xFD;
632 1 TL0=0x1E; //設(shè)定時(shí)值為800us
633 1
634 1 if(IRCON<3)
635 1 {
636 2 if(IRCON2<8) //每中斷一次讀一次遙控接收頭的狀態(tài),每二次為遙控編碼中的一個(gè)位
637 2 {
638 3 IRCON2++;
639 3 IRCode[IRCON]=IRCode[IRCON]<<1; //每讀一次放入變量中的二進(jìn)制的一個(gè)位,每次左移一位
640 3 IRCode[IRCON]=IRCode[IRCON]|P3_2; //每八次填滿一個(gè)字節(jié),一個(gè)字節(jié)存放遙控編碼4個(gè)位
641 3 }
642 2 else
643 2 {
644 3 IRCON++; //填滿一個(gè)字節(jié),指向下一個(gè)變量
645 3 IRCON2=0; //計(jì)數(shù)清零
646 3 }
647 2 }
648 1 else ///////////////還在接受!!!!!!!
649 1 {
650 2
651 2 ////暫時(shí)不允許int0中斷
652 2
653 2 if((IRCode[1]!=0xFF)&&(IRCode[2]!=0xFF))
654 2 {
655 3 if(IRCode[1]==0x55)
656 3 {
657 4 TR0=0;
658 4 switch(IRCode[2])
659 4 {
660 5 case 0xAB: //1-8鍵控制
661 5 //P0_0 = ~P0_0;
662 5 Fasheng_Flag=1;
663 5
664 5 break;
665 5 case 0xAC:
666 5 //P0_1 = ~P0_1;
667 5 Fasheng_Flag=2;
668 5
669 5 break;
670 5 case 0xAD:
671 5 //P0_2 = ~P0_2;
672 5 Fasheng_Flag=3;
673 5 break;
674 5 case 0xB2:
675 5 //P0_3 = ~P0_3;
C51 COMPILER V7.02a CDLE_J20_MAIN 04/28/2007 10:09:25 PAGE 12
676 5 Fasheng_Flag=4;
677 5 break;
678 5 case 0xB3:
679 5 //P0_4 = ~P0_4;
680 5 Fasheng_Flag=5;
681 5 break;
682 5 case 0xB4:
683 5 //P0_5 = ~P0_5;
684 5 Fasheng_Flag=6;
685 5 break;
686 5 case 0xB5:
687 5 //P0_6 = ~P0_6;
688 5 Fasheng_Flag=7;
689 5 break;
690 5 case 0xCA:
691 5 //P0_7 = ~P0_7;
692 5 Fasheng_Flag=8;
693 5 break;
694 5
695 5 case 0xCB:
696 5 Fasheng_Flag=9;
697 5 break;
698 5
699 5 case 0xAA:
700 5 Fasheng_Flag=0;
701 5 break;
702 5
703 5 case 0x2A:
704 5 Fasheng_Flag=11; //////music+++++++++++++++++
705 5
706 5 break;
707 5
708 5 case 0x2B:
709 5 Fasheng_Flag=12; //////music------------------
710 5
711 5 break;
712 5
713 5
714 5 case 0x52:
715 5 Fasheng_Flag=13; //////對(duì)比+++++++
716 5
717 5 break;
718 5
719 5 case 0x53:
720 5 Fasheng_Flag=14; //////對(duì)比--------
721 5
722 5 break;
723 5
724 5 case 0x32:
725 5 Fasheng_Flag=15; //////色彩+++++++
726 5
727 5 break;
728 5
729 5 case 0x33:
730 5 Fasheng_Flag=16; //////色彩-------
731 5
732 5 break;
733 5
734 5 case 0x2C:
735 5 Fasheng_Flag=17; //////亮度+++++
736 5
737 5 break;
C51 COMPILER V7.02a CDLE_J20_MAIN 04/28/2007 10:09:25 PAGE 13
738 5
739 5 case 0x2D:
740 5 Fasheng_Flag=18; //////亮度-------
741 5
742 5 break;
743 5
744 5 case 0xD2: //按關(guān)閉電源鍵,關(guān)閉所有繼電器
745 5 //P0 = 0xFF;
746 5
747 5 Fasheng_Flag=10;
748 5
749 5 break;
750 5 }
751 4 if(Fasheng_Flag<10)
752 4 {
753 5 if(KEY==1)
754 5 {
755 6 if(!keytimes) ///////////0 對(duì)應(yīng)第一次輸入
756 6 {X0temp=Fasheng_Flag*10;q=Fasheng_Flag;}
757 6 else
758 6 {X0temp+=Fasheng_Flag;b=Fasheng_Flag;}
759 6 keytimes=!keytimes;
760 6 }
761 5
762 5 else if(KEY==2)
763 5 {
764 6 if(!keytimes) ///////////0 對(duì)應(yīng)第一次輸入
765 6 {Y0temp=Fasheng_Flag*10;s=Fasheng_Flag;}
766 6 else
767 6 {Y0temp+=Fasheng_Flag;g=Fasheng_Flag;}
768 6 keytimes=!keytimes;
769 6 }
770 5 }
771 4 }
772 3 }
773 2 }
774 1
775 1
776 1
777 1
778 1 }
779
780 void Int0INT(void) interrupt 0 using 2
781 {
782 1
783 1 EX0 = 0; //外部中斷0關(guān)閉
784 1
785 1 // P2_5=~P2_5;
786 1 Button=1;
787 1
788 1 TL0=0x1E; //設(shè)定時(shí)值為800us
789 1 TH0=0xFD;
790 1
791 1 for(IRCON=0; IRCON<3; IRCON++)
792 1 IRCode[IRCON] = 0;
793 1 IRCON = 0;
794 1 IRCON2 = 0; //計(jì)數(shù)清零
795 1
796 1
797 1
798 1 TR0 = 1; /////////////記數(shù)
799 1 }
C51 COMPILER V7.02a CDLE_J20_MAIN 04/28/2007 10:09:25 PAGE 14
800
801 void Timer1INT(void) interrupt 3 using 3 //T1
802 {
803 1
804 1
805 1 TL1 = 0x77; /////// 定時(shí)5ms
806 1 TH1 = 0xEC;
807 1 if(KEY)
808 1 Shangshuo++;
809 1 else
810 1 {
811 2 Shangshuo=0;
812 2 }
813 1
814 1 if(Shangshuo>100)
815 1 Shangshuo=0;
816 1
817 1
818 1 j++;
819 1 if(j>4)
820 1 j=1;
821 1 switch(j)
822 1 {
823 2
824 2 case 1:
825 2 if((KEY==2&&Shangshuo<50)||KEY==0||KEY==1)
826 2 {
827 3 P3_7=1;
828 3 // 0000 1110
829 3 P3_5=1;
830 3 P3_6=1;
831 3 P3_4=0;
832 3 P0=Disp[g];
833 3 }
834 2 break;
835 2 case 2:
836 2 if((KEY==2&&Shangshuo<50)||KEY==0||KEY==1)
837 2 {
838 3 P3_4=1; //0000 1101
839 3
840 3 P3_6=1;
841 3 P3_7=1;
842 3 P3_5=0;
843 3 P0=Disp[s];
844 3 }
845 2 break;
846 2
847 2
848 2 case 3:
849 2 if((KEY==1&&Shangshuo<50)||KEY==0||KEY==2)
850 2 {
851 3 P3_5=1; ///0000 1011
852 3
853 3 P3_7=1;
854 3 P3_4=1;
855 3 P3_6=0;
856 3 P0=Disp[b];
857 3 }
858 2 break;
859 2 case 4:
860 2 if((KEY==1&&Shangshuo<50)||KEY==0||KEY==2)
861 2 {
C51 COMPILER V7.02a CDLE_J20_MAIN 04/28/2007 10:09:25 PAGE 15
862 3 P3_6=1; // 0000 0111
863 3
864 3 P3_4=1;
865 3 P3_5=1;
866 3 P3_7=0;
867 3 P0=Disp[q];
868 3 }
869 2 break;
870 2 }
871 1
872 1 ////////
873 1
874 1 }
875
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 5852 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 29 ----
IDATA SIZE = 59 ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -