单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 453|回复: 5
收起左侧

一款高性能avr单片机频率计程序 10khz

[复制链接]
jinsheng7533967 发表于 2018-12-18 04:22 | 显示全部楼层 |阅读模式
QQ截图20181218041101.jpg
  1. #include <iom16v.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. const uchar SEG_CODE[] =
  5. {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};

  6. int main()
  7. {
  8.         uchar  LastKey = 0xff;
  9.         
  10.         DDRA = 0xff;   
  11.         
  12.         DDRB = 0xff;  
  13.         
  14.         DDRC = 0xff;   PORTC = 0xff;
  15.         
  16.         DDRD = 0x00;   PORTD = 0xff;
  17.         
  18.         TCCR1B = BIT(ICNC1) | BIT(ICES1);
  19.         
  20.         sei();
  21.         
  22.         while(1)
  23.                
  24.         {
  25.                
  26.                 if( LastKey != PINC)
  27.                         
  28.                 {
  29.                         TIMSK = BIT(TICIE1);
  30.                         
  31.                         TCCR1B |= 0x01;
  32.                         
  33.                         LastKey = PINC;
  34.                         
  35.                 }
  36.                
  37.                 Show_FRQ_ON_DSY();
  38.                
  39.         }        
  40. }

  41. ISR (TIMER1_CAPT_vect)
  42. {
  43.         
  44.         uchar  i;
  45.         
  46.         if(CAPi == 0)CAPi = ICR1;
  47.         
  48.         else
  49.                
  50.         {
  51.                 CAPj = ICR1 - CAPi;
  52.                
  53.                 CAPj = 1000000/CAPj;
  54.                
  55.                 TIMSK = 0;
  56.                
  57.                 TCCR1B &= 0xfc;
  58.                
  59.                 for(i = 3;i != 0xff;i--)
  60.                         
  61.                 {
  62.                         
  63.                         Display_Buffer[i] = CAPj % 10;
  64.                         
  65.                         CAPj /= 10;
  66.                         
  67.                 }
  68.                
  69.                 TCNT1 = CAPi = CAPj =0;
  70.                
  71.         }
  72.         
  73. }
复制代码



评分

参与人数 3黑币 +73 收起 理由
站着说话不腰疼 + 8
shuisheng + 15
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

admin 发表于 2018-12-18 15:46 | 显示全部楼层
仿真工程能分享下吗?
回复

使用道具 举报

 楼主| jinsheng7533967 发表于 2018-12-18 16:07 | 显示全部楼层
传上了
一款高性能avr单片机频率计程序.zip (17.83 KB, 下载次数: 6)
回复

使用道具 举报

shuisheng60 发表于 2019-2-3 21:12 | 显示全部楼层
好东东,谢谢分享!
回复

使用道具 举报

sheng7533967 发表于 2019-2-7 00:34 | 显示全部楼层
很好的东东咯
回复

使用道具 举报

songxia8013 发表于 2019-2-25 20:02 | 显示全部楼层
程序怎么编译不了呢??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机. 联系QQ:125739409;技术交流QQ群582644647

Powered by 单片机教程网

快速回复 返回顶部 返回列表