#include<avr/io.h>
#include<avr/signal.h>
#include<avr/interrupt.h>
#include<util/delay.h>
#define uint unsigned int
#define uchar unsigned char
static uchar interrupt ,count;
static uchar b;
uint a;
SIGNAL(SIG_OVERFLOW1)/*溢出中断*/
{  TCNT1H=0X7F;TCNT1L=0XFC;interrupt++;if(interrupt==a){interrupt=0;PORTD=~PORTD;}}
void timer()
{  TCCR1A=0x00;  TCNT1H=0X7F;TCNT1L=0XFC;//{(0xff-0xb2)+1}*1*(1/8MHZ)=0.1ms/*TCNT1L=0xb1;*/  TCCR1B=1;//控制寄存器,1分 TIMSK=0x04;//中断屏蔽寄存器,定时器0溢出中断使能sei();}
uchar data[4]={0,0,0,0};//显示初值:0000
uchar table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void process(uchar z,uchar *p)//计数值处理函数,此函数用于拆分BCD码的千百十个位数
{p[0]=z/1000;z=z%1000;p[1]=z/100;z=z%100;p[2]=z/10;z=z%10;p[3]=z;}void display(uchar *p)//动态显示函数。参数p为待显示的数组名
{ uchar j,sel=0x01;for(j=0;j<4;j++){PORTA=sel;PORTB=table[p[j]];_delay_ms(10);sel=sel<<1;}switch(b){case(1):a=10   ;break;case(2):a=20   ;break;case(3):a=30   ;break;case(4):a=40   ;break;case(5):a=50   ;break;case(6):a=60   ;break;case(7):a=70   ;break;case(8):a=80   ;break;case(9):a=90   ;break;case(10):a=100 ;break;case(11):a=110  ;break;case(12):a=120;break;case(13):a=130  ;break;case(14):a=140 ;break;case(15):a=150  ;break;case(16):a=160  ;break;case(17):a=170  ;break;case(18):a=180  ;break;case(19):a=190  ;break;case(20):a=200;break;}
}
void main()
{ DDRD=0xff;DDRB=0XFF;DDRC=0X00;DDRA=0XFF; timer();uchar i;while(1){process(b,data);display(data);if((PINC&0x01)==0){b++;if(b==21)b=1;display(data);for(i=0;i<9;i++) _delay_ms(300);}if((PINC&0x02)==0){b--;if(b==0)b=21;display(data);for(i=0;i<9;i++)_delay_ms(300);}}
}

基于ATmega16单片机 程控滤波器程序源代码相关推荐

  1. 基于ATMEGA16单片机,MQ-3酒精传感器,LCD1602液晶显示的酒精浓度检测阈值报警仪

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 本文章为个人单片机课程大作业,代码都是自己写的,只是记录自己的学习过程,不做任何商用. 目录 单片机大作业: 一.使用仪器.材料 二. ...

  2. AVR单片机计算器C语言源程序,一个基于AVR单片机的计算器程序.doc

    一个基于AVR单片机的计算器程序 #include #include//延时函数的头文件 #include // 中断函数的头文件 #define uint unsigned int #define ...

  3. 基于ATmega16单片机和GPS的多用途定位仪设计

    目录 摘要 I Abstract II 第1章绪论 1 1.1 课题研究的背景及意义 1 1.2国内外研究现状 1 1.2.1 外国研究发展现状 1 1.2.2国内研究发展现状 2 1.3课题研究技术 ...

  4. 基于ATMEGA16单片机的空调控制器

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87853101 源码获取 主要内容: ...

  5. 基于51单片机的adc0832程序编写的学习

    adc0832程序编写 文章目录 前言 一.ADC0832是什么? 二.执行代码 总结 前言 基于C51单片机项目的传感器数据采集,由于传感器是模拟输出,单片机接收传感器需要将模拟信号转换为数字信号才 ...

  6. 基于LTC1068的程控滤波器

    一 项目功能介绍 该装置包括放大器增益可调和滤波器工作模式及工作频率可调.此装置可广泛应用于信号处理.仪器仪表和工业控制等方面.以下为详细功能介绍: (1)放大器输入正弦信号电压峰峰值为20mV,电压 ...

  7. 51单片机频率计c语言程序,基于51单片机的频率计程序

    这个是电路原理图 *********************************************** **************入门级频率计设计****************** ** ...

  8. 单片机c语言程序开发洗衣机,基于51单片机的洗衣机程序

    题目:设置过程,有一个水位选择按键,选择6个水位之一,相应的有六个水位检测点,仿真时用六个开关表示.有一个程序选择按键,选择8个程序之一.一个启动/停止键,按照所选程序自动洗衣.(2)洗衣过程,模拟完 ...

  9. 烟雾传感器的matlab程序,基于51单片机的烟雾传感器程序

    #include #include #define uchar unsigned char                // 以后unsigned char就可以用uchar代替 #define u ...

  10. 单片机时间控制器c语言程序,基于AT89C52单片机实时时钟程序编写

    #include'reg52.h' //包含单片机寄存器的头文件 #include'intrins.h' //包含_nop_()的头文件 sbit RS=P2^0; //LCD读写选择位 sbit R ...

最新文章

  1. Android- assent和raw的区别
  2. 使用Redis分布式锁处理并发,解决超卖问题
  3. 「android」查看应用占用cpu和内存消耗情况
  4. 民生银行 IT运维故障管理 可视化案例
  5. 深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
  6. android关机分区卸载,Android关机重启流程(二)
  7. 如果你跟夕小瑶恋爱了...(下)
  8. 传统 JDBC 编程详解
  9. wps下一步快捷键_WPS表格常用快捷键大全(非常全面)
  10. 基于python的单词查询
  11. 网线接法只有两头线序一样就行了吗?
  12. Linux:理论 面试
  13. 如何打造数字原生企业?易捷行云EasyStack有话要说
  14. wstmart知识记录
  15. 苹果id退出后数据还在吗_答疑你的手机连接WiFi后,会关闭移动数据吗?
  16. Orz 终于有了自己的博客地址
  17. 移植Opencv到arm tq2440
  18. 使用Maya和Substance Painter制作一辆越野赛车(1)
  19. 无线时长连接服务器,ESP8266无线NTP Stratum1服务器的制作
  20. 蓝色版PTCMS仿蜻蜓听书小说站源码+带采集规则/安装教程

热门文章

  1. 在win11和win10的edge浏览器运行flash网址设置详解
  2. html5直播礼物动画,GitHub - General757/giftanim: 直播礼物动画 送赞送礼物动画 仿映客礼物动画侧栏弹出送花人和礼物以及x1 x2 x3效果,支持队列 排序...
  3. 聊聊如何对员工做绩效考核
  4. php 开源 博客,推荐常用PHP开源博客TOP10
  5. ensp由于win10 ARP表项未过期导致网络不通排查
  6. 数据结构 --- c语言实现双向循环链表
  7. 超星尔雅移动图书馆账号密码
  8. 十分钟利用windows7漏洞破解开机密码
  9. HTML MarkDown编辑器实现
  10. MSP430+CC2500低功耗注意细节