




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易数字示波器设计方案1课题任务利用单片机和12864液晶显示器,制作简易数字示波器。要求如下:(1) 显示器显示频率范围050HZ(2)示波器的输入阻抗为100K(3)示波器的输入信号范围:-55V(4)测量显示被测信号的频率(周期)、峰值(有效值)参考方案如下:图 Error! No text of specified style in document.-1 总体设计结构2 设计方案选择2.1显示器选择方案带中文字库的12864每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中 文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402B内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表所示。12864显示器 图2-12.2 单片机芯片选择方案STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。STC12C5A60S2图2-22.3 TL082双运放选择方案 运放电路是对输入的波形进行进一步的放大,已达到单片机的要求波形,以便对波形进行采集,从而达到设计目的,减少误差。3 硬件设计3.1 系统连接图总体电路设计结构如图3-1所示 总设计图3-13.2 键盘扫描电路的设计总体电路结构如下 图3-2 按键 图3-2由于设计的是示波器,在示波器显示波形的时候需要对波形的幅度频率进行调整,所以设计键盘对波形进行调整。按扭作用四个按钮分别对应频率和幅度的加减调节,X轴减调节是减少频率,X轴加调节是增加频率,Y轴减调节是减少幅度,Y轴加调节是增加幅度。3.3 振荡复位电路总体电路结构如图3-3所示 振荡复位电路图3-3时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个30pF的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2引脚处,使单片机工作于内部振荡模式。此电路在加电后延迟大约10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。电路中两个电容C1、C2的作用使电路快速起振,提高电路的运行速度。复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位.3.4最小系统 最小系统 图3-43.5 STC内部AD采集STC12C5A60S2单片机有8路10位高速AD转换器,P10-P17涉及寄存器:P1ASF(模拟功能控制寄存器)、ADC_CONTR(ADC控制寄存器) 、ADC_RES、ADC_RESL(转换结果寄存器)。注意: 1、初次打开内部A/D模拟电源需适当延时等内部模拟电源稳定后,再启动A/D转换,启动A/D后,在转换结束前不改变任何I/O口的状态,有利于高精度A/D转换,若能将定时器/串行/中断系统关闭更好。2、A/D转换模块使用的时钟为内部R/C振荡器所产生的系统时钟3、由于使用两套时钟,设置好ADC_CONTR后要加4个空延时操作才可以正确读到ADC_CONTR寄存器的值3.6 双运放电路总体电路结构如图3-5所示运放电路 图3-54 软件设计4.1 程序设计流程如下图4-1所示 设计流程 图4-14.2 STC12C5A60S2内部AD程式#include #include #include lcd.h#define ADC_POWER 0x80 /AD电源控制#define ADC_START 0x08 /AD转换控制#define ADC_FLAG 0x10 /AD转换完成#define Speed_0 0x00 /540 clk#define Speed_1 0x20 /360 clk#define Speed_2 0x40 /180 clk#define Speed_3 0x60 /90 clk#define ADC0 0x00 /P1.0#define ADC1 0x01 /P1.1#define ADC2 0x02 /P1.2#define ADC3 0x03 /P1.3#define ADC4 0x04 /P1.4#define ADC5 0x05 /P1.5#define ADC6 0x06 /P1.6#define ADC7 0x07 /P1.7void AD_init(void);double Result_Calculate(void);void SendData( uchar byte );/*/ A/D初始化 /*/void AD_init(void) AUXR1 = 0x04; /转换结果高2位放在ADC_RES的低2位中,低8位放在ADC_RESL中 P1ASF = 0x01; /P1.0口作为模拟功能A/D使用 ADC_RES = 0x00; /结果清零 ADC_RESL = 0x00; ADC_CONTR = ADC_POWER|Speed_2|ADC0|ADC_START; /打开电源,180CLK周期转换,选择P1.0作输入 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); EADC = 1; /允许A/D转换中断 EA = 1; /开总中断/*/ 串口初始化 / /*/void UART_init(void) SM0 = 0; /选择串口为方式1工作 SM1 = 1; /8位数据波特率可变 REN = 1; BRT = 0xDC; AUXR = 0x15; /选择独立波特率发生器为串行 /口的波特率发生器,模式为1T/*/ 转换结果计算 /*/double Result_Calculate(void) uint temp; double result; temp = ADC_RES * 256 + ADC_RESL; result = temp * 4.94 / 1024; return result; /*/ 串口发送数据 /*/void SendData( uchar byte ) SBUF = byte; while(!TI); TI = 0; /*/ 主程序 /*/void main() Init_LCD(); AD_init(); UART_init(); while(1);/*/ A/D中断服务 /*/void AD_Service(void) interrupt 5 ADC_CONTR &= !ADC_FLAG; /清标志 Printf_Decimal(Result_Calculate(); ADC_RES = 0x00; ADC_RESL = 0x00; ADC_CONTR = ADC_POWER|Speed_2|ADC_START; /开始下一次转换 _nop_(); _nop_(); _nop_(); _nop_();#include #include #define uchar unsigned char#define uint unsigned intsbit PSB = P04; /串/并行接口选择 1-并行 0-串行sbit RS = P07; /并行数据/命令选择,串行片选 0-指令 1-数据sbit RW = P06; /并行读写选择 0-写 1-读 串行数据口sbit E = P05; /并行使能, 串行同步时钟void Delay_ms( uint time ); /延时uchar Busy(void); /读忙uchar Read_Status(void);/读状态uchar Read_Date(void); /读数据void Write_Cmd( uchar cmd ); /写命令void Write_Date( uchar date );/写数据void Init_LCD(void);/初始化LCDvoid Location( uchar x, uchar y );/设定显示位置void Clear_Screen(void);/清屏void Write_str( uchar *p );void Printf_Decimal(double Num); #include lcd.hextern void SendData( uchar byte );4.3 主程式#includestc12c5a60s2.h#define uchar unsigned char#define uint unsigned int sbit busy=P07; sbit rw=P36;sbit rs=P37;sbit en=P35;uint data ADC_RES_DATA;uint pdata a128;uchar ad_t,ad_min,ad_max,max,min,num,windows,heng,zong,ab,num_1,num_k; uint ad_pp,freq;uchar code wave=0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x08,0x00,0x00,0x80,0x00,0x08,0x00,0x00,0x80,0x00,0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0xF3,0xE7,0x00,0x00,0x11,0x7C,0x01,0xE0,0x78,0x00,0x00,0x04,0x40,0x00,0x00,0x20,0x8A,0x08,0xB0,0x00,0x11,0x0C,0x01,0x10,0x44,0xC0,0x00,0x04,0x40,0x00,0x00,0x20,0x8A,0x08,0xB0,0x00,0x11,0x18,0x01,0x10,0x44,0xC0,0x00,0x04,0x40,0x00,0x00,0x3E,0xF3,0xE8,0x80,0x00,0x1F,0x30,0x01,0xE0,0x78,0x00,0x00,0x04,0x40,0x00,0x00,0x20,0xC2,0x08,0xB0,0x00,0x11,0x30,0x01,0x0F,0x40,0x00,0x00,0x04,0x40,0x00,0x00,0x20,0xA2,0x0B,0xB0,0x00,0x11,0x60,0x01,0x00,0x40,0xC0,0x00,0x06,0xC0,0x00,0x00,0x20,0x92,0x09,0x80,0x00,0x11,0x60,0x01,0x00,0x40,0xC0,0x00,0x03,0x80,0x00,0x00,0x20,0x8B,0xE7,0xC0,0x00,0x11,0x7C,0x01,0x00,0x40,0x00,0x00,0x01,0x00,0x00,0x00;void delay1ms(uint t) /延迟1/12MSuint i,j;i=0;for(i=0;it;i+)for(j=0;j64;j+);void lcd_busy(void)P0=0xff;rs=0;rw=1;en=1;while(busy=1);en=0;void delay(uint t)while(t-);void lcd_wcmd(uchar wcmd)/写命令lcd_busy();rs=0;rw=0;P0=wcmd;en=1;en=0; void lcd_wdat(uchar dat)/写数据lcd_busy();rs=1;rw=0;P0=dat;en=1;en=0; uchar lcd_rdat(void)/读数据uchar rdat;lcd_busy();P0=0xff;rs=1;rw=1;en=1;en=1;rdat=P0;en=0;return rdat;void showgroup(uchar x,uchar y,uchar *p) /写字符串switch(y)case 1:lcd_wcmd(0x80+x-1);break;case 2:lcd_wcmd(0x90+x-1);break;case 3:lcd_wcmd(0x88+x-1);break;case 4:lcd_wcmd(0x98+x-1);break;default:break;while(*p)lcd_wdat(*p+);void lcd_init(void)/LCd初始化lcd_wcmd(0x30);lcd_wcmd(0x0c);lcd_wcmd(0x01);lcd_wcmd(0x06);delay(1000);void clear_draw(void) /GDRAM清0 uchar i,j,k;lcd_wcmd(0x34); /打开扩展指令集i = 0x80; for(j = 0;j 32;j+) lcd_wcmd(i+); lcd_wcmd(0x80); for(k = 0;k 16;k+) lcd_wdat(0x00); i = 0x80; for(j = 0;j 32;j+) lcd_wcmd(i+); lcd_wcmd(0x88); for(k = 0;k 16;k+) lcd_wdat(0x00); lcd_wcmd(0x36); /打开绘图显示lcd_wcmd(0x30); /回到基本指令集void draw_pic(uchar *pic) /GDRAM清0 uchar i,j,k;lcd_wcmd(0x34); /打开扩展指令集i = 0x80; for(j = 0;j 32;j+) lcd_wcmd(i+); lcd_wcmd(0x80); for(k = 0;k 16;k+) lcd_wdat(*pic+); i = 0x80; for(j = 0;j 32;j+) lcd_wcmd(i+); lcd_wcmd(0x88); for(k = 0;k 4;tier_b=x&0x0f;if(y32)row=y; else row=y-32;tier+=8;lcd_wcmd(row+0x80);lcd_wcmd(tier+0x80);lcd_rdat();readh=lcd_rdat();readl=lcd_rdat();lcd_wcmd(row+0x80);lcd_wcmd(tier+0x80);if(tier_b8)readh|=(0x01(7-tier_b); elsereadl|=(0x01(15-tier_b);lcd_wdat(readh);lcd_wdat(readl);lcd_wcmd(0x30);void adc_pow_on()ADC_CONTR=ADC_CONTR|0xe0;delay1ms(12);void adc_chang()delay1ms(1);ADC_RES=0x00;ADC_RESL=0x00;ADC_CONTR=ADC_CONTR|0x08;while(ADC_CONTR&0x10)=0);ADC_CONTR=ADC_CONTR&0xe7;ADC_RES_DATA=(ADC_RES*4+ADC_RESL);void draw_0(uchar x,uchar y) /画0 uchar i;for(i=0;i3;i+)draw_point(x+i,y);draw_point(x+i,y+4);for(i=0;i4;i+)draw_point(x,y+1+i);draw_point(x+2,y+1+i);void draw_1(uchar x,uchar y)uchar i;for(i=0;i5;i+) draw_point(x+1,y+i);void draw_2(uchar x,uchar y)uchar i;for(i=0;i3;i+) draw_point(x+i,y);draw_point(x+i,y+4);draw_point(x+2-i,y+1+i);void draw_3(uchar x,uchar y) uchar i;for(i=0;i3;i+) draw_point(x+i,y);draw_point(x+i,y+2);draw_point(x+i,y+4); draw_point(x+2,y+1);draw_point(x+2,y+3);void draw_4(uchar x,uchar y)uchar i;for(i=0;i2;i+) draw_point(x,y+1+i);for(i=0;i5;i+) draw_point(x+1,y+i); draw_point(x+2,y+2);void draw_5(uchar x,uchar y)uchar i;for(i=0;i3;i+) draw_point(x+i,y);draw_point(x+i,y+2);draw_point(x+i,y+4); draw_point(x,y+1);draw_point(x+2,y+3);void draw_6(uchar x,uchar y)uchar i;for(i=0;i3;i+) draw_point(x+i,y);draw_point(x+i,y+2);draw_point(x+i,y+4); draw_point(x,y+1);draw_point(x+2,y+3);draw_point(x,y+3);void draw_7(uchar x,uchar y)uchar i;for(i=0;i3;i+) draw_point(x+i,y);for(i=0;i4;i+) draw_point(x+2,y+1+i);void draw_8(uchar x,uchar y)uchar i;for(i=0;i5;i+) draw_point(x,y+i);draw_point(x+2,y+i);draw_point(x+1,y);draw_point(x+1,y+2);draw_point(x+1,y+4);void draw_9(uchar x,uchar y)uchar i;for(i=0;i3;i+) draw_point(x,y+i);draw_point(x+2,y+i);for(i=0;i2;i+) draw_point(x+1,y+2*i);draw_point(x+2,y+i+3);void number(uchar x,uchar y,uchar i)switch(i)case 0:draw_0(x,y);break;case 1:draw_1(x,y);break;case 2:draw_2(x,y);break;case 3:draw_3(x,y);break;case 4:draw_4(x,y);break;case 5:draw_5(x,y);break;case 6:draw_6(x,y);break;case 7:draw_7(x,y);break;case 8:draw_8(x,y);break;case 9:draw_9(x,y);break;default :draw_0(x,y);break;void biao(uchar x,uchar y)if(ab%2=1)draw_point(x+2,y);draw_point(x+1,y+1);draw_point(x+3,y+1);draw_point(x,y+2);draw_point(x+2,y+2);draw_point(x+4,y+2);draw_point(x+2,y+3);draw_point(x+2,y+4);if(ab%2=0)draw_point(x+2,y);draw_point(x+3,y+1);draw_point(x,y+2);draw_point(x+1,y+2);draw_point(x+2,y+2);draw_point(x+4,y+2);draw_point(x+3,y+3);draw_point(x+2,y+4);int ad_freq(void)uchar i;int k=0;for(i=0;i110;i+)if(amin+10+iamin+11+i)k=11+i;else break;return k;uchar identifykey(void)uchar i;while(P2!=0XF0)while(P2!=0XF0)if(P2=0x70)if(P2=0x70)i=0;if(P2=0xb0)if(P2=0xb0)i=1;if(P2=0xd0)if(P2=0xd0)i=2;if(P2=0xe0)if(P2=0xe0)i=3;return(i);void main()lcd_init();clear_draw();windows=1;heng=1;zong=5;num=0;ab=0;P2=0XF0;ADC_RES_DATA=0;P1ASF=0x03;adc_pow_on();ADC_CONTR=0xe0;TMOD=0x11;TH0=0xff;TL0=0x9c;TH1=0x3c;TL1=0xb0;ET0=1;TR0=1;ET1=1;TR1=1;EA=1;ad_t=100*heng; while(1); void time0() interrupt 1 TH0=(65536-ad_t)/256;TL0=(65536-ad_t)%256;if(num120)adc_chang();anum=ADC_RES_DATA;num+ ;elseTR0=0; num=0;if(windows%2=1)ad_min=a10;ad_max=a10;lcd_wcmd(0x01);draw_pic(wa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 32561.1-2016红外光学硫系玻璃测试方法 第1部分:均匀性》
- 工程三方协议范本5篇
- 新解读《GB-T 31056-2014大米去石筛板》
- 朋友担保借款合同范本
- 弱电项目人工合同范本
- 派对布置合同范本
- 机械租赁分期合同范本
- 在建泵房安装合同范本
- 山西买房合同范本
- 设计合同范本
- 统编版道德与法治四年级上册第二单元大单元整体教学设计
- 蔬菜配送安全管理制度
- 2024年江苏大学辅导员考试真题
- 2025年版高等职业教育专科专业教学标准 560213 融媒体技术与运营
- 康复技术服务规范 (一)
- 养老院护理九防内容课件
- 教育系统意识形态工作
- 土地证补办申请书
- 2025年秋期英语组工作计划
- 面试官培训与面试标准制度
- 调相机工程施工质量验收规程-第4部分-仪表与控制系统
评论
0/150
提交评论