📄 18b20test.lst
字号:
717 2
718 2
719 2 if(flap==1)
720 2 {
721 3 break;
722 3 }
723 2 while(1)
724 2 {
725 3 if(flap==1)
726 3 {
727 4 break;
728 4 }
729 3 P1=0xff; //先向P1口写1;端口读状态
730 3
731 3 P1=0xf0;
732 3
733 3 temp=P1;
734 3 if(temp!=0xf0)
735 3 {
736 4 delay1ms();
737 4 if(temp!=0xf0)
C51 COMPILER V8.02 18B20TEST 05/20/2012 19:52:06 PAGE 13
738 4 {
739 5 P1=0xfe;
740 5 temp=P1;
741 5 switch(temp)
742 5 {
743 6 case(0xee):delaynms(1000);if(temp==0xee){display10(0);};break;
744 6 case(0xde):delaynms(1000);if(temp==0xde){display11(1);};break;
745 6 case(0xbe):delaynms(1000);if(temp==0xbe){display12(2);};break;
746 6 case(0x7e):delaynms(1000);if(temp==0x7e){display13(3);};break;
747 6
748 6 }
749 5
750 5 P1=0xfd;
751 5 temp=P1;
752 5 switch(temp)
753 5 {
754 6 case(0xed):delaynms(1000);if(temp==0xed){display14(4);};break;
755 6 case(0xdd):delaynms(1000);if(temp==0xdd){display15(5);};break;
756 6 case(0xbd):delaynms(1000);if(temp==0xbd){display16(6);};break;
757 6 case(0x7d):delaynms(1000);if(temp==0x7d){display17(7);};break;
758 6 }
759 5
760 5 P1=0xfb;
761 5 temp=P1;
762 5 switch(temp)
763 5 {
764 6 case(0xeb):delaynms(1000);if(temp==0xeb){display18(8);};break;
765 6 case(0xdb):delaynms(1000);if(temp==0xdb){display19(9);};break;
766 6 }
767 5
768 5
769 5 }
770 4 }
771 3
772 3 }
773 2
774 2
775 2 }
776 1 }
777 /*****************************************************
778 DISPLAY
779 ***************************************************/
780 void kaisuo(void)
781 {
782 1
783 1 kai=1;
784 1 flap=1;
785 1 delaynms(100);
786 1 delaynms(100);
787 1 delaynms(100);
788 1 delaynms(100);
789 1 delaynms(100);
790 1 delaynms(100);
791 1 delaynms(100);
792 1 delaynms(100);
793 1 delaynms(100);
794 1 delaynms(100);
795 1 delaynms(100);
796 1 delaynms(100);
797 1 delaynms(100);
798 1 delaynms(100);
799 1 delaynms(100);
C51 COMPILER V8.02 18B20TEST 05/20/2012 19:52:06 PAGE 14
800 1 delaynms(100);
801 1 delaynms(100);
802 1 delaynms(100);
803 1 delaynms(100);
804 1 delaynms(100);
805 1 delaynms(100);
806 1 delaynms(100);
807 1 delaynms(100);
808 1
809 1 }
810 void cuowu(void)
811 {
812 1 unsigned char i;
813 1 flap=1;
814 1 jidian=1;
815 1 WriteAddress(0x00); //写显示地址,将在第1行第1列开始显示
816 1 i = 0; //从第一个字符开始显示
817 1 while(Error[i] != '\0') //只要没有写到结束标志,就继续写
818 1 {
819 2 WriteData(Error[i]); //将字符常量写入LCD
820 2 i++; //指向下一个字符
821 2 delaynms(100); //延时100ms较长时间,以看清关于显示的说明
822 2 }
823 1
824 1 }
825 void queren(void)
826 { char a=0,n;
827 1 for(n=0;n<6;n++)
828 1 {
829 2
830 2 a=q[n]-x[n];
831 2 if(a!=0)
832 2 {
833 3 cuowu();
834 3 }
835 2
836 2 }
837 1
838 1 if(a==0)
839 1 {
840 2 kaisuo();
841 2 }
842 1
843 1 }
844
845 void main(void)
846
847 {
848 1 LcdInitiate(); //将液晶初始化
849 1 kai=0;
850 1 jidian=0;
851 1 delaynms(5); //延时5ms给硬件一点反应时间
852 1
853 1 while(1)
854 1 {
855 2
856 2 unsigned char temp;
857 2 while(1)
858 2 {
859 3
860 3 if(flap==1)
861 3 {
C51 COMPILER V8.02 18B20TEST 05/20/2012 19:52:06 PAGE 15
862 4 char n;
863 4 for(n=0;n<6;n++)
864 4 {q[n]=0;}
865 4 p=0;
866 4 jidian=0;
867 4 flap=0;
868 4 LcdInitiate(); //将液晶初始化
869 4 m=0;
870 4 WriteAddress(0x00); //写显示地址,将在第1行第1列开始显示
871 4 k=0;
872 4 kai=0;
873 4
874 4 }
875 3 P1=0xff; //先向P1口写1;端口读状态
876 3
877 3 P1=0xf0;
878 3
879 3 temp=P1;
880 3 if(temp!=0xf0)
881 3 {
882 4 delay1ms();
883 4 if(temp!=0xf0)
884 4 {
885 5 P1=0xfe;
886 5 temp=P1;
887 5 switch(temp)
888 5 {
889 6 case(0xee):delaynms(1000);if(temp==0xee){display00(0);};break;
890 6 case(0xde):delaynms(1000);if(temp==0xde){display01(1);};break;
891 6 case(0xbe):delaynms(1000);if(temp==0xbe){display02(2);};break;
892 6 case(0x7e):delaynms(1000);if(temp==0x7e){display03(3);};break;
893 6
894 6 }
895 5
896 5 P1=0xfd;
897 5 temp=P1;
898 5 switch(temp)
899 5 {
900 6 case(0xed):delaynms(1000);if(temp==0xed){display04(4);};break;
901 6 case(0xdd):delaynms(1000);if(temp==0xdd){display05(5);};break;
902 6 case(0xbd):delaynms(1000);if(temp==0xbd){display06(6);};break;
903 6 case(0x7d):delaynms(1000);if(temp==0x7d){display07(7);};break;
904 6 }
905 5
906 5 P1=0xfb;
907 5 temp=P1;
908 5 switch(temp)
909 5 {
910 6 case(0xeb):delaynms(1000);if(temp==0xeb){display08(8);};break;
911 6 case(0xdb):delaynms(1000);if(temp==0xdb){display09(9);};break;
912 6 case(0xbb):queren();break;
913 6 case(0x7b):chongshu();break;
914 6 }
915 5
916 5 P1=0xf7;
917 5 temp=P1;
918 5 switch(temp)
919 5 {
920 6 case(0xe7):xiugai();break;
921 6 case(0xd7):display(13);break;
922 6 case(0xb7):display(14);break;
923 6 case(0x77):display(15);break;
C51 COMPILER V8.02 18B20TEST 05/20/2012 19:52:06 PAGE 16
924 6 }
925 5
926 5 }
927 4 }
928 3
929 3 }
930 2
931 2
932 2 }
933 1
934 1 }
935
936
937
938
939
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2183 ----
CONSTANT SIZE = 19 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 3
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -