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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3391|回復(fù): 2
收起左側(cè)

單片機(jī)控制三個(gè)CD4522計(jì)數(shù)器構(gòu)成的分頻器程序和仿真都有 求幫忙解釋程序

[復(fù)制鏈接]
ID:203687 發(fā)表于 2017-5-26 13:38 | 顯示全部樓層 |閱讀模式
這是一個(gè)由51單片機(jī)控制的三個(gè)CD4522計(jì)數(shù)器構(gòu)成的分頻器,其連接了一個(gè)LM016L和兩個(gè)按鍵,通過兩個(gè)按鍵控制分頻,求程序解釋,仿真和程序在附件: 仿真.zip (90.31 KB, 下載次數(shù): 29)

下面是proteus仿真原理圖文件
(附件中有工程文件下載):
0.png 0.png

0.png

單片機(jī)源程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit P34=P3^4;
  5. sbit lcdrs=P3^7;
  6. sbit lcden=P3^6;
  7. sbit P32=P3^2;
  8. sbit P33=P3^3;
  9. sbit P10=P1^0;
  10. uchar dispbuf[3]={0,0,1};
  11. uchar code table[]="0123456789";
  12. int i=0,temp;
  13. char temp_g,temp_s,temp_b;

  14. void delay(uchar z)
  15. {
  16. uchar x,y;
  17. for(x=z;x>0;x--)
  18.   for(y=110;y>0;y--);
  19. }


  20. void write_data(uchar date)
  21. {
  22. lcdrs=1;
  23. P0=date;
  24. delay(2);
  25. lcden=1;
  26. delay(2);
  27. lcden=0;
  28. }


  29. void write_com(uchar com)
  30. {
  31.     lcdrs=0;
  32.     P0=com;
  33.     delay(2);
  34.     lcden=1;
  35.     delay(2);
  36.     lcden=0;
  37. }


  38. void main()
  39. {
  40.          //TMOD=0x10;
  41.          //TH1=(65536-500)/256;
  42.          //TL1=(65536-500)%256;
  43.          //ET1=1;
  44.          PT1=1;
  45.          EX0=1;
  46.          EX1=1;
  47.          EA=1;
  48.          //TR1=1;
  49.          lcden=0;
  50.          //P1=0x00;
  51.          //P2=0x00;
  52.          //P10=1;
  53.          write_com(0x38);
  54.          write_com(0x0c);
  55.          write_com(0x04);
  56.          write_com(0x01);
  57.          write_com(0x80);
  58.          write_data('F');
  59.          write_data('r');
  60.          write_data('e');
  61.          write_data('q');
  62.          write_data('u');
  63.          write_data('e');
  64.          write_data('n');
  65.          write_data('c');
  66.          write_data('y');
  67.          write_data(':');
  68.          write_data('*');
  69.          write_com(0xc0+13);
  70.          write_data('K');
  71.          write_data('H');
  72.          write_data('z');
  73.          while(1)
  74.          {
  75.           if(temp==0)
  76.             {
  77.               temp=1;
  78.              if(i==0)
  79.              {
  80.                write_com(0x80+10);
  81.                write_data('*');
  82.           }
  83.               else
  84.               {
  85.                  write_com(0x80+10);
  86.                  write_data(' ');
  87.               }
  88.               if(i==1)
  89.              {
  90.                write_com(0x80+11);
  91.                write_data('*');
  92.           }
  93.               else
  94.               {
  95.                  write_com(0x80+11);
  96.                  write_data(' ');
  97.               }
  98.               if(i==2)
  99.                {
  100.                    write_com(0x80+12);
  101.                    write_data('*');
  102.                }
  103.                 else
  104.                 {
  105.                    write_com(0x80+12);
  106.                    write_data(' ');
  107.                 }
  108.                  write_com(0xc0+10);
  109.                  write_data(table[dispbuf[0]]);
  110.                  write_data(table[dispbuf[1]]);
  111.                  write_data(table[dispbuf[2]]);
  112.                  temp_g=dispbuf[2]&0x0f;
  113.                  temp_s=dispbuf[1]&0x0f;
  114.                  temp_s=temp_s<<4;
  115.                  temp_b=dispbuf[0]&0x0f;
  116.            P2=temp_b|temp_s;
  117.            P1=temp_g;
  118.           }
  119.          }
  120. }
  121. //void int50ms() interrupt 3
  122. //{
  123. // TR1=0;
  124. // TH1=(65536-500)/256;
  125. // TL1=(65536-500)%256;
  126. // P34=~P34;
  127. // TR1=1;
  128. //}
  129. void INEX0() interrupt 0
  130. {
  131. delay(2);
  132. if(P32==0);
  133. {
  134.   temp=0;
  135.   ++i;
  136.   if(i>3)
  137.   i=0;
  138. }
  139. while(P32==0);
  140. }
  141. void INEX1() interrupt 2
  142. {
  143. delay(2);
  144. if(P33==0);
  145. {
  146.   temp=0;
  147.   dispbuf[i]++;
  148.   if(dispbuf[i]>9)
  149.   dispbuf[i]=0;
  150. }
  151. while(P33==0);
  152. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:203687 發(fā)表于 2017-5-26 13:39 | 顯示全部樓層
求主要步驟解釋,有大神嗎
回復(fù)

使用道具 舉報(bào)

ID:906989 發(fā)表于 2021-4-18 01:12 來自觸屏版 | 顯示全部樓層
求電路圖講解
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片,一级毛片 | 91精品国产91久久综合桃花 | 黄网站涩免费蜜桃网站 | 日韩成人免费视频 | ww 255hh 在线观看 | 精品久久久久久红码专区 | 日本在线你懂的 | 久久午夜视频 | 亚洲国产一区二区三区在线观看 | 毛片一级片| 一区二区三区精品视频 | 久久99精品久久久 | 三级成人片 | 成人免费视频网站在线观看 | 日韩中文不卡 | 国产一区二区影院 | 日日摸夜夜添夜夜添精品视频 | 欧美日韩中文国产一区发布 | 亚洲欧洲精品成人久久奇米网 | 操到爽 | 精久久 | 久久99久久98精品免观看软件 | 成人在线免费网站 | 九九久久这里只有精品 | 日韩中文字幕视频 | 国产三级精品三级在线观看四季网 | 夜夜精品浪潮av一区二区三区 | 超碰在线播 | 色欧美综合| 久久综合久色欧美综合狠狠 | 久久毛片网站 | 一级毛片免费 | 性网址| 国产免费福利在线 | 三级成人在线观看 | 精品美女在线观看 | 在线播放中文字幕 | 鲁大师一区影视 | 国产在线精品一区二区 | 在线观看亚洲一区二区 | 999免费视频|