久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 03 數碼管類單片機系統(proteus仿真+keil5) [打印本頁]

作者: 幽水蓼藍    時間: 2019-12-16 09:32
標題: 03 數碼管類單片機系統(proteus仿真+keil5)
本帖最后由 幽水蓼藍 于 2019-12-16 10:00 編輯

單片機仿真實習任務:
03 數碼管類單片機系統

  1. /****************************************************************                                                                 *
  2. 90秒倒計時
  3. ***************************************************************/
  4. /* 11.0952M晶振*/
  5. #include<reg51.h>//頭文件
  6. #include<intrins.h>//頭文件

  7. /*數碼管顯示0-9*/
  8. unsigned int code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

  9. int time=90;//定時

  10. sbit k1=P3^2;  //定義按鍵啟動

  11. unsigned int aa,shi,ge; //定義變量
  12. /*********************************************************
  13.    子函數聲明
  14. *********************************************************/
  15. void Daojishi();//倒計時
  16. void  display(unsigned int shi,unsigned int ge);
  17. void Time_T0();
  18. void Int0Init();
  19. void  xtimer0();  
  20. void delay(unsigned char j);
  21. void  delay0(unsigned int z);

  22. /*********************************************************
  23.    主函數
  24. *********************************************************/
  25. void main()
  26. {        
  27.         while(1)
  28.         {
  29.                 Daojishi();
  30.         }
  31. }

  32. void Daojishi()//倒計時
  33. {
  34.         unsigned int temp;
  35.         temp= time;//變量賦初值
  36.         Time_T0();
  37.         while(1)
  38.         {        
  39.                 if(aa==20)//定時20*50MS=1S
  40.                 {
  41.                         aa=0;//定時完成一次后清0
  42.                         temp--;//變量自增
  43.                         if(temp==4)//定時100S
  44.                         {
  45.                                 temp=25;//變量清0
  46.                                 break;
  47.                         }
  48.                         shi=temp%100/10;//顯示十位
  49.                         ge=temp%10;//顯示個位         
  50.                 }
  51.                 display(ge,shi);
  52.         }
  53. }

  54. /*******************************************************************************
  55. * 函 數 名         : display(unsigned int shi,unsigned int ge)
  56. * 函數功能         : 兩位數碼管顯示子函數
  57. * 輸    入         : 無
  58. * 輸    出         : 無
  59. *******************************************************************************/
  60. void  display(unsigned int shi,unsigned int ge)
  61. {
  62.         P0=0xfe;
  63.         P2=table[shi];//顯示十位
  64.         delay0(5);
  65.         P0=0xfd;
  66.         P2=table[ge];//顯示個位
  67.         delay0(5);
  68. }

  69. /*******************************************************************************
  70. * 函 數 名         : Time_T0()
  71. * 函數功能         : 定時器0工作于方式1,設定
  72. * 輸    入         : 無
  73. * 輸    出         : 無
  74. *******************************************************************************/
  75. void Time_T0()
  76. {
  77.         TMOD=0x01;//定時器0工作于方式1
  78.         TH0=0x4c;
  79.         TL0=0x00;//定時器賦初值
  80.         EA=1;//開外部中斷
  81.         ET0=1;//開定時中斷
  82.         TR0=1;//開定時器0
  83. }
  84. /*******************************************************************************
  85. * 函 數 名         : Int0Init()
  86. * 函數功能         : 設置外部中斷0
  87. * 輸    入         : 無
  88. * 輸    出         : 無
  89. *******************************************************************************/
  90. void Int0Init()
  91. {
  92.         //設置INT0
  93.         IT0=1;//跳變沿出發方式(下降沿)
  94.         EX0=1;//打開INT0的中斷允許。
  95.         EA=1;//打開總中斷
  96. }

  97. /*******************************************************************************
  98. * 函 數 名         : xtimer0()  interrupt 1
  99. * 函數功能         : 定時中斷子函數
  100. * 輸    入         : 無
  101. * 輸    出         : 無
  102. *******************************************************************************/
  103. void  xtimer0()  interrupt 1
  104. {
  105.         TH0=0x4c;
  106.         TL0=0x00;
  107.         aa++;
  108. }

  109. /*********************************************************
  110.    延時子函數0.24ms
  111. *********************************************************/
  112. void  delay0(unsigned int z)
  113. {
  114.         unsigned int i,j;
  115.         for(i=0;i<z;i++)
  116.                 for(j=0;j<110;j++);
  117. }
  118. /*********************************************************
  119.    500ms延時函數
  120.    晶振:11.0592MHz
  121. *********************************************************/
  122. void delay(unsigned char j)
  123. {
  124.    unsigned char k;
  125.    unsigned int i;
  126.    for(;j>0;j--)
  127.   {
  128.      for(i=1250;i>0;i--)
  129.      {
  130.        for(k=180;k>0;k--);
  131.      }
  132.    }
  133. }
復制代碼

03 Digital tube MCU system.rar

112.19 KB, 下載次數: 10, 下載積分: 黑幣 -5






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产欧美日韩精品一区二区三区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 国产在线播放一区二区三区 | 九九99靖品 | 精品91久久 | 日韩一区二区三区四区五区 | 日韩中文在线观看 | 我要看免费一级毛片 | 欧美性久久久 | 91免费看片 | 国产综合久久 | 欧美一区二不卡视频 | 日本免费在线 | 欧美日韩综合视频 | 亚洲bt 欧美bt 日本bt | 蜜臀av日日欢夜夜爽一区 | 国产在线一区观看 | 福利视频一区二区三区 | 国产在线二区 | 午夜免费精品视频 | 日韩免费av网站 | 国产精品日韩一区 | 一级黄色录像毛片 | 自拍视频国产 | 久久亚洲精品久久国产一区二区 | 日韩一区二区三区视频 | 国产精品视频久久 | 欧美日韩高清在线一区 | 一级片免费网站 | 国产视频第一页 | 亚洲精品一区二区久 | 久久久久一区 | 亚洲一区 中文字幕 | www.天天操 | 日本一区二区三区在线观看 | 久久久久久看片 | 国产福利网站 | 高清一区二区 | 91天堂 | 精品国产高清一区二区三区 | 日韩一区二 |