介绍了自动调温医用光疗系统的结构及软件设计原理,温度检测的实现方式及运用DS18B20测温的编程方法,并设计了一种用AT89C52中断控制可控硅移相触发的编程方法。该系统已成功用于医疗机构使用。
上传时间: 2013-11-04
上传用户:894898248
紧凑型荧光灯(CFL)作为绿色照明产品已得到国家的认可与大力推荐。为充分发挥CFL调光灯的特点,恩智浦半导体推出了UBA2028用于CFL调光灯的控制芯片。它是采用EZ-HV SOI工艺流程做的600V的集成芯片,内部集成半桥驱动电路和两个MOSFET管;UBA2028其支持的工作电流在不超过芯片最高温度1500C限制下可以达到700mA;由于它集成度高,外接元件显著减少,可以构成一个高效率,高可靠的调光节能灯控制系统;性价比非常好。
上传时间: 2013-10-28
上传用户:hgy9473
根据滑差电机电磁调速器的技术特点,提出一种由PIC16F877单片机组成控制单元的电磁调速器控制系统。系统采用转速按键预置、LCD实时显示;以不控整流代替相控整流,选用MOSFET构成PWM控制主回路,输出电压稳定、输出电流连续,具有快速的动态响应;用光电传感器测速电路代替测速发电机,电路简洁,效率高、能耗低。实验表明电路的性能良好,可靠性高,成本低。
上传时间: 2013-10-20
上传用户:gtzj
本论文介绍的数字式电子调速器,是用步进电机作为执行器,以AT89C51单片机为主控芯片,通过编制相应的控制程序,实现了汽油机的数字调速。通过减小瞬时调速率成为全面提高汽油机调速性能的关键。采用PID控制算法,按汽油机过渡过程各阶段转速变化的情况,确定PID各项的系数,调节节气门开度的变化量。实验结果表明,瞬时调速率达到5.6%,稳定时间1.64s,瞬时调速率和稳定时间都有很大的提高,该方法对改善电子调速器的动态特性有明显的效果。
上传时间: 2013-11-10
上传用户:hwl453472107
摘要:超低频信号发生器是科研、教学、制造业中一种最常用的通用仪器,输出波形一般固定为正弦波、三角波、锯齿波和方波,不能实现有时在实验和工程应用中需要的特殊信号或自定义信号。而要实现这一要求,不是做成硬件式的专用信号发生器,就是用计算机系统来完成,前者仍然不灵活,后者费用太高。然而应用单片机技术,通过软件与硬件的有机结合由硬件电路搭成一个环境平台,再由软件程序把要求的“任意函数信号”数据表嵌入在单片机程序存储器内,通过软件程序更改输出波形数据表,即可方便实现输出任意函数信号,而无需变动硬件电路。本原理样机使用单片机AT89C51,对其进行一次固化,可以安排四种任意波形,频率范围为0.001~800Hz,幅值范围为0~±10V。本文中对原理样机的软硬件系统的性能和误差进行了定量分析,并设计了一套使用Intel公司的新一代16位单片机80296SA对该样机进行了性能提升的新型样机方案,然后对新型样机方案进行了原理分析和性能分析,并给出了误差的定量计算,表明此方案不但可使样机的原理频率范围提高至1500Hz,输出幅值不变,输出分辨率提高至212,使波形质量大为改善。希望这种性价比较高的函数信号发生器对科研、教学、制造业有所帮助。关键词:单片机应用 MCS51 MCS296 超低频信号发生器
上传时间: 2013-11-20
上传用户:7891
摘要:介绍了单片机控制系统在以自动复叠为制冷系统的冷冻干燥系统的应用,冷冻干燥系统采用集冷阱和干燥室成为一个整体的台式机,而自动复叠制冷系统采用回热器作为缓冲容器,调节冷量的旁通阀采用电子膨胀阀;以干燥阶段的数学模型为基础,得到控制的函数关系式,作为控制的数学基础,控制系统是以单片机为核心进行硬件的配置和软件设计来处理经模数转换的变送器传出信号;在编写控制系统的软件时采用了模糊控制的思想,对输入的数据进行处理;系统采用的触摸屏集显示、输入为一体,作为人-机通话的窗口。关键词:冷冻干燥;单片机控制;自动复叠系统;模糊控制
上传时间: 2014-12-27
上传用户:569342831
手把手教你学单片机的C语言程序设计--中断服务函数
上传时间: 2013-10-17
上传用户:gundan
简介:本产品是将三相晶闸管主电路和移相触发调控电路封装在一起的多功能功率集成模块。它是一个完整电力移相开环控制系统,可实现对三相电力进行整流调压。产品可广泛用于直流电机调速、工业自动化、电加热控制、机电一体化、各类电源、化工、纺织通讯等领域;可实现手动、自动控制接口,主电路交流输入无相序要求,线性控制电路,精度高,稳定性好。
上传时间: 2013-11-12
上传用户:MATAIYES
8098 单片机和伺服电机PWM 调速控制 摘 要 本文介绍应用8098 单片机丰富的接口功能, 采用数字调制的方法来实现直流伺服电机的PWM 调速控制。
上传时间: 2013-11-12
上传用户:aa17807091
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131