找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10985|回复: 2
打印 上一主题 下一主题
收起左侧

基于单片机的广州塔设计论文

[复制链接]
跳转到指定楼层
楼主

完整的广州塔设计论文下载 word格式 可编辑:
基于单片机的广州塔论文.doc (856.17 KB, 下载次数: 51)


下面是论文的部分内容预览:
目    录
摘要
1  绪论
1.1  项目研究背景及意义
2  总体设计方案及论证
2.1  总体方案设计
3  硬件实现及单元电路设计
3.1  主控制模块
3.2  电源设计
3.3  模块设计
3.3.1  LED驱动模块
3.3.2  底座LED驱动
    3.3.3  音频电路的设计
    3.3.4  时钟电路的设计
4  软件设计
4.1  主程序
5  总结
6  参考文献
附 录
附件1:原理图
附件2:元件清单
附件3:实物图



摘要
STC12C5A60S2是STC系列单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值,以其易用性和多功能性受到了广大电子设计爱好者的好评。本次设计主要是利用STC12C5A60S2单片机、该系统采用增强型8051单片机STC12C5A60S2为主控制器,利用单片机控制点阵的原理,控制广州塔展示效果,还通过单片机内置的ADC对音频信号进行采样,然后控制广州塔亮的层数达到根据音乐跳舞的效果。该方案具有电路结构简洁,开发、生产成本低的优点。

关键词:点阵  STC12C5A60S2 广州塔


1  绪论
1.1  项目研究背景及意义
  广州塔其实又称广州新电视塔,昵称小蛮腰。它是广州最高建筑,整个塔身的设计非常有特点,特别是在夜晚的灯光装饰下,更是显得美轮美奂。现已俨然成为广州的地标。如此美的建筑怎能不让人心动。我们结合所学的单片机点阵显示技术,我们也能做出广州塔的美。我们采用STC12C5A60S2作为控制系统,显示部分采用的是16*16的点阵显示原理,通过对广州塔的制作,能更好的提升单片机对点阵显示原理的掌握。
2  总体设计方案及论证
2.1  总体方案设计
   本设计包括硬件和软件设计两个部分。系统总体的设计方框图如图1所示。


3  硬件实现及单元电路设计
3.1  主控制模块
主控制最小系统电路如图2所示。
图2 最小系统
硬件电路总设计见图3。

图3 总设计电路图

3.2  电源设计
电源部分的设计采用DC5V供电,使用了电解电容进行滤波,电路供电更加的稳定。
3.3模块设计  3.3.1 led驱动模块
    LED驱动采用的是直接用单片机管脚驱动,因为stc12c5a60s2单片机的管脚电流达到20几毫安,足以驱动广州塔的LED,为了LED工作的稳定性,我们在电路中加入了限流电阻。
3.3.2  底座4个LED
底座4个LED使用的七彩LED,为了控制方便,4个LED直接到了电源,上电就能直接点亮,可以直观看出模块电源是否正常,使用七彩LED的原因是,其发出的LED光多姿多彩,给广州塔的绚丽增添多一份优美,电路如下图所示:
图4 底座led驱动电路
3.3.3  音频输入电路的设计
音频电路的设计主要是采用了T型口的USB接口,因为该接口包含了音频和电源的输入,又因为控制模板的单片机是自带了AD的,所以通过按键切换到音频模式下,我们可以看到广州随音乐在跳舞。
3.3.4 时钟电路的设计
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。如图13所示为时钟电路。
图13 时钟电路图

5  总结
利用点阵显示技术模拟广州塔的人不多,大家选择的都是STC89C52,驱动电路也只是采用普通的三极管控制,由于单片机和控制电路限制,市面上做出来的广州塔一般都是功能比较单一。对于广州塔的模拟,我们要朝着和真正广州塔一致的方向模拟,本设计中由于采用的是STC12C5A60S2,本广州塔的模拟加入了音频控制显示,能根据输入的音源,控制塔亮的层数等功能。

6  参考文献
[1]宏晶科技.STC12C5A60S2系列单片机器件手册[M].2010.
  [2]程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2001.
  [3]靳桅,等.基于51系列单片机的LED显示屏开关技术(第2版)[M].北京:北京航空航天大学出版社,2011.
  作者简介:
  吴永德(1980―),男,讲师,从事电子技术专业教学及研究。
  罗萍(1979―),女,讲师,从事计算机技术专业教学及研究。

附件1:原理图

附件2:元件清单

附件3:实物图

4  软件设计            



  1. #include< stc12c5a60s2.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int


  4. #define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))

  5. #define BIN(n) LongToBin(0x##n##)



  6. sbit anjian=P4^5;



  7. sbit P0_0=P0^0;//层

  8. sbit P0_1=P0^1;

  9. sbit P0_2=P0^2;

  10. sbit P0_3=P0^3;

  11. sbit P0_4=P0^4;

  12. sbit P0_5=P0^5;

  13. sbit P0_6=P0^6;

  14. sbit P0_7=P0^7;

  15. sbit P4_6=P4^6;

  16. sbit P1_1=P1^1;

  17. sbit P1_2=P1^2;

  18. sbit P1_3=P1^3;

  19. sbit P1_4=P1^4;

  20. sbit P1_5=P1^5;

  21. sbit P1_6=P1^6;

  22. sbit P1_7=P1^7;



  23. sbit P3_0=P3^0;//竖

  24. sbit P3_1=P3^1;

  25. sbit P3_2=P3^2;

  26. sbit P3_3=P3^3;

  27. sbit P3_4=P3^4;

  28. sbit P3_5=P3^5;

  29. sbit P3_6=P3^6;

  30. sbit P3_7=P3^7;

  31. sbit P2_0=P2^0;

  32. sbit P2_1=P2^1;

  33. sbit P2_2=P2^2;

  34. sbit P2_3=P2^3;

  35. sbit P2_4=P2^4;

  36. sbit P2_5=P2^5;

  37. sbit P2_6=P2^6;

  38. sbit P2_7=P2^7;

  39. sbit P4_4=P4^4;



  40. char moshi=1;

  41. char h=0,v=0;

  42. int t=0;

  43. char zy=0,sj=0,jz=0;



  44. bit ly_flag=0;                                                                                                                //成功接收标志



  45. void delay_1ms(uint q)

  46. {

  47.               uint i,j;

  48.               for(i=0;i<q;i++)

  49.                             for(j=0;j<110;j++);

  50. }

  51. void key()

  52. {

  53.               if(anjian==0)

  54.               {

  55.                             delay_1ms(5);

  56.                             if(anjian==0)

  57.                             {

  58.                                           while(anjian==0);

  59.                                           jz++;

  60.                                           if(jz==2)jz=0;

  61.                                           if(jz==0){moshi=1;TR0=0;ET0=0;};

  62.                                           if(jz==1){moshi=0;ly_flag=1;TR0=1;ET0=1;}

  63.                             }            

  64.               }

  65. }

  66. void dh1()

  67. {

  68.               char i,j;

  69.               P3_0=0;//J1

  70.               P3_1=0;//J2

  71.               P3_3=0;//J3

  72.               P3_4=0;//J4

  73.               P3_5=0;//J5

  74.               P3_6=0;//J6

  75.               P3_7=0;//J7

  76.               P2_0=0;//J8

  77.               P2_1=0;//J9

  78.               P2_2=0;//J10

  79.               P2_3=0;//J11

  80.               P2_4=0;//J12

  81.               P2_5=0;//J13

  82.               P2_6=0;//J14

  83.               P2_7=0;//J15

  84.               P4_4=0;//J16

  85.             

  86.               P1_7=0;

  87.               P1_6=0;

  88.               P1_5=0;

  89.               P1_4=0;

  90.               P1_3=0;

  91.               P1_2=0;

  92.               P1_1=0;



  93.               P4_6=0;



  94.               P0=0X01;

  95.               delay_1ms(10);

  96.               for(j=0;j<7;j++)

  97.               {

  98.                             P0=(P0<<1)|0x01;

  99.                             delay_1ms(10);

  100.               }

  101.               P4_6=1;

  102.               delay_1ms(10);            

  103.               P1_1=1;

  104.               delay_1ms(10);

  105.               P1_2=1;

  106.               delay_1ms(10);

  107.               P1_3=1;

  108.               delay_1ms(10);

  109.               P1_4=1;

  110.               delay_1ms(10);

  111.               P1_5=1;

  112.               delay_1ms(10);

  113.               P1_6=1;

  114.               delay_1ms(10);

  115.               P1_7=1;            



  116.               for(i=0;i<2;i++)

  117.               {

  118.                             P1_7=0;

  119.                             P1_6=0;

  120.                             P1_5=0;

  121.                             P1_4=0;

  122.                             P1_3=0;

  123.                             P1_2=0;

  124.                             P1_1=0;

  125.             

  126.                             P4_6=0;

  127.             

  128.                             P0=0X01;

  129.                             delay_1ms(1000);

  130.                             for(j=0;j<7;j++)

  131.                             {

  132.                                           P0=(P0<<1)|0x01;

  133.                                           delay_1ms(700);

  134.                                           key();

  135.                                           if(ly_flag==1){ly_flag=0;break;}

  136.                             }

  137.             

  138.                             P4_6=1;

  139.                             delay_1ms(700);

  140.                             key();

  141.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}            

  142.                             P1_1=1;

  143.                             delay_1ms(700);

  144.                             key();

  145.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  146.                             P1_2=1;

  147.                             delay_1ms(700);

  148.                             key();

  149.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  150.                             P1_3=1;

  151.                             delay_1ms(700);

  152.                             key();

  153.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  154.                             P1_4=1;

  155.                             delay_1ms(700);

  156.                             key();

  157.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  158.                             P1_5=1;

  159.                             delay_1ms(700);

  160.                             key();

  161.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  162.                             P1_6=1;

  163.                             delay_1ms(700);

  164.                             key();

  165.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  166.                             P1_7=1;

  167.                             delay_1ms(8000);

  168.                             key();

  169.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  170.                             delay_1ms(8000);

  171.                             key();

  172.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  173.                             delay_1ms(8000);

  174.                             key();

  175.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  176.                             delay_1ms(8000);

  177.                             key();

  178.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  179.                             delay_1ms(8000);

  180.                             key();

  181.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  182.                             delay_1ms(8000);

  183.                             key();                                         

  184.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  185.               }                                                      

  186. }

  187. void dh2()

  188. {

  189.               char j;

  190.               P1_7=1;

  191.               P1_6=1;

  192.               P1_5=1;

  193.               P1_4=1;

  194.               P1_3=1;

  195.               P1_2=1;

  196.               P1_1=1;



  197.               P4_6=1;



  198.               P0_7=1;

  199.               P0_6=1;

  200.               P0_5=1;

  201.               P0_4=1;

  202.               P0_3=1;

  203.               P0_2=1;

  204.               P0_1=1;

  205.               P0_0=1;



  206.               for(j=0;j<12;j++)

  207.               {

  208.                             P4_4=1;

  209.                             P2_0=1;

  210.                             P3_0=0;

  211.                             P2_1=0;

  212.                             delay_1ms(400);

  213.             

  214.                             P3_0=1;

  215.                             P2_1=1;

  216.                             P3_1=0;

  217.                             P2_2=0;

  218.                             delay_1ms(400);

  219.             

  220.                             P3_1=1;

  221.                             P2_2=1;

  222.                             P3_3=0;

  223.                             P2_3=0;

  224.                             delay_1ms(400);

  225.                             key();

  226.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}            

  227.                             P3_3=1;

  228.                             P2_3=1;

  229.                             P3_4=0;

  230.                             P2_4=0;

  231.                             delay_1ms(400);

  232.             

  233.                             P3_4=1;

  234.                             P2_4=1;

  235.                             P3_5=0;

  236.                             P2_5=0;

  237.                             delay_1ms(400);

  238.             

  239.                             P3_5=1;

  240.                             P2_5=1;

  241.                             P3_6=0;

  242.                             P2_6=0;

  243.                             delay_1ms(400);

  244.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}            

  245.                             P3_6=1;

  246.                             P2_6=1;

  247.                             P3_7=0;

  248.                             P2_7=0;

  249.                             delay_1ms(400);

  250.             

  251.                             P3_7=1;

  252.                             P2_7=1;

  253.                             P4_4=0;

  254.                             P2_0=0;

  255.                             delay_1ms(400);            

  256.                             key();

  257.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  258.               }

  259. }

  260. void dh3()

  261. {

  262.               char i,j;

  263.               int yanshi=400;

  264.               P3_0=0;//J1

  265.               P3_1=0;//J2

  266.               P3_3=0;//J3

  267.               P3_4=0;//J4

  268.               P3_5=0;//J5

  269.               P3_6=0;//J6

  270.               P3_7=0;//J7

  271.               P2_0=0;//J8

  272.               P2_1=0;//J9

  273.               P2_2=0;//J10

  274.               P2_3=0;//J11

  275.               P2_4=0;//J12

  276.               P2_5=0;//J13

  277.               P2_6=0;//J14

  278.               P2_7=0;//J15

  279.               P4_4=0;//J16



  280.                  for(i=0;i<3;i++)

  281.               {

  282.                             P1_7=0;

  283.                             P1_6=0;

  284.                             P1_5=0;

  285.                             P1_4=0;

  286.                             P1_3=0;

  287.                             P1_2=0;

  288.                             P1_1=0;

  289.             

  290.                             P4_6=0;

  291.             

  292.                             P0=0X01;

  293.                             delay_1ms(yanshi);

  294.                             for(j=0;j<7;j++)

  295.                             {

  296.                                           P0=(P0<<1);

  297.                                           delay_1ms(yanshi);

  298.                                           key();

  299.                                           if(ly_flag==1){moshi=0;ly_flag=0;break;}

  300.                             }

  301.             

  302.                             P0_7=0;            

  303.                             P4_6=1;

  304.                             delay_1ms(yanshi);

  305.             

  306.                             P4_6=0;            

  307.                             P1_1=1;

  308.                             delay_1ms(yanshi);

  309.             

  310.                             P1_1=0;            

  311.                             P1_2=1;

  312.                             delay_1ms(yanshi);

  313.                             key();

  314.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  315.                             P1_2=0;                           

  316.                             P1_3=1;

  317.                             delay_1ms(yanshi);

  318.             

  319.                             P1_3=0;                           

  320.                             P1_4=1;

  321.                             delay_1ms(yanshi);

  322.             

  323.                             P1_4=0;                           

  324.                             P1_5=1;

  325.                             delay_1ms(yanshi);

  326.                             key();

  327.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  328.                             P1_5=0;                           

  329.                             P1_6=1;

  330.                             delay_1ms(yanshi);

  331.             

  332.                             P1_6=0;                           

  333.                             P1_7=1;

  334.                             delay_1ms(yanshi);

  335.             

  336.                             P1_6=1;                           

  337.                             P1_7=0;

  338.                             delay_1ms(yanshi);

  339.                             key();

  340.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  341.                             P1_5=1;                           

  342.                             P1_6=0;

  343.                             delay_1ms(yanshi);

  344.             

  345.                             P1_4=1;                           

  346.                             P1_5=0;

  347.                             delay_1ms(yanshi);

  348.             

  349.                             P1_3=1;                           

  350.                             P1_4=0;

  351.                             delay_1ms(yanshi);

  352.                             key();

  353.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  354.                             P1_2=1;                           

  355.                             P1_3=0;

  356.                             delay_1ms(yanshi);

  357.             

  358.                             P1_1=1;                           

  359.                             P1_2=0;

  360.                             delay_1ms(yanshi);

  361.             

  362.                             P1_1=0;                           

  363.                             P0_7=1;

  364.                             delay_1ms(yanshi);

  365.                             key();

  366.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  367.                             P0_6=1;                           

  368.                             P0_7=0;

  369.                             delay_1ms(yanshi);

  370.             

  371.                             P0_5=1;                           

  372.                             P0_6=0;

  373.                             delay_1ms(yanshi);

  374.             

  375.                             P0_4=1;                           

  376.                             P0_5=0;

  377.                             delay_1ms(yanshi);

  378.                             key();

  379.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  380.                             P0_3=1;                           

  381.                             P0_4=0;

  382.                             delay_1ms(yanshi);

  383.             

  384.                             P0_2=1;                           

  385.                             P0_3=0;

  386.                             delay_1ms(yanshi);

  387.             

  388.                             P0_1=1;                           

  389.                             P0_2=0;

  390.                             delay_1ms(yanshi);

  391.                             key();

  392.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  393.               }

  394. }

  395. void dh4()

  396. {

  397.               char j;

  398.               P3_0=0;//J1

  399.               P3_1=0;//J2

  400.               P3_3=0;//J3

  401.               P3_4=0;//J4

  402.               P3_5=0;//J5

  403.               P3_6=0;//J6

  404.               P3_7=0;//J7

  405.               P2_0=0;//J8

  406.               P2_1=0;//J9

  407.               P2_2=0;//J10

  408.               P2_3=0;//J11

  409.               P2_4=0;//J12

  410.               P2_5=0;//J13

  411.               P2_6=0;//J14

  412.               P2_7=0;//J15

  413.               P4_4=0;//J16

  414.             

  415.               P1_7=0;

  416.               P1_6=0;

  417.               P1_5=0;

  418.               P1_4=0;

  419.               P1_3=0;

  420.               P1_2=0;

  421.               P1_1=0;

  422.               P4_6=0;

  423.               P0_7=0;

  424.               P0_6=0;

  425.               P0_5=0;

  426.               P0_4=0;

  427.               P0_3=0;

  428.               P0_2=0;

  429.               P0_1=0;

  430.               P0_1=0;            

  431.               P0_0=0;            

  432.               for(j=0;j<3;j++)

  433.               {

  434.                             P1_7=0;

  435.                             P0_0=0;                           

  436.                             P4_6=1;

  437.                             P0_7=1;            

  438.                             delay_1ms(500);

  439.                            

  440.                             P4_6=0;

  441.                             P0_7=0;            

  442.                             P1_1=1;

  443.                             P0_6=1;

  444.                             delay_1ms(500);

  445.                             key();

  446.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  447.                             P1_2=1;

  448.                             P0_5=1;            

  449.                             P1_1=0;

  450.                             P0_6=0;

  451.                             delay_1ms(500);

  452.                            

  453.                             P1_3=1;

  454.                             P0_4=1;            

  455.                             P1_2=0;

  456.                             P0_5=0;

  457.                             delay_1ms(500);

  458.                             key();

  459.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  460.                             P1_4=1;

  461.                             P0_3=1;            

  462.                             P1_3=0;

  463.                             P0_4=0;

  464.                             delay_1ms(500);

  465.                            

  466.                             P1_5=1;

  467.                             P0_2=1;            

  468.                             P1_4=0;

  469.                             P0_3=0;

  470.                             delay_1ms(500);

  471.                             key();

  472.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  473.                             P1_6=1;

  474.                             P0_1=1;            

  475.                             P1_5=0;

  476.                             P0_2=0;

  477.                             delay_1ms(500);

  478.                            

  479.                             P1_7=1;

  480.                             P0_0=1;            

  481.                             P1_6=0;

  482.                             P0_1=0;

  483.                             delay_1ms(500);            

  484.                             key();

  485.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  486.               }                                                      

  487. }

  488. void dh5()

  489. {

  490.               char i;

  491.               P1_7=1;

  492.               P1_6=1;

  493.               P1_5=1;

  494.               P1_4=1;

  495.               P1_3=1;

  496.               P1_2=1;

  497.               P1_1=1;

  498.               P4_6=1;

  499.               P0_7=1;

  500.               P0_6=1;

  501.               P0_5=1;

  502.               P0_4=1;

  503.               P0_3=1;

  504.               P0_2=1;

  505.               P0_1=1;

  506.               P0_1=1;            

  507.               P0_0=1;

  508.             

  509.               for(i=0;i<3;i++)

  510.               {

  511.                             P3_0=0;            

  512.                             delay_1ms(400);            

  513.                             P3_1=0;            

  514.                             delay_1ms(400);            

  515.                             P3_3=0;            

  516.                             delay_1ms(400);            

  517.                             P3_4=0;            

  518.                             delay_1ms(400);            

  519.                             key();

  520.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  521.                             P3_5=0;            

  522.                             delay_1ms(400);            

  523.                             P3_6=0;            

  524.                             delay_1ms(400);            

  525.                             P3_7=0;            

  526.                             delay_1ms(400);                           

  527.                             P2_0=0;            

  528.                             delay_1ms(400);            

  529.                             key();

  530.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  531.                             P2_1=0;            

  532.                             delay_1ms(400);            

  533.                             P2_2=0;            

  534.                             delay_1ms(400);            

  535.                             P2_3=0;            

  536.                             delay_1ms(400);            

  537.                             P2_4=0;            

  538.                             delay_1ms(400);

  539.                             key();

  540.                             if(ly_flag==1){moshi=0;break;}            

  541.                             P2_5=0;            

  542.                             delay_1ms(400);            

  543.                             P2_6=0;            

  544.                             delay_1ms(400);            

  545.                             P2_7=0;            

  546.                             delay_1ms(400);            

  547.                             P4_4=0;            

  548.                             delay_1ms(9000);

  549.                             key();

  550.                             if(ly_flag==1){moshi=0;break;}

  551.                             delay_1ms(9000);

  552.                             key();

  553.                             if(ly_flag==1){moshi=0;break;}

  554.                             delay_1ms(9000);

  555.                             key();

  556.                             if(ly_flag==1){moshi=0;break;}                           

  557.                             P2=0XFF;

  558.                             P3=0XFF;

  559.                             P4_4=1;                           

  560.               }                                         

  561. }

  562. void dh6()

  563. {

  564.               char j;

  565.               int yanshi=3000;

  566.               P1_7=1;

  567.               P1_6=1;

  568.               P1_5=1;

  569.               P1_4=1;

  570.               P1_3=1;

  571.               P1_2=1;

  572.               P1_1=1;



  573.               P4_6=1;



  574.               P0_7=1;

  575.               P0_6=1;

  576.               P0_5=1;

  577.               P0_4=1;

  578.               P0_3=1;

  579.               P0_2=1;

  580.               P0_1=1;

  581.               P0_0=1;



  582.               for(j=0;j<20;j++)

  583.               {

  584.                             P3_4=1;

  585.                             P2_0=1;

  586.                             P2_4=1;

  587.                             P4_4=1;



  588.                             P3_0=0;

  589.                             P3_5=0;

  590.                             P2_1=0;

  591.                             P2_5=0;

  592.                             delay_1ms(yanshi);

  593.                             key();

  594.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  595.                             P3_0=1;

  596.                             P3_5=1;

  597.                             P2_1=1;

  598.                             P2_5=1;



  599.                             P3_1=0;

  600.                             P3_6=0;

  601.                             P2_2=0;

  602.                             P2_6=0;

  603.                             delay_1ms(yanshi);

  604.                             key();

  605.                   if(ly_flag==1){moshi=0;ly_flag=0;break;}

  606.                             P3_1=1;

  607.                             P3_6=1;

  608.                             P2_2=1;

  609.                             P2_6=1;



  610.                             P3_3=0;

  611.                             P3_7=0;

  612.                             P2_3=0;

  613.                             P2_7=0;

  614.                             delay_1ms(yanshi);

  615.                             key();

  616.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  617.                             P3_3=1;

  618.                             P3_7=1;

  619.                             P2_3=1;

  620.                             P2_7=1;



  621.                             P3_4=0;

  622.                             P2_0=0;

  623.                             P2_4=0;

  624.                             P4_4=0;

  625.                             delay_1ms(yanshi);

  626.                             if(j<6)yanshi=yanshi-400;

  627.                             key();

  628.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}

  629.               }            

  630. }

  631. void dh7()

  632. {

  633.               P3_0=0;//J1

  634.               P3_1=0;//J2

  635.               P3_3=0;//J3

  636.               P3_4=0;//J4

  637.               P3_5=0;//J5

  638.               P3_6=0;//J6

  639.               P3_7=0;//J7

  640.               P2_0=0;//J8

  641.               P2_1=0;//J9

  642.               P2_2=0;//J10

  643.               P2_3=0;//J11

  644.               P2_4=0;//J12

  645.               P2_5=0;//J13

  646.               P2_6=0;//J14

  647.               P2_7=0;//J15

  648.               P4_4=0;//J16

  649.             

  650.               P1=0X00;

  651.               P0=0X00;

  652.               P4_6=0;



  653.               P1_7=1;

  654.               delay_1ms(400);

  655.               P1_6=1;

  656.               delay_1ms(400);

  657.               P1_6=0;

  658.               P1_5=1;

  659.               delay_1ms(400);            

  660.               P1_5=0;

  661.               P1_4=1;

  662.               delay_1ms(400);            

  663.               P1_4=0;

  664.               P1_3=1;

  665.               delay_1ms(400);            

  666.               P1_3=0;

  667.               P1_2=1;

  668.               delay_1ms(400);            

  669.               P1_2=0;

  670.               P1_1=1;

  671.               delay_1ms(400);            

  672.               P1_1=0;

  673.               P4_6=1;

  674.               delay_1ms(400);            

  675.               key();

  676.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  677.               P4_6=0;

  678.               P0_7=1;

  679.               delay_1ms(400);            

  680.               P0_7=0;

  681.               P0_6=1;

  682.               delay_1ms(400);

  683.               P0_6=0;

  684.               P0_5=1;

  685.               delay_1ms(400);            

  686.               P0_5=0;

  687.               P0_4=1;

  688.               delay_1ms(400);            

  689.               P0_4=0;

  690.               P0_3=1;

  691.               delay_1ms(400);            

  692.               P0_3=0;

  693.               P0_2=1;

  694.               delay_1ms(400);            

  695.               P0_2=0;

  696.               P0_1=1;

  697.               delay_1ms(400);

  698.               P0_1=0;

  699.               P0_0=1;

  700.               delay_1ms(400);              /////////////P00

  701.               key();

  702.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  703.               P1_6=1;

  704.               delay_1ms(400);

  705.               P1_6=0;

  706.               P1_5=1;

  707.               delay_1ms(400);            

  708.               P1_5=0;

  709.               P1_4=1;

  710.               delay_1ms(400);            

  711.               P1_4=0;

  712.               P1_3=1;

  713.               delay_1ms(400);            

  714.               P1_3=0;

  715.               P1_2=1;

  716.               delay_1ms(400);            

  717.               P1_2=0;

  718.               P1_1=1;

  719.               delay_1ms(400);            

  720.               P1_1=0;

  721.               P4_6=1;

  722.               delay_1ms(400);            

  723.               P4_6=0;

  724.               P0_7=1;

  725.               delay_1ms(400);            

  726.               key();

  727.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  728.               P0_7=0;

  729.               P0_6=1;

  730.               delay_1ms(400);

  731.               P0_6=0;

  732.               P0_5=1;

  733.               delay_1ms(400);            

  734.               P0_5=0;

  735.               P0_4=1;

  736.               delay_1ms(400);            

  737.               P0_4=0;

  738.               P0_3=1;

  739.               delay_1ms(400);            

  740.               P0_3=0;

  741.               P0_2=1;

  742.               delay_1ms(400);            

  743.               P0_2=0;

  744.               P0_1=1;

  745.               delay_1ms(400);/////////////////////////////P01

  746.               key();

  747.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  748.               P1_6=1;

  749.               delay_1ms(400);

  750.               P1_6=0;

  751.               P1_5=1;

  752.               delay_1ms(400);            

  753.               P1_5=0;

  754.               P1_4=1;

  755.               delay_1ms(400);            

  756.               P1_4=0;

  757.               P1_3=1;

  758.               delay_1ms(400);            

  759.               P1_3=0;

  760.               P1_2=1;

  761.               delay_1ms(400);            

  762.               P1_2=0;

  763.               P1_1=1;

  764.               delay_1ms(400);            

  765.               key();

  766.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  767.               P1_1=0;

  768.               P4_6=1;

  769.               delay_1ms(400);            

  770.               P4_6=0;

  771.               P0_7=1;

  772.               delay_1ms(400);            

  773.               P0_7=0;

  774.               P0_6=1;

  775.               delay_1ms(400);

  776.               P0_6=0;

  777.               P0_5=1;

  778.               delay_1ms(400);            

  779.               P0_5=0;

  780.               P0_4=1;

  781.               delay_1ms(400);            

  782.               P0_4=0;

  783.               P0_3=1;

  784.               delay_1ms(400);            

  785.               key();

  786.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  787.               P0_3=0;

  788.               P0_2=1;

  789.               delay_1ms(400);/////////////////////////////////P02

  790.               P1_6=1;

  791.               delay_1ms(400);

  792.               P1_6=0;

  793.               P1_5=1;

  794.               delay_1ms(400);            

  795.               P1_5=0;

  796.               P1_4=1;

  797.               delay_1ms(400);            

  798.               P1_4=0;

  799.               P1_3=1;

  800.               delay_1ms(400);            

  801.               P1_3=0;

  802.               P1_2=1;

  803.               delay_1ms(400);            

  804.               P1_2=0;

  805.               P1_1=1;

  806.               delay_1ms(400);            

  807.               key();

  808.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  809.               P1_1=0;

  810.               P4_6=1;

  811.               delay_1ms(400);            

  812.               P4_6=0;

  813.               P0_7=1;

  814.               delay_1ms(400);            

  815.               P0_7=0;

  816.               P0_6=1;

  817.               delay_1ms(400);

  818.               P0_6=0;

  819.               P0_5=1;

  820.               delay_1ms(400);            

  821.               P0_5=0;

  822.               P0_4=1;

  823.               delay_1ms(400);            

  824.               P0_4=0;

  825.               P0_3=1;

  826.               delay_1ms(400);//////////////////////////P03

  827.               key();

  828.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  829.               P1_6=1;

  830.               delay_1ms(400);

  831.               P1_6=0;

  832.               P1_5=1;

  833.               delay_1ms(400);            

  834.             

  835.               P1_5=0;

  836.               P1_4=1;

  837.               delay_1ms(400);            

  838.               P1_4=0;

  839.               P1_3=1;

  840.               delay_1ms(400);            

  841.             

  842.               P1_3=0;

  843.               P1_2=1;

  844.               delay_1ms(400);            

  845.             

  846.               P1_2=0;

  847.               P1_1=1;

  848.               delay_1ms(400);            

  849.               key();

  850.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  851.               P1_1=0;

  852.               P4_6=1;

  853.               delay_1ms(400);            

  854.               P4_6=0;

  855.               P0_7=1;

  856.               delay_1ms(400);                           

  857.               P0_7=0;

  858.               P0_6=1;

  859.               delay_1ms(400);

  860.               P0_6=0;

  861.               P0_5=1;

  862.               delay_1ms(400);            

  863.               P0_5=0;

  864.               P0_4=1;

  865.               delay_1ms(400);///////////////////////////P04

  866.               P1_6=1;

  867.               delay_1ms(400);

  868.               key();

  869.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  870.               P1_6=0;

  871.               P1_5=1;

  872.               delay_1ms(400);            

  873.             

  874.               P1_5=0;

  875.               P1_4=1;

  876.               delay_1ms(400);            

  877.             

  878.               P1_4=0;

  879.               P1_3=1;

  880.               delay_1ms(400);            



  881.               P1_3=0;

  882.               P1_2=1;

  883.               delay_1ms(400);            

  884.               key();

  885.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}            

  886.               P1_2=0;

  887.               P1_1=1;

  888.               delay_1ms(400);            

  889.             

  890.               P1_1=0;

  891.               P4_6=1;

  892.               delay_1ms(400);            

  893.               P4_6=0;

  894.               P0_7=1;

  895.               delay_1ms(400);            

  896.             

  897.               P0_7=0;

  898.               P0_6=1;

  899.               delay_1ms(400);

  900.             

  901.               P0_6=0;

  902.               P0_5=1;

  903.               delay_1ms(400);//////////////////////////////////P05

  904.               key();

  905.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  906.               P1_6=1;

  907.               delay_1ms(400);



  908.               P1_6=0;

  909.               P1_5=1;

  910.               delay_1ms(400);            

  911.             

  912.               P1_5=0;

  913.               P1_4=1;

  914.               delay_1ms(400);            



  915.               P1_4=0;

  916.               P1_3=1;

  917.               delay_1ms(400);            

  918.             

  919.               P1_3=0;

  920.               P1_2=1;

  921.               delay_1ms(400);            

  922.             

  923.               P1_2=0;

  924.               P1_1=1;

  925.               delay_1ms(400);            

  926.               key();

  927.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  928.               P1_1=0;

  929.               P4_6=1;

  930.               delay_1ms(400);            



  931.               P4_6=0;

  932.               P0_7=1;

  933.               delay_1ms(400);            

  934.             

  935.               P0_7=0;

  936.               P0_6=1;

  937.               delay_1ms(400);              ///////////////////P06

  938.               P1_6=1;

  939.               delay_1ms(400);



  940.               P1_6=0;

  941.               P1_5=1;

  942.               delay_1ms(400);            

  943.             

  944.               P1_5=0;

  945.               P1_4=1;

  946.               delay_1ms(400);            

  947.               key();

  948.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  949.               P1_4=0;

  950.               P1_3=1;

  951.               delay_1ms(400);            

  952.             

  953.               P1_3=0;

  954.               P1_2=1;

  955.               delay_1ms(400);            

  956.             

  957.               P1_2=0;

  958.               P1_1=1;

  959.               delay_1ms(400);            



  960.               P1_1=0;

  961.               P4_6=1;

  962.               delay_1ms(400);            



  963.               P4_6=0;

  964.               P0_7=1;

  965.               delay_1ms(400);//////////////////////////////////////P07



  966.               P1_6=1;

  967.               delay_1ms(400);

  968.               key();

  969.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  970.               P1_6=0;

  971.               P1_5=1;

  972.               delay_1ms(400);            

  973.             

  974.               P1_5=0;

  975.               P1_4=1;

  976.               delay_1ms(400);            

  977.             

  978.               P1_4=0;

  979.               P1_3=1;

  980.               delay_1ms(400);            



  981.               P1_3=0;

  982.               P1_2=1;

  983.               delay_1ms(400);            

  984.             

  985.               P1_2=0;

  986.               P1_1=1;

  987.               delay_1ms(400);            

  988.             

  989.               P1_1=0;

  990.               P4_6=1;

  991.               delay_1ms(400);              ///////////////////////////P46

  992.               key();

  993.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  994.               P1_6=1;

  995.               delay_1ms(400);



  996.               P1_6=0;

  997.               P1_5=1;

  998.               delay_1ms(400);            

  999.             

  1000.               P1_5=0;

  1001.               P1_4=1;

  1002.               delay_1ms(400);            



  1003.               P1_4=0;

  1004.               P1_3=1;

  1005.               delay_1ms(400);            

  1006.             

  1007.               P1_3=0;

  1008.               P1_2=1;

  1009.               delay_1ms(400);            

  1010.             

  1011.               P1_2=0;

  1012.               P1_1=1;

  1013.               delay_1ms(400);              ///////////////////////////////////

  1014.               key();

  1015.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1016.               P1_6=1;

  1017.               delay_1ms(400);



  1018.               P1_6=0;

  1019.               P1_5=1;

  1020.               delay_1ms(400);            

  1021.             

  1022.               P1_5=0;

  1023.               P1_4=1;

  1024.               delay_1ms(400);            



  1025.               P1_4=0;

  1026.               P1_3=1;

  1027.               delay_1ms(400);            

  1028.             

  1029.               P1_3=0;

  1030.               P1_2=1;

  1031.               delay_1ms(400);              ///////////////////////////////////////////



  1032.               P1_6=1;

  1033.               delay_1ms(400);

  1034.               key();

  1035.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1036.               P1_6=0;

  1037.               P1_5=1;

  1038.               delay_1ms(400);            

  1039.             

  1040.               P1_5=0;

  1041.               P1_4=1;

  1042.               delay_1ms(400);            

  1043.             

  1044.               P1_4=0;

  1045.               P1_3=1;

  1046.               delay_1ms(400);/////////////////////////////////////



  1047.               P1_6=1;

  1048.               delay_1ms(400);



  1049.               P1_6=0;

  1050.               P1_5=1;

  1051.               delay_1ms(400);            

  1052.             

  1053.               P1_5=0;

  1054.               P1_4=1;

  1055.               delay_1ms(400);///////////////////////////////////

  1056.               key();

  1057.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1058.               P1_6=1;

  1059.               delay_1ms(400);



  1060.               P1_6=0;

  1061.               P1_5=1;

  1062.               delay_1ms(400);              //////////////////////



  1063.               P1_6=1;

  1064.               delay_1ms(400);              /////////////////////

  1065. hm: ;                                                                                                                                                                                                                                                                        

  1066. }

  1067. void dh8()

  1068. {

  1069.               P3_0=0;//J1

  1070.               P3_1=0;//J2

  1071.               P3_3=0;//J3

  1072.               P3_4=0;//J4

  1073.               P3_5=0;//J5

  1074.               P3_6=0;//J6

  1075.               P3_7=0;//J7

  1076.               P2_0=0;//J8

  1077.               P2_1=0;//J9

  1078.               P2_2=0;//J10

  1079.               P2_3=0;//J11

  1080.               P2_4=0;//J12

  1081.               P2_5=0;//J13

  1082.               P2_6=0;//J14

  1083.               P2_7=0;//J15

  1084.               P4_4=0;//J16



  1085.               P1_7=1;

  1086.               P1_6=1;

  1087.               P1_5=1;

  1088.               P1_4=1;

  1089.               P1_3=1;

  1090.               P1_2=1;

  1091.               P1_1=1;

  1092.               P4_6=1;

  1093.               P0_7=1;

  1094.               P0_6=1;

  1095.               P0_5=1;

  1096.               P0_4=1;

  1097.               P0_3=1;

  1098.               P0_2=1;

  1099.               P0_1=1;

  1100.               P0_1=1;            

  1101.               P0_0=1;

  1102.               delay_1ms(9000);

  1103.               key();

  1104.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1105.               delay_1ms(9000);

  1106.               key();

  1107.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1108.               delay_1ms(9000);

  1109.               key();

  1110.               if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1111.               delay_1ms(9000);

  1112. hm: ;

  1113. }

  1114. void dh9()

  1115. {

  1116.               char i;

  1117.               P3_0=0;//J1

  1118.               P3_1=0;//J2

  1119.               P3_3=0;//J3

  1120.               P3_4=0;//J4

  1121.               P3_5=0;//J5

  1122.               P3_6=0;//J6

  1123.               P3_7=0;//J7

  1124.               P2_0=0;//J8

  1125.               P2_1=0;//J9

  1126.               P2_2=0;//J10

  1127.               P2_3=0;//J11

  1128.               P2_4=0;//J12

  1129.               P2_5=0;//J13

  1130.               P2_6=0;//J14

  1131.               P2_7=0;//J15

  1132.               P4_4=0;//J16

  1133.             

  1134.               P1_7=0;

  1135.               P1_6=0;

  1136.               P1_5=0;

  1137.               P1_4=0;

  1138.               P1_3=0;

  1139.               P1_2=0;

  1140.               P1_1=0;

  1141.               P4_6=0;

  1142.               P0_7=0;

  1143.               P0_6=0;

  1144.               P0_5=0;

  1145.               P0_4=0;

  1146.               P0_3=0;

  1147.               P0_2=0;

  1148.               P0_1=0;

  1149.               P0_1=0;            

  1150.               P0_0=0;            



  1151.               for(i=0;i<5;i++)

  1152.               {

  1153.                             P1_4=0;

  1154.                             P1_3=0;

  1155.                             P0_4=0;

  1156.                             P0_3=0;

  1157.             

  1158.                             P1_7=1;

  1159.                             P4_6=1;

  1160.                             P0_7=1;

  1161.                             P0_0=1;

  1162.                             delay_1ms(1000);



  1163.                             P1_7=0;

  1164.                             P4_6=0;

  1165.                             P0_7=0;

  1166.                             P0_0=0;

  1167.             

  1168.                             P1_6=1;

  1169.                             P1_1=1;

  1170.                             P0_6=1;

  1171.                             P0_1=1;

  1172.                             delay_1ms(1000);

  1173.                             key();            

  1174.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}            

  1175.                             P1_6=0;

  1176.                             P1_1=0;

  1177.                             P0_6=0;

  1178.                             P0_1=0;

  1179.             

  1180.                             P1_5=1;

  1181.                             P1_2=1;

  1182.                             P0_5=1;

  1183.                             P0_2=1;

  1184.                             delay_1ms(1000);            

  1185.             

  1186.                             P1_5=0;

  1187.                             P1_2=0;

  1188.                             P0_5=0;

  1189.                             P0_2=0;

  1190.             

  1191.                             P1_4=1;

  1192.                             P1_3=1;

  1193.                             P0_4=1;

  1194.                             P0_3=1;

  1195.                             delay_1ms(1000);

  1196.                             key();

  1197.                             if(ly_flag==1){moshi=0;ly_flag=0;break;}            

  1198.               }                                         

  1199. }

  1200. void dh10()

  1201. {

  1202.               P3_0=0;//J1

  1203.               P3_1=0;//J2

  1204.               P3_3=0;//J3

  1205.               P3_4=0;//J4

  1206.               P3_5=0;//J5

  1207.               P3_6=0;//J6

  1208.               P3_7=0;//J7

  1209.               P2_0=0;//J8

  1210.               P2_1=0;//J9

  1211.               P2_2=0;//J10

  1212.               P2_3=0;//J11

  1213.               P2_4=0;//J12

  1214.               P2_5=0;//J13

  1215.               P2_6=0;//J14

  1216.               P2_7=0;//J15

  1217.               P4_4=0;//J16



  1218.               P1_7=1;

  1219.               P1_6=0;

  1220.               P1_5=1;

  1221.               P1_4=0;

  1222.               P1_3=1;

  1223.               P1_2=0;

  1224.               P1_1=1;

  1225.               P4_6=0;

  1226.               P0_7=1;

  1227.               P0_6=0;

  1228.               P0_5=1;

  1229.               P0_4=0;

  1230.               P0_3=1;

  1231.               P0_2=0;

  1232.               P0_1=1;            

  1233.               P0_0=0;            

  1234.               delay_1ms(9000);

  1235.               key();

  1236.                             if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1237.               delay_1ms(9000);

  1238.               key();

  1239.                             if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1240.               delay_1ms(9000);

  1241.               key();

  1242.                             if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}

  1243.               delay_1ms(9000);

  1244. hm: ;

  1245. }

  1246. uchar STC_ADC()                               //!!根据数据手册写一个ad读取函数

  1247. {                                                                                                                                                                       

  1248.      uchar i;

  1249.      ADC_RES   = 0;

  1250.      ADC_RESL  = 0;

  1251.               ADC_CONTR = BIN(10001000);

  1252.               i=3;

  1253.      while(i--);

  1254.      while (1)                     

  1255.      {

  1256.          if (ADC_CONTR & BIN(10000))      

  1257.                    {

  1258.                                               break;

  1259.                               }

  1260.      }

  1261.      ADC_CONTR = BIN(10000000);

  1262.                 return( ADC_RESL<<2) ;

  1263. }

  1264. uchar date;

  1265. void init()

  1266. {

  1267.     TMOD= 0x01;                                                         

  1268.     TL0 = (65536-50000)/256;        //设置定时初值

  1269.     TH0 = (65536-50000)%256;        //设置定时初值

  1270.     ET0 = 0;

  1271.     TR0 = 0;            

  1272.     EA = 1;

  1273. }

  1274. void pp()

  1275. {

  1276.               if(date<=15 && date>0)

  1277.               {            

  1278.                             h=1;

  1279.                             if(v<h)

  1280.                             {

  1281.                                           v=h;            

  1282.                                           P0=0X01;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1283.                             }

  1284.               }



  1285.               if(date<=30 && date>15)

  1286.               {            

  1287.                             h=2;

  1288.                             if(v<h)

  1289.                             {

  1290.                                           v=h;            

  1291.                                           P0=0X03;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;                           

  1292.                             }

  1293.               }

  1294.             

  1295.               if(date<=45 && date>30)

  1296.               {

  1297.                             h=3;

  1298.                             if(v<h)

  1299.                             {

  1300.                                           v=h;

  1301.                                           P0=0X07;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1302.                             }

  1303.               }

  1304.               if(date<=60 && date>45)

  1305.               {

  1306.                             h=4;

  1307.                             if(v<h)

  1308.                             {

  1309.                                           v=h;

  1310.                                           P0=0X0F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1311.                             }            

  1312.               }

  1313.               if(date<=75 && date>60)

  1314.               {

  1315.                             h=5;

  1316.                             if(v<h)

  1317.                             {

  1318.                                           v=h;            

  1319.                                           P0=0X1F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1320.                             }                                         

  1321.               }

  1322.               if(date<=90 && date>75)

  1323.               {

  1324.                             h=6;

  1325.                             if(v<h)

  1326.                             {

  1327.                                           v=h;            

  1328.                                           P0=0X3F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;            

  1329.                             }            

  1330.               }

  1331.               if(date<=105 && date>90)

  1332.               {

  1333.                             h=7;

  1334.                             if(v<h)

  1335.                             {

  1336.                                           v=h;            

  1337.                                           P0=0X7F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1338.                             }

  1339.               }

  1340.               if(date<=130 && date>105)

  1341.               {

  1342.                             h=8;

  1343.                             if(v<h)

  1344.                             {

  1345.                                           v=h;            

  1346.                                           P0=0XFF;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;

  1347.                             }

  1348.               }

  1349.               if(date<=145 && date>130)

  1350.               {

  1351.                             h=9;

  1352.                             if(v<h)

  1353.                             {

  1354.                                           v=h;            

  1355.                                           P0=0XFF;P4_6=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;                           

  1356.                             }            

  1357.               }

  1358.               if(date<=160 && date>145)

  1359.               {

  1360.                             h=10;                           

  1361.                             if(v<h)

  1362.                             {

  1363.                                           v=h;

  1364.                                           P0=0XFF;P4_6=1;P1_1=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;                                                                                   

  1365.                             }                           

  1366.               }

  1367.               if(date<=175 && date>160)

  1368.               {

  1369.                             h=11;

  1370.                             if(v<h)

  1371.                             {

  1372.                                           v=h;            

  1373.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;                           

  1374.                             }

  1375.               }

  1376.               if(date<=190 && date>175)

  1377.               {

  1378.                             h=12;

  1379.                             if(v<h)

  1380.                             {

  1381.                                           v=h;            

  1382.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;                                         

  1383.                             }                           

  1384.               }

  1385.               if(date<=205 && date>190)

  1386.               {

  1387.                             h=13;

  1388.                             if(v<h)

  1389.                             {

  1390.                                           v=h;            

  1391.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_7=0;P1_6=0;P1_5=0;

  1392.                             }                                         

  1393.               }

  1394.               if(date<=220 && date>205)

  1395.               {

  1396.                             h=14;

  1397.                             if(v<h)

  1398.                             {

  1399.                                           v=h;            

  1400.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_7=0;P1_6=0;                           

  1401.                             }            

  1402.               }

  1403.               if(date<=235 && date>220)

  1404.               {

  1405.                             h=15;

  1406.                             if(v<h)

  1407.                             {

  1408.                                           v=h;            

  1409.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=0;

  1410.                             }                                         

  1411.               }

  1412.               if(date>235)

  1413.               {

  1414.                             h=16;

  1415.                             if(v<h)

  1416.                             {

  1417.                                           v=h;            

  1418.                                           P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=1;                                         

  1419.                             }                                                      

  1420.               }

  1421. }



  1422. void sl()

  1423. {

  1424.               P3_0=0;//J1

  1425.               P3_1=0;//J2

  1426.               P3_3=0;//J3

  1427.               P3_4=0;//J4

  1428.               P3_5=0;//J5

  1429.               P3_6=0;//J6

  1430.               P3_7=0;//J7

  1431.               P2_0=0;//J8

  1432.               P2_1=0;//J9

  1433.               P2_2=0;//J10

  1434.               P2_3=0;//J11

  1435.               P2_4=0;//J12

  1436.               P2_5=0;//J13

  1437.               P2_6=0;//J14

  1438.               P2_7=0;//J15

  1439.               P4_4=0;//J16

  1440. }



  1441. void main()

  1442. {

  1443.               P4SW =0Xff;



  1444.               P4M0=0xef;//  BIN(11111111);//P2组设置为推挽输出

  1445.               P4M1=0x00;            



  1446.               P1M0=0xff;

  1447.               P1M1=0x00;

  1448.               P1ASF =1;                 //设置P1.0为AD口

  1449.     AUXR1 =BIN(100);

  1450.               init();



  1451.               P0M0=0xff;

  1452.               P0M1=0x00;

  1453.             

  1454.               while(1)

  1455.               {

  1456.                             if(moshi==1)dh1();

  1457.                             if(moshi==1)dh2();

  1458.                             if(moshi==1)dh3();

  1459.                             if(moshi==1)dh4();

  1460.                             if(moshi==1)dh5();

  1461.                             if(moshi==1)dh6();

  1462.                             if(moshi==1)dh7();

  1463.                             if(moshi==1)dh8();

  1464.                             if(moshi==1)dh9();

  1465.                             if(moshi==1)dh10();

  1466.             

  1467.                             if(moshi==0)

  1468.                             {

  1469.                                           sl();

  1470.                                           key();

  1471.                                           date=STC_ADC();

  1472.                                           pp();

  1473.                                           delay_1ms(2);                                         

  1474.                             }

  1475.               }

  1476. }



  1477. void InitTimer0() interrupt 1  // 1毫秒@11.0592MHz

  1478. {

  1479.     TL0 = (65536-10000)/256;        //设置定时初值

  1480.     TH0 = (65536-10000)%256;        //设置定时初值

  1481.               t++;

  1482.               if(t==3)

  1483.               {

  1484.                             t=0;

  1485.                             if(v==0);

  1486.                             else v--;



  1487.                             if(v==16){P1_7=1;}            

  1488.                             if(v==15){P1_7=0;}            

  1489.                             if(v==14){P1_7=0;P1_6=0;}            

  1490.                             if(v==13){P1_7=0;P1_6=0;P1_5=0;}

  1491.                             if(v==12){P1_7=0;P1_6=0;P1_5=0;P1_4=0;}            

  1492.                             if(v==11){P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;}            

  1493.                             if(v==10){P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;}            

  1494.                             if(v==9) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;}            

  1495.                             if(v==8) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;}            

  1496.                             if(v==7) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X7F;}//            

  1497.                             if(v==6) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X3F;}//                           

  1498.                             if(v==5) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X1F;}//            

  1499.                             if(v==4) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X0F;}//            

  1500.                             if(v==3) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X07;}//

  1501.                             if(v==2) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X03;}//                           

  1502.                             if(v==1) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X01;}//                           

  1503.                             if(v==0) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X00;}//                           

  1504.               }                                                      

  1505. }
复制代码


</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</h)
</q;i++)

评分

参与人数 1黑币 +1 收起 理由
芒果Oo + 1 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:200896 发表于 2017-5-21 20:20 | 只看该作者
这个程序下载到单片机里可以亮吗?
回复

使用道具 举报

板凳
ID:296403 发表于 2018-4-27 16:41 | 只看该作者
请问有改程序所对应的仿真图吗

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表