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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1694|回復: 0
打印 上一主題 下一主題
收起左側

基于ICL8038以及51單片機的簡易信號發生器測頻電路 程序原理圖PCB文件

[復制鏈接]
跳轉到指定樓層
樓主
附protel99畫的PCB原理圖、PCB圖、單片機代碼


單片機源程序如下:
  1. /***********************************************************
  2. 共陰數碼管
  3. ***********************************************************/
  4. #include<reg51.h>
  5. #define uchar         unsigned char
  6. #define uint        unsigned int
  7. uchar code acLEDCS[]={0x01,0x02,0x04,0x08};        /* 位選地址碼,“0”有效,位選接的是P0口低4位 */
  8. uchar code acLedSegCode[]={0x3f,0x06,0x5b,0x4f,
  9.                                                    0x66,0x6d,0x7d,0x07,
  10.                                                    0x7f,0x6f,0x77,0x7c};/* 段碼 */
  11. uchar acLED[4];                                                        /* 顯示緩沖區 */
  12. char  cScanIndex=0,flag=0;                                        /* 位選指針0~3 */
  13. uchar bdata cBakP0 = 0xf0;
  14. uint f=0,nTimer=0,speed=0;


  15. void display()                        
  16. {                                 
  17.                                                   //數據處理
  18.         acLED[0]=acLedSegCode[speed/10/1000];        /* LED顯示第1位 */
  19.         acLED[1]=0x80|acLedSegCode[speed/10/100%10];        /* LED顯示第2位 */
  20.         acLED[2]=acLedSegCode[speed/10/10%10];        /* LED顯示第3位 電機速率*/
  21.         acLED[3]=acLedSegCode[speed/10%10];                /* LED顯示第4位 */        
  22. }

  23. void main()
  24. {
  25.         TMOD= 0x15;
  26.         TH0 =0;                 
  27.         TL0 = 0;                        
  28.         TR0 = 1;
  29.         ET0 = 1;

  30.         TH1 = (65536-49989)/256;                 
  31.         TL1 = (65536-49989)%256;                        
  32.         TR1 = 1;
  33.         ET1 = 1;

  34.         EX0 = 1;                                /* 允許外部中斷0 */
  35.         EA = 1;                                        /* 開總中斷        */
  36.         while(1)
  37.         {
  38.         
  39.                 //*************************顯示刷新******************
  40.                 display();
  41.                 P1 = 0;                                        /* 先清顯示再換位選 */
  42.                 P0 = cBakP0 | acLEDCS[cScanIndex];                /* 送位選數據 */
  43.                 P1 = acLED[cScanIndex++];                /* 送顯示數據,位選指針移位 */   
  44.                 cScanIndex &= 3;                                /* 位選指針回位 */
  45.         if(flag==1)
  46.         {
  47.                 flag=0;
  48.                 display();
  49.                 f=0;
  50.                 nTimer=0;
  51.                 TH0=0;                                                                                                         
  52.         TL0=0;
  53.         TR0=1;
  54.         }

  55.         }
  56. }

  57. void  IntT0() interrupt 1
  58. {  
  59.         f++;
  60. }

  61. void  IntT1() interrupt 3
  62. {

  63.         TH1 = (65536-50045)/256;                 
  64.         TL1 = (65536-50045)%256;  
  65.         nTimer++;
  66.         if(nTimer == 20)
  67.         {
  68.                 speed =f*65536+TH0*256+TL0;
  69.                 TR0=0;
  70.                 flag=1;
  71.                 //nTimer=0;
  72.         }

  73. }
  74. /*void  Pint0() interrupt 0
  75. {
  76. }  */
復制代碼

所有資料51hei附件下載:
注意程序是Keil2版本的  PCB是protel99的老版本,如果你的電腦沒有安裝此軟件 請勿下載:
信號發生器ILC8038.7z (559.09 KB, 下載次數: 23)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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