基于51单片机的简易逻辑分析仪设计(编辑修改稿)内容摘要:
= P0^3。 sbit KEY2 = P0^4。 sbit KEY3 = P0^5。 sbit KEY4 = P0^6。 sbit P13=P1^3。 sbit P14=P1^4。 sbit P15=P1^5。 sbit P16=P1^6。 unsigned int uiVoltage_ADC,uiVoltage_DAC。 //uiVoltage: LCD 显示用,无小数点 float fVoltage_DAC。 //定义实际需要输出的电压 xdata unsigned char iCount=0。 // 采样个数设置,这里设置为 16 次 xdata unsigned char result_Port1[4][16]={0}。 xdata char port1_Flag=0。 xdata char key12Flag=0。 xdata char TR0Flag=0。 xdata unsigned char key1=0。 //控制显示屏上的列标记 xdata unsigned char port_1[4]={1,2,3,4}。 char flay_a = 1。 unsigned int Sample_Voltage(void)。 void Delay_1ms(int)。 //毫秒级延时函数 void Control_DAC(void)。 //声明调整输出电压函数 void displayPort1_in_LCD(unsigned char p, unsigned char i,unsigned char j)。 void displayPort1_in_LCD_by_Flush(unsigned char *p,unsigned char key)。 void put_and_Display_Voltage()。 //当 DA的电压设定发生改变时调用该函数 13 void control_TR0_By_KEY3()。 //通过按键 KEY3 控制采样的结束 void display_Sample_Result()。 //显示 16 次采样的结果函数 void Sys_key()。 /******************************************************************************** 函 数 名:主函数 功能说明: 调用函数: 入口参数: 出口参数: 说 明: ********************************************************************************/ void main() { LCD_init()。 //初始化 LCD LCD_Clear()。 //LCD 清屏 // T0_init()。 port1_Flag=0。 key12Flag=0。 //禁止按键 key1 和 key2 工作 TR0Flag=0。 // 禁止 Time0 工作 TR0=1。 //开启 Time0 工作 fVoltage_DAC =。 // put_and_Display_Voltage()。 // Delay_1ms(20)。 DAC_TLC5615_Voltage(fVoltage_DAC)。 while(1) { if(flay_a==0) { port_1[0]=(char)P13。 port_1[1]=(char)P15。 port_1[2]=(char)P14。 port_1[3]=(char)P16。 displayPort1_in_LCD_by_Flush(amp。 port_1,key1%8)。 14 key1++。 key1=key1%128。 // Delay_1ms(500)。 // flay_a=1。 // Sys_key()。 if(KEY1==0) //增加 DAC 电压, { Delay_1ms(10)。 if(KEY1==0) { while(!KEY1)。 fVoltage_DAC=fVoltage_DAC+。 if(fVoltage_DAC) { fVoltage_DAC =。 } // IE=0x00。 flay_a=1。 // TR0Flag=1。 //按一次就开始采样,再按一次就结束采样; } } if(KEY3==0) //减 DAC 电压, { Delay_1ms(10)。 if(KEY3==0) { while(!KEY3)。 fVoltage_DAC=。 if(fVoltage_DAC) { fVoltage_DAC =。 } flay_a=1。 // IE=0x00。 // key12Flag=1。 } } 15 } if(flay_a==1) { put_and_Display_Voltage()。 flay_a=0。 } } } /******************************************************************************** 函 数 名: Display_Voltage 功能说明:显示电压,整数 调用函数: LCD_Pos Send_Data Write_LCD 入口参数: Voltage(带显示电压 *1000 倍以后的值) x,y(从 LCD 的坐标 x,y 处开始显示) 出口参数:无 说 明:显示范围为 09999 列:当 Voltage=1234 时,显示 ********************************************************************************/ void Display_Voltage(unsigned int Voltage,char x,char y) { code uchar Display_Dot[1]={.}。 code uchar Display_Unit[1]={V}。 LCD_Pos(x,y)。 Write_LCD(Voltage/1000+0x30,1)。 Send_Data(Display_Dot,1)。 //显示小数点 Write_LCD(Voltage%1000/100+0x30,1)。 Write_LCD(Voltage%100/10+0x30,1)。 Write_LCD(Voltage%10+0x30,1)。 Send_Data(Display_Unit,1)。 //显示单位 } /******************************************************************************** 函 数 名: Sample_Voltage 功能说明:带有滤波功能的电压测量 16 调用函数: ADC_TLC1549 入口参数:无 出口参数: Votlage(测量滤波后的电压) 说 明: ********************************************************************************/ unsigned int Sample_Voltage(void) { double Filt_Tab[3]={0}。 char Flag_Filt_Tab = 0。 unsigned int Tab_Vol[30] ={0},k=0,Votlage = 0。 double Sum = 0。 char i=0,j=0。基于51单片机的简易逻辑分析仪设计(编辑修改稿)
相关推荐
( 2) 复位电路 复位电路工作原理如下图所示 ,复位方式有上电复位跟手动按钮复位两种。 通电后电路对电容进行充电,此过程使其处于高电平状态,在高电平状态时能达到复位,按下按键后电路的电容处于放电状态,即低电平,不能复位。 图 23 复位电路 (3) 发声电路 贵阳学院本科毕业论文(设计) 5 发声电路是用三极管( PNP)驱动蜂鸣器低电平正常发声, 对于 PNP 管, 基极接低电平 ,
TGS(硫酸三甘酞)等。 为了使传感器能够长期稳定地工作,提高灵敏度,增强抗干扰能力,这里选用了 TGS 晶体制作的双型探测器 红外测温原理 红外测温是通过探测物体表面发射的能量来测量其温度,由物理学可知,处于绝对温度(- ℃)以上的任何物体,都要释放热能,而红外辐射温度计测量其中与温度有关波长范围内的热能,并将其转换与温度成比例的电信号,由此测出其温度。 由上可知
辑控制的 +5V 电源。 第 6 脚: A 桥使能端口。 11 第 7 脚:输入标准 TTL 电点平对 A 桥的输出 OUT OUT2 进行控制。 第 8 脚:接电源地。 第 9 脚:接电机驱动电源,最高可达 50V。 第 11 脚: B 桥使能端口。 第 12 脚:输入标准 TTL 电平对 B 桥的输出 OUT OUT4 进行控制。 第 1 14 脚: B 电机输出端口。 L298
配 由图可知, DS18B20 接口为 , 和 分别为光电传感器 1 和光电传感器2 的接口, 和 为厚度传感器接口, 为报警系统接口, 为风冷系统接口, 为刀具选择端口, 为速度控制输出端口, 为 急停信号输入端口, 为速刀具选择输出端口, 为速度控制信号输入端口, P1 口控制数码管 1 显示温度的十位数, P32 口控制数码管 2 显示温度的个位数,单片机第九脚未复位信号输入引脚。 第40
中基本上都没有黑体的基本条件。 当我们知道了材料的发射率时,才能去了解物体的红外辐射特性。 物体材料的类型、理化结构和厚度以及其表面的粗糙程度等几个因素是导致发射率不同的重要因素。 经查询得知人体皮肤的发射率为。 在实际的测量中,要根据被测物质的发射率来选择相应的红外测温体度计。 ( 2) 测温范围的确定 对测温体温计来说,测温范围是最重要的一个性能指标。 如一种红外测温产品覆盖范围为 60℃
均接电源负极。 其端口所标数据与数码管显示条处所标对应,当端口接入高电平时,相应共阳极数码管的显示条即点亮。 矩阵式键盘(也称行列式键盘)适用于按键数目较多的场合,它由行线和列线组成。 按键位于行列的1 2 3 4 5 6ABCD654321DCBAT itl eN u m b e r R e v i s io nS iz eBD a te : 4 M a r 2 0 0 8 S h e e t