单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 694|回复: 5
打印 上一主题 下一主题
收起左侧

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

  [复制链接]
跳转到指定楼层
楼主
jinsheng7533967 发表于 2018-12-18 04:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  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 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

沙发
admin 发表于 2018-12-18 15:46 | 只看该作者
仿真工程能分享下吗?
回复

使用道具 举报

板凳
 楼主| jinsheng7533967 发表于 2018-12-18 16:07 | 只看该作者
传上了
一款高性能avr单片机频率计程序.zip (17.83 KB, 下载次数: 10)
回复

使用道具 举报

地板
shuisheng60 发表于 2019-2-3 21:12 | 只看该作者
好东东,谢谢分享!
回复

使用道具 举报

5#
sheng7533967 发表于 2019-2-7 00:34 | 只看该作者
很好的东东咯
回复

使用道具 举报

6#
songxia8013 发表于 2019-2-25 20:02 | 只看该作者
程序怎么编译不了呢??
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

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