/**************************************************************** 外部晶振8M PA0~3:四位数码管的位选 PB0~7:数码管的8位段选 外部中断0用于计数 定时器0溢出中断的定时为1ms 说明 :检测到水流较小时,继电器延时1秒关闭 ******************************************************************/ #include<iom16v.h> #include<macros.h> #define uchar unsigned char #define uint unsigned int char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //数码管段选 char position[4]={0xfe,0xfd,0xfb,0xf7};//数码管位选 uint sumnum=0; //用于记录1000ms内进入中断的次数 uint time=0; //记录进入比较定时器0的次数 uint num=0; //记录1ms内进入中断的次数 uint count=0; //进入外部中断0的次数 uchar flag; uint sumnum1; //记录100ms内的数目 /***************************函数声明***************************/ void delay(); void display(uint m ); void init(); void init_0(); void init_2(); void _delay_us(uint l) { unsigned int i; for(i=0;i<l;i++) { asm("nop"); } } /**************************主函数***********************************/ void main() { init(); init_0(); init_2(); while(sumnum<5) { PORTD=0XBF; segdisplay(sumnum1); } while(1) { segdisplay(sumnum1); } } /*************************扫描数码管时的延时函数*********************/ void delay() { uchar i,j; for(i=6;i>0;i--) for(j=225;j>0;j--); } /************************数码管显示函数*****************************/ void segdisplay( int temp) { int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int temp1,temp2,temp3,temp4; temp1=temp/1000; temp2=(temp/100)%10; temp3=(temp/10)%10; temp4=temp%10; DDRB=0xff; DDRA|=0x0f; PORTA=~BIT(3); PORTB=seg[temp1]; _delay_us(100); PORTA=~BIT(2); PORTB=seg[temp2]; _delay_us(100); PORTA=~BIT(1); PORTB=seg[temp3]; _delay_us(100); PORTA=~BIT(0); PORTB=seg[temp4]; _delay_us(100); } /***********************管脚初始化函数*********************/ void init() { DDRD|=0X40; //PD4 设置为输出 PORTD=0XBF; DDRA=0XFF; DDRB=0XFF; PORTA=0XFF; PORTB=0XFF; } /***********************外部中断0初始化*********************/ void init_0() { MCUCR=0X02; //INT0为下降沿触发 GICR=0X40; //使能INT0中断 SREG=0X80; //使能总中断 } /**********************定时器2初始化***********************/ void init_2() { TCCR0=0x03; // 内部时钟,64 分频(8M/64=125KHz) TCNT0=0x83; //装初值 TIMSK=0x01; // 允许 T/C0溢出中断中断 } /***********************外部中断0子函数********************/ #pragma interrupt_handler int0_isr:2 void int0_isr(void) { count++; } /*********************定时计数器0溢出中断子函数*****************/ #pragma interrupt_handler int0_over:10 void int0_over(void) { TCNT0=0x83; //重装初值 if((time%100) == 0) sumnum1 = num; if(time == 1000) { sumnum=num; if(sumnum<10) { if((flag==1)&&(sumnum<10)) { PORTD=0XFF; flag=0; } flag++; } else PORTD=0XBF; num=0; time=0; } num+=count; count=0; ++time; }
标签: C语言
上传时间: 2016-03-09
上传用户:彦 yan
飒飒错额服务V问题 饭店服务稳 额外热额范围乳房 额违法稳巍峨为人父额
标签: 撒旦
上传时间: 2016-03-15
上传用户:xc1441325912
DLMS 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 配电线报文规范(Distribution Line Message Specification) [IEC 62056-53]是应用层规范,独立于应用层以下的各个低层,因而也就与通信信道无关,设计用于在计算机集成环境中支持与(能量)分配设备间的消息交换,是由IEC TC57建立并以IEC 61334-4-41发布的国际标准。 中文名 配电线报文规范 外文名 Distribution Line Message Specification) 建立者 IEC TC57 应用领域 于抄表、远程控制以及增值服务等 这个概念被进一步发展成为设备语言报文规范,其目的在于为结构化建模和仪表数据交换提供一个互操作环境,支持任何能量类型如电、水、气或热的计量,应用于远程抄表、远程控制以及增值服务
上传时间: 2016-04-07
上传用户:auqaiss
里面有51单片机大多数程序 发光二极管 流水灯 案件 蜂鸣器 继电器 数码管 矩阵键盘 等等
上传时间: 2016-04-29
上传用户:zhanggaolin
服务收费而且啊封测父亲父亲鹅防热确认的服务费v为人父亲为服务让他热污染
上传时间: 2016-05-02
上传用户:libaihui
本设计开发了一款基于单片机的指纹识别电子密码锁系统。该系统以ATmeg16单片机作为模块核心,通过串口通信控制ZAZ-010指纹模块实现录取指纹并存储指纹数据,并通过HS12864-15C液晶显示比对流程及比对结果,辅以直流继电器与发光二极管模拟开锁的动作。本系统具有体积小、性价比高、传输速度快、适合家庭及单位使用。
上传时间: 2016-05-22
上传用户:lucifer048
本设计开发了一款基于单片机的指纹识别电子密码锁系统。该系统以ATmeg16单片机作为模块核心,通过串口通信控制ZAZ-010指纹模块实现录取指纹并存储指纹数据,并通过HS12864-15C液晶显示比对流程及比对结果,辅以直流继电器与发光二极管模拟开锁的动作。本系统具有体积小、性价比高、传输速度快、适合家庭及单位使用。
标签: LCD 128 64 指纹识别 单片机控制 程序 液晶显示
上传时间: 2016-05-22
上传用户:lucifer048
通用串行总线(usb Universal Serial Bus)是一种计算机与外部设备连接的新技术,相对于PC传统的串/并行接口,USB具有较高的数据传输率、即插即用、热插拔、易扩充和低成本等优点。从USB标准颁布以来的短时间内,USB已成为PC必备的标准接口。 基于C51的usb信号发生器固件源代码。
上传时间: 2016-05-26
上传用户:Tera_chen
他还会有人人柔和而惹我我个他人五人份通过委托股份而过儿童个人提供热热通过
标签: 计划投入和一条
上传时间: 2016-05-29
上传用户:linana2
电力工程电缆设计规范 GB 50217-2007 3 电缆型式与截面选择 3.1 电缆导体材质 3.2 电力电缆芯数 3.3 电缆绝缘水平 3.4 电缆绝缘类型 3.5 电缆护层类型 3.6 控制电缆及其金属屏蔽 3.7 电力电缆导体截面 4 电缆附件的选择与配置 4.1 一般规定 4.2 自容式充油电缆的供油系统 5 电缆敷设 5.1 一般规定 5.2敷设方式选择 5.3地下直埋敷设 5.4保护管敷设 5.5电缆构筑物敷设 5.6其他公用设施中敷设 5.7水下敷设 6电缆的支持与固定 6.1 一般规定 6.2 电缆支架和桥架 7 电缆防火与阻止延燃 附录A 常用电力电缆导体的最高允许温度 附录B 10kV及以下电力电缆经济电流截面选用方法 附录C 10kV及以下常用电力电缆允许100%持续载流量 附录D 敷设条件不同时电缆允许持续载流量的校正系数 附录E 按短路热稳定条件计算电缆导体允许最小截面的方法
上传时间: 2016-05-31
上传用户:fffvvv