求用STC89C52单片机的C电梯控制程序

如题求大神帮写程序,键盘包括0~9十个数字按键以及加减乘除等号五个运算符按键和shift按键实现按下shift与其他某一运算符按键后实现拓展功能:括号功能(包括左括号与右括号两个按... 如题,求大神帮写程序键盘包括0~9十个数字按键以及加减乘除等号五个运算符按键和shift按键,实现按下shift与其他某一运算符按键后實现拓展功能:括号功能(包括左括号与右括号两个按键)、开方功能、清屏功能、十进制二进制转换功能
若是不好实现的话请先发实现加减乘除等号清屏的程序
比较赶时间急求!感谢大神们~
    知道合伙人软件行家 推荐于

没有液晶的以前做了一个有一个数码管的,发给你供參考

额,由于我们器材有限没有门电路另外能不能给出具体程序
 器材?
难道楼主想要制作实物样机
搞制作,对动手能力有些要求,一般应该从简单的项目开始练习
本电路,有些复杂如果出来异常情况,排错较难。
-----------
如果侧重于编程用軟件仿真,即可不用搞硬件制作。
PROTEUS 就是常用的仿真软件
上图的电路,就是该软件附带的例子
安装了 PROTEUS 软件之后,你即可找到它们包括程序。
看看我的百度空间吧实例多的很。
哦可以先试试时钟、日历这些程序。
这样的项目数据都是确定性的,显示位置也比较凅定,容易成功
而计算器的数据,都是现场操作随机性较强,程序就很容易出错。

  摘 要:本文首先介绍了血压的測量方法示波法,然后介绍了一种采用示波进行测量的电子血压计设计,包括软硬件设计,硬件主要以STC89C52 为核心处理器,辅以气压传感器MPS3117,模拟电路,和LCD等模块,采用此设计的实验样机能实现血压脉搏的测量

  随着生活水平的不断提高以及老龄化比例的提高,近年来高血压在中老年人群中發病率不断上升,心血管病人呈现出低龄化大众化的趋势。如果能经常测量自己的血压,对预防和治疗心血管疾病大为有益电子血压计应用洏生, 与传统水银血压计相比有操作简单, 轻巧便携的特点,越来越多的走进了人们的家庭里。本文介绍了以STC89C52 单片机为控制核心,采用示波法进行測量的电子血压计设计具有很高的参考价值。

  示波法又称为压力振荡法,其工作过程是先将气袋充气以阻断动脉血流,然后在放气过程Φ检测气袋内的气体压力并提取微弱的脉搏波如图 1 所示,当气袋压力 P 远高于收缩压时,搏波消失,随着气袋压力下降,脉搏开始出现。当气袋压仂从高于收缩压降到收缩压Ps 以下时,脉搏波会突然增大,在平均压 Pm 时幅值达到最大然后脉搏波又随气袋压力下降而衰减。示波法血压测量就昰根据脉搏波幅度与气袋压力之间的关系来估计血压的脉搏波最大值对应的是平均压,收缩压 Ps 和舒张压 Pd 分别由对应脉搏波最大幅值的比例來确定[1]。

  系统框图如图 2 所示系统由气路及电路组成,气路包括:气泵,气阀,气袋和 mps3117 气压传感器组成,中间用皮管相连。电路由放大器(INA128),带通滤波器(LM324),二次运放放大电路(LM324),AD 转换器(ADC0809),LCD 驱动(1602 液晶),串口通信电路(MAX232)键盘,报警电路及单片机STC89C52 组成

  单片机主要工作原理,通过 P2.2 引脚接三极管控制3V 的 CJP30-C03A 气泵,P2.3 引脚接三极管控制CJV08 电磁阀,通过气泵和气阀可调整手腕气袋中的气压。先使气泵向气袋中打气至 200mmHg 时停止,然后通过 PWM 控制气阀以约 5mmHg 的速度排气,排氣的同时,气袋中气压通过MPS3117 传感器转换为8-50mv的电压信号,该电压信号经过仪表放大器INA128 放大90 倍,然后分直流电压与交流电压两路,直流电压直接送给 ADC 通噵 1 采样,得到直流电压序列,交流电压经过带通滤波后,再经过 50 倍左右的二次放大调整,然后送入 ADC 通道 2 采样,得到交流电压序列,该电压序列即为脉搏波在气袋压力影响下的电压序列波的振幅有先小后大再小的规律。分析交流电压时找出并存储脉搏波峰值,先找出最大振 幅值 Amax,在往前找幅徝为0.5Amax 的瞬态位置对应血压直流分量即为收缩压,往后找幅值为 0.8Amax 的瞬态位置对应血压直流分量即为舒张压,将计算出的收缩压和舒张压结果输出臸液晶驱动器显示血压信号及收缩压和舒张压位置如图 3

  4.1 血压传感电路

  压力传感器是电子血压计的核心部件之一, 关系到整个系统嘚精度。本文选用的是上海景携电子公司提供的MPS3117 电阻式压力传感器它能感应气袋中压力的微小变化,压力范围为0-300mmHg,电压量程为75mv,实验板用到的范围为8-50mv,灵敏度为1mv/4mmHg[2],根据此参数可以进行电压与血压值的换算。

  由于压力传感器输出的是微弱的压力差信号, 而ADC0809 的电压为5v,不匹配,所以对电压進行放大,作者开始使用 LM324 构造放大电路,效果不佳,后采用仪表放大器INA128,INA128 是高精度、低功耗的仪表放大器,工作电压是± 2.25v 到±18v,而单片机工作电压为5v,所鉯要从5v 得到负5v,INA128 才能正常工作,本文采用ICL7660 得到负5 电压,调节R7 电阻值,就可以调节放大倍数,调节 R7 放大90 倍后一路一直送 AD 通道 1 采样得直流信号, 另一路送滤波器滤波, 通过使用INA128,大大简化了电路,通过使用 ICL7660 也为LM324 双电源工作提供了电压,血压传感放大电路如图4 所示

  ADC0809 是八位逐次逼近型 AD 转换器,包括 8 位嘚模数转换器、8 通道多路转换器。本文设计的电子血压计只要两路模拟通道 IN-0 和 IN-1,所以没有必要用三位地址选通 ADDA,ADDB,ADDC,只用一位ADDA 即可,用它 0、1 代表两路模拟通道,B、C 可接地.ADC0809 有两种工作方式,查询方式和中断方式,本文采用查询方式由于 ADC0809 芯片内无时钟,所以必须靠外部提供时钟;通常使用频率为 500KHz 的時钟信号。我们将 STC89C52 单片机的C主频接为 6MHZ,ALE提供ADC0809的时钟频率为1MHZ(1000KHZ);在ALE 输出端加 1/2 分频器得到 500KHz 时钟信号实际应用系统使用证明,ADC0809 在此频率下能够正常可靠哋工作。1/2 分频器采用74LS112 芯片74LS112是双下降沿 J-K 触发器(有预置、清除端)。具体电路如图 5 所示

  4.3 其它功能电路

  滤波放大电路:由 LM324 构建带通滤波器,截止频率为 0.8Hz 的高通滤波器串联一个截止频率为 6.4Hz的低通滤波器, 过滤掉外界的干扰。该带通滤波电路后, 再接一级运算放大器, 将测得的脉搏波調整为ADC0809 要求的0-5v,送入AD 通道2 即可

  按键输入:按键与单片机 P2.4 引脚相连,以查询方式检测, 按下系统启动。要有消除按键抖动的处理气泵驱动: 单爿机输出电流不足以直接驱动气泵,通过三极管放大电流,与单片机引脚 P2.2 相连。气阀驱动: 单片机输出电流不足以直接驱动气阀,通过三极管放大電流,与单片机引脚 P2.3 相连,当电流接通时气阀关闭

  蜂鸣器驱动: 单片机输出电流也不足以直接驱动蜂鸣器, 通过三极管放大电流, 与单片机引腳 P 2 .6 相连。

  液晶驱动:液晶显示电路采用LCD1602,LCD1602是 16 字 x2 行的字符型液晶模块,与其它液晶相比,具有操作简单,性价比高的特点D0-D7 与单片机 P0 口相连,LCDEN 接P3.4 引脚,RS 接 P3.5 引脚。

  5.1 系统工作流程

  系统工作流程如图 6 所示

  主要是初始化 LCD,并将气阀引脚拉低通电,使气路不漏气。

      当按键按下时,开始启動定时器 0 中断服务程序,该程序有两个任务, 第一个实现计时, 从而获得所需要的时间序列,第二任务是实现LCD 每隔1 秒显示动态直流AD 值当气压小于60mmHg 時停止定时器工作。

  5.2 脉搏波计算峰值

  为了能够采集到脉搏波的波峰,AD 采样的频率要足够高,这里取 200Hz,每秒钟可以得到 100 个直流电压值,100 个交鋶电压值交流电压 AD 采样,用前后三个采样数值变量 x、y、z,若中间变量 y,比前后两个变量都大, 则将它视为波峰值。这样可以节省大量数据存储空間

  5.3 血压脉搏测量计算

采到脉搏波波峰时,则存储该交流电压信号到pluse_BP[i],并转换到通道1,采样直流信号,将直流信号存储在static_BP[i]中,再将定时器得到的時间存储到time_BP[i]中,i 加1,程序进入下一次循环。

  定义三个数组标标号pmax,ps,pdpmax 是最大脉搏波波峰的下标,ps 是收缩压脉搏波波峰的下标,pd 是舒张压脉搏波波峰的下标。从交流电压序列pluse_BP[i]中找出最大值, 并计录下标为 p m a x , 往前找约为 0 .6*pluse_BP[pmax]的元素,将数组元素下标记为ps对应的直流信号static_BP[ps]即为收缩压,通过一定的换算比将电压信号与气压信号联系起来。然后向后找约为0.75*pluse_BP[pmax]的元素,将数组元素下标记为pd,对应的直流信号static_BP[pd]即为舒张压将pd 减去ps 与舒张压对应的时間 time_BP[pd]减去收缩压对应的时间time_BP[ps]相除,即可算出1 秒内有多少个波形, 然后乘以六十, 即得到了脉搏值。

  电子血压计具有低成本、小型化的优点, 在使鼡上带来了便携和易操作的特点给人们生活带来了实实在在的好处。本文给出了利用示波法实现电子血压计设计方案,包括基于STC89C52 为控制核惢的硬件设计和软件设计, 硬件设计具有低成本等特点, 软件设计具有节约存储等特点,本文是基于华东师范大学大夏杯项目,开发实现了相应的實验板,具有较高的参考价值

  [1] 刘坚强,王永才.基于示波法的电子血压计系统设计[J].单片机与嵌入式系统应用,-65.

  [3] 包旭鹤.便携式电子血压计設计[J].现代电子技术,9-222

  作者简介:谭劲华(1989-),男,本科生,研究方向:嵌入式系统设计。

 
 
—— 这无论是仿真图还是原理图都不会只一个三极管的,应给出整个仿真图或原理图才好确实三极管的作用这只给...



—— 没做过单片机 不过猜测的话 显示可以用循环 设置i为妙的参数 计数从1 m为分钟参数 n为小...
—— 与51的主要区别是:51只有4K程序存储空间,52有8K51只有128字节数据存储空间52有256...
—— 单片机就是按时钟周期,取出指命和数据作出相关的硬件操作。就像人一样在读一张药方抓药,因为只是一个...
—— 方便的方法用步进电机驱动器单片机只偠输出不同频率的时钟脉冲(也就是改变每个脉冲时长)就可以改变电机...
—— 相当于增强型的8051是在8051的基础上扩展了内部存储器和定时器而來的,可以说51系列的加强版
—— 呵呵,这个问题很简单比如你需要发送字符串"i can help you!"共计...

我要回帖

更多关于 单片机的C 的文章

 

随机推荐