你这论文我会写,给你提供以下参考资料:
单片机基础导学课件制作
摘要:介绍了本课题的课题背景、研究意义及完成的功能。本系统是以单片机基本知识来进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。 正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图。其次阐述了程序的流程和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的设计思想和软、硬件调试作了详细的论述。
关键词:单片机;POWERPOINT,多媒体课件制作,软件应用。
1.引言
单片机亦称微控制器,顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能微电脑型”,如智能型热水器等。
计算机是人类制造的用于信息处理的机器。这种机器只能在人的控制下,将输入的数据信息,按照人们的要求进行存储、分类、整理、判断、计算、决策和处理等操作。
目前,微型计算机主要用在以下几个方面:数值计算、数据处理与信息加工、计算机辅助功能、人工智能、计算机通信、多媒体、计算机检测和过程控制等。微型计算机在检测和过程控制方面的应用具有简便、快捷、准确、可靠等优点,便于实现各种生产过程自动化。在改造传统产业、节约能源、提高产品质量和生产效率、改善生产者劳动条件等方面,具有十分重要的作用。
学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单片机就更容易。为使绝大多数读者能用上单片机。我们这里将尽量按深入浅出、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领进单片机之“门”的目的。不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。
只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。
基于MSP430 单片机的电源监控管理系统 引言 大功率直流开关电源由PFC 和DC-DC 变换器组成,为了提高可靠性,并能够对其进行脱机或远程监控管理,在开关电源模块内设置监控管理系统。
该系统对电源故障类进行监控,对电源输出的电压电流进行自动设定和调节,通过串行通信接口,与远程中心监控站进行远程监控和管理,这一功能在通信系统基站供电系统中尤为重要。本文提出了一种基于MSP430单片机的电源监控管理系统的设计和实现。
1 系统结构和硬件电路设计 系统的整体设计结构如图1所示。本系统采用的核心芯片为TI公司推出16位系列单片机MSP430。
MSP430具有集成度高,外围设备丰富,超低功耗等优点。单片集成了多通道12bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,采用串行在线编程方法,单片可以满足绝大多数的应用需要。
MSP430的这种高集成度使应用人员不必在接口、外接I/O及存储器上花太多的精力,而可以方便的设计真正意义上的单片系统,在许多领域得到了广泛的应用。下面介绍该系统可以实现的功能和基于MSP430F149的电控系统的设计。
1.1 系统功能: a.开机控制。上电后,单片机开始工作,按下电源键,点亮指示灯后,将电网220V接入PFC,开关电源启动工作,然后接于负载。
b.电压设定和调节。用单片机A/D口采集开关电源的输出电压值,并显示于液晶屏上,通过单片机控制数字电位计调节输出电压值,实现自动调节;或者通过键盘的左右键选出电压调节页面,用上下键进行手动调节;也可以通过通信接口实现远程调节。
c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。
单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。 d.故障报警。
单片机通过光电耦合器检测到各项输入输出故障时,扬声器产生蜂鸣,相应的报警灯闪烁,并在液晶屏上显示故障类型及处理方法。 e.监测。
单片机A/D口对电网电压,输出电压,输出电流进行采集测量,当出现超限时进行报警。 f.通信。
包括单片机与各台开关电源间的通信和单片机与中心监控站的通信。 1.2 电压调节电路 电压调节电路由单片机、数字电位计X9313和可调分流基准芯片TL431组成,其电路原理图如图2所示。
Xicor9313是固态非易失性电位器,可用作数字控制的微调电位器。TL431是TI生产的一个有良好的热稳定性能的三端可调分流基准源,它的输出电压用两个电阻就可以任意地设置到从VREF(2.5V)到36V范围内的任何值。
工作时,单片机的一个IO控制INC计数输入脚,为其提供计数脉冲,此输入端为下降沿触发。另一个IO控制U/D升降输入端,当U/D为高电平时,X9313内部计数器进行加法计数,VW端的输出电压上升,由于VW接地,使VH端电压降低,而TL431的REF输出端电压为恒定的2.5V,从而使Vcc处输出电压升高;同理当U/D为低电平时,Vcc处输出电压降低,这样就实现了电压输出调节。
1.3 模拟数据采集 MSP430F149内嵌入一个高精度的,具有采样与保持功能的12位ADC转换模块,内部提供各种采样与保持时钟源。MSP430有8个外部输入通道可选, 最高采样速度可达200KHZ,并且还内置温度传感器,可以测量芯片内的温度,如果测量温度高于或低于预设的温度是,可以通过外接部件显示告警信息,同时具有6种可编程选择的内部参考电压。
该转换模块为一些需要模拟量采集的场合提供了便利。我们选择的参考电压是0~2.5V,这样MSP430F149的AD分辨率就是2.5/4096 = 0.61V左右。
由于输入的模拟电压量较高,不能直接与单片机的ADC采样端口相连,因此用串联一个滑动变阻器的方法进行了降压处理,成功解决了上述问题。 1.4 人机对话设计 系统的人机操作界面由液晶显示屏、指示灯和键盘组成。
液晶选用的是基于T6963C 的液晶模块YM12864。键盘采用的是3*3 的阵列接法,系统采用了图形用户界面,操作简单易行,显示实用美观。
工作时,液晶屏可以实时显示采集到的电网电压、输出电压、输出电流及各种报警信息,操作相应键盘可以进行显示页面的切换,对输出电压,输出电流进行自动、手动及远程控制调节。当有报警信息产生时,相应得指示灯会闪烁警示,同时与单片机连接的扬声器会产生报警蜂鸣声,以提醒操作人员做出相应的处理。
2 系统软件设计 430 支持汇编语言和C 语言两种语言编程,因此可以在一个工程文件中同时用两种语言,使用汇编语言,便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。使用C 语言进行编程大大减少了工作量,编好后的程序可读性好,易于修改和维护。
开发工具使用IARSystems 公司的IAR Embedded Workbench,它集成了编辑、编译、链接、下载与在线调试(Debug)等多种功能,使用方便,并具备高效的C 语言编译能力。 考虑到软件开发效率及可维护性,系统软件设计遵循模块化。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可。
用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。
它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
我本身也是学单片机的专业,所以个人建议,你去学习一下郭天详10天学会单片机,我也是从他的视频开始学习的,然后自己做出仿真,去验证他的程序。
首先你模仿他的程序先,基本是得看懂C语言,学单片机的基本都懂,
然后再慢慢变花样:比如开始的流水灯,你就自己设置自己想要的变化,
接下来学习到了时钟的程序的话,你就自己加入比如按键调整的程序等等,在模仿以及改变程序中提升自己,初学者都是这样做的,
更到后面的话,你就学习一下传感器的程序,AD/DA的程序,你会接触到中断,定时器等这样的知识。..
希望你有帮助!!!
基于单片机的MRI仿真脉冲发生器的设计 摘要:在功能磁共振实验设计中,需要利用脉冲发生器模拟磁共振设备的扫描脉冲以实现精确的时间控制。
本文提出了一 种基于单片机PIC16F877的MRI仿真低频脉冲发生器设计方案,用于需要精准时序的功能磁共振实验设计。本装置的核心 部分是单片机PIC16F877,通过单片机的软件来产生不同频率和占空比的脉冲波。
通过选择开关来实现脉冲周期和占空比 的调节;同时用数码管LED显示脉冲的相应周期。由此装置得到的脉冲幅度为5V,可调周期范围是0.5s~8.0s,精度为0.1s。
占空比有20%、30%、40%、50%4种可调。这种MRI仿真脉冲发生器使用简单方便,产生的低频脉冲精度高并且稳定性好,能 很好的模拟功能磁共振实验中需要的脉冲信号。
关键词:单片机;脉冲发生器;磁共振;模拟1引言 磁共振成像(MRI)技术是利用原子核在磁场内共振所产生 信号经重建成像的一种成像技术。磁共振成像技术不仅能提供 体内组织器官的形态学信息,而且能提供诸如组织代谢等多方 面的为医学临床和科研所十分重视的生理信息,是一种十分重 要的医学信息检测手段。
功能磁共振成像是以反映器官功能状 态成像为目标的磁共振成像技术。在功能磁共振成像技术中需 要精确脉冲时序,因此有必要研究脉冲序列发生器来模拟它所 需要的这种脉冲。
目前脉冲序列发生器的装置很多,但是多是以硬件方式来 实现的,长期以来都是由模拟电路构成的。由这类仪器发出的 脉冲信号,在高频范围内其频率稳定度高,可调性好。
然而,在 磁共振成像中通常需要用到低频脉冲信号来控制实验。由模 拟电路生成的低频脉冲性能不能令人满意,同时此类装置体积 大、操作复杂,使用起来很不方便。
利用单片机程序设计方法产 生波形,其频率低限几乎无限制、稳定性好,而且其装置体积小,频率幅值控制可直接由键盘输入使用方便,无需进行其他任何 调节。本文介绍一种以单片机PIC16F877为核心的MRI仿真脉 冲发生器。
该装置操作简单、使用方便,通过选择开关可以调节 输出脉冲的频率和占空比。得到的脉冲精度高并且稳定性好,能很好的模拟功能磁共振实验设计中需要的脉冲信号。
2硬件设计 硬件设计基本原理如图1所示。 整个电路以单片机PIC16F877为核心,选择开关与单片机 相连来控制输出脉冲的周期和占空比,数码管LED用于显示输 出脉冲的周期,脉冲从单片机的RA0口输出。
PIC16F877是美国Microchip公司生产的产品,PIC16F877 具有性能完善、功能强大、开发方便以及人机界面友好等突出 优点。PIC16F877的硬件系统设计简洁,指令系统设计精炼。
PIC16F877采用独特的哈佛总线结构,彻底将芯片内部的数据 总线和指令总线分离,从而大大提高了CPU执行指令的速度和 工作效率。PIC16F877采用CMOS结构,使其功率消耗极低。
PIC16F877的I/O端口驱动负载的能力较强,每个输出引脚可 以驱动多达20—25mA的负载,既能够高电平直接驱动发光二 极管LED、光点耦合器、小型继电器等,也可以低电平直接驱 动,这样就可大大简化控制电路。 本装置中单片机PIC16F877的RB0、RB1、RB2、RB4、RB5、RA1、RA2、RA4、RA5作为输入口与9位选择开关相连,通过控 制选择开关来控制输出脉冲的周期和占空比。
单片机读取这些 口的值,然后控制RA0口输出相应频率和占空比的脉冲,同时 通过C口和D口来控制数码管显示相应的周期。一般单片机并 不具备直接驱动数码管显示的能力,I/O端口带负载能力是非 常有限的;而PIC16F877具有较强的端口驱动能力,对一般数 码管完全可以直接驱动。
具体电路如图2所示。电路工作时,用户根据需要只要通过选择开关就能控制脉 冲的输出频率和占空比,可以通过LED的显示知道输出脉冲 的周期。
选择开关为9位,前7位用于控制输出脉冲的周期,输 出脉冲的周期有128种可调。选择开关的后两位用于调节输出 波形的占空比,设计了占空比分别为20%、30%、40%、50%的脉 冲波。
3程序设计 脉冲的产生是由单片机软件来实现的,软件流程如图3 所示。由于同时用了单片机的B口和A口作为输入端口,读取输 入值的时候就把各脚的数相加得到十进制数M,然后单片机通 过判断M的值来控制输出波形的周期。
考虑到实际低频应用中 常用到的范围,现只设计周期为0.5s~8.0s的脉冲波,周期的变 化为0.1s。读取周期信息部分程序代码如下:BTFSS PORTB,5;判断RB5口的信息 ADDLW 10H BTFSS PORTA,1;判断RA1口的信息 ADDLW 20H 读取RA4和RA5的信息作为占空比调节的信息,程序代 码如下:MOVLW 00H BTFSS PORTA,4 ADDLW 01H BTFSS PORTA,5 ADDLW 02H;从占空比调节输入端口RA4和RA5 读取占空比的调节信息 MOVWF 25H 脉冲从单片机的RA0口输出,脉冲输出以及波形的周期和 占空比控制程序代码如下:SCG BSF PORTA,D;输出高电平 LOOP CALL D10MS DECFSZ 22H,F GOTO LOOP DECFSZ 26H,F GOTO LOOP;按占空比信息控制高电平的输出时间 GOTO SCD4总结 由于在功能磁共振成像实验中需要精准的脉冲序列,本文 设计了一种以单片机。
1.绪 论
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。
现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。
单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。
需要完整的我可以传给你
相关范文: 基于单片机监控系统的研究 【摘要】文章所设计的基于单片机监控系统汽车行驶记录仪所实现的主要功能:记录汽车停车前2秒内的行驶速度,并能实时地显示汽车行驶的状态信息,同时还对汽车的超速行驶进行报警并记录一天之内的超速次数。
【关键词】单片机;模块;监控 本文所设计的汽车行驶记录仪是基于两片8051单片机作为控制系统的核心来进行设计的,整个系统分为六大模块分别是:电源模块、速度信号采集模块、时钟模块、单片机模块、存储器模块、显示模块。 一、电源模块的设计 记录仪作为车载设备,使用汽车电源。
汽车上的电源有两个:汽车发电机和蓄电池。记录仪的电源直接取自蓄电池,在发电机转速和用电负载发生较大变化时,可保持汽车电网电压的相对稳定,同时,还可吸收电路中随时出现的瞬时过电压,以保护电子元件不受损害。
车辆使用的车载蓄电池标称值有两种 12V的和 24V的,因此为了得到需要的 5V的电压,我选用了 DC-DC 电源转换芯片。 二、速度信号采集模块的设计 速度信号检测模块的原理是:汽车行驶过程中,车轮经过传感器,单位时间内输出一定的脉冲,传感器输出的脉冲通过差动放大电路的放大与整形,然后送到单片机 8051 的 T0端口进行脉冲计数,与此同时 8051 的 T1 进行计时开始待到定时器产生中断请求后,由计数器得到的脉冲数经过速度计算的公式和里程的计算后得到汽车行驶的速度和里程。
从而得到汽车的行驶速度和里程,存储与 8051 的 RAM数据存储区。 本系统采用霍尔传感器将速度信号转换为脉冲信号,考虑到传感器的体积要小,便于安装,误差要尽量减小等要求,设计采用车轮旋转一周速度传感器要输出若干个脉冲的方法。
本系统采用的是在变速器上安装 3个小磁钢,霍尔传感器可相应的输出 3 个脉冲用于速度信号的采集。速度信号采集模块采用 THS118 型霍尔元件作为速度信号采集部分的速度传感器。
三、时钟模块的设计 时钟模块主要是用于对时、分、秒、年、月、日和星期的计时。该模块采用的芯片为DS12C887 时钟芯片。
此芯片集成度高,其外围的电路设计非常的简单,且其性能非常好,计时的准确性高。 DS12C887为双列直插式封装。
其具体与单片机的连接如下所述:AD0~AD7双向地址/数据复用线与单片机的P0口相联,用于向单片机交换数据;AS 地址选通输入脚与单片机的 ALE 相联用于对地址锁存,实现地址数据的复用;CS 片选线与单片机的 P2.6 相联,用于选通时钟芯片;DS 数据选通读输入引脚与单片机的读选通引脚相联,用于实现对芯片数据的读控制;R/W 读/写输入与单片机的写选通引脚相联,用于实现对时钟芯片的写控制;MOT 直接接地,选用 INTEL 时序。IRQ引脚与 8051 的 INT1 相连,用于为时间的采集提供时间基准。
四、单片机模块的设计 本系统采用两片单片机,两个单片机之间采用串行通讯,用于两者之间的数据交换。其工作时序是由外部晶振电路提供的,本系统采用的晶振频率是 12 兆 HZ。
其复位电路为自动上电复位。设计中所采用的单片机为 8051。
单片机在系统中主要是用来对其他模块进行控制,是整个系统的核心部件。主单片机主要是用于对速度信号采集模块、时钟模块和存储模块进行控制,同时还要与从单片机进行数据的交换。
其外围的 I/O口主要与这些模块的中心芯片的数据总线或地址总线相连,其控制总线与这些模块的控制线相连。从单片机主要是用于对显示和校时的控制,因此其 I/O口主要与 LCD显示器的 I/O口相连,其控制线与 LCD显示器的控制线相连。
由于从单片机的外部中断源只有两个,而我所设计的对时钟的校时主要是通过外部中断完成的,所以要对从单片机的外部中断源进行扩展。本系统采用了 8259A 进行中断源的扩展,从而实现对时钟的校时。
五、储模块的设计 汽车行驶记录仪对系统存储数据的实时性及长久性要求很高,因此本系统我采用了ATMEL 生产的 AT29C010A Flash 性存储器。其存储空间为 16K,能够满足设计的要求。
AT29C010A是一种 5V在线闪速可电擦除的存储器,具有掉电保护功能;方便的在线编程能力不需要高的输入电压,指令系统在 5V 电压下即可控制对 AT29C010A 的读取数据,这与对 EEPROM 的操作相似。再编程能力是以每一分区为单位的,128 字节的数据装入AT29C010A 的同时完成编程。
在一个再编程周期里,存储单元的寻址和 128 字节的数据通过内部锁存器可释放地址和数据总线,这样可为其它操作提供地址和数据总线。编程周期开始后,AT29C010A会自动擦除分区的内容,然后对锁存的数据在定时器作用下进行编程。
六、示模块的设计 显示器主要是为人机交互提供即时的信息,能让人们与机器进行很好的交流。在众多种类的显示器中,越来越多的仪器仪表及人机交互界面采用液晶显示器。
LCD 可分为段位式LCD、字符式 LCD和点阵式 LCD。其中段位式和字符式只能用于数字和字符的简单的显示,不能满足图形曲线和汉字显示的要求;而点阵式不仅能够显示字符和数字,还可以显示各种图形、曲线及汉字,可以实现屏幕的上下左右滚动等功能。
七、键的设计 本系统的。
智能化多路串行数据采集/传输模块的设计广州市光机电工程研究中心 行联合 广州市方统生物科技有限公司 关 强引言 随着电子技术的不断发展,目前对各种物理量的检测和控制都可得以实现。
微机检测控制系统不仅运用到航天航空、机器人技术、纺织机械、食品加工等工业过程控制,而且已经成为日常各种家用电器当中的主要组成部分。其中,A/D(模拟数字转换)设备起着十分重要的作用。
这样,一个系统中就会需要更多的A/D设备。一般是用扩展一块或多块A/D采集卡的方法去实现。
当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以AT89C2051单片机为核心,采用TLC2543L 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(PC机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。
主要元件功能介绍AT89C2051单片机AT89C2051是ATMEL公司推出的一种性能价格比极高的 8位单片机,其指令系统与MCS-51系列完全兼容。引脚排列如图1所示。
TLC2543L串行A/D转换器 TLC2543L 采用SPI串行接口总线,SPI串行接口总线由Motorola公司提出,它是一种三线同步接口,分别为同步信号、输入信号和输出信号。另外芯片还有一根片选线,单片机通过片选线选通TLC2543L。
其中,CLK为同步时钟脉冲,CS为片选线,DIN为单片机的数据输出和TLC2543L的数据输入线,DOUT为单片机的数据输入线和TLC2543L的数据输出线。图2为TLC2543L时序图。
TLC2543L 是全双工的,即数据的发送和接收可同时进行。如果只是对TLC2543L写数据,单片机可以丢弃同时读入的数据;反之,如果只读数据,可以在命令字节后,写入任意数据。
数据传送以字节为单位,并采用高位在前的格式。模块采用TI公司的TLC2543L 12位串行A/D转换器,使用开关电容逐次逼近法完成A/D转换过程。
串行输入结构,能够大大节省51系列单片机I/O资源,且价格适中。其特点有: (1) 11个模拟输入通道; (2) 转换时间10 s;(3) 12位分辨率A/D转换器;(4) 3路内置自测试方式;(5) 采样率为66kbps;(6) 线性误差+1LSB(max)(7) 有转换结束(EOC)输出;(8) 具有单、双极性输出;(9) 可编程的MSB或LSB前导;(10)可编程的输出数据长度。
TLC2543L的引脚排列如图3所示。图3中AIN0~AIN10为模拟输入端; 为片选端;DIN 为串行数据输入端;DOUT为A/D转换结果的三态串行输出端;EOC为转换结束端;CLK为I/O时钟;REF+为正基准电压端;REF-为负基准电压端;VCC为电源;GND为地。
电平转换器MAX232C MAX232C为RS-232收发器,简单易用,单+5V电源供电,仅需外接几个电容即可完成从TTL电平到RS-232电平的转换,引脚排列如图4所示。硬件设计 硬件电路如图5所示。
单片机AT89C2051是整个系统的核心,TLC2543L对输入的模拟信号进行采集,转换结果由单片机通过P3.5(9脚)接收,AD芯片的通道选择和方式数据通过P3.4(8脚)输入到其内部的一个8位地址和控制寄存器,单片机采集的数据通过串口(3、2脚)经MAX232C转换成RS232电平向上位机传输。 单片机软件设计单片机程序主要包括串行数据采集/传输模块的系统信息、通道数、采集周期和通讯协议定义,以及数据采集和传输的标准子程序。
TLC2543L的通道选择和方式数据为8位,其功能为:D7、D6、D5和D4用来选择要求转换的通道,D7D6D5D4=0000时选择0通道,D7D6D5D4=0001时选择1通道,依次类推;D3和D2用来选择输出数据长度,本程序选择输出数据长度为12位,即D3D2=00或D3D2=10;D1,D0选择输入数据的导前位,D1D0=00选择高位导前。TLC2543L在每次I/O周期读取的数据都是上次转换的结果,当前的转换结果在下一个I/O周期中被串行移出。
第一次读数由于内部调整,读取的转换结果可能不准确,应丢弃。数据采集程序如下:sbit DATAIN=P1^1;sbit CLOCK=P1^0;sbit DATAOUT=P1^2;sbit CS=P1^3;bit datain_a_bit0(){ bit m=0;DATAOUT=1;m=DATAOUT;DATAIN=0;Nop();CLOCK=1;Nop();CLOCK=0;Return(m); }bit datain_a_bit1(){ bit m=0;DATAOUT=1;m=DATAOUT;DATAIN=1;Nop();CLOCK=1;Nop();CLOCK=0;Return(m); }单片机通过编程产生串行时钟,并按时序发送与接收数据位,完成通道方式/通道数据的写入和转换结果的读出,程序如下:unsigned int Tlc2543L(unsigned char ch){unsigned char i,chch=0;unsigned int xdata xxx=0;unsigned int xdata y=0;CS=0;Chch=ch<<4;Y=chch;Y<<=8;I=0;While(I<12){if((y&0x8000)==0){if(datain_a_bit0()==0) xxx&=0xfffe;else xxx|=0x0001;if(I!=11) xxx<<=1;}else{if(datain_a_bit1()==0) xxx&=0xfffe;else xxx|=0x0001;if(I!=11) xxx<<=1;}y<<=1;I+=1;}CS=1;Return(xxx);}串行数据传输模块包括串行。
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕
麻烦,所有的单片机都是这样。
第二步:定时器的使用
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
第四步:与PC机进行RS232通信
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!
第五步:学会A/D转换
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
使用A/D转换功能的简单的例子是设计一个电压表。
第六步:学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
第七步:学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。
到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。
题目 交通灯控制系统的设计 一、课程设计的目的与要求 1、课程设计目的: (1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。
(2)通过课程设计提高应用能力,分析问题和解决问题的能力。 (3)培养查阅资料的习惯,训练和提高自学,独立思考的能力。
2、课程设计要求 交通灯控制系统的设计 1) 掌握在单片机系统中扩展简单I/O接口的方法。 2) 掌握数据输出程序的设计方法。
3) 掌握模拟交通灯控制的实现方法。 4) 掌握外部中断技术的基本使用方法。
5) 掌握中断处理程序的编程方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: (1)能够正确理解课程设计的题目和意义,全面思考问题。
(2)运用科学合理的方法,认真按时完成。 二、课程设计课题的分析 1、电路的设计 1)原理 要完成本实验,首先必须了解交通灯的亮灭规律。
本实验需要用到试验箱上八个发光二极管中的六个,即红、绿、黄各两个。将L1(红)、L2(绿)、L3(黄)作为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)作为南北方向的指示灯。
交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。 各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮使相应使相应输入端为低电平。
当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假设急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。本程序以单次脉冲为中断申请,表示有急救车通过,单次脉冲输出端P-接CPU板上的INT0。
2)、硬件电路图 图1—1 交通灯控制系统的硬件接线图 74LS273的输出00—07接发光二极管L1—L8,74LS273的片选CS273接片选信号CS2,此时74LS273的片选地址为CFA0—CFA7之间任选。 3)、程序流程图 主程序流程 图1—2 主程序软件流程图 中断程序流程图 三、课程设计的结果 1、程序 NAME JIAOTONGGENG OUTPORT EQU 0CFB0H ;端口地址 SAVE EQU 55H ;SAVE保存从端口CFA0输出的数据 CSEG AT 0000H LJMP START CSEG AT 4003H LJMP INT CSEG AT 4100H START: SETB IT0 ;中断程序初始化 SETB EX0 SETB EA MOV A,#11H ;置首显示码,两红灯全亮 MOV SAVE,A ;保存 ACALL DISP ;显示输出 ACALL DE3S ;延时3秒 LLL: MOV A,#12H ;东西路口绿灯亮,南北路口红灯亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延时10秒 MOV A,#10H ;东西路口绿灯灭 MOV SAVE,A ACALL DISP MOV R2,#05H ;东西路口黄灯闪烁5次 TTT: MOV A,#14H MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#10H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,TTT MOV A,#11H ;红灯全亮 MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#21H ;东西路口红灯亮,南北路口绿灯亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延时10秒 MOV A,#01H ;南北路口绿灯灭 MOV SAVE,A ACALL DISP MOV R2,#05H ;南北路口黄灯闪烁5次 KKK: MOV A,#41H MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#01H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,KKK JMP LLL ;转SSS循环 DE10S: MOV R5,#100 ;延时10秒 JMP DE1 DE3S: MOV R5,#30 ;延时3秒 JMP DE1 DE02S: MOV R5,#02 ;延时0.2秒 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET DISP: MOV DPTR,#OUTPORT CPL A ;取反,点亮发光二极管 MOVX @DPTR,A RET ;中断处理程序 INT: PUSH ACC ;有关寄存器入栈 PUSH PSW MOV A,#11H ;两红灯全亮 ACALL DISP ACALL DELAY MOV A,SAVE ;将主程序中保存的数据再送给A ACALL DISP POP PSW ;有关寄存器出栈 POP ACC RETI DELAY:MOV R1,#100 DEL1 :MOV R2,#200 DEL2 :MOV R3,#126 DEL3 :DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET END 2、现象 将程序输入到单片机中,运行程序,可以观察到现象:首先是两个路口的红灯全亮,延时3秒之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时10秒后,东西路口绿灯灭,黄灯开始闪烁。
闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时10秒后,南北路口的绿灯灭,黄灯开始闪烁。闪烁5次后,再切换到东西路口方向,重复上述过程。
当有中断申请时,两个方向上的红灯亮,经过10秒急救车通过之后,恢复到急救车到来之前的状态继续运行,可有多次的中断申请。 四、课程设计的心得与体会 1.通过试验进一步理解和消化了书本知识,分析每个语句的含义,运用所学知识进行简单的程序设计。
了解了在单片机系统。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:5.228秒