A design about 8051 (running at 12MHz) based system with 3 7-Seg displays and two buttons to implement the following functions. 1. When press the + button, the display C = A+B. 2. When press the button, the display C = A - B. “A” and “B” are 8-bit inputs when “C” is 9-bit output.
上传时间: 2015-05-05
上传用户:guoxiy
gif捕捉制作工具: Demo ends:1034044285 名字:kukuasir 注册码:这里输入新注册码 录制区域:0,0 1024x738 帧的延时:500 帧间透明:是 记录时间信息:是 循环:是 屏幕仿真:是 覆盖边缘:是 覆盖指针:是 Explorer 2.0 兼容:否 录制尺寸:100
标签: gif捕捉制作
上传时间: 2015-10-19
上传用户:dumpsoft
/**************************************************************** 外部晶振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
开关电源因其高效节能引起社会各方面的重视,现已成为通用开关电源、专用开关电源及特种开关电源优选集成电路。多年来对开关电源的核心单元—控制电路实现集成化是开关电源的发展方向,因此开关电源研究有很大的研究价值。 本文通过节能型恒流开关电源的工作原理,根据方案设计技术参数,给出了整体电路设计的理论依据;然后根据设计要求提出了整体电路的实现架构,并且阐述了整体电路工作原理和子电路的性能要求。介绍了输入整流与滤波、变压器、功率开关管、控制器、保护电路、电流电压反馈网络、输出整流续流与滤波、稳压恒流输出模块。最后,应用Multisim仿真软件对子电路模块和整体电路进行功能仿真验证,仿真结果满足要求,进一步验证理论分析和设计的正确性,也是设计理论与实践相结合的一次有价值的尝试。
标签: 开关电源 仿真
上传时间: 2016-05-08
上传用户:路人癸S
开关电源的主要电路是由输入电磁干扰滤波器(EMI)、整流滤波电路、功率变换电路、PWM 控制器电路、输出整流滤波电路组成。辅 助电路有输入过欠压保护电路、输出过欠压保护电路、输出过流保护电路、输出短路保护电路等。
标签: 开关电源原理
上传时间: 2016-05-31
上传用户:fengyuwuzu
# include < reg52.h > # include < 24C02.h> # define uint unsigned int # define uchar unsigned char sbit rs = P3^5; //定义lcd1602的rs端 sbit lcden = P3^4;//定义lcd1602的lcden端口 sbit s1 = P3^0;//定义功能键s1 sbit s2 = P3^1;//定义功能键s2 sbit s3 = P3^2;//定义功能键s3 sbit beep = P2^3;//定义蜂鸣器 uchar count, s1num; char miao,fen,shi; uchar code table[] = "Designer:X_ZL ";//定义初始上电时液晶默认显示状态 void delay_ms( xms ) //定义延时函数 { uint i,j; for( i = xms ; i > 0 ; i --) for( j = 110 ; j > 0 ; j --); }
上传时间: 2016-07-28
上传用户:游戏好吗
stm8S103 定时器1控制LED,定时器实现精确延时
上传时间: 2016-08-13
上传用户:wc412467303
ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年发表并获得批准使用,它的全称是数字式信息传输系统(Digital Information Transmission System ) 。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进的民航客机中,如B-737、B-757、B-767,俄制军用飞机也选用了类似的技术。 ARINC429总线结构简单、性能稳定,抗干扰性强。最大的优势在于可靠性高。飞机上的ARINC429数据总线,用于在系统和设备之间传送上千种不同类型的参数,如航向、真空速、马赫数等。
标签: 429总线协议
上传时间: 2016-08-17
上传用户:w50403
基础程序设计 01 闪烁的LED /* 名称闪烁的LED 说明LED按设定的时间间隔闪烁 */ #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } }
标签: 基于8051仿真 基于Proteus仿真 基于8051+Proteus仿真
上传时间: 2016-09-19
上传用户:xinhoujue
基础程序设计 01 闪烁的LED /* 名称闪烁的LED 说明LED按设定的时间间隔闪烁 */ #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } }
标签: 51单片机C语言程序设计 51单片机C语言程序设计Proteus仿真实训
上传时间: 2016-09-19
上传用户:xinhoujue