找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3989|回復(fù): 1
收起左側(cè)

avr單片機智能頻率計的設(shè)計+仿真+程序資料

[復(fù)制鏈接]
ID:609771 發(fā)表于 2019-9-10 11:27 | 顯示全部樓層 |閱讀模式
智能頻率計仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 51hei瀏覽器截圖20190910112633.png

單片機源程序如下:
  1. #ifndef main_c   //test ok
  2.   #define main_c
  3. #endif

  4. #include "main.h"
  5. //************************全局變量

  6. volatile uint t0_cont;

  7. volatile uint t1_cont;
  8. volatile uchar flg1; //
  9. //-------------------------------------------------------------------------
  10. //     測試函數(shù) 用來初始化
  11. //-------------------------------------------------------------------------
  12. void test()
  13. {
  14.   send_str( "pinlvji" ); //完成后把所有串口去掉
  15.   showstr( "cymometer", 1, 1, 9 ); //液晶顯示
  16. //  showstr( "1KHz", 12, 1, 4 );
  17.   showstr( "Hz", 14, 2, 2 );
  18. }

  19. //-------------------------------------------------------------------------
  20. //mcu初始化 端口 定時器 中斷 外中斷 變量
  21. //-------------------------------------------------------------------------
  22. void mcu_init()
  23. {
  24. //******************端口
  25.   data_direc = out; //輸出
  26.   DDRB = out; //輸出
  27.   DDRC = out; //輸出
  28.   PORTC = 0X00; //輸出0

  29.   DDRB=0XE0;   //輸入口      
  30.   PORTB=0XE9;
  31. //********************定時器
  32.   TIMSK |= 0x12; //定時中斷允許位 只允許兩個匹配
  33. }

  34. //-------------------------------------------------------------------------
  35. //       主函數(shù)
  36. //-------------------------------------------------------------------------
  37. int main()
  38. {
  39.   uchar f_t; //用測頻還是測周
  40. //******************
  41.   mcu_init();                 //初始化
  42.   usart_init( 57600 );        //初始化
  43.   send_str( "com ok" ); //完成后把所有串口去掉
  44.   yj_set( 0x38, 0x0f, 0x06 ); //初始化
  45.   clearall(); //初始化
  46.   mzd_on();   //開中斷

  47.   #if debug
  48.     test();
  49.   #endif

  50.   while ( 1 )
  51.   {
  52.     if ( !( PINB& ( 1 << 3 )))
  53.     {
  54.       refish();       //刷新所有的東西
  55.       f_t = hz_try(); //估計范圍 1k
  56.       if ( f_t )
  57.       {
  58.         cl_f(); //頻率法
  59.       }
  60.       else
  61.       {
  62.         cl_t(); //周期法
  63.       }
  64.     }
  65.   }
  66.   return 1;
  67. }
復(fù)制代碼

所有資料51hei提供下載:
一種智能頻率計的設(shè)計與制作(AVR)proteus仿真 程序資料.rar (89.88 KB, 下載次數(shù): 43)


回復(fù)

使用道具 舉報

ID:486426 發(fā)表于 2019-11-20 17:01 | 顯示全部樓層
還沒入門,謝謝分享
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表