求问51怎么给单片机编程代码编译正常,但Proteus仿真无错误提示但工作异常


推荐于 · 醉心答题欢迎关注

用Proteus汸真时,单2113片机的复位引脚是5261不起作4102用的1653因引脚都不起作用,那按键就无法复位了不能通过给RST引脚加高电平进行复位的。

其实那复位电路和外部晶振电路都可以省掉的。

见下图复位引脚接到VCC上,对于实物应该是处于复位状态吧怎么给单片机编程是不能工作嘚,可是在仿真图上什么作用也没有。

你对这个回答的评价是


· 知道合伙人IT服务行家
知道合伙人IT服务行家

貌似那个复位功能是无效的,不然给电源接个开关吧

我知道实际的电路是怎样的但是在protues里没有这个电路也怎么给单片机编程也正常运行的

你对这个回答的评价是?


這里copy面有几个关键问题:

复位电路就可以正常使用了参数设置如上,电容为10uf

但是为什么属性中要编辑 {connect=1,2}我还没查明白,找遍了也不知道connect玳表什么有谁知道的分享一下吧?

你对这个回答的评价是

这个是可以复位的,电容换成10uF也可以但是不知道为什么,第一次按复位无效之后的都有效。可能是proteus的bug吧

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许囿别人想知道的答案。

}

由于仿真中没有红外手指也模擬不了,其实就是怎么给单片机编程的IO口检测脉冲信号那样用个方波信号模拟就行了

仿真原理图如下(proteus仿真工程文件可到本帖附件中下載)

本设计利用红外光电传感器产生脉冲信号,经过放大整形后输入怎么给单片机编程内进行相应的控制,从而测量出一分钟内的脉搏跳动次数快捷方便。测量范围限可以用按键调节并进行声音报警,测量结果以数字方式显示测量精确到2次/分。同时还可以设定上限佽数和下限次数当测量的范围超过设定的范围则驱动蜂鸣器报警提醒,结果最终可以把采集到的脉搏信号显示在LCD1602上

2.1主控模块的选型和論证

采用MSP430系列怎么给单片机编程,该怎么给单片机编程是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器其内部集成了很多模擬电路、数字电路和微处理器,提供强大的功能不过该芯片昂贵不适合一般的设计开发[3]。

采用51系列的怎么给单片机编程该怎么给单片機编程是一个高可靠性,超低价无法解密,高性能的8位怎么给单片机编程32个IO口,且STC系列的怎么给单片机编程可以在线编程、调试方便地实现程序的下载与整机的调试。

因此选用方案二中的51系列怎么给单片机编程作为主控芯片

2.2显示模块的选型和论证

采用LED数码管动态扫描,LED数码管价格虽适中对于显示数字也最合适,而且采用动态扫描法与怎么给单片机编程连接时占用怎么给单片机编程口线少。但是甴于数码管动态扫描需要借助74LS164移位寄存器进行移位该芯片在电路调试时往往有很多障碍,所以不采用LED数码管作为显示

采用LCD液晶显示屏,液晶显示屏的显示功能强大可显示大量文字,图形显示多样,清晰可见对于本设计而言一个LCD1602的液晶屏即可,价格也还能接受需偠的接口线较多,但会给调试带来诸多方便

所以本设计中方案二中的LCD1602液显示屏作为显示模块。

2.3脉搏检测传感器的选型和论证

压电式传感器的检测方法是利用压力传感器或振动传感器将人体脉搏振动转换成电信号常见的压力传感器可用现有的压电陶瓷代替。压电式元件的內阻极高通常采用两片相同的元件,使其极性反向相叠由夹在中间的铜片作为一个电极。这样中央电极处于全空状态,可以用具有良好绝缘性的导线引出此种方法的优点是传感器种类多,一般的传感器输出信号也比较大对后面的放大电路要求不高。压电陶瓷具有荿本低、取材方便、易于提高敏感度等特点

声电式传感器的作用是将气体、液体或固体中传播的机械振动转换成电信号。因此它也属於力学量传感器。它的制作材料一般由不定性无烟煤颗粒或压电陶瓷构成颗粒式声电传感器的优点是耐用、成本低和容易制作,缺点是顆粒的机械磨损和接触表面上的瞬间电弧会使颗粒逐渐老化从而导致杂音大、性能不稳定和非线性;而压电陶瓷式的声电传感器在检测聲音信号时却存在着一定的缺陷。

声电式检测方法是利用微音传感器将人体的振动的声音转换成电信号此种方法的优点是作为传感器的微音传感器可利用现有的驻极体或电容式话筒,但其后面的电路要采取一定的措施将环境的声音干扰信号滤去

光电系统通常是指能敏感甴紫外光到红外光的光能量,并将光能量转换成电信号的器件通常用的光电器件有光电二极管和光电三极管。光电式传感器测量微小的位移变化有明显的效果但是光电传感器对材料、电路控制和光电管属性要求较高:1)吸收红外光的能力极强2)介电常数小,以便得到大嘚输出电压3)介电损耗小。

光电式检测方法是利用光电传感器检测人体内血液流动时对光的透过率或反射率不同而将其转换成电信号的方法此种方法有两种方式:一种是对射式,另一种是反射式对射式是在一个大小合适的环的两侧各放一个发射管和一个接收管,测量時将人的手指伸到环中由于手指中的血流量的变化而使光电接收管的光电流也随之变化,反射式是光电发射与光电接收都指向一个方向当人体内的血流发生变化时其对光的反射率也随之变化,从而检测出心率这种方法的优点是外界干扰信号小,但其最大的难点是传感器输出信号小对后面的放大电路要求较高。此外对于干扰变化强烈的信号,回路不宜调制可视光电管的定向角不同,光轴也不宜把握

综上所述,从传感器的制作工艺、材料的选取、受外界的干扰信号的干扰程度和制作过程中前级电路的处理难易程度上考虑就选用┅对红外对射二极管实现。

2.4温度传感器的选型

由于本设计是测温电路可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采樣进行A/D转换后就可以用怎么给单片机编程进行数据处理,实现温度显示这种设计需要用到A/D转换电路,增大了电路的复杂性而且要做箌高精度也比较困难。

   考虑到在怎么给单片机编程属于数字系统容易想到数字温度传感器,可选用DS18B20数字温度传感器此传感器为单总线數字温度传感器,起体积小、构成的系统结构简单它可直接将温度转化成串行数字信号给怎么给单片机编程处理,即可实现温度显示叧外DS18B20具有3引脚的小体积封装,测温范围为-55~+125摄氏度测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求

              以上两种方案相比较,苐二种方案的电路、软件设计更简单此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二

2.5系統整体设计概述

系统总体设计由STC89C52、按键、LCD1602、光电传感器、时钟模块、运放等构成,系统设有四个按键可以设置上下限脉搏数,当超过范圍的时候怎么给单片机编程会驱动蜂鸣器发响脉搏测量的时候需要人把手轻轻的按在光电传感器上面,由于人脉搏跳动的时候血液的透光性不一样会导致接收器那边接收的信号强弱不一样,间接的把人脉搏信号传回通过运放对其进行放大、整形后连接到怎么给单片机編程的IO口,怎么给单片机编程利用外部中断对其进行计数最终换算成人一分钟脉搏的跳动次数,最终显示在液晶屏上

本设计利用红外咣电传感器产生脉冲信号,经过放大整形后输入怎么给单片机编程内进行相应的控制,从而测量出一分钟内的脉搏跳动次数当测量的范围超过设定的范围则驱动蜂鸣器报警提醒,当检测的体温超过设置的温度上下限也会蜂鸣器报警提醒结果最终可以把采集到的脉搏信號显示在LCD1602上。

3.1.1怎么给单片机编程最小系统设计

图3.1 怎么给单片机编程最小系统电路图

   图3.1为怎么给单片机编程最小系统电路图怎么给单片机編程最小系统有怎么给单片机编程、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟作用为给怎么给单片机编程提供一个时間基准,其中执行一条基本指令需要的时间为一个机器周期怎么给单片机编程的复位电路,按下复位按键之后可以使怎么给单片机编程進入刚上电的起始状态图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构因此要加上拉电阻才能正常使用。

液晶顯示器(LCD)英文全称为Liquid Crystal Display它一种是采用了液晶控制透光度技术来实现色彩的显示器。和CRT显示器相比LCD的优点是很明显的。由于通过控制是否透咣来控制亮和暗当色彩不变时,液晶也保持不变这样就无须考虑刷新率的问题。

显示接口用来显示系统的状态命令或采集的电压数據。本系统显示部分用的是LCD液晶模块采用一个16×2的字符型液晶显示模块。

液晶寄存器选择控制如表3.1

表3.1寄存器选择控制

LCD1602与怎么给单片机編程接口电路如下:

3.1.3信号采集电路

信号采集电路如图3-2所示。5MM红外对管D1与D3组成红外传感器因红外传感器输出的脉冲信号是非常微弱的信号,而且频率很低(如脉搏50次/分钟为0.78Hz200次/分钟为3.33Hz),并且还伴有各种噪声干扰故该信号要经过R7、C5低通滤波,去除高频干扰当传感器检测箌较强的干扰噪音时,其输出端的直流电压信号会有很大变化

图3.2 信号采集电路

3.1.4信号放大电路

如图3-3所示R3与R8的电阻之比为放大器的放大倍数,经过计算所得该放大器的理论值为200倍但由于8号接口上5V供压不足再加上材料限制和人为的因素,该放大倍数只有20倍左右

  图中C7为耦合电嫆,作用为隔直流通交流之所以使用1uF的电容,是为了让所有的信号通过

图3.3 信号放大电路

3.1.5信号比较电路

电压比较器是一种常用的集成電路。它可用于报警器电路、自动控制电路、测量技术也可用于V/F 变换电路、A/D 变换电路、高速采样电路、电源电压监测电路、振荡器及压控振荡器电路、过零检测电路等。我们主要介绍其基本概念、工作原理及典型工作电路电压比较器是对两个模拟电压比较其大小并判断絀其中哪一个电压高,接到的信号电压小于该值时显示0V当大于该值时显示5V,这就形成了0和5V的方波如图3.4 所示。

图3.4 放大滤波电路

3.2系统软件总体设计

主程序流程图如图3.2所示怎么给单片机编程上电后先进行初始化,清楚一些参数的初值然后等待用户按下对应的按键并进入對应的功能,当用户按下测量按键的时候流程如图3.2(c)所示怎么给单片机编程通过定时15s测量人体的脉搏次数流程如图3.2(b)所示,然后再换算出对應的真实的脉搏次数再在液晶屏幕上显示流程如图3.2(a)所示当用户按下设置脉搏范围设定按键后,怎么给单片机编程根据用户按下的按键进荇增加或减少范围

四、测试方案、测试结果及分析

当模块设计完成并在ISIS 7 protues中仿真成功后,电路基本确定但那只是理论值,需要对这些仿嫃电路进行试验以确保这些电路是否适用与该设计。

准备施焊;加热焊件;送入焊丝;焊接元件在焊接过程中要注意假焊,虚焊焊接不规则等等问题,尽量避免不必要的错误器件安装焊接完后,就要焊接电线一定要保证连接端口的正确连接,管脚的位置及所代表嘚含义不能搞错这样才能避免电路板出现问题,将装置供电后将已写好的程序下载到怎么给单片机编程里面,观察板子的现象

测试結果:程序下载好并供电后,LCD显示屏上显示14.4°,手指放在红外灯管上,显示屏显示脉搏次数93如果脉搏超过预先设定的范围,装置中的蜂鳴器报警测量的脉搏在正常范围内,警报停止报警按下功能键,可以修改设置的警告上下限在测量时,红外传感器检测到的人体信號很微弱手指的一点抖动都会引起测量心率值的大幅变化,手指尽量别乱动以免测量数据不准确,导致蜂鸣器一直报警

分析:设计偠求全部实现。

五、作品功能和使用说明:

作品功能:实现温度的测量、脉搏测量能测出即时的温度和脉搏,显示在LCD屏上手指放到红外对管中,2秒内读出心率同时还可以设定上限次数和下限次数,当测量的范围超过设定的范围则驱动蜂鸣器报警提醒当检测的体温超過设置的温度上下限也会蜂鸣器报警提醒。

使用说明:显示每分钟脉搏次数和温度

三个按键:一个设置,一个加一个减。

按下设置的時候才可以加减

手指放上去尽量别乱动。

通过这次课程设计学到了不少课本上没有的知识,也锻炼了自己的动手能力将以前学过的零散的知识串到一起。经过长时间的设计及调试软件仿真基本能实现基于怎么给单片机编程的脉搏计的所有功能。但是硬件的稳定性有待进一步提高无法发现错误在何处。

综合设计主要涉及硬件和软件两方面的内容硬件和软件开发能力都获得了提高。首先硬件方面基本了解了电子产品的开发流程和所要做的工作,焊完实物后首先是硬件调试。电路的调试过程是检验、修正设计方案的实践过程但吔是对理论知识的实际应用,解决各种问题的关键环节是电路设计人员必须掌握的基本技能。基本掌握了Protel99SE原理图的方法通过开发板的設计和硬件搭建的过程,对51系怎么给单片机编程的接口有了更深层次的理解熟悉了一些怎么给单片机编程常用的外围电路引脚和连接方法,如LCD液晶键盘等。并且学会了分析问题解决问题的能力加深了对所学理论知识的理解和运用,动手能力得到了很大的提高创新意識得到了锻炼。














  1. //都设置好后将此变量清零
    //上限数值小于150
    //下限数据大于30时
        //心率不正常(计数超过5000也就是两次信号时间超过5s)不显示数据






  2. if(Xintiao_Change==1)//心率计原理为检测两次脉冲间隔时间计算心率,变量Xintiao_Change第一次脉冲时为0的所有走下面的else,第二次走这里
     //计算出心率后该变量清零准备下次檢测心率
      //脉冲计时变量清零,开始计时
  3. /**定时器初始化函数**/




  4. …………限于本文篇幅 余下代码请从51黑下载附件…………
所有资料51hei提供下载:
}
使用Proteus搭建的一个51怎么给单片机编程最小系统
实现点亮LED,LED递位流水灯,呼吸灯数码管计数。
以及使用万用板(洞洞板)实现的实物搭建
使用USB转串口下载烧录。
附上原理图源代码,实物图驱动和烧录软件。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


}

我要回帖

更多关于 怎么给单片机编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信