魏坤示波器源程序

上传人:学*** 文档编号:301777449 上传时间:2022-05-31 格式:DOCX 页数:6 大小:17.06KB
返回 下载 相关 举报
魏坤示波器源程序_第1页
第1页 / 共6页
魏坤示波器源程序_第2页
第2页 / 共6页
魏坤示波器源程序_第3页
第3页 / 共6页
魏坤示波器源程序_第4页
第4页 / 共6页
魏坤示波器源程序_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《魏坤示波器源程序》由会员分享,可在线阅读,更多相关《魏坤示波器源程序(6页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑魏坤示波器源程序 Noto:这是在魏坤的示波器根基上改的示波器程序,主控mega128,显示驱动ili9320,看我的文库里面有ili9320的函数。自己备注了一些,不懂可以发邮件到lewisz1990 #include #include #include #include #include #include #include #define fifodata PINC #define FF_FIFO PORTD.7 #define RES_FIFO PORTD.4 #define EN_FIFO PINB.3 #define R_FIFO PORTD.5

2、unsigned char eep; unsigned long int time0_old,time0_new,freq_time;/计数的几个变量 unsigned long int freq,ffreq=0,datt,datty; / bit time_ok,RAMINC=0,RAMDEC=0,RUN=1,XINC=0,XDEC=0,YINC=0,YDEC=0; unsigned int x1_add=10,x2_add=310,y1_add=24,y2_add=216; unsigned char time=4,volt=4,dcac=1,T_ok=1,BIAO=0;/中断用到的几个变

3、量 unsigned int q=0; unsigned char sdata2500,cl330; /cl前320个的初值为145,用来画线 /时间计数 interrupt TIM2_COMP void timer2_comp_isr(void) time0_new = TCNT1; / 8ms到,记录当前T/C0的计数值 if (time0_new = time0_old) freq = freq + (time0_new - time0_old); else freq = freq + (65536 - time0_old + time0_new); time0_old = time0_

4、new; if (+freq_time =125) /计数到一秒整 freq_time = 0; ffreq=freq*1.25; /ffreq的作用?真正的频率值,freq*1.25的意义?freq不是1s的计数值 time_ok=1; freq = 0; /切换BIAO的显示,x,y,或者空白 interruptEXT_INT0 void ext_int0_isr(void) delay_ms(25); if(PIND.0=0) /INT0 低电平有效 if(PINB.6=0) / if(RUN=0) /RUN?全局的使能 if(BIAO=0) /这是一个复用键,和pb4到6和用 BIAO

5、=1; LCD_PutString(20,250, else if(BIAO=1) BIAO=2; LCD_PutString(20,250, else BIAO=0; /三个档位一次变换 LCD_PutString(20,250, else if(PINB.5=0) /操纵线的左移和右移 if(BIAO=1)XINC=1; else if(BIAO=2)YINC=1; else if(PINB.7=0) if(BIAO=1)XDEC=1; else if(BIAO=2)YDEC=1; while(PIND.0=0); /扫速减 interruptEXT_INT1 void ext_int1_

6、isr(void) delay_ms(25); if(PIND.1=0) /INT1 if(RUN=1) /RUN? if(time!=13) /对time计数 time+; spi_out(time); /spi传输time,volt,dcac spi_out(volt); spi_out(dcac); Write_EEPROM(time,0); /写eeprom,time的值和地址0 while(PIND.1=0); else RAMDEC=1; /? /灵敏度加 interruptEXT_INT2 void ext_int2_isr(void) delay_ms(25); if(PIND

7、.2=0) /INT2 if(volt!=0) / volt-; spi_out(time); spi_out(volt); spi_out(dcac); Write_EEPROM(volt,1); /把电压灵敏度写到eeprom的地址1 while(PIND.2=0); /RUN/STOP interruptEXT_INT3 void ext_int3_isr(void) delay_ms(25); if(PIND.3=0) /INT3 if(RUN=1) /run? RUN=0; LCD_PutString(20,265, else RUN=1; LCD_PutString(20,265,

8、 while(PIND.3=0); /扫速加 interruptEXT_INT4 void ext_int4_isr(void) delay_ms(25); if(PINE.4=0) if(RUN=1) if(time!=0) time-; spi_out(time); spi_out(volt); spi_out(dcac); Write_EEPROM(time,0); while(PINE.4=0); else RAMINC=1; /*T-ok?显示NT,ST*/ interruptEXT_INT5 void ext_int5_isr(void) delay_ms(25); if(PINE

9、.5=0) if(T_ok=1) T_ok=0; LCD_PutString(20,10, else T_ok=1; LCD_PutString(20,10, Write_EEPROM(T_ok,3); while(PINE.5=0); /灵敏度减 interruptEXT_INT6 void ext_int6_isr(void) delay_ms(25); if(PINE.6=0) if(volt!=11) volt+; spi_out(time); spi_out(volt); spi_out(dcac); Write_EEPROM(volt,1); while(PINE.6=0); /*操纵触发方式*/ interruptEXT_INT7 void ext_int7_isr(void) delay_ms(25); /灵敏度减 6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号