航达建设集团有限公司网站,网站备案没座机,大型网站建设招商,seo按照搜索引擎的一、系统方案
二、硬件设计 原理图如下#xff1a;
三、单片机软件设计 1、首先是系统初始化 void timer0_init() //定时器初始化 { TCCR00x07; //普通模式#xff0c;OC0不输出#xff0c;1024分频 TCNT0f_count; //初值#xff0c;定时为10ms TIFR0x01; //清中断标志…一、系统方案
二、硬件设计 原理图如下
三、单片机软件设计 1、首先是系统初始化 void timer0_init() //定时器初始化 { TCCR00x07; //普通模式OC0不输出1024分频 TCNT0f_count; //初值定时为10ms TIFR0x01; //清中断标志位 TIMSK0x01; //使能定时器0溢出中断 SREG|0x80; //开启全局中断 } 2、数码管显示程序 void Smg_Dispaly(uchar Value1,uchar Value2,uchar Num) {
if(SmgCnt 0) { PORTB 0xFF; PORTB Smg_Duan[Value1/10]; PORTA Smg_Wei[0]; } else if(SmgCnt 1) { PORTB 0xFF; PORTB Smg_Duan[Value1%10]; PORTA Smg_Wei[1]; } else if(SmgCnt 2) {
} else if(SmgCnt 3) { PORTB 0xFF; PORTB Smg_Duan[Value2/10]; PORTA Smg_Wei[3]; } else if(SmgCnt 4) { PORTB 0xFF; PORTB Smg_Duan[Value2%10]; PORTA Smg_Wei[4]; } else if(SmgCnt 5) {
} else if(SmgCnt 6) {
} else if(SmgCnt 7) { PORTB 0xFF; PORTB Smg_Duan[Num]; PORTA Smg_Wei[7]; } if(SmgCnt 8) SmgCnt 0; } 3、按键程序 if(PINC 0xFF) { Kcnt 0;Kflag 0; } else if(Kflag 0) { if(Kcnt 3) { Kflag 1;Kcnt 0;timer 0; PORTE ~ PORTE; if(DownCnt 0) { switch(PINC){case 0xFE: ValueNum 1; ValueFlag 1;break;case 0xFD: ValueNum 2; ValueFlag 1;break;case 0xFB: ValueNum 3; ValueFlag 1;break;case 0xF7: ValueNum 4; ValueFlag 1;break;case 0xEF: ValueNum 5; ValueFlag 1;break;case 0xDF: ValueNum 6; ValueFlag 1;break;case 0xBF: ValueNum 7; ValueFlag 1;break;case 0x7F: ValueNum 8; ValueFlag 1;break;default: break;}} 4、核心算法程序
#pragma interrupt_handler timer1_ovf_isr:15 void timer1_ovf_isr(void) { static uchar cnt 0; if(StartFlag 0) { cnt 0; } if(cnt 200) { cnt 0; // 定时器定时5ms计数200次为1s if(StartData 0) { SecFlag 1; // 秒信号 } } TCNT1H (65535-500)/256; TCNT1L (65535-500)%256; Smg_Dispaly(ValueCnt,ValueTmr,ValueNum);
} 四、proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。