智能传感器课程设计
题目:智能传感器设计
1设计要求
发送方的ADC模块能够随时动态采集模拟电压的变化,即使用AD转换芯片TLC549CP对模拟电压进行数字转换,并将转换结果处理为三位十进制数(000255)通过ZLG7290B进行显示;可设定上限报警;且报警值可用键盘修改,修改报警值时,修改位闪烁,且显示上一次的报警值并保存。
2设计分析及系统方案设计
这是一个利用具有数据滤波功能的ADC转换程序,使用8位TLC549芯片、蜂鸣器等,将采集出来的数据转换成三位十进制数稳定输出,并通过ZLG7290B显示的程序。其中,设定上限报警值,即通过改变模拟电压输入,达到上限值后响铃报警,且可修改上限报警值。
首先是主程序,开中断并进行7290复位,设定初始报警值100,建立显示缓冲区(40H47H)并显示”adc”,采集TLC549的N个数据并存放于20H开始的单元中,调ADJUST进行数据滤波,结果存于A中;调ALARM进行报警判断:若大于设定报警值,则蜂鸣器响;调BCD_CONT,将A中的数据拆分、查表并送显示缓冲区的低两位,以备显示用;调WRNBYT,将显示缓冲区中的数据写入7290B,以十进制的方式显示ADC的结果;调延时子程序。
子程序主要有利用蜂鸣器报警、采集N个数据、数据滤波、二进制转换成十进制并显示(其中包括拆分);还有一个中断程序,由硬件INT_0控制,通过键值的修改实现对报警值的调整。当按“E”时,进入报警值修改,数码管显示当前报警值并闪烁;继续按百位、十位、个位输入修改值,每输入一位,该位不闪烁,输入结束,将显示在数码管后三位,再按“F”即返回原模拟量对应值,且报警值已修改。另外加有容错功能,即当输入值大于255时,直接默认将报警值修改为255
3
系统电路图AT89C51
P10
P11P17INT0P32
I2C总线ZLG7290BSDASCKRSTINT_KEY
VCC
REFJK158
VCC
P12P13P14
TLC549VccREFDATCSREFANINJK159ANINCLK
GNDW2
P15
10K855047KBUZZBUZZJK621034外围接口模块硬件
电路功能描述
f(1)ZLG7290:数码管动态显示驱动,键盘扫描管理芯片(2)TCL549CP:CMOS8位AD转换器
(3)蜂鸣器:利用定时计数器输出一个特定频率的方波并驱动蜂鸣器发声5主程序中主要变量定义变量名称ADDRDISDADISDA1DISDA2DISDA3DISDA4DISDA5DISDA6RAM单元寄存器20H60H40H41H42H43H44H45H46H功能数据缓冲区首地址存放报警值显示个位显示十位显示百位无显示显示符号“”显示符号“c”显示符号“d”DISDA747H显示符号“a”出口参数P1520H2FH累加器AR3累加器A累加器AR3功能描述实现报警响r