单片机开发实用4篇
【导言】此例“单片机开发实用4篇”的范文资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
单片机开发范文1
关键词Multisim;单片机;电路;虚拟仪器;仿真
单片机因其使用灵活、体积小、重量轻和价格低廉等因素,仍然被广泛应用,从事单片机开发的工程师,经常要对其所设计单片机程序及其电路进行实物模拟和调试,非常不便,开发效率相对不高。随着EDA(Electronic Design Automation)技术的飞速发展,采用仿真软件完成单片机系统的开发已经成为开发设计人员一种必不可少的手段。
Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于模拟、数字电路和MCU(Micro Controller Unit)的设计工作,具有丰富的仿真分析能力。
软件简介
Multisim具有较为详细的电路分析手段,也拥有强大的MCU模块,支持单片机及其设备的仿真,所建项目支持C代码、汇编代码,包含断点设置、查看和编辑内部RAM、特殊功能寄存器等高级调试功能。同时强大的数字仪器和数字分析环境,给用户提供了一个操作便捷、使用方便、效果突出的仿真平台。
使用Multisim可交互式地搭建电路原理图,并对电路行为进行仿真。通过Multisim和虚拟器技术,使用者可以完成从理论到原理图捕获与仿真,再到原型设计和测试这样一个完整的综合设计流程,Multisim软件使模拟电路、数字电路、MCU设计及仿真更为方便,并且广泛的被广大设计和开发人员使用。
2.用Multisim软件进行设计仿真
下面将以图1为例,介绍如何用Multisim软件进行单片机辅助开发,并以此说明采用Multisim仿真的基本应用方法。图1设计是采用单片机”8051”模块的脚输出1Khz的频率控制信号,通过三极管2N222A驱动BUZZER振动发声,同时通过采用示波器观看脚输出的频率和我们设计的要求是否一致。本文采用的软件版本为Multisim11。
组建仿真电路,调出单片机模块“8051”
(1)运行Multisim l1,选择菜单file ànewàdesign,单击基本界面元件工具条上“Place MCU”按钮,在弹出“Select a Comp-onent”对话框的“Family”栏中先选取“8051”模块,其他可以选择默认值,单击“OK”按钮,如图2所示。
(2)鼠标箭头将带出一个“8051”模块,在电子平台上单击鼠标,将弹出的工作区路径设定好,并将工作区命好名。单击next,弹出对话框如图3所示,第一栏项目类型,可以在“Standard(标准)”和“External Hex File(加载外部Hex文件)”之间选择,这里选取“Standard(标准)”;第二栏选择编程语言种类,可在“Assembly(汇编)”和“C”语言之间选择,这里选取“Assembly(汇编)”,则第三栏自动显示“8051/8052 Metalink assembler”;若选取“C”语言,则第三栏自动显示“Hi-Tech C51-Lite compiler”字样;第四栏为需要输入的项目名称,这里将项目命名为“8051buzzer”。
(3)单击下方的“Next”按钮,弹出对话框,有两个单选项:“Create empty project(创建空项目)”和“Add source file(添加源文件)”,这里选取“Add source file(添加源文件)”,下面栏中可以输入后缀为“.asm”的源文件名,这里采用默认的“”,最后单击下方的“Finish”按钮退出。
(4)单击主菜单“FileàSave”,保存文件名“8051buzzer”,选择好相关路径,注意默认文件名后缀为“ms11”。
(5)在电子仿真软件Multisim基本界面电子平台上,单击主菜单“View/Design Toolbox”,我们可以看到刚刚创建项目“8051buzzer”的相关文件信息,至此,我们调出了单片机“8051”模块并完成了相关设置。
编写MCU源程序
(1)双击“Design Toolbox”中的源文件“”,在其右侧将打开编写源程序窗口,第一行的“$MOD51”后面绿色字母句子是它的注释,包含51寄存器和端口的预定义文件。
(2)在源程序窗口中输入以下控制源程序。
(3)单击主菜单“MCUàMCU 8051U1àBuild”,将所编程序“烧录”到8051模块中。如果程序语句逻辑格式没有错误,在程序下方打开的电子数据表视窗中可以看到汇编程序分析结果,显示没有错误和警告字样“Assembler results:O-Errors,O-Warnings”;如果程序语句逻辑格式有错误,则程序分析结果显示有几个错误和几个警告字样,必须重新检查所编程序,找出错误修改好,否则不能进入下一步操作。
调出其他仿真元件,搭建单片机仿真电路
在电子仿真软件Multisiml1基本界面元件工具条中分别调出“VCC”+5V电源、地线、三极管2N2222A一只、3K电阻1只、BUZZER一个,将它们置于电子平台上,从菜单“Simulate àInstruments”中选择虚拟仪器示波器,按照图1所示,连接好电子线路,将相关元件参数设置好,如将BUZZER电压设为4V,也可更改其振动频率。
执行仿真,查看结果
点击菜单“SimulatoràRun”,则可以听到BUZZER按照我们设定的控制频率发出声响,同时可以在示波器中看到单片机脚输出的控制信号频率确实为我们所需要的,证实单片机程序正确,图4为示波器观察结果。
用仿真调试工具帮助调试单片机程序
单击主菜单“MCUàMCU 8051 U1àDebug View”,将打开调试程序和排除故障窗口;单击主菜单“MCUàMCU 8051 U1àMemory View”,将打开MCU存储器窗口,在该窗口下可以看到特殊函数寄存器(SFR),内部RAM(1RAM),还有内部ROM(IROM)和外部RAM(XRAM)等。借助于以上这些仿真调试工具和MCU的存储器,可以对程序进行诸如设置断点、修改程序、观察地址值、堆栈情况、进入子函数、跳过指令等操作,从而达到验证、调整、修改、完善仿真程序的目的。
3.结束语
通过以上介绍,我们可以看到采用Multisim软件进行单片机程序仿真分析,非常简单方便,通过调试等功能能够帮助我们查找和修改程序,使之满足我们设计要求。特别是我们可以结合其他外设和元件,对单片机整个设计系统进行仿真,并能通过如示波器等仪器,查看到相关结果,验证我们的整体设计。总而言之,采用Multisim软件进行仿真分析,能够很好的帮助我们快速完成单片机系统开发,提高研发效率,提高分析解决实际问题的能力,无需借助实验室的仪器设备,就基本能够完成我们的开发设计。
参考文献
[1]胡启明,程刚。51单片机应用开发从入门到精通[M].人民邮电出版社,2012,2.
[2]王冠华。Multisim 11电路设计及应用[M].国防工业出版社,2010,10.
只要功夫深,铁杵磨成针。上面的4篇单片机开发是由山草香精心整理的单片机方案开发范文范本,感谢您的阅读与参考。
单片机开发范文2
关键词Microchip单片机功耗编程
--------------------------------------------------------------------------------
由美国Microchip公司生产的PIC系列单片机,由于其超小型、低功耗、低成本、多品种等特点,已广泛应用于工业控制、仪器、仪表、通信、家电、玩具等领域,本文总结了作者在PIC单片机开发过程中的一些经验、技巧,供同行参考。
1怎样进一步降低功耗
功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。为进一步降低功耗,在保证满足工作要求的前提下,可采用降低工作频率的方法,工作频率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其电流可减小到15μA),但较低的工作频率可能导致部分子程序(如数学计算)需占用较多的时间。在这种情况下,当单片机的振荡方式采用RC电路形式时,可以采用中途提高工作频率的办法来解决。
具体做法是在闲置的一个I/O脚(如RB1)和OSC1管脚之间跨接一电阻(R1),如图1所示。低速状态置RB1=0。需进行快速运算时先置RB1=1,由于充电时,电容电压上升得快,工作频率增高,运算时间减少,运算结束又置RB1=0,进入低速、低功耗状态。工作频率的变化量依R1的阻值而定(注意R1不能选得太小,以防振荡电路不起振,一般选取大于5kΩ)。
另外,进一步降低功耗可充分利用“sleep”指令。执行“sleep”指令,机器处于睡眠状态,功耗为几个微安。程序不仅可在待命状态使用“sleep”指令来等待事件,也可在延时程序里使用(见例1、例2)。在延时程序中使用“sleep”指令降低功耗是一个方面,同时,即使是关中断状态,PortB端口电平的变化可唤醒“sleep”,提前结束延时程序。这一点在一些应用场合特别有用。同时注意在使用“sleep”时要处理好与WDT、中断的关系。
图1提高工作频率的方法
例1(用Mplab-C编写)例2(用Masm编写)
Delay()Delay
{;此行可加开关中断指令
/*此行可加开关中断指令*/
for(i=0;i<=10;i++)movwfCounter
SLEEP();Loop1
}Sleep
decfszCounter
gotoLoop1
return
2注意INTCON中的RBIF位
INTCON中的各中断允许位对中断状态位并无影响。当PORTB配置成输入方式时,RB<7:4>引脚输入在每个读操作周期被抽样并与旧的锁存值比较,一旦不同就产生一个高电平,置RBIF=1。在开RB中断前,也许RBIF已置“1”,所以在开RB中断时应先清RBIF位,以免受RBIF原值的影响,同时在中断处理完成后最好是清RBIF位。
3用Mplab-C高级语言写PIC单片机程序时要注意的问题
程序中嵌入汇编指令时注意书写格式见例3。
例3
…………
while(1){#asmwhile(1){
……#asm/*应另起一行*/
#endasm……
}/*不能正确编译*/#endasm
……}/*编译通过*/
……
当内嵌汇编指令时,从“#asm”到“endasm”每条指令都必须各占一行,否则编译时会出错。
加法、乘法的最安全的表示方法见例4。
例4
#include<>
#include
unsignedinta,b;
unsignedlongc;
voidmain()
{a=200;
b=2;
c=a*b;
}/*得不到正确的结果c=400*/
原因是Mplab-C以8×8乘法方式来编译c=a*b,返回单字节结果给c,结果的溢出被忽略。改上例中的“c=a*b;”表达式为“c=a;c=c*b;”,最为安全(对加法的处理同上)。
.3了解乘除法函数对寄存器的占用
由于PIC片内RAM仅几十个字节,空间特别宝贵,而Mplab-C编译器对RAM地址具有不释放性,即一个变量使用的地址不能再分配给其它变量。如RAM空间不能满足太多变量的要求,一些变量只能由用户强制分配相同的RAM空间交替使用。而Mplab-C中的乘除法函数需借用RAM空间来存放中间结果,所以如果乘除法函数占用的RAM与用户变量的地址重叠时,就会导致出现不可预测的结果。如果C程序中用到乘除法运算,最好先通过程序机器码的反汇编代码(包含在生成的LST文件中)查看乘除法占用地址是否与其它变量地址有冲突,以免程序跑飞。Mplab-C手册并没有给出其乘除法函数对具体RAM地址的占用情况。例5是乘法函数对0×13、0×14、0×19、0×1A地址占用情况。
例5
部分反汇编代码
#include01A7081FMOVF1F,W
#include01A80093MOVWF13
;借用
unsignedlongValue@0x101A90820MOVF20,W
charXm@0x2d;01AA0094MOVWF14
;借用
voidmain()01AB082DMOVF2D,W
{Value=20;01AC0099MOVWF19
;借用
Xm=40;01AD019ACLRF1A
;借用
Value=Value*Xm01AE235FCALL035Fh
;调用乘法函数
……01AF1283BCF03,5
}01B0009FMOVWF1F
;返回结果低字节
01B10804MOVF04,W
01B200A0MOVWF20
;返回结果高字节
4对芯片重复编程
对无硬件仿真器的用户,总是选用带EPROM的芯片来调试程序。每更改一次程序,都是将原来的内容先擦除,再编程,其过程浪费了相当多的时间,又缩短了芯片的使用寿命。如果后一次编程的结果较前一次,仅是对应的机器码字节的相同位由“1”变成“0”,就可在前一次编程芯片上再次写入数据,而不必擦除原片内容。
在程序的调试过程中,经常遇到常数的调整,如常数的改变能保证对应位由“1”变“0”,都可在原片内容的基础继续编程。另外,由于指令“NOP”对应的机器码为“00”,调试过程中指令的删除,先用“NOP”指令替代,编译后也可在原片内容上继续编程。
另外,在对带EPROM的芯片编程时,特别注意程序保密状态位。厂家对新一代带EPROM芯片的保密状态位已由原来的EPROM可擦型改为了熔丝型,一旦程序代码保密熔丝编程为“0”,可重复编程的EPROM芯片就无法再次编程了。使用时应注意这点,以免造成不必要的浪费(Microchip资料并未对此做出说明)。
参考文献
单片机开发范文3
关键词:工学结合;单片机课程;开发与建设
一、单片机课程的性质与作用
单片机是工科应用电子技术、电气自动化、机电一体化等专业的一门专业课,它是为从事电子产品、机电产品的生产与研发企业培养具有单片机应用产品设计、分析、调试和制作能力的实践型人才而开设的课程。图1是以应用电子技术专业为例,从职业岗位能力、典型工作任务等方面阐述单片机在专业课程体系的地位。《单片机应用技术》是应用电子专业的核心课程,并且是综合性很强的实践课程,需要综合《电子应用技术》等其它专业核心课程的知识和技能,结合单片机的应用技能,解决电子产品生产制造领域的实际问题。单片机课程学习的最终目的是用来设计电子产品或机电产品,它培养的目标是本专业较高层次职业岗位的需要:电子产品设计与开发。
二、单片机应用技术课程开发与建设的基本做法
1.立足电子产品设计开发岗位,以产品设计过程为抓手开展课程建设。单片机课程在行动领域的职业能力(岗位)主要体现在:单片机应用产品的硬件设计能力、软件编程能力和检测调试能力。这三者之间内在联系紧密,电子产品功能的实现需要通过对硬件、软件的综合调试才能实现,三者有机地融汇于产品设计开发过程中。通过产品的设计制作过程可以使三者得到系统的培训。单片机应用技术的工作课程实质上就是用单片机设计产品的过程。[1]
2.校企合作,共建课程。我们深入淮安市经济技术开发区大型电子企业(引进的外资企业:富士康电子科技有限公司、达方电子有限公司等)以及本地有实力的电子企业(洪泽瑞特电子设备有限公司、金湖红光仪表集团有限公司等),与这些企业生产一线专门从事单片机产品研发的工程技术人员共同探讨怎样培养职业岗位能力,使它更能贴近职业岗位的需要,研究制定课程标准、授课计划以及课程建设的项目,并聘请他们担任实践教学的老师,指导学生毕业设计,和校内教师共同组建课程建设小组。同时调查了解本专业学生在企业的工作情况,与毕业生座谈交流,通过他们的切身体会,对我们以往的课程建设提出建设性的宝贵意见。
3.构建职业能力、职业素质和工程意识三者合一的能力培养模式。电子产品的设计开发不仅仅是一个产品的开发过程,对企业来说还是一个企业行为,是一个系统工程,与实验室里开展的实验项目有本质的不同,不仅需要学生具备相应的职业能力,还需具备必要的职业素质和工程意识。根据单片机产品开发过程推演出的职业能力有:产品的功能分析与分解、资料的检索与使用能力、单片机资源的调配能力、硬件电路的设计能力、编程软件的使用能力、程序设计与调试能力、产品的制作调试能力以及技术文件的编制能力等。职业素质是基于企业文化推演出的严谨规范、团结协作、拓展创新等职业素养,基于工程推演出了成本、安全性、可靠性、节能环保等工程意识,并将这些职业能力、职业素养和工程意识融入我们的教学当中,构建三者合一的能力培养模式。图2为职业能力、职业素质和工程意识三者合一能力培养模式结构图。
三、系统化学习情境设计与实施
1.系统化学习情境设计。从企业单片机应用产品的开发过程提炼出的任务环节依次为:产品的功能分析与方案设计、器件及资料准备、功能电路设计、功能程序设计、产品功能硬件软件联合调试、产品制作、产品测试,这是一个完整的系统工程。工作过程行动导向课程体系也要求学习情境是一个完整的项目制作[2],两者在内涵上是一致的。我们选取三个电子产品,以它们设计开发的过程为载体,结合单片机的知识点和应用技能组织教学内容,构建系统化的学习情境。三个产品是:循环流水灯(以霓虹灯位原型)、电子钟(以电子表为原型)、温度测量控制系统(测量控制是单片机最广泛的应用)。由简单到综合,分别对应于单片机学习过程中的三个阶段:“入门”、“基础”、“拓展”。三个学习情境的实施过程在步骤上是重复的,在内容上是包含递进的,是一个螺旋上升的学习过程,符合人的认知规律。图3为以产品设计制作过程为载体设计的单片机课程系统化学习情境,学生通过三个阶段的学、做、练一体的训练,可以达到单片机应用产品开发应用岗位职业能力的要求。
2.学习情境的组织实施。为便于课堂教学的组织实施,依照单片机应用产品设计开发的环节,结合单片机知识点和应用技能将每一个学习情境分解为几个学习任务,如表1所示。在每个任务里学习相关的单片机知识点,进行相应的实践制作活动,完成相应的职业能力、职业素养和工程意识的训练,每个学习情境最后的学习任务都是对前面任务的综合。每个学习任务都按照“资讯、计划、决策、实施、检查、评估”工作过程步骤实施教学,在“做”中“学”,在“学”中“练”[3],以练促学,全面提高学生单片机的应用能力。
3.考核评价。对学生学习情况的评价考核分为两部分:过程考核和综合考核。过程考核是在每个学习任务实施过程中进行现场考核,对每个学习任务编制详细的过程考核表,内容包括:知识点、应用技能、学习态度和效果,考核方式采取学生互评和老师检查评价,最后由老师综合考核情况给出过程考核的成绩,过程考核成绩占总成绩的70%。综合考核是在所有学习任务完成后,通过以其它电子产品的设计为课题,给出产品的功能要求和技术指标,由学生按照单片机应用产品的实施环节写出的完整实施过程报告,以检验学生对单片机知识的掌握,综合运用能力和创新思维,综合考核成绩占总成绩的30%,由老师评定。
参考文献:
[1] 姜大源。关于工作过程系统化课程结构的理论基础[J].职教通讯,2006,(1):7-9.
[2] 王朝霞。“基于工作过程以行动为导向”的学习领域课程方案设计[J].教育理论与实践,2009,(1):48-50.
单片机开发范文4
关键词:单片机电子技术应用开发
当代社会已进入高科技发展时代,特别是电子智能生产的需求量和技术水平在不断提升,嵌入式的应用技术也得到了深入研发。作为一种嵌入式的控制器,单片机是影响计算机技术发展过程的重要因素。
单片机属于集成芯片,其与电子技术相结合,能实现搜集、处理和储存数据的功能,这也是当下微型电子设备中至关重要的性能和组成部分。单片机因为耗能低、体积小、功能强大的优势,成为计算机系统中不可缺少的部分。
一、單片机概述
单片机是新型的电路芯片,从自身基础特点来看,它体积小,不需要占据较大的空间,控制性能较强,而且耗能非常小,稳定安全。特别是在高科技产品中,运用单片机能节约成本,提高产品的技术功能。在一般情况下,单片是利用植入程序,依托其内部的运算器和控制器,实现对系统的控制。
单片机是一种非常小的芯片,可以依靠数字运算管理系统,处理数字信号,实现对相关仪器的控制。单片机是一种非常微小的计算机系统,在当前各个领域都发挥着重要作用。特别是在智能电子产品飞速发展的过程中,单片机占据了不可替代的位置。
在运行过程中,单片机主要是依靠提前编号的程序编码,相当于对其产生的一种指令,在采集了相关的操作信息之后,与对应的指令向接轨,从而做出一系列反应,完成指令需要的功能。
二、单片机在电子技术中的应用
1.在工业控制行业的应用
由于工业生产过程中有许多比较危险的作业和生产类型,如电力检修、高空作业等,所以保障工人的人身安全,实现安全生产是非常必要的。因此,在电子技术的推动下,人们应利用单片机数据控制和搜集功能,提高对工业生产各个环节的细节控制,加强对安全隐患的监管和检测,降低危险系数。如在电力、煤炭生产等行业中使用的报警装置,可以对单片机系统的数据设置临界值,再利用智能技术实现实时监控,一旦超过正常临界值,就会自动报警。
2.在通信领域的发展
网络信息技术的发展使得人们的通信技术也在飞速进步,而单片机则在通信领域中发挥着重要作用。如智能手机中的电话录音和语音等功能,实际上就是利用单片机完成了声音、文字的转换。电话录音的过程就是单片机收集信号,然后处理信息,再将处理结果传送给收集的内部储存中心的过程,以达到保存音频的效果。
3.家用电器和仪器仪表方面的应用
单片机在电子技术上的应用,能够实现工程的智能化和多样化,以提高智能家用电器设备的功能。如现代化的冰箱已经实现了自动调节温度的效果,能够实现保鲜,也能够进行冷冻,这都是因为单片机的功能。精密仪表中单片机的使用能够提升仪器的精密程度,使其工作时更加稳定。如在航空仪表中,单片机可以保证相关仪器不受恶劣环境和条件的影响。
三、单片机的技术开发
单片机的技术开发可以从单片机程序、计算机等方面进行。作为嵌入式的系统,单片机能够实现自动执行程序的开发,它可以被嵌入某些系统或者设备。在此之前,程序员可以设置单片机的程序,按照其需要完成的任务、指令等,设置相对应的操作,就像智能电子产品中的核心系统和处理器。同时,开发单片机的程序可以提高数据处理和传输的效率,扩大系统的容量,推动计算机技术的发展,为计算机网络系统的运行保驾护航。另外,单片机的语言也在不断发展,特别是在工业生产的行业中,单片机开始不断优化自身内部结构,从而提升操作流程的有效性,减少其占用的资源。