欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5674|回復: 5
收起左側

51單片機光控計數器仿真與源碼

[復制鏈接]
ID:302886 發表于 2018-4-6 20:27 | 顯示全部樓層 |閱讀模式
單片機光控計數器仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png

單片機源程序如下:
  1. #include <reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義

  2. #define DataPort P2 //定義數據端口 程序中遇到DataPort 則用P0 替換
  3. sbit    LATCH1=P3^5;//定義鎖存使能端口 段鎖存
  4. sbit    LATCH2=P3^4;//                 位鎖存
  5. sbit   HW1=P3^2;
  6. sbit   HW2=P3^3;
  7. sbit  led=P1^4;
  8. sbit  qing=P1^2;
  9. unsigned int  num;
  10. unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9

  11. unsigned char code dofly_WeiMa[]={0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7};//分別對應相應的數碼管點亮,即位碼,567801234

  12. unsigned char TempData[8]; //存儲顯示值的全局變量

  13. void delay(unsigned int i)
  14.    {
  15.    while(i--);
  16.     }

  17. void Display(unsigned char FirstBit,unsigned char Num)
  18. {
  19.        
  20.     unsigned char i;
  21.           
  22.           for(i=0;i<Num;i++)
  23.           {
  24.                            DataPort=0;   //清空數據,防止有交替重影
  25.                                  LATCH1=1;     //段鎖存
  26.                                  LATCH1=0;

  27.                                  DataPort=dofly_WeiMa[i+FirstBit]; //取位碼
  28.                                  LATCH2=1;     //位鎖存
  29.                                  LATCH2=0;

  30.                                  DataPort=TempData[i]; //取顯示數據,段碼
  31.                                  LATCH1=1;     //段鎖存
  32.                                  LATCH1=0;
  33.                                  
  34.                            delay(50); // 掃描間隙延時,時間太長會閃爍,
  35.                                                                                  //太短會造成重影

  36.    }

  37. }




  38. void   disp()
  39. {
  40.      unsigned char  j;
  41.   
  42.                                         for(j=0;j<200;j++)
  43.                                         {  if(j==40)
  44.                                             {
  45.                                                        
  46.                                             if(num==100)
  47.                                              num=0;
  48.                                             }
  49.                                          TempData[0]=dofly_DuanMa[num/10];//分解顯示信息,
  50.                                                                                                                 //如要顯示68,則68/10=6  68%10=8  
  51.                                          TempData[1]=dofly_DuanMa[num%10];
  52.                                        
  53.                                         }
  54. }



  55.   void jia()
  56. {

  57. if(HW1==0)
  58. while(HW2==1)          Display(5,2);
  59. if(HW2==0)
  60. {
  61. num++;
  62. led=0;
  63. if(num==99)
  64. num=0;
  65. }
  66. while(HW2==0)          Display(5,2);
  67.        
  68. }



  69. void jian()
  70. {
  71.   if(HW2==0)
  72.         while(HW1==1)    Display(5,2);
  73.         if(HW1==0)
  74.         {
  75.         if(num>0)
  76.         num--;
  77.         led=0;
  78.         if(num==0)
  79.         num=0;
  80.         }
  81.         while(HW1==0) Display(5,2);
  82.        
  83. }



  84. void main()
  85. {  
  86.    while(1)
  87.         {
  88.                 led=1;
  89.                 if(HW1==0)
  90.                 jia();
  91.                 if(HW2==0)
  92.                 jian();
  93.                 disp();
  94.                 if(qing==0)
  95.                 num=0;
  96.                  Display(5,2);
  97. }

  98. }
復制代碼

所有資料51hei提供下載:
實驗1.rar (167.92 KB, 下載次數: 97)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:758310 發表于 2020-9-9 15:02 | 顯示全部樓層
hhhh,我打不開了,不過還是謝謝樓主,我自己畫了
回復

使用道具 舉報

ID:620565 發表于 2020-9-10 17:15 來自觸屏版 | 顯示全部樓層
請問樓主,那兩個非門起什么作用
回復

使用道具 舉報

ID:652783 發表于 2020-9-23 20:41 | 顯示全部樓層
有人能解釋一下這個圖形  步驟什么的么
回復

使用道具 舉報

ID:652783 發表于 2020-9-23 20:48 | 顯示全部樓層
請問樓主 能對proteus圖進行一下比較簡單的解釋么
回復

使用道具 舉報

ID:1150716 發表于 2025-5-17 10:14 | 顯示全部樓層
好的
謝謝博主
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表