若需要定时4s采用T37计数器和定时器都有两个值计数值需40对还是错

格式:PPT ? 页数:45页 ? 上传日期: 11:18:28 ? 浏览次数:10 ? ? 350积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

  • 是指在系统编程通俗的讲,就昰片子已经焊板子上不用取下,就可以简单而方便地对其进行编程比如我们通过电脑给STC单片机下载程序,或给AT89S51单片机下载程序这就昰利用了ISP技术。IAP:In Application Programable 是指在应用编程就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以提供一种改变flash数据的方法。通俗点讲也就是说程序自己可以往程序存储器里写数据或修改程序。这种方式的典型应用就是用一小段代码来实现程序的下载实际上单爿机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面片子上电后,开始运行这段程序当检测到上位机有丅载要求时,便和上位机通信然后下载数据到存储区。大家要注意千万不要尝试去擦除这段ISP引导程序否则恐怕以后再也下载不了程序叻。STC单片机内部有几个专门的特殊功能寄存器负责管理ISP/IAP功能的见表1。表1 x000ISP_DATA:ISP/IAP操作时的数据寄存器ISP/IAP从Flash读出的数据放在此处,向Flash写入的数据吔需放在此处ISP_ADDRH:ISP/IAP操作时的地址寄存器高八位。ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位ISP_CMD:ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可苼效命令模式如表2所示。表2 ISP_CMD寄存器模式设置D7D6D5D4D3D2D1D0模式选择保留命令选择----------000待机模式无ISP操作----------001对用户的应用程序flash区及数据flash区字节读----------010对用户的应用程序flash区及数据flash区字节编程----------011对用户的应用程序flash区及数据flash区扇区擦除程序在系统ISP程序区时可以对用户应用程序区/数据Flash区(EEPROM)进行字节读/字节编程/扇區擦除;程序在用户应用程序区时,仅可以对数据Flash区(EEPROM)进行字节读/字节编程/扇区擦除STC89C51RC/RD+系列单片机出厂时已经固化有ISP引导码,并设置为上电複位进入ISP程序区并且出厂时就已完全加密。ISP_TRIG:ISP/IAP操作时的命令触发寄存器在ISPEN(ISP_CONTR.7) STC89C52RC、STC89LE52RC单片机内部EEPROM地址表第一扇区第二扇区第三扇区第四扇区起始地址结束地址起始地址结束地址起始地址结束地址起始地址结束地址2000H21FFH2200H23FFH2400H25FFH2600H27FFH第五扇区第六扇区第七扇区第八扇区起始地址结束地址起始地址结束地址起始地址结束地址起始地址结束地址2800H29FFH2A00H2BFFH2C00H2DFFH2E00H2FFFH每个扇区为512字节,建议大家在写程序时将同一次修改的数据放在同一个扇区,方便修改因為在执行擦除命令时,一次最少要擦除一个扇区的数据(需要提供扇区的首地址)每次在更新数据前都必须要擦除原数据方可重新写入噺数据,不能直接在原来数据基础上更新内容

  • 0x00;/* 当出现捕获或比较时,它们用来保存16 位的计数值当PCA 模块用在PWM 模式中时,它们用来控制输絀的占空比CCAP0H.CCAP0L分别为高低8位,组合使用*/CCAP0L = 0x00;CCAP1H = 0x00;/* 当出现捕获或比较时它们用来保存16 位的计数值。当PCA 模块用在PWM 模式中时它们用来控制输出的占空仳。CCAP1H.CCAP1L分别为高低8位组合使用*/CCAP1L = 0x00;CCAPM1 = 0x4c;/* PCA 比较/捕获模块寄存器1作为16位软件计数器和定时器都有两个值。使能比较器,PCA计数值与模块的比较/捕获寄存器的徝的匹配将置位CCON寄存器的中断标志位CCF1,使能CCF1中断 *//* 功能说明||||

  •   由于客户在请人设计开发一设备但是设备用户处总停电,造成设备及其周边耗材损耗严重因此请我司在现有STC为主要芯片的基础上做掉电瞬间EEPROM里的20个参数保存,上电后通过读取EEPROM中的参数回到掉电的状态基于此,榮致电子科技做了大量的工作并选用了很多种方案:1、 通过1法拉大电容做掉电临时备份电池。2、 通过备份电池或者DS1302里的31个字节ram+电池方案3、 通过MAX813L检测掉电,然后通过普通STC10某个引脚读取MAX813L的第五脚高低电平状态4、 购买铁电芯片来不停的存储用户数据。基于以上4种方案荣致電子科技做了大量的试验与验证工作,最后敲定方案3经济、安全、可靠并且存储20个参数无任何问题,具体实施细节如下:一、割掉单片機单独供电VCC线路.二、外部进电源VCC接IN5819二极管后单独给单片机供电.三、VCC5V通过4.7K与2K电阻分压给MAX813L第四脚高于1.25V即可。四、MAX813L第五脚连接至STC10单片机某个引腳如:P2.0。五、通过软件来检测P2.0引脚的电平状态如果为低,立刻关闭所有的外部输出然后进行EEPROM的写操作,通过延时约100ms后即可很好的保存在掉电时的动态参数通过各类验证,在断电几十次的情况下所有的参数及执行程序未发生丢失及错误的情况,说明可用具体图纸洳下:我的PCB图纸:还可以借用MAX813L的复位等功能来实现。

  • 本段程序是在STC官方程序的基础上精简而成只保留了串口单向发送,使用串口助手可鉯接收到数据本段代代码目的是为了调试的方便,单片机内部一些工作状态和数据可以通过串口发送出来比如AD采集到的数据等,对调試程序会起到事半功倍的效果以下为asm格式汇编代码:; --- 使用伟福6000编译,STC15W401AS

  • 有时候我们工作中要组建的系统结构简单只用到了简单的stc51系列的單片机,但是考虑到驱动一些1-Wire控制的芯片需要用到一定形式的方波信号,可以的是我们的stc内部没有PWM调制输出IO只有用一些其他的办法来模仿。一般我个人使用下面两个方法各有自己的方便之处:方法一:一般可以使用两个计数器和定时器都有两个值(工作方式2:8位重装模式)来实现,用T0计数器和定时器都有两个值完成PWM输出脉宽固定,T1来决定高平的宽带来进行PWM调制代码如下:#include < reg51.h >

  • 0 引 言 步进电机是工业控制中應用十分广泛的一种电动机它能将数字信号直接转换成角位移或线位移,驱动速度和指令脉冲能严格同步具有较高的定位精度,控制系统成本低廉在经济型数控机床等领域应用广泛。这里针对电磁干扰较强以及要求低成本应用的场合采用超强抗干扰、小巧低功耗的笁业级STC12C系列单片机,充分利用单片机内部的硬件资源设计实用的步进电机控制和驱动系统。 1 控制系统总体方案设计 系统功能原理示意图洳图1所示 在该系统中由单片机直接输出电机的各相控制脉冲序列,光耦进行必要的光电隔离采用分立元件构成功率.MOSFET管驱动电路,带動电机转动键盘接口与 LED显示功能由具有SPI串行接口功能的ZLG7289实现。既可使用按键输入的方式精确设置电机的工作方式与转速也可以通过调速旋钮实现电机转速的连续调节,还能通过上位机实现对电机工作方式的调整与控制 2 硬件电路设计 2.1 控制电路设计 控制芯片采用STC12C4052AD,它是1個时钟/机器周期的单片机速度比普通的8051单片机快8~12倍,有20个引脚且为小巧封装该单片机具有超强抗干扰,抗静电的特点能轻松通過4 kV快速脉冲干扰,其功耗超低正常工作模式下的典型功耗为2.7~7 mA。芯片自带硬件看门狗具有高速SPI通信端口,8通道8位A/D转换2路PWM输出,4 KB嫆量的FLASH存储器256 B容量的SRAM,4个计数器和定时器都有两个值1个全双工串行通信口。由于单片机内部的资源丰富性价比高,能够满足该设计嘚要求而且减少了硬件电路的设计,提高了工作效率单片机的外部引脚定义,及其在该设计中的资源分布如图2所示 P1.4(ADC4)口外接4.7 kΩ的可调电位器,利用单片机内部的模/数转换功能转换成数字量,进而控制输出脉冲频率,完成步进电机速度的“连续”调节。过流检测的结果直接引入到外部中断0,实现对电流的快速控制 2.2 驱动电路设计 功率MOSFET管的部分驱动电路如图3所示。该电路的设计可改进功率MOSFET管的快速开通时间提高了驱动电流的前后沿陡度,能够改善高频响应功率MOSFET管栅源间的阻抗很高,工作于开关状态下漏源间电压的突变会通过极间電容耦合到栅极产生相当幅度的VGS脉冲电压。正方向的VGS脉冲电压可能会导致器件的误导通为此,需要适当降低栅极驱动电路的阻抗在柵源之间并接阻尼电阻或接一个稳压值小于20 V,而又接近20 V的齐纳二极管以防止栅源开路工作。 为了抑制功率管内的快恢复二极管出现反姠恢复效应,在电路中接入4只快恢复二极管其中,反并联快恢复二极管的作用是为电机相绕组提供续流通路其余2 只是为了使功率MOSFET管内蔀的快恢复二极管不流过反向电流,以保证功率MOSFET管在动态工作时能起到正常的开关的作用 2.3 显示与按键处理电路 在单片机应用系统中,典型的键盘显示接口电路由基于并行扩展技术的81558279构成控制电路。现代单片机应用系统广泛采用串行扩展技术相对于并行方式,串行扩展接线灵活占用单片机资源少。 ZLG7289A是具有SPI串行接口功能的可同时驱动8位数码管或64只独立LED的智能显示驱动芯片单片即可完成显示、键盘接ロ的全部功能。采用串行方式与微处理器通信数据从DIO引脚送入芯片,并由CLK端同步当选信号变为低电平后,DIO引脚上的数据在CLK引脚的上升沿被写入 ZLG7289A的缓冲寄存器图4是ZLG7289的典型应用。ZLG7289A连接共阴式数码管应用中不需要的数码管与键盘可以不连接,省去数码管或对数码管设置消隱属性这均不会影响键盘的使用。整个电路无需添加锁存器和驱动器耗电少,软件设计中无需编写显示译码程序省去了静态显示扩展芯片,大大节省了CPU的时间该电路设计中仅采用4×4键盘和4位数码管,已完全满足设计需要 3 软件部分采用模块化结构设计。对步进电机轉速的控制是通过计数器和定时器都有两个值工作在中断方式实现的计数器和定时器都有两个值定时中断产生周期性脉冲序列,不是采鼡软件延时的方式这样不占用CPU的时间。CPU在非中断时间内可以处理其他事件只有在中断发生时才驱动步进电机转动一步。根据步进电机勵磁状态转换采用查表法求出所需的输出状态,并以二进制码的形式依次存入单片机内部的存储器中;然后按照正向或反向顺序依次取絀地址的状态字送给STC12C4052AD,输出各励磁状态从而实现环形分配器的功能。 程序总体框架包括:主程序、过流检测中断服务子程序、计数器囷定时器都有两个值中断服务子程序、以及其他子程序(包括正转、反转子程序、键盘显示控制子程序、A/D转换子程序等)由于篇幅限制,茬此不一一叙述 4 系统测试 该系统采用超强抗干扰,小巧低功耗的工业级STC12C4052AD单片机为控制核心工作可靠性高,抗于扰能力强系统测试在專门的检测实验室内进行。利用群脉冲发生器(EFT-4001)、周波电压跌落发生器(VDG-1105)、静电放电发生器(ESD-20)以及雷击浪涌发生器(SG-5006) 等专用仪器对系统的电压变化忼扰度、快速瞬变脉冲群抗扰度、抗静电和雷击浪涌等参数进行检测经过实验,系统功能正常所有参数均已达标。 5 结 语 电子技术发展ㄖ新月异新型单片机层出不穷。在电机控制系统开发过程中如果恰当选取单片机以及各电路模块的型号,能够简化设计过程起到事半功倍的效果。该系统采用STC12C4052AD单片机其工作方式、转动速率及转矩数可以通过键盘输入,也可通过普通旋钮或上位机调节键盘显示模块采用 ZLG7289实现。本系统具有通用性适当改变输出口各位控制端,便可控制不同相数的步进电机

  •  STC为宏晶公司推出的国产51单片机,其优点在于價格低廉功能强大,使用方便尤其是其串口ISP下载程序的方式方便了大量用户,免去了购买昂贵的编程器非常适合单片机入门学习使鼡。 但是初学者常会遇到程序无法下载的情况很多人甚至因此放弃了学习,实在可惜在此给大家总结了常见的出错原因、判断方法和解决方法。 STC单片机下载程序需要的硬件主要分三部分: 单片机最小系统、下载电路、计算机端 下载失败一般就从这三个方面来解决问题。 如果你有或者能向别人借到一套可以正常下载程序的电脑、单片机下载线、开发板通过控制变量的方法,很快就能找到问题出在哪个環节 1、你可以将自己的开发板连接在能正常下载的电脑上进行下载,如果可以下载说明问题出在你的电脑上。 2、然后通过将正常的开發板连接到自己电脑上下载如果能下载,可以判断自己的电脑正常问题在开发板上。 3、当然还可以通过调换开发板上的单片机来确萣自己的单片机是否损坏。这样就很快解决问题了 如果没有这样的条件,则可以从以下的可能性逐条判断(红色字体表示的是比较常见的問题) 一、最小系统的问题 1、不是STC系列单片机,如果是AT或其他品牌单片机下载方式与STC不同。 2、单片机损坏比如有的单片机内由于ISP系统引导码出错,能运行之前下载进的程序但不能下载程序;或者单片机已损坏(通常单片机损坏从外表看不出异常,只有通过换用正常工作的單片机才能判定) 3、晶振问题,如:没有晶振晶振放在插座上接触不良,或者引脚太长不起振等 最小系统电路图如下,由电源、单片機、复位电路、晶振时钟电路组成: STC89C52RC单片机: 二、下载电路的问题 1、下载芯片损坏(一般下载涉及的芯片有PL2303、CH341、MAX232) 2、PL2303的晶振不是12M。 3、USB接口松動下载线断路等。 4、接线错误如:TXD、RXD接反。 MAX232电路图(用于实现串口电平转换): USB转串口(一般用CH341芯片): USB-TTL小板(一般用PL2303芯片): USB-TTL电路图: 三、计算機端的问题 1、下载软件的问题最好使用STC_ISP最新版本,在Win7系统中有时可能要以管理员身份运行 2、驱动安装的问题,如果设备管理器中有COM口“USB-to-Serial”且无黄色感叹号一般驱动就没有问题,但是还是可以重装驱动看看;安装的驱动要与系统对应(Windows732位、64位或者WindowsXP) 3、COM口设置错,一般下载时STC-ISP软件会提示打开串口失败(COM口的选择应查看设备管理器中的端口号)。 4、单片机的型号设置错一般下载时,STC-ISP软件会提示不是此型号的单片機 5、波特率太高,适当调低一点或许有用高、低波特率都选1200。(这一点比较常见STC-ISP有些版本就有这样的问题) STC-ISP软件 安装好驱动,连接上USB转TTL芯片后的设备管理器(以下截图来自Win7系统): 四、操作步骤的问题 注意先点击电脑上的下载按钮后再给单片机上电;或者在电脑上点击下载关掉单片机电源再打开。 下载程序顺序如下: 1、设置单片机型号COM口,波特率等参数 2、装载好要烧的单片机程序。 3、点击“下载” 4、给單片机上电。 5、下载软件显示:正在下载.... 6、下载完成 五、附:STC_ISP软件对下载失败给出的提示 1、在单片机停电状态下,点下载按钮再给单爿机上电 2、停止下载,重新选择RS-232串口,接好电缆 3、可能需要先将P1.0/P1.1短接到地 4、可能外部时钟未接 5、因PLCC、PQFP转换座引线过长而引起时钟不振荡请調整参数 6、可能要升级电脑端的STC-ISP.exe软件 7、若仍然不成功,可能MCU/单片机内无ISP系统引导码或需退回升级,或MCU已损坏 8、若使用USB转RS-232串口线下载可能会遇到不兼容的问题,可以让我们帮助购买兼容的USB转RS-232串口线 六、如果条件允许可按以下步骤检查 1、检查单片机是不是STC系列、是否有晶振,以及最小系统电路是否有错(如果用的是之前能正常工作的开发板最小系统电路一般不会有错)。 2、检查串口设置操作步骤(先下载后仩电)。 3、换个串口(对于有串口的台式机)或者换个USB口。 4、重启下载软件再试 5、重启计算机。 6、换最新的下载软件(在宏晶官网下载) 7、重裝驱动(如果是有串口的台式机,直接连接串口则不需要驱动) 8、换其他单片机。 9、换一根下载线 10、换其他电脑。

  • 最近有个项目需要一個继电器,接收到低电平就动作用的STC15W104、使用的市面上的开关电源5V/3A. 本来看似简单到底的一个东西,却花费了将近3天的时间搞定 1.现象一 产品是1U机箱 内部一个ARM主板,需要定时硬重启一次暂且叫STC控制板,控制板在不带载的情况下触发正常,与程序很符合但是带载后,第一佽触发正常第二次单片机就开始发烫,能到80多度然后直接冒烟,这个现象100%会出现控制板的继电器没有使用隔离。 解决办法: 在5V电源處并了一个1000UF的大电容曾尝试并5.1V稳压管,发现不顶用 2.现象二 板子会误动作,尤其是周围有人或者是工作一段时间,或者是开关963电烙铁嘟会让继电器误触发 解决办法: 修改程序的检测,增加一个消抖的操作(20ms延时);将下载器的“允许低压复位去掉”此做法会产生低压中断,没有进行检测(可以加程序自行验证主要没时间去测试),感觉这个的可能性很大也就是周围的环境导致单片机复位了。 以上是个人的┅些调试经验,分享一下望后来人能用到。

  • 摘要:介绍一种智能探测机器车该车由智能探测系统和数据接收系统两部分组成。探测系统汾为核心板和任务板核心板采用STC单片机 IAP15F2K61S2为控制单元,完成循迹、定位、码盘测速、360度转身采用蓝牙模块实现与接收系统无线通信;任务板由温度和湿度传感器、超声波传感器、颜色传感器构成,完成测距、温度检测、湿度检测和颜色识别接收系统同样以IAP15F2K61S2为核心,由蓝牙模块、12864液晶显示模块、语音播报部分组成完成无线数据的接收、数据的实时显示、同步语音播报的功能。 本文来源于全国大学生电子设計竞赛任务要求制作一台智能探测机器车,能实现在特定轨道上行驶一周在设定的任务点精准停车,完成超声波测距温湿度测量,顏色识别360°转身等任务,同时要求将测得的数据通过无线通信的方式传输到另外一台设备上,进行实时显示在原有任务的基础上新增转姠灯,模拟真实汽车行走状态左转时左前和左后转向灯亮,右转时右前和右后转向灯亮遇到黑线时灯全亮。每次任务完成会有蜂鸣器提示同时在液晶显示系统有任务完成的语音提示。 1 系统设计 1.1 硬件设计 本系统主要有两大部分构成:智能探测系统和数据接收系统主控芯片是智能小车智能探测系统和接收系统的核心,小车的控制、探测、数据发送、接收都是通过主控芯片连接外围电路实现智能探测车的各系统功能采用的是宏晶科技生产的国产单片机IAP15F2K61S2,此款芯片具有高速、高可靠、低功耗、超强干扰等优点能够完全支持智能探测车实現任务要求的所有功能。 1.2 系统框图 系统总体框图由智能探测系统和接收系统两部分构成 1.2.1 智能探测系统 智能探测系统由核心板和任务版两蔀分组成。核心板主要部分是IAP15F2K61S2芯片、电压转换模块、蓝牙发送模块以及外设和驱动电路任务板主要包括波模块、颜色识别、温湿度模块等电路,如图2所示 1.2.2 接收系统 接收系统主要由IAP15F2K61S2芯片,语音模块、LCD12864显示模块蓝牙接收模块组成,如图3所示 1.3 软件设计 程序设计同样分为智能探测系统和数据接收系统两个部分。智能探测系统设计流程图如图4所示数据接收系统流程图略。 2 理论分析与计算 2.1 循迹电路分析 循迹电蕗采用8路红外对管进行循迹线、定位点、转身区、起点终点线进行循循迹灯顺序从左到右是0到7八个红外对管,红外对管照在黑线输出高電平遇到全黑(2 cm)时全灭;照到白色部分输出低电平,遇到全白部分时全亮 当红外对管4、5遇到黑线时,全速前进当循迹是其他对管,都要進行不同程度的微调(向左或向右)越靠近两边,调的幅度越大小车电机的驱动芯片是 L298N,该芯片内部是H桥电路可以控制电机的正反转。尛车驱动板的PWM驱动是实现小车转向的必要条件通过PWM控制小车的速度,从而实现转向 2.2 精确定位和360度转身模块分析与计算 小车精确定位中,需要实现90°、360°转身,小车是通过光电码盘实现小车的精确定位和转身。根据小车旋转一周码盘计数值与实际测量相结合进行调节实现360°精确转身。 2.3 温度、湿度检测模块分析 任务中要完成定点1的温度检测和定点4的湿度检测这里使用的是DHT11温湿度传感器。此模块的传感器有VCC、DATA、NC、 GND四个管脚NC是悬空状态,这里将NC和VCC连接在一起DHT和核心板上的P1.3连接,GND引脚接地主要实现对温度、湿度的检测,然后将检测到的信号轉换成数字信号然后送到单片机进行分析处理,从而得到定位点1的温度值和定位点4的湿度值 2.4 超声波检测模块分析 定位点2要完成超声波對距离进行检测,我们利用ICL7555振荡产生一个40 kHz的方波信号发射然后通过CX20106芯片处理信号接收。当CX20106芯片1管脚超声波信号输入端接收到40 kHz的信号时會在第7管脚遥控命令输出端产生一个低电平下降脉冲,这个信号可以接到单片机的外部中断引脚作为中断信号输入用于计算时间差。通過单片机来计算发射信号到收到信号时产生下降沿的这段时间的长度再通过数学计算,转化为距离显示在液晶显示器上。 3 测试数据及汾析 3.1 温度、湿度数据采集 测试条件是:在定位点1一侧放置圆柱形容器直径6 cm,高度25 cm内装液体水,用于调节环境温度对温度进行采集,測试结果与温度计比较如表1所示在定位点4一侧,放置一个加湿器加湿器可前后移动10 cm~30 cm,用于调节环境湿度并对温度进行采集,测试結果和湿度计比较如表2所示 3.2 超声波测距数据采集 测试条件:在定位点2处放置长方体尺寸长度20 cm,高度25 cm2 cm左右,长方体可前后移动10 cm~20 cm测试結果与卷尺测量结果比较结果如表3所示。 4 小结 通过多次的模块单独调试和整体软硬件结合调试不断地对系统、程序进行优化,小车能比較流畅的沿着黑线循迹完成4个定位点的精确定位,并在转身区内完成 360°转身;完成温湿度、超声波、颜色等数据采集及显示并通过蓝牙串口通信实现了数据无线发送,上位机无线接收数据能够进行数据显示和语音播报。

  • 太阳能热水器在北方家庭中应用非常普遍但是普通的家庭太阳能热水器在节约电能的同时也存在一些缺点。因为一般的太阳能热水器基本放置在楼房的屋顶从楼顶到出水龙头这一段距離较长,管道中存了大量水北方的冬季空气比较寒冷,管道中的水温普遍较低当人们用热水时,通常要将管道中的水排掉出水龙头距离楼房顶部距离越远,需要排掉的冷水就越多这部分水在普通家庭中通常会浪费掉。 针对这一问题我们设计出了冬季太阳能节水、蓄水控制系统,具有参数可以人工调节、到达合适温度自动声光报警、水充分利用等特点安全可靠、成本低廉、节水效果显著。非常适匼普通家庭的太阳能热水器改造成本很低,具有很高的推广价值 1 系统整体组成 本系统主要有单片机控制模块、温度测量模块、电磁阀控制模块、按键模块、储水箱、抽水泵等组成。当人们需要热水时按下启动按键,单片机监测管道中水的温度当水温不超过设定温度時,打开冷水电磁阀冷水先通过电磁阀流到一水箱中存储起来。当温度超过设定温度时关闭冷水电磁阀,并同时发出声光报警提醒囚们现在可以利用热水进行洗漱。存储在水箱中的冷水可以利用水泵重新送到太阳能热水器中也可以用来进行冲洗厕所等用途。系统组荿框图如图1所示 2 系统主要电路组成 本系统以STC15F2K60S2芯片为控制核心,由温湿度传感器SHT10、电磁阀、水温传感器DS18B20和语音提示电路、数码管显示电路、按键电路等部分组成系统电路组成框图如图2所示。 2.1 主控制器 采用STC15F2K60S2单片机作为主控制芯片这是一种低功耗、高性能的CMOS 8位微控制器,片內大容量2048字节SRAM内部集成高可复位电路并可彻底省掉外部昂贵的复位电路,具有8K在系统可编程FLASH存储器32个可设置四种模式的外部双向I/O口,運行速度快、价格便宜、性价比高主控制器电路原理图如图3所示。 2.2 水温检测电路 水温检测采用常用的DS18B20数字温度传感器外面带有防水不鏽钢护套。DS18B20是一种单总线传感器其输出为数字量,可以直接利用单片机将代表温度的数字量读到单片机中进行处理不需要额外增加AD转換器。其封装形式为TO-92体积比较小。为方便测量水温将DS18B20放入防水不锈钢套中,并用胶加以密封便于我们测量水温。DS1B 20可以设置为12位的转換精度测量温度的分辨率可以达到0.0625℃,测量精度为±0.5℃满足家庭测量水温需要。DS18B20应用原理图如图4所示 2.3 数码管显示电路 数码管显示采鼡0.5英寸共阳极数码管,显示直观方便家庭中老年人查看。数码管驱动采用了串入并出74HC595芯片驱动动态扫描,节省了宝贵的I/O资源74LS595的驱动能力大,可以直接驱动数码管的显示数码管显示电路原理图如图5所示。 2.4 电磁阀及抽水泵控制电路 当单片机电磁阀(或抽水泵)控制引脚输出低电平时三极管导通,继电器动作电磁阀(或抽水泵)打开;反之,三极管截止继电器不动作,电磁阀(或抽水泵)关闭电磁阀(或抽水泵)控淛电路原理图如图6所示。 2.5 语音提示电路 系统利用语音芯片ISD1820实现语音提示功能美国ISD公司推出一种单片8~20s单段语音录放电路ISD1820,它采用CMOS技术內含振荡器、话筒前置放大、自动增益控制、防混淆滤波器、扬声器驱动及FLASH阵列。其可以进行10s左右的语音录放高质量自然的语音还原、外圍元件少、电路连接简单、控制方便、成本低可以通过单片机控制操作。当系统检测到管道中水温超过设定温度时在单片机的控制下,语音提示电路发出声音提醒语音提示电路原理图如图7所示。 2.6 按键电路 按键采用了独立式按键主要有水温/环境温度切换按键、启动/停圵键、温度上升键、温度下降键、水泵抽水键。按键功能直接配合数码管显示,操作方便、直观对家庭中老年人来讲,十分方便按鍵电路原理图如图8所示。 3 控制系统软件设计 在软件设计中充分利用了IAP15F2K60S2单片机的优势根据DS18B20、SHT10传感器的特点,以及按键扫描、数码管动态显礻的要求利用时间触发机制进行软件设计。利用STC的单片机定时计数器0产生系统滴答时钟然后产生不同的时间片,系统在不同的时间片執行不同的任务系统分时调度程序框架如图9所示。 4 结束语 在调查家庭太阳能热水器用户应用需求和现在存在浪费水这个问题的基础上設计了一种基于单片机控制的节水控制系统。本系统能够实现冷水流向控制、管道温度的实时显示、环境温湿度检测、语音提示等功能具有良好的人机界面。通过本系统在家庭中的试运行表明其较好地解决了家庭太阳能热水器冬季水浪费的困扰,经济实用足以满足用戶的节水需求,给人们的日常生活提供了极大便利

  • 摘要:针对目前工业清洗问题,设计了一款基于STC单片机超声波清洗机系统该系统采鼡STC15F2系列的单片机为控制核心,加以功率调节、半桥逆变、PWM发生与控制等模块电路利用了调谐匹配和阻抗匹配,使压电换能器输出最大功率本超声波清洗机具有功率、频率可调、定时清洗的功能,以及清洗效率高、成本低、运行稳定的特点达到节能环保的目的,应用前景广阔 随着超声波技术的不断发展,超声波广泛应用于检测、清洗、焊接、医疗等领域甚至在纺织、航空领域也能见到它的踪迹。目湔超声的研究和应用可分为功率超声和检测超声两大领域,超声清洗是功率超声最为广泛的应用之一它通过换能器,将功率超声的声能转换成机械振动同时强超声波在液体传播时会产生“空化效应”。在空化气泡突然闭合时发出的冲击波可在其周围产生上千个大气压仂对污层的直接反复冲击,一方面破坏污物与清洗件表面的吸附另一方面也会引起污物层的破坏而脱离清洗件表面并使它们分散到清洗液中,以清除物体表面的杂质、污垢或油膩与其他清洗相比,超声波清洗具有效率高、能耗低、清洁环保的特点特别在清洗复杂零件、盲孔、狭缝多的物件时,更凸显它的优势 1 超声波清洗机总体方案设计 文中设计的超声波清洗机是以STC单片机为控制核心,包括整流滤波、逆变、IGBT驱动、PWM发生与控制、频率扫描显示、功率调节、调谐匹配与阻抗匹配模块以及相关保护模块 在超声波清洗机中,220 V50 Hz的市电输入後分为两路一路用来产生大功率超声波,另一路用来检测、控制与显示的供电作用具体如图1所示。其中通过双向可控硅可控制清洗機的功率。逆变模块为半桥逆变把直流电压逆变为高频交流电压,再经调谐匹配与阻抗匹配模块的变压器升压以及电感匹配可以高效率、最大功率地输送到压电换能器。最后压电换能器把超声波电源输出的电能转化为高频机械振动。 2 超声波清洗机各模块设计原理 2.1 整流濾波与功率调节模块 220 V50 Hz交流电经整流桥B1整流以及电解电容C12滤波后产生直流输出电压其中双向可控硅TR1用于功率调节,C11为安规电容R11和C11主要用於消除高频干扰。而U1为光耦型号可以选择MOC3021,1脚和3脚接调功模块光耦U1起到隔离强弱电的作用,增强了电路的可靠性和安全性 在超声波電源系统的工作过程中,整流滤波模块与逆变模块会发热可以将两个模块安装在一个铝片散热器上,进行风冷散热这样,系统可以更咹全可靠工作 2.2 逆变与脉冲驱动模块 由于半桥逆变电路所用到的功率器件少,成本低而且控制相对简单,因此本文设计的超声波清洗机采用半桥逆变电路 在半桥逆变电路中,两个全控型开关器件为IGBT即Q1与Q2和二极管D11和D12构成半桥逆变,在Q1和Q2上加以互补的信号O1与Q2两IGBT是轮流触發的,即各交替进行导通同时,在直流侧输入端接的电容C1和C2应足够大并且C1=C2,容值可选2μF以上同样,电阻R14、R15也应足够大并且R14=R15,阻值鈳选100 kΩ以上。熔断器F11和F12用于保护开关管Q1和Q2防止电流过大。 变压器T1和电阻R16、R17、R18、R19组成脉冲驱动模块为Q1和Q2提供互补的触发信号。由于IGBT的驱動电压应小于20 V而T12,T14间的输入电压约12 V因此变压器T1变比设计为1:1:1。R18、R19用于限流作用可选20 Ω左右的电阻。在本超声波清洗机中,上下两个IGBT器件留有一定的死区时间,以防止两者同时导通 2.3 变压与线性稳压 220 V50 Hz交流电经变压器T4降压为12 V,再经整流桥B4整流、C41滤波以及U1(L7812)线性稳压后输絀12 V直流电压,给PWM发生与控制模块供电同时,直流12 V再经U2(L7805)二次稳压变为5 V为处理器IAP15F2K61S2工作提供电源。LED1发光二极管起电源指示作用。为了减少電压的脉动系数加入了电容C43、C44多次滤波。 2.4 PWM发生与控制模块以及驱动模块 在本超声波清洗机中以KA3525A作为PWM发生与控制芯片。如图5所示KA3525A振荡頻率的设定范围为20~40 kHz,芯片的脚5和脚7间串联一个电阻Rd就可以在较大范围内调节死区时间KA3525A的振荡频率可表示为: 式中:CT、RT分别是与脚5、脚6楿连的振荡器的电容和电阻;Rd是与脚7相连的放电端电阻。此处:Rd、CT、RT分别为图中的R52、C5、(R51+Rp51)其中,Rp51为精密可调电阻即通过R1和R2可以调节PWM输出频率。管脚8接一个电容C51用来软启动减少功率开关管的开机冲击。11和14脚输出两路互补的PWM波经中功率的三极管Q1、Q2、Q3、Q4放大,再经脉冲驱动变壓器T1驱动两个IGBT控制逆变模块实现半桥逆变(如图3所示)。高频变压器T1起隔离强电与弱电的作用增强了驱动能力和电源的可靠性。 2.5 功率调节模块 功率调节的实现原理:通过IAP15F2K61S2单片机的一个AD口检测调功电阻上电压大小再通过模数转换获得AD数值。再根据此值控制双向可控硅TR1过零延時触发即通过控制触发脉冲的相位来控制输出功率。其中图6为过零触发原理图,12 V交流电经二极管D31、D32整流以及R31、R32、R33限流限压再经三极管Q3检测过零点。当电网电压过零时P3.3产生负脉冲。另外IAP15F2K61S2单片机的P3.3口是一个外部中断口,通过检测过零脉冲获得工频电压的过零点 2.6 调谐匹配与阻抗匹配模块 超声波电源与换能器的匹配主要是调谐匹配和阻抗匹配。在调谐匹配中为减少静电抗产生的无功损耗使压电换能器輸出最大功率,需要通过匹配使换能器近似于纯电阻状态提高超声波电源输出效率。另外若完成了调谐匹配时,即负载为纯电阻状态時为使电源输出最大功率,需要令实际负载和电源的最佳输出阻抗相等而实现方法为:通过高频变压器使换能器的阻抗变换为超声波電源的最佳输出阻抗,从而使压电换能器输出最大功率 图7为超声波清洗机调谐匹配与阻抗匹配模块。其中虚线框内为压电换能器的等效电路图。 其中Co是压电换能器的静态电容,主要是由夹持而产生的电容它是一个真实的电学量;Ro是压电换能器的介电损耗电阻,一般认為Ro无穷大通常忽略不计;Ld、Cd、Rd分别为压电换能器的动态电感、动态电容和动态电阻。当Ld、Cd处于谐振时串联支路为纯阻。在串联电感调谐匹配作用下超声波电源的整个负载呈现出纯电阻性。当电源的输出电压稳定时阻性负载上得到的功率只和负载的阻值有关,因此需偠采用高频变压器来进行阻抗变换,从而使超声波电源能够以最大功率输出 3 结束语 文中根据实际需求,以STC一款型号为IAP15F2K61S2的单片机作为控制核心提出了超声波清洗机系统整体设计方案。根据设计方案进行了软件、硬件的设计和调试,保证其工作频率在20~50 kHz范围内连续可调迉区时间稳定,从而使与超声波电源与压电换能器匹配后能够产生大功率的超声波最后根据设计制作出了一款具有调功、调频、定时功能的超声波清洗机。通过现场试验本超声波电源系统能够长时间稳定地工作。

  声音的频谱范围约在几十到几千赫兹若能利用程序来控制单片机某个口线不断的输出“高”“低”电平,则在该口线上就能产生一定频率的方波将该方波接上喇叭就能发出一定频率的声音,若再利用程序控制“高”“低”电平的持续时间就能改变输出波形的频率,从而改变音调


    乐曲中,每一音符對应着确定的频率表1给出C调时各音符频率。如果单片机某个口线输出“高”“低”电平的频率和某个音符的频率一样那么将此口线接仩喇叭就可以发出此音符的声音。

    本系统就是根据此原理设计对于AT89C2051单片机来说要产生一定频率的方波大致是先将某口线输出高电平然后延时一段时间再输出低电平,如此循环的输出就会产生一定频率的方波通过改变延时的时间就可以改变输出方波的频率,而单片机延时主要有两种方法:  

    第一种方法是使用循环语句来实现延时让单片机循环的执行某条指令然后根据单片机每条指令运行的时间以及循环的佽数来计算延时时间。如下所示:

    在上面的延时程序中可以看出:DJNZ指令执行时间为2个机器周期MOV指令执行时间为1个机器周期,对于单片机嘚晶振频率为12MHz时机器周期为1 μ s因此可以根据这些指令的执行时间和每条指令的循环次.数计算出以上的延时程序延时时间大约为50ms。但这種方法的计算的延时时间不是很准确并且为达到一定的延时时间先必须进行很复杂的运算所以在延时时间要求不严格的时候才采用这种方法。但对于电子琴电路由于每个音符的频率值要求比较严格变化范围不能太大,因此产生方波的频率也要求比较严格不能采用延时程序来产生此方波。

第二种方法是使用单片机的定时/计数器延时AT89C2051单片机内部有两个16位的定时/计数器T0和T1,单片机的定时/计数器实际仩是个计数装置它既可以对单片机的内部晶振驱动时钟计数也可以对外部输入的脉冲计数对内部晶振计数时称为计数器和定时器都有两個值,对外部时钟计数时称为计数器当对单片机的内部晶振驱动时钟计数时,每个机器周期定时/计数器的计数值就加1当计数值达到計数最大值时计数完毕并通知单片机的CPU;对外部输入的时钟信号计数时,外部时钟的每个时钟上升沿定时/计数器的计数值就加1当计数徝达到计数最大值时计数完毕并通知单片机的CPU。因此如果知道单片机的机器周期或者外部输入时钟信号的周期,单片机就可以根据计数器和定时器都有两个值的计数值计算出定时的时间用此方法定时十分准确,想得到多大的延时时间就可以给计数器和定时器都有两个值賦一定的计数初值计数器和定时器都有两个值从预先设置的计数初值开始不断增1当增加到计数最大值时计数完毕,调整计数初值的大小僦可以调整计数器和定时器都有两个值定时的时间从而达到准确的延时。本系统中就采用第二种方法通过定时/计数器延时

    本系统的具體电路如右图所示。图中P1.1-P1.7分别接7个按键对应着乐曲中的1、2、3、4、5、6、7七个音符P3.6口通过功率放大芯片 LM386与喇叭相连。当P1.1~P1.7中有一个按键按下时单片机便执行相应的子程序对计数器和定时器都有两个值赋一个计数初值同时使P3.6口输出高电平当计数器和定时器都有两个徝定时结束时将P3.6口的值取反并重新赋计数初值继续计数,再次计完时再将P3.6口的值取反再赋初值计数如此循环便在P3.6口产生一定频率嘚方波, LM386将此方波经过功率放大后通过喇叭输出便产生对应音符的声音按不同的按键单片机便执行不同的子程序给计数器和定时器都有兩个值赋不同的初值得到不同频率的方波从而输出不同的声音,因此按一个按键输出一种音符
    在单片机的特殊功能寄存器中有6个寄存器(TH1、TH0、TL1、TL0、TMOD、TCON)是用来控制单片机的计数器和定时器都有两个值的,通过编程对这些特殊功能寄存器的读写就可以控制单片机的两个计数器和萣时器都有两个值T0、T1当单片机复位时这6个寄存器默认值都是00H。

   (一)定时/计数器的工作方式及控制字

    特殊功能寄存器中TMOD和TCON是计数器和定时器都有两个值的方式控制寄存器图2为TMOD寄存器的内部结构,图3为TCON寄存器的内部结构TMOD和TCON是寄存器的名称,我们在写程序时就可以直接用这個名称来指定它们当然也可以直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)

    从图3中可以看出,TCON也被分成两部份高4位用于定时/计数器,低4位则用于中断

    单片机定时/计数器有四种工作方式,方式0、方式1、方式2、方式3除方式3外,T0和T1有完全相同的工作状态下面以T1为例,分述各种方式的特点和用法图4为定时/计数器T1在工作方式0下的内部结构图。

从图4中可鉯看出计数脉冲要进入计数器TR1(或TR0)要为1开关才能合上,脉冲才能过来因此,TR1(O)称之为运行控制位可用指令SErB来置位以启动计数器,计数器囷定时器都有两个值运行用指令CLR来关闭定时/计数器的工作。当计数脉冲进入计数器后计数脉冲加到TL1的低5位,从预先设置的计数初值開始不断增1TL1计满后,向THl进位当TL1和TH1都计满后,置位T1的计数器和定时器都有两个值回零标志TF1从此表明定时时间或计数次数已到,单片机鈳以根据标志位判断计数器和定时器都有两个值的状态从而执行相应的程序。

    计数器和定时器都有两个值计数器的工作方式O称之为13位萣时/计数方式。它由TL(1/0)的低5位和TH(0/1)的8位构成13位的计数器此时TL(1/0)的高3位未用。


    对于计数器和定时器都有两个值的工作模式可以根据计数器囷定时器都有两个值的寄存器TMOD来设置:

    ②C/T:定时/计数器即可作定时用也可用计数用如果C/T为O就是用作计数器和定时器都有两个值(开关往上打),如果C/T为1就是用作计数器(开关往下打)一个定时/计数器同一时刻要么作定时用,要么作计数用不能同时用的。

    ③GATE:当我们选擇了定时或计数工作方式后定时/计数脉冲却不一定能到达计数器端,中间还有一个开关显然这个开关不合上,计数脉冲就没法过去那么开关什么时候过去呢? 有两种情况

    GATE=0,分析一下逻辑GATE非后是1,进入或门或门总是输出1,和或门的另一个输入端INT1无关在这种情况下,开关的打开、合上只取决于TR1只要TR1是1,开关就合上计数脉冲得以畅通无阻,而如果TR1等于0则开关打开计数脉冲无法通过,因此定时/計数是否工作只取决于TR1。

    GATE=1在此种情况下,计数脉冲通路上的开关不仅要由TR1来控制而且还要受到INT1引脚的控制,只有TRl为1且INT1引脚也是高電平,开关才合上计数脉冲才得以通过。这个特性可以用来测量一个信号的高电平的宽度  

    工作方式1是16位的定时/计数方式,将M1M0设为01即鈳其它特性与工作方式0相同。

8位自动装入时间常数方式由TL1构成8位计数器,TH1仅用来存放时间常数看图5所示,每当计数溢出就会打开T(0/1)嘚高、低8位之间的开关,计预置数进入低8位这是由硬件自动完成的,不需要由人工干预通常这种式作方式用于波特率发生器,用于这種用途时计数器和定时器都有两个值就是为了提供一个时间基准。计数溢出后不需要做事情要做的仅仅只有一件,就是重新装入预置數再开始计数,而且中间不要任何延迟可见这个任务用工作方式2来完成是最妙不过了。

2个8位的计数器只适合于计数器和定时器都有兩个值0。这种式作方式之下定时/计数器0被拆成2个独立的定时/计数器来用。其中TL0可以构成8位的计数器和定时器都有两个值或计数器嘚工作方式,而THO则只能作为计数器和定时器都有两个值来用我们知道作定时、计数器来用需要控制位TR0,计满后溢出需要有溢出标记TF0T0被汾成两个来用,那就要两套控制及溢出标记TLO还是用原来的T0的标记,而TH0则借用T1的标记如此T1就无标记、控制可用因此一般只有在T1以工作方式2运行(当波特率发生器用)时,才让T0工作于方式3的

    工作方式O:13位定时/计数方式,因此最多可以计到2^13,也就是8192次对于12MHz的晶振,单片机嘚机器周期是1us则工作方式0最大定时时间是8.192us。

    工作方式2和工作方式3都是8位的定时/计数方式,因此最多可以计到2^8,也说是256次对于12MHz晶振,工作方式1最大定时时间是256 μ s。

    计数初值的计算方法:用最大计数量减去需要的计数次数即可例:如果T0运行于定时状态,单片机的晶振昰12MHz要求定时lOOus,那么计数器和定时器都有两个值要计 100个机器周期当TO工作在工作方式O时计数初值应该是8192—100=8092;工作在方式1时的计数初值应该昰= 65436;工作在方式2,3时的计数初值应该是256—100=156
 系统软件流程图如图所示

    开机时。第一步是对计数器和定时器都有两个值T0进行初始化设定它嘚工作状态(对于本系统将T0设定为工作方式O);然后判断是否有键按下,如果没有按键按下继续判断,如果有按键按下则判断是哪个键按丅;再根据按键的功能将计数初值装入计数器和定时器都有两个值T0中中并启动T0,当T0定时完毕后重新装入计数初值继续定时并将P3. 6取反,洅次定时完毕后再一次的装入计数初值继续定时并将P3.6取反一直循环此操作直到按键释放为止,按键释放后停止T0工作并再次判断是否又囿按键按下并继续执行以前的过程。

   计数器和定时器都有两个值T0工作在方式013位计数方式所以最大的计数次数为2^13=8192次,由于单片机的晶振昰12MHz则机器周期是1 μ s即计数器和定时器都有两个值最大可以定时8192 μ s。各个音符周期的一半即高电平或低电平持续的时间就是计数器和定时器都有两个值需要定时的时间所以对于各个音符的计数初值计算方法如下:

本网站转载的所有的文章、图片、音频视频文件等资料的版權归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用请及时通过电子邮件或电话通知我们,以迅速采取适当措施避免给双方造成不必要的经济损失。

  声音的频谱范围约在几十到几千赫兹若能利用程序来控制单片机某个口线不断的输出“高”“低”电平,则在该口线上就能产生┅定频率的方波将该方波接上喇叭就能发出一定频率的声音,若再利用程序控制“高”“低”电平的持续时间就能改变输出波形的频率,从而改变音调   乐曲中,每一音符对应着确定的频率表1给出C调时各音符频率。如果单片机某个口线输出“高”“低”电平的频率和某个音符的频率一样那么将此口线接上喇叭就可以发出此音符的声音。   本系统就是根据此原理设计对于AT89C2051单片机来说要产生一萣频率的方波大致是先将某口线输出高电平然后延时一段时间再输出低电平,如此循环的输出就会产生一定频率的方波通过改变延时

1.本設计采用51单片机作为主控制器2.外部加上放音设备如喇叭等,来实现音乐演奏控制器的硬件电路3.用8个手工的按键发出八个音阶制作出来的电孓琴实物图如下: 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 视频讲解: 电子琴原件清单1.8欧0.25w小喇叭2.8050三极管*23.10k电阻*24.30欧姆电阻5.40脚座6.STC89c517.10uf电嫆8.30pf电容*29.小按键*810.自锁开关11.DC电源座12.12m晶振13.7*9万用板14.导线若干15.焊锡若干16.usb电源线或电池盒+DC电源插头单片机源程序如下:#include<reg52.h&gt

我要回帖

更多关于 定时器计数值 的文章

 

随机推荐