单片机设计范文

时间:2023-04-03 05:30:55

导语:如何才能写好一篇单片机设计,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

单片机设计

篇1

关键词:单片机 自动控制系统 设计开发 要点分析

中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2014)10(a)-0061-01

单片机作为一种重要的控制元件,在自动控制系统的构建中发挥了重要作用。从当前自动控制系统的设计来看,单片机的设计开发成为了自动控制系统开发的重要组成部分。结合当前单片机的设计与开发,要想做好单片机的设计与开发工作,就要对单片机的设计开发要点有足够的重视,并从单片机的设计开发实际出发,认真做好单片机的设计和开发工作,满足单片机设计开发需要,保证单片机的设计开发效果。由此可见,单片机的设计与开发需要掌握其要点。

1 单片机设计开发应制定明确的要求

在单片机设计开发中,要想保证单片机的设计开发取得积极效果,就要明确设计要求,其中指定明确的设计要求是十分必要的。从当前单片机设计开发实际来看,其要求应包括以下几个方面内容。

1.1 单片机设计开发要求应包括明确的任务

在单片机设计开发中,需要明确单片机设计开发的任务。这一任务应与单片机设计开发方案结合在一起,使单片机设计开发具有明确目的性,保证单片机设计开发的整体效果。

1.2 单片机设计开发要求应分为基本要求部分和功能发挥部分

为了保证单片机设计开发效果,应在基本要求部分明确单片机设计的基本功能,保证单片机设计开发达到预期目的。除此之外,还要合理设定单片机系统的其他功能。

1.3 单片机设计开发要求应提高针对性

基于单片机的特点,每一个以单片机为主的自动控制系统都有特定的服务对象。为了保证单片机的设计开发效果,在单片机的设计开发中应提高针对性,满足系统开发需求。

2 单片机设计开发应制定完善的系统方案

基于单片机设计开发的自动控制系统,其系统方案的设计是整个单片机设计开发的关键。为了保证单片机设计开发系统方案的合理性,结合小车控制系统,我们应从以下几个方面入手。

2.1 对系统的功能模块及硬件设备进行规定

(1)MCU:采用STC89C52单片机。

(2)电机:采用直流减速电机。

(3)环境检测:采用光敏电阻利用ADC 0832进行采集。

(4)避障方案:红外检测法。

(5)寻迹传感器:RPR220型光电对管。

2.2 对系统的运行流程进行规定

单片机在设计开发过程中,其整体系统的运行流程是关系到自动控制系统整体运行效果的关键。为此,对系统的流程进行规定是保证单片机设计开发效果的关键。

2.3 对系统的实现方案进行规定

单片机在具体的实现过程中,其实现方案关系到自动控制系统的构建效果。基于这一认识,我们应对系统的实现方案进行准确规定,保证系统的整体构建效果。

3 单片机设计开发应做好硬件和软件的设计

从本文的例子来看,在小车控制系统中,单片机的设计开发需要注重硬件和软件的设计与配合,应确保硬件和软件能够最大程度的满足实际需要,达到提高自动控制系统性能的目的。结合小车控制系统,其硬件系统主要包括单片机芯片、单片机开发板、小车、电机、DS1302时钟电路、光敏电RPR220型光电对管阻、等元件。在这些硬件的统一配置下实现小车的操作。

其软件系统主要包括对程序存储区、数据存储区的分配,尽可能做到了既节省内存空间,又使操作方便。同时,在程序设计过程中实现了运行状态的标志化管理,即对各功能程序的运行条件、运行状态、运行结果都设置了状态标志以便查寻,程序的转移、运动都可通过状态标志条件来控制。此外,为提高程序运行的可靠性,监控软件中设置了自检程序,在系统启动时先运行自检程序,用以检查系统各部件工作是否正常。若正常,用户便可在监控软件的管理之下,通过键盘输入机器语言级的程序和数据。

监控程序主要由初始化引导程序、显示程序、键盘分析程序、命令处理程序和一些常用的子程序组成,整个监控程序占2K字节。

4 单片机设计开发应做好程序编制

单片机系统共有12个控制命令,命令处理程序完成这12个命令的处理。它们分别是:D命令:显示存储器内容。E命令:检查I O接口中输入口的内容。F命令:填充存储器内容。G命令:转向某一指定地址开始执行程序。I命令:将外设的信息转储到存储器中。O命令:将存储器中的信息转送到外设上。M命令:转移数据块。P命令:连接打印机及打印存储器内容。S命令:检查和修改存储器的内容。T命令:执行程序中的一条指令。V命令:校验两存储区的内容。X命令:检查和修改CPU寄存器的内容。初始化引导程序完成对机器的初始状态进行设置以及断点处理。显示程序将要显示的内容对照显示码表在液晶显示器上显示出来。

5 结语

通过该文的分析可知,在单片机设计开发过程中,要想保证单片机的设计开发质量,就要对单片机的设计开发要点有全面准确的把握。结合单片机设计开发实际,单片机的设计开发应从制定明确的要求、制定完善的系统方案、硬件和软件的设计及做好程序编制等方面入手,切实提高单片机设计与开发质量,满足单片机设计开发需要。

参考文献

[1] 赵海兰.基于单片机的红外遥控智能小车的设计[J].无线互联科技,2011(3).

[2] 何立民.单片机技术的现状与未来[J].中国计算机报,2012.

[3] 姚培.基于单片机控制的智能循迹避障小车[J].机电信息,2010(12).

[4] 赵振德.多功能遥控智能小车的制作[J].电子制作,2011(4).

篇2

[关键词] 单片计算机 中央处理器 随机存储器 只读存储器

本文通过用对一个能实现定时,时钟,日历显示功能的时间系统的设计学习,详细介绍了51 单片机应用中的数据转换显示,数码管显示原理,动态扫描显示原理,单片机的定时中断原理、从而了解单片机相关指令在各方面的应用,文章后附有电路图,以供读者参考。本系统由AT89C51、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4 完成。其中SB0为时间校对,定时器调整功能键,按SB 0 进入调整状态。SB1 为功能切换键。第一轮按动SB1 依次进入一路、二路、三路定时时间设置提示程序,按SB3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1 键,依次进入时间 年位校对、月位校对、日位校对、时位校对、分位校对、秒位校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。各预置量设置完成后,系统将所有的设置存入RAM 中,按SB1 退出调整状态。上电后,系统自动进入计时状态,起始于00时00分。SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日。

一、电路原理分析

1、显示原理

由6 个共阴极的数码管组成时、分、秒的显示;P0 口的8 条数据线P0.0 至P0.7 分别与两个CD4511 译码的ABCD 口相接,P2 口的 P2.0 至P2.2 分别通过电阻R10 至R13 与VT1 至VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位BCD显示代码,通过P2 口送出扫描选通代码轮流点亮LED1 至LED6,就会将要显示的数据在数码管中显示出来。从P0 口输出的代码是BCD 码,从P2 口输出的就是位选码。这是扫描显示原理。

2、数码管结构及代码显示

共阴LED 数码管结构、字段及引脚排列见图2 图2;共阴LED 数码管由8 只发光二极管VD1 至VD8 共阴连接并按8字形结构排列而成。这样,我们将这些二极管的正极接高低不同的电位,把所有的负极接地,当正极为高电位时相应的二极管就会导通而发光,从而使数码管呈现不同的字符。而只有P2 相应呈现高电位,VT 个管导通,LED1 的GND 与地相接,LED 位被选中才具备发光的使能条件;可见,在利用P2 口送出位选码,使各位轮流得到发光使能条件的同时,通过P0 口分别送出不同的段选码,就会在LED1 至LED4 中显示出不同的数字来。

3、键盘及读数原理

键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电。平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms。

4、连击功能的实现

按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。

二、程序设计思想和相关指令介绍

本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。

1、数据与代码转换

由前述可知,从P2 口输出位选码,从P0 口输出段选码,LED 就会显示出数字来。但P0口的输出的数据是要BCD 码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0 口去驱动LED 数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD 码行转换后,将各个单元数据的段选代码送入P0 口,给CD4511 译码后去驱动数码管显示。具体转换过程如下:

Created with novaPDF Printer (省略).

Please register to remove this message.

我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位的BCD 码,再放回A中,然后将A 中的值输出。如:有一个单元存储了45 这样一位数,则需转换成四位的BCD码:(0100)(0101)然后放入A 中。A中BCD码,高位四位代表4低四位代表5同时送给两个译码器中,译码后45字就在两个LED 中显示出来。

2、计时功能的实现与中断服务程序

时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0 打开后,进入计时,满100 毫秒后,重装定时。中断一次,满一秒后秒进位,满60 秒后即为1 分钟,分钟单元进位,60 分到了后,时单元进位,24 小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送LED 中显示出来,实现时钟计时功能。累加是用指令INC 来实现的。进入中断服务程序以后,执行PUSH PSW 和PUSH A 将程序状态寄存器PSW 的内容和累加器A 中的数据保存起来,这便是所谓的保护现场。以保护现场和恢复现场时存取关键数据的存储区叫做堆栈,在软件的控制之下,堆栈可在片内RAM 中的任一区间设定,而堆栈的数据存取与一般的RAM 存取又有区别,对它的操作,要遵循¡ 后进先出¡ 的原则。

3、时钟误差分析

开启定时器/计数器0,使之开始计时,中断后进入中断程序。自停止计数到、计数又开始,中间执行了7 条指令,也就是延迟了13 个单周期共用时间26us,这样,每个中断的总时间应为为100.026sm,而原来定时是100ms,,所以,也就是说每次中断定时多了26um.这样,可改变计数重装值,使每次中断定时时间为99.974sm,加上原来的7 条指令所用的时间,正好100sm.计数10 次得1s.这样就可得到较精确的计时秒数,然后根据进率,得到时、分的值。

4、时间控制功能与比较指令

系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入RAM 某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条 CLR 指令,将对应的那路P3 置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3 置低电位,二极管截止,。实现此控制功能用到的比较指令为CJNE A,#direct,rel,其转移条件是累加器A 中的值与立即数不等则转移。

参考文献:

[1]谢自美,《电子线路设计、实验、测试 》武汉:华中理工大学出版社,2000.

篇3

【关键词】4*4矩阵键盘 亚龙YL236设备 设计

1 亚龙YL236矩阵键盘介绍

1.1 概念介绍

在单片机按键使用过程中,当键盘中按键数量多时为了减少端口的占用,通常将按键排列成矩阵的形式。这样可以更多地节省I/O口的占用量。在亚龙YL236设备上,MCU06指令模块上的4*4矩阵键盘如图1和图2所示。

1.2 硬件介绍

矩阵键盘是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样可以用8个输入口实现16个按键的功能。在实际操作中,用亚龙YL236设备,以矩阵键盘按键后显示0,1,2,3……A,B,C,D,E,F到数码管上为例来最终完成程序的编写。矩阵键盘硬件接线图如图3所示。

2 设计方法分析

2.1 设计方法一:线反转查询法

对于矩阵键盘常用的扫描方法为线反转查询法。具体方法为:首先使行作为输入,使用单片机内部电阻上拉为高电平,列输出低电平,读行的状态。如果行有一个I/O口是低,说明有键按下,进行下一步,否则退出扫描。如果有键按下,置列为输入,行输出低电平,读列的状态。最后根据行列的状态表就可以知道是哪个键被按下。如图3“A”按键被按下的状态为10111011B,即十六进制的BBH。按此方法编写表格如表1。

根据线反转查询法,设计出程序流程图如图4所示。

根据流程图,我们编写出它的按键子程序如下:

keyscan()//4*4按键子程序

{P1=0x0f; //列输出低电平,读行的状态

temp1=P1;

if(temp1!=0x0f)//有按键按下

{delay(5); //消抖

P1=0x0f; //列输出低电平,读行的状态

temp1=P1;

if(temp1!=0x0f)//有按键按下

{P1=0xf0;//行输出低电平,读列的状态

temp2=P1;

temp=temp1|temp2;//两者相或

switch(temp)

{case 0xee:flag=0;break;

//11101110即 第一个按键被按下

case 0xde:flag=1;break;

case 0xbe:flag=2;break;

case 0x7e:flag=3;break;

case 0xed:flag=4;break;

case 0xdd:flag=5;break;

case 0xbd:flag=6;break;

case 0x7d:flag=7;break;

case 0xeb:flag=8;break;

case 0xdb:flag=9;break;

case 0xbb:flag=10;break;

case 0x7b:flag=11;break;

case 0xe7:flag=12;break;

case 0xd7:flag=13;break;

case 0xb7:flag=14;break;

case 0x77:flag=15;break;}

while(temp2!=0xf0)//松手检测

{P1=0xf0;temp2=P1;}}}

return flag;}

2.2 设计方法二:逐行扫描法

对矩阵键盘逐行扫描。具体方法为,分别扫描键盘的四行,每扫描一行,判断该行有无按键按下,若无按键按下,继续扫描第二行,直到扫描四行结束。若有按键按下,得到按键号,结束程序。

根据设想,设计出程序流程图如图5所示。

根据流程图,我们编写出它的子程序如下:

keyscan()

{P1=0xfe;//给P1口送检测信号111111110,即先检测第一列有无按键 按下

temp=P1; //将检测信号赋给变量temp

temp=temp&0xf0; //与11110000相"与"去除低四位检测部分

if(temp!=0xf0) //判断是否有按键被按下

{delay(5); //按键防抖动延时

P1=0xfe;

temp=P1; //将检测信号赋给变量temp

temp=temp&0xf0;

if(temp!=0xf0) //再次判断

{switch(temp) //利用switch函数判断temp值

{case 0xe0:flag=0;break; //若P0等于0xe0,即11100000,则第一个按被按下

case 0xd0: flag=1; break;

case 0xb0: flag=2; break;

case 0x70: flag=3; break;}

while(temp!=0xf0)//松手检测

{temp=P1;temp=temp&0xf0;}}}

P1=0xfd;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{delay(5);

P1=0xfd;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{switch(temp)

{case 0xe0: flag=4; break;

case 0xd0: flag=5; break;

case 0xb0: flag=6; break;

case 0x70: flag=7; break;}

while(temp!=0xf0)//松手检测

{temp=P1;

temp=temp&0xf0;}}}

P1=0xfb;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{delay(5);

P1=0xfb;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{switch(temp)

{case 0xe0: flag=8; break;

case 0xd0: flag=9;break;

case 0xb0: flag=10;break;

case 0x70: flag=11;break;}

while(temp!=0xf0)//松手检测

{temp=P1;

temp=temp&0xf0;}}}

P1=0xf7;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{delay(5);

P1=0xf7;

temp=P1;

temp=temp&0xf0;

if(temp!=0xf0)

{switch(temp)

{case 0xe0: flag=12;break;

case 0xd0: flag=13;break;

case 0xb0: flag=14;break;

case 0x70: flag=15;break;}

while(temp!=0xf0)//松手检测

{temp=P1;

temp=temp&0xf0;}}}

return flag;}

2.3 设计方法比较

对于上面两种方法,在实际应用中,都能较好地实现按键识别的功能。下面我们来研究比较下哪种编程设计方式更好。语句条数比较:第一种方法在程序运行时,最多运行30条语句完成任务,得到需要的按键数据。第二种方法需要运行最多70条语句完成任务,得到按键数据。如此比较,明显第一种方法比较精炼,运行时间较短。理解难易比较:第一种方式需要先拉低列,有按键按下后再拉低行,中间需要用到两个中间变量temp1和temp2,在实际的教学过程中发现往往有些学生对此的理解常会出现模糊状态,搞不明白temp1和temp2的意义。导致对后面16个case的结果不理解。第二种方法分四行分别检测,每次只用到一个中间参数temp。单行检测,虽然检测步数变多了,但是在平时的教学中,发现第二种方法学生理解起来比较顺畅。所以对于这两种方法各有特点。在平时的应用中若是4*4矩阵键盘初学者,第二种方法比较好理解。若学习时间较长,有一定基础或理解能力较好,第一种方法更精炼,更适合。

在亚龙YL236设备上我们来直观地应用4*4矩阵键盘显示1到F到数码管上。

用到模块设备:MCU01主机模块,MCU02电源模块,MCU03仿真模块,MCU04显示模块,MCU06指令模块。实训步骤:1.用电子连线将电源模块上的5V电源引到所用模块的5V电源输入端。将电源模块上5V的END引到所用模块的5V的END上。确保主机模块上的EA选择开关在1的位置。2.将仿真模块连接到主机模块。3.主机模块P1.0到P1.7接指令模块的R0到C3。主机模块P0口接显示模块数码管数据口。主机模块P2.5接显示模块数码管WR,主机模块P2.6接显示模块数码管数据CS2,主机模块P2.7口接显示模块数码管数据CS1。用medwin软件编写程序,调试正确后,产生代码并装入单片机仿真,全速运行,最后到单片机实物模块中验证,程序如下:

下载调试,最后亚龙YL236设备上运行结果如图6所示,分别按第一个键到最后一个键,分别显示0到F。

从运行实物结果可以看出,两种不同的按键子程序测试都能成功运行。在实际的操作中,可以根据自己的理解能力来选择适合自己的方法。

本文介绍了亚龙236设备上矩阵键盘的原理以及程序设计应用。通过分析我们了解了两种程序的写法,当然远远还不止这两种方法,抛砖引玉,大家也可以探讨更好的方法来应用于实践。此模块是整个设备的重点,这里的测试程序用到和数码管相配合,同时也可以和该设备的其他任何模块综合应用。它是综合题的核心模块,因此了解它之后,能更好地为综合实践打基本。

参考文献

篇4

关键词:stc89C52;红外传感器;智能循迹小车

DOI:10.16640/ki.37-1222/t.2017.08.245

1 引言

智能循迹汽车是汽车电子、人工智能、机械制造多个学科领域的结合体,具有重要的应用价值。智能寻迹车是运用单片机为基础设计的,智能循迹小车利用传感器来识别赛道信息,利用传感器检测智能车的加速度和速度,从而实现快速稳定的寻迹行驶。本设计简单易懂,但是应用价值很高。在科技越来越发达的现代社会,汽车的普及率已经非常之高。许多汽车制造厂商提出无人驾驶的概念,例如特斯拉。因此次设计具有很高的科研价值。

2 基于单片机设计的智能小车的总设计方案

该设计是以89C52单片机为主控制芯片,通过7.5V电池直接给电机供电。经过稳压电路给单片机以及传感器供电。系统采用L298N驱动芯片来实现小车的运动和转向。采用四路红外传感器来实现小车的循迹。采用红外传感器实现小车的测速。使用PWM对小车进行调速,使用加度传感器来防止小车发生侧翻。

3 硬件电路设计

硬件电路的设计单片机最小系统模块为控制中心、电源模块功能,电机驱动模块实现小车的转向及运动,红外循迹传感器模块测速模块实现赛道信息检测。下面介绍一下驱动传感器模块、电机驱动模块、测速模块。

3.1 电源模块电路

系统是利用两节3.5V镍铬电池供电。通过5V文雅电路转换称观点偏激所需的电压。7电压直接供给电机驱动芯片。以下是O计的硬件图。

3.2 电机驱动模块电路

电机驱动模块主要控制小车的方向,因此对电机驱动具有反应快、可靠性高等特点。因此采用L298N芯片,通过操作单片机的I/O口电平信号,即可对电机进行正反转、停止操作的控制。

3.3 测速模块

系统使用红外传感器检测直流电机的转速。只需要在码盘智商粘贴一个接受广电信号的接收装置,然后对采集的信息进行处理即可得出小车的速度。

3.4 循迹模块

采用TCRT5000制作的四路循迹模块具有价格低廉,稳定性高的特点。TCRT5000光电传感器模块是一款红外反射式光电开关。TCRT5000具有可靠性高,价格便宜,制作简单的特点。

3.5 加速度传感器模块

ADXL345芯片非常适合进行加速度的测量,测量范围大,数字输出数据访问简单方便。而且该芯片稳定性以及可靠性非常高。采集的信息通过加法处理即可得到小车的加速度。

4 软件代码调试

系统开始工作,首先初始化IIC、PWM、外部中断。初始化结束后开始循环,单片机各个模块开始工作,然后讲采集的数据发送给单片机。单片分析数据对小车的前进路线进行调整,并将信息通过1602显示出来。

5 结语

以stc89c52作为主控芯片,设计的智能寻迹小车,经过多次实验其寻迹效果良好,速度和转向控制响应快,系统的定性和抗干扰能力强,而且能够适应不同程度的光照条件下。同时针对最近大热的无人驾驶汽车而言,此设计能更好的帮助人们理解无人驾驶的概念。关于智能循迹小车此设计只是简单的进行研究,系统还需要进一步的完善。后期将加入自动导航功能。

参考文献:

[1]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.

[2]黄智伟.全国大学生电子设计竞赛系统设计[M].北京航空航天大学出版社,2011.

篇5

关键词:单片机 液晶显示器 计时器

中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2015)11-0000-00

1 前言

单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。本设计系统就是利用MSP430单片机作为核心,用其驱动1602液晶显示模块来设计棋类比赛(两位选手)计时器,即两位选手比赛,当第一位选手走过棋之后按下开关就对第二位选手用时做计时处理。同时第一位选手的时间将会停止,第二位选手在以前所用的时间上继续计时,计时效果精确到秒,具有很大的使用价值。

2 主要元件的比较选定

2.1 单片机的选定

现在市场上使用最多就是MSP430的单片机和51系列单片机, 首先,89C51单片机是8位单片机。其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。由于MSP430单片机与51系列单片机相比具有很大的优越性。而本设计系统要求具有较短的指令执行时间和较低的功耗,另外还需要有比较方便的编程。故选用MSP430F149单片机。

2.2 显示器的选定

显示器的选定可以选择液晶显示器,也可以选择传统的数码管显示器。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。传统的数码管显示器具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护,同时其精度高,秤量快,精确可靠,操作简单,但是要利用传统的数码管显示器显示信息字符比较困难,其只能显示数字和简单的字母。系统设计要求选用能显示一些字符信息,所以选用液晶显示器作为显示器。

3 硬件设计

3.1 LCD显示模块的设计

在使用1602液晶显示模块之前,因为本开发板同时支持5V和3.3V供电的液晶,因为本设计选用3.3V供电的液晶,所以要把开发板上的J7跳线座的LCD和3.3V脚短接。使用液晶模块时,先将数码管旁边的跳线座SMG的短路帽取下,否则数码管电路会影响液晶的输出。

3.2 复位电路的设计

在单片机系统里,单片机需要复位电路,复位电路可以采用R-C复位电路,也可以采用复位芯片实现的复位电路,R-C复位电路具有经济性,但可靠性不高,用复位芯片实现的复位电路具有很高的可靠性。

比赛计时前先按下S1开关进行复位,复位电路工作,驱动MSP430F149的第58个引脚。复位结束后才可以进行计时。此复位电路复位只是对计时器的复位,如果整个系统程序运行出现错误,只需要打开看门狗。设置看门狗溢出的时间间隔,在软件设计的时候估计在看门狗可能会溢出的地方清除看门狗定时器的内容,程序在正常的情况下不会发生看门狗溢出的情况,也就不会产生系统复位信号:当程序发生异常的时候,就没有地方能清除看门狗定时器的内容,看门狗在设置时间到来时就会产生系统复位信号,重新启动系统,从而程序正常运行。

3.3 主控制器的设计

单片机电路作为整个系统的核心控制部分,主要完成于其他电路的接口,在该系统中,单片机主要负责对模拟量和数字开关量进行采集,将采集到的数据通过串口传给上位机。

主处理模块主要是将各个模块进行协调处理和进行数据交互。主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中主处理获得采集的模拟数据和数字量数据,并将得到的数据发送到上位机。下位机也接受来自上位机的数据。整个程序基于中断服务结构,为了实现中断程序与主程序之间的数据交互,通过设置一些全局变量和全局的缓冲区来实现,具体的流程图如图1所示。

4 系统调试与总结

本次系统调试采用IAR软件仿真,首先设计计时器的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。调试成功后,可连接硬件进行工作。调试步骤如下:(1)生成文件烧录到MSP430F149单片机芯片中,然后运行,根据指示灯进行按键操作。首先按下A1开关上电后先进行复位操作。(2)复位后当按下K1时,显示器上的Plaryer1时间开始计时。(3)按下K2开关后,显示器上的Plaryer2时间开始计时.

参考文献

[1] 李朝清.单片机原理及串行外设接口技术[M]. 北京航空航天大学出版社,1999年.

篇6

关键词:温室大棚;无线传输;温度的监测;实时

1 引言

随着生活水平的提高,人们对家居需求由面积需求变为舒适需求。地板采暖采用辐射方式供暖,符合人体生理需求曲线,如果控制系统选取得当,不仅可以提高房间舒适度,更可以使系统运行费用降低许多。如今一般是在典型位置安装一个温控装置,温控装置连接到壁挂炉,温控器根据室温和温度设定直接控制锅炉运行,各房间不同回路由工作人员凭经验手动调节分水器球阀,改变不同回路的流量,从而达到调节各房间的室温的效果。使用这种控制方法,即使是有经验的工作人员,也难以调节得十分准确,何况各家庭成员由于年龄不同,所需舒适温度不同,需要经常对室温进行调节。

2 设计方案

系统总体设计思想是以SST89E564RC单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。

3 系统硬件设计

根据系统所需完成的功能,设计系统硬件结构如图2所示。

利用SST89E564RC纹机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制采暖系统,从而提高居室的舒适性以及采暖的经济。温度压力传感器是由温度敏感元件和检测线路组成的。温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,来敏感被测物体温度的变化,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,从而达到测温的目的。此设计中温度传感器采用Dallas半导体公司的数字化温度传感器DSl8820。该传感器支持“一线总线”接口,可方便地进行多点温度测量,还可以程序设定9~12位的分辨率,最高精度为±0.062 5℃,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。该产品支持3~5.5 V的电压范围,因其体积小使系统设计更灵活、方便

4 结论

微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。这里针对目前温度控制器现状设计了一种新方案,利用单片机及新型测温器件设计了一种多点温控采暖控制系统,该系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性以及采暖系统的经济性

参考文献

[1]闫玉德.单片微型计算机原理与设计[M].北京:中国电力出版社,2010

[2]王守中.51单片机开发入门与典型实例[M].北京:人民邮电出版社,2007

[3]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.

[4]罗亚萍.基于AT89C52单片机的室内有毒气体监控系统[J].山西电子技术,2011,05(2):17-19.

[5]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005

[6]江世明,黄同成.单片机原理及应用[M].北京:中国铁道出版社,2010

[7]江世明.单片机原理及应用实验教程[M].北京:中国铁道出版社,2010

[8]周润景.基于proteus的电路及单片机设计与仿真[M].北京:北京航空航天大学出版社,2010

[9]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009

作者简介

肖勤,邵阳学院魏源国际学院电子科学与技术专业学生。

篇7

【关键词】单片机 数码管 独立式按键

1 引言

抢答器是一种广泛应用于各类知识竞赛和文艺活动等场合的设备。本文利用单片机设计了8路抢答器系统,该系统要求用8个独立式按键作为抢答输入按键,序号分别为0~7,当某一参赛者首先按下抢答按钮时,在数码管上显示参赛者的序号,表示抢答成功,此时抢答器不再接受其他输入信号,直到按下系统复位按钮,系统再次接受下一轮的抢答输入。

2 系统硬件设计

本系统是由AT89C52单片机、晶振电路、复位电路、S0、S1、S2、S3、S4、S5、S6、S7这8个独立按键,4.7kΩ的电阻排RP1、一个共阳极LED数码管,8个510Ω的电阻构成的。

LED数码管由8个发光二级管(以下简称段)构成,通过不同的发光字段组合可用来显示符号“”、数字0~9、小数点“.”、字符A~F、Y、U、R、H、L和P等。在本系统中用1位共阳极LED数码管作为显示器件,显示抢答器的状态信息,由于本系统只用到一个数码管,采用静态连接方式将其与单片机的P1口连接。

8个独立按键S0、S1、S2、S3、S4、S5、S6、S7连接到P0口,将与P0.0引脚连接的按键S0作为“0”号抢答输入,与P0.1引脚连接的按键S1作为“1”号抢答输入,依次类推。S0~S7这8个独立按键都单独占用一根I/O端口线,适用于按键数目比较少的应用场合,优点是软件结构简单。

电路中P0口外接的上拉电阻是保证按键断开时,I/O端口为高电平;按键按下时相应端口为低电平。

3 系统软件设计

程序设计思路:系统上电时,数码管显示“”,表示开始抢答,当记录到最先按下的按键序号后,数码管将显示该参赛者的序号,同时无法再接受其他按键的输入;当系统按下复位按钮S8时,系统显示“”,表示可以接受新一轮的抢答。

定义数组disp[ ]用来存放共阳极数码管显示码表{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xbf},显示码表中的数值分别对应十进制数字0~7,在这个数组定义语句中,关键字code是为了把canxu[ ]数组存储在片内程序存储器ROM中,该数组与程序代码一起固化在程序存储器中。

定义一个变量key用来存放8个独立按键的按键信息。单片机刚上电的时候,数码管显示“”,表示开始抢答,通过key=P0语句,将P0口的按键信息赋给变量key,也就是第一次读按键状态,按键在闭合和断开时,触点会存在抖动现象,利用延时函数delay(1200)将按下时抖动的时间消除,再执行key=P0语句,再一次将P0口的按键信息赋给变量key,也就是第二次读按键状态,此时如果从P0口得到的按键信息是0xfe的话,那么就说明是第0个独立按键被按下去了,此时在LED数码管上显示十进制数字“0”,表明第0号参赛者抢答成功。如果从P0口得到的按键信息是0xfd的话,那么就说明是第1个独立按键被按下去了,此时在LED数码管上显示十进制数字“1”,表明第1号参赛者抢答成功。

依次类推,如果从P0口得到的按键信息分别是0xfb 、0xf7、0xef、0xdf、0xbf、0x7f的话,那么就说明分别是第2、3、4、5、6、7个独立按键被按下去了,此时在LED数码管上分别显示十进制数字“2”、“3”、“4”、“5”、“6”、“7”,表明第2、3、4、5、6、7 号参赛者抢答成功。

程序中用switch......case......语句来判断S0~S7这8个独立按键中的哪个按键被按下去了,同时在数码管上显示相应的按键序号。

部分程序如下所示:

key=P0; //第一次读按键状态

delay(1200); //延时消抖

key=P0; //第二次读按键状态

switch(key) //根据按键的值进行多分支跳转

{

case 0xfe: P1=canxu[0];yanshi(10000);while(1);break;// 按下S0键,数码管显示0,待机

case 0xfd: P1=canxu[1]; yanshi(10000);while(1);break;// 按下S1键,数码管显示1,待机

case 0xfb: P1=canxu[2]; yanshi(10000);while(1);break;// 按下S2键,数码管显示2,待机

case 0xf7: P1=canxu[3]; yanshi(10000);while(1);break;// 按下S3键,数码管显示3,待机

case 0xef: P1= canxu [4]; yanshi(10000);while(1);break;//按下S4键,数码管显示4,待机

case 0xdf: P1= canxu [5]; yanshi(10000);while(1);break;//按下S5键,数码管显示5,待机

case 0xbf: P1= canxu [6]; yanshi(10000);while(1);break;//按下S6键,数码管显示6,待机

case 0x7f: P1= canxu [7]; yanshi(10000);while(1);break;//按下S7键,数码管显示7,待机

default: break;

} }

}

4 结束语

本文从系统硬件设计和软件设计两方面详细阐述了8路抢答器的设计方法, 并在proteus软件中对其进行了仿真,达到了预期目标,该8路抢答器设计简单,实现容易,实用性强。

参考文献

[1]孙军辉.基于单片机应用的多路无线抢答器的设计[J].中国现代教育装备,2012.

[2]邹显圣.基于单片机控制的智能抢答器研究[J].电子设计工程,2011.

作者简介

张成法(1984-),男,山东省青州市人。硕士研究生学历。研究方向为单片机与嵌入式系统。

篇8

【关键词】语音识别;自动化;控制

前言

我国早在七十年代末就开始了语音技术的研究,由于各方面实验设备技术普遍落后,发展很缓慢,期间大多数研究者主要集中在语音识别的基础理论、模型及算法等方面研究和改进。随着工业技术的发展和语音控制技术上的投入增加,我国在中文语音技术的基础研究方面取得了一系列研究成果。目前市场的语音控制系统的产品比较单一,本文基于SPCE061A单片机进行了语音控制系统的设计。

1、语音控制识别方法

一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、模式匹配的方法以及利用人工神经网络的方法。

(1)语音控制识别系统的结构。主要包括语音信号的采样和预处理部分、特征参数提取部分、语音识别核心部分以及语音识别后处理部分,图1给出了语音识别系统的基本结构。

语音控制识别的过程是一个模式识别匹配的过程。在这个过程中,首先要根据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征,在此基础上建立语音识别所需的模式。而在识别过程中要根据语音识别的整体模型,将输入的语音信号的特征与已经存在的语音模式进行比较,根据一定的搜索和匹配策略,找出一系列最优的与输入的语音相匹配的模式。然后,根据此模式号的定义,通过查表就可以给出计算机的识别结果。

(2)基于语音学和声学的方法。该方法起步较早,在语音识别技术提出的开始,就有了这方面的研究,但由于其模型及语音知识过于复杂,现阶段还没有达到实用的阶段。

(3)模式匹配的方法。模式匹配方法的发展比较成熟,目前已达到实用阶段。在模式匹配方法中,需经过四个步骤:特征提取、模式训练、模式识别和判决。

(4)人工神经网络的方法。利用人工神经网络的方法是80年代末期提出的一种新的语音识别方法。人工神经网络(ANN)本质上是一个自适应非线性动力学系统,模拟了人类神经活动的原理,具有自适应性、并行性、鲁棒性、容错性和学习特性,其强的分类能力和输入-输出映射能力在语音识别中都很有吸引力。但由于存在训练、识别时间太长的缺点,目前仍处于实验探索阶段。由于ANN不能很好的描述语音信号的时间动态特性,所以常把ANN与传统识别方法结合,分别利用各自优点来进行语音识别。

2、控制系统设计

SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录入识别和输出系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10精度的DAC,只需要外接功放即可完成语音的播放。另外,凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。SPCE061内还集成了一个接口,使得对该芯片的编程、仿真都变得非常方便,而在线仿真电路接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境用户可以利用它对芯片进行真实的仿真;而程序的烧写也是通过该接口进行下载。

(1)硬件设计。整个系统主要由键盘输入电路、MIC输入电路、语音输出电路、红外发射电路组成。通过分析按键命令或语音识别结果,利用正常的结果以红外指令码发出,控制电视机的运行,同时用语音提示。系统组成如图2所示。

(2)系统程序设计。在软件设计方面,采用模块化程序结构,当前方案包括初始化、键盘扫描、温度采集、温度播报、万年历时间计算、万年历播报、红外发射、语音识别、语音播放等模块。程序设计流程如图3所示。

3、结论

本文利用单片机设计了一类语音识别控制系统,系统简单实用,可开发性强可以在很多工业产品上使用。为工程开发设计人员提供了参考。

参考文献

篇9

关键词:单片机 汽车车灯 控制器

中图分类号:TH4 文献标识码:A 文章编号:1007-9416(2012)02-0137-02

汽车车灯和报警信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题。传统的汽车闪光器结构简单体积小、闪光频率稳定、监控作用明显,故被广泛使用。但这样的继电器由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短。而采用MCU(微控制器)控制的车灯控制器可避免此类问题的出现,此类控制器具有较高的可靠性,定时时间精确度高,还可以承受一定的温度变化。此类控制器采用单片机控制原理,基本不受周围环境的影响,不仅可以达到精确控制的目的,而且使用寿命也大大延长。MCU(微控制器)是整个控制系统的核心部分,它的选择决定了系统的软件开发环境以及硬件连接方式等一系列的问题。基于单片机的汽车车灯控制器一直以来都是汽车单片机设计中的一个十分重要的领域。

1、汽车车灯的工作要求

车控制作用时,拨动相应侧的车开关,相应侧的车灯低频闪烁,同时驾驶室里相应侧LED指示灯向左或向右也以同样低的频率闪烁;左右两侧车灯有故障时,驾驶室里LED 车指示灯向左或向右高频闪烁;汽车紧急报警时,四个车灯同时高频率闪烁,驾驶室里左右LED 车指示灯向左和向右同频率闪烁,此时车控制不起作用。LED 车指示灯工作时,相应侧的继电器或蜂鸣器同时工作并发出“啪啪”的响声。

2、单片机硬件控制器设计

2.1 硬件控制系统方框图

汽车车灯控制器硬件系统包括控制模块、输入模块、故障检测模块、输出模块以及辅助元件,硬件控制系统方框图如图1所示。

2.2 核心元件的选取

微控制器选用MC68HC08系列单片机,本设计采用16 个引脚的MC68HC08QY4芯片。该芯片性价比高、引脚少,内部集成了各种I/O模块以及A/D转换模块,是本设计的最佳选择。

智能功率开关芯片选用BTS6143D,该芯片是一款集成了SIPMOS片上技术的高边智能功率开关芯片,适用于汽车单片机苛刻的工作环境,其工作的温度范围可从-40℃至+150℃。此外,BTS6143D 还具有多项保护功能:短路保护、过载保护、过压保护、过温关断、掉地和掉电保护、静电放电保护和电源反接保护等。

2.3 故障检测

当车灯出现故障(发生短路或断路)时,根据反馈回来的数据判断自动检测车灯故障,如果在正常范围内则低频闪烁,在正常范围之外的则高频闪烁。

如果出现断路的情况,左侧灯的电阻增大,电流减小,反馈电流也减小,反馈电阻RIS地作为下拉电阻,反馈电压减小,端口PTA0的电压减小;如果出现短路的情况则恰恰相反,反馈电流增大,端口PTA0电压也增大。

如果左侧两个车灯都断路,IL为0,反馈电压为0;有一个断路时,IL为P/VOUT(P为21瓦)。

如果左侧两个车灯都短路,IL非常大,反馈电压也非常大;有一个短路时,IL也很大,反馈电压也很大。

如果左侧两个车灯都正常工作时,IL为2P/VOUT为7.5A(P为21瓦)。同侧两个车灯正常工作时(工作环境为25°C)根据实际线路情况有一定的误差,正常的IL为7.5A,反馈比例(kILIS=IL:IIS)kILIS正常为9700,最低为8000,最高为10800,端口PTA0为A/D口,所采集的模拟量电压为6.944V~9.375V,将测得的反馈电压模拟量转化成数字量(二进制)为0110.1111~1001.0110,十六进制为0x06.F1A9~0x09.6并将转换来的数据与正常范围进行比较,如果在正常范围内则单片机发出相应的信号使车灯低频闪烁,否则高频闪烁。(正常工作闪烁频率为40次/Min,故障时闪烁频率为80次/Min)向驾驶员报警。

为保证车灯功率满足的要求,对左侧车灯(前、后)用一块BTS6143D芯片控制,将BTS6143D芯片接在MCU(微控制器)上,右侧车灯同理。

3、程序编译

File name: 车灯控制器.asm

author: luther

scribe:汽车车灯控制电路

org 0000h

ljmp start

org 0100h

start:

mov A,#05H;闪5次

mov R7,#0ffh;开始时灯全灭

mov 80h,R7;把显示输出

mov r0,#08h;延时1秒

lcall delay

scan:

键位扫描,B为0f0h,P3口为0b0h

jnb 0b2h,left;P3.2为左转灯

jnb 0b3h,right;P3.3为右转灯

jnb 0b4h,stop;P3.4为停车红灯

jnb 0b5h,back ;

sjmp scan

left:

mov A,#05H ;闪5次

mov R7,#11111110b;

MOV 80H,R7

mov r0,#03h

lcall delay

dec a

mov 80h,#0ffh

lcall delay

cjne a,#00h,LEFT

ret

right:

mov a,#05H ;闪5次

mov R7,#01111111b ;右转灯闪,即最上层的灯

MOV 80H,R7

mov r0,#03h

lcall delay

dec a

mov 80h,#0ffh

lcall delay

cjne a,#00h,right

ret

stop:

mov R7,#10011001b ;从下往上数2367号灯亮,即停车灯

MOV 80H,R7

mov r0,#08h

lcall delay

ret

back:

mov A,#05H ;闪5次

mov R7,#11100111b?;中间灯闪,即倒车灯

MOV 80H,R7

cpl 0b7h ;cpl p3.7

mov r0,#04h

lcall delay

dec a

mov 80h,#0ffh

cpl 0b7h

lcall delay

cjne a,#00h,back

ret

DELAY: MOV 0F0H,R0

MOV R4,0F0H

L3: MOV R2 ,#250

L1: MOV R3 ,#250

L2: DJNZ R3 ,L2

DJNZ R2 ,L1

DJNZ R4 ,L3

RET

END

4、结语

本设计实现了对汽车车灯的单片机控制,并且可以对发生的故障进行诊断如车灯的短路、断路等进行故障诊断并进行报警。 具有结构简单、配置灵活、降低成本的优点,完全达到了期望的性能和价格要求。

参考文献

[1]陈旭川,胡超,杜海洋,林坤,严骏,基于HT46R24的汽车车灯智能控制器设计[J].重庆工学院学报(自然科学版),2007(9).

[2]孙余凯,田其贵等.新型汽车单片机电器原理与故障检修方法[M].北京:人民邮电出版社,2002.

作者简介

篇10

关键词:单片机;实训;教学

中图分类号:TP368 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02

单片机是电子电气类一门“古老”的学科,单片机的发展往往也被看做人类产品智能化的发展。随着时代的进步以及人们对产品智能化的可求,单片机不仅从单一的对机械控制发展到了多领域的智能化控制,更从无操作系统时展到了有操作系统时代,从而带动了新兴产业——嵌入式产业链的发展,如今,单片机及嵌入式产品几乎深入到了我们工作、生活和学习的各个领域。那么,作为嵌入式及电子电气类相关学科的一门重要的基础课程,单片机的地位就显得举足轻重了。

在单片机的教学中,单片机的实践教学是使学生真正学会运用单片机的必备实训手段,通过这样的教学手段,不仅可以让学生很好的掌握单片机知识,还能达到为后续课程打基础、为毕业设计做准备、为单片机实现直接就业与企业工作环境对接的教学目的。

在几年的教学过程中,我们本着以工作过程为导向,以企业典型工作任务为依托的教学模式,将单片机的教学过程按照企业对产品的开发流程进行设计,采用分阶段分任务分组合作的教学模式完成,具体设计如下:

1 明确工作任务

工作任务是实训教学的起点,它传递给学生的信息是“我们要做什么”。工作任务明确能够保证研究方向的准确性,工作任务明确能够有效的了解任务所需的知识和技能,有利于学生对知识的搜集和学习。在教学中,我们为了让学生对工作任务所需掌握的知识点一目了然,往往在确定工作任务时采用比较直观的语言表达方式提出任务,如“单片机让一个LED灯闪烁”、“单片机让一个LED灯定时1秒闪烁”、“单片机让单数码管显示0~9十个十进制数”等等,这种直观的语言描述往往可以降低任务的复杂性,让学生更快更直接的了解知识点,从而有利于后续工作的开展。

2 确定工作目标

工作目标指导任务完成的方向性。工作目标明确才能进一步分析工作任务的具体需求和目的;工作目标明确才能具体分析和选择下一步工作该做什么、怎么做、做的目的是什么。通常在这一教学环节中,我们会将学生组织成若干个开发工作组,将工作任务看成招标商的招标任务,将工作组定位为若干个投标公司,通过一种企业竞争式的模式,组织学生完成工作任务。这一环节,主要是各个工作组进行组内讨论,分析工作目标;通过工作目标,进一步确定工作任务所需的知识点、进而通过工作组对资料的查找和搜集,在提出工作任务的前提下,组织组内学生完成对芯片的选择、元器件的选择以及开发工具的选择的任务。

3 完成任务的系统设计

在单片机的企业开发流程中,系统设计是十分重要的阶段。单片机系统设计的目的是在保证工作目标实现的基础上,以提高系统的简单性、可行性、可靠性、完整性、可扩展性、可维护性、安全性以及经济效益等为出发点,进一步详细设计的实现工作目标完成工作任务的设备及芯片的参数选型,如输入信号的类型和数量,输出控制的对象和数量,接口设备的种类及类型,环境配置,工作电源要求以及产品整体成本要求等。

4 电路原理图设计

原理图是硬件组装的依据,原理图的设计好坏直接关系到制作产品的可行性,因此,学会绘制原理图是学生走向工作岗位操作的第一步。我们所使用的原理图设计工具是PROTEL软件。PROTEL是个庞大的EDA软件,它不仅可以绘制电路原理图绘制,还可以模拟电路与数字电路混合信号仿真、多层印制电路板设计等等,目前几乎所有的电子公司都要用到它,因此这里使用PROTEL软件的另一个目的是实现能够最大限度的缩小学校和企业的差距,从而做到校企对接。

5 软件程序设计

单片机是靠命令完成工作的,命令是靠软件编写的,因此软件设计环节必不可少。软件设计不仅能够培养学生良好的问题分析能力,组织能力、顺序协调能力等社会必要能力,更重要的是一个好的程序往往决定了产品的兴衰和成败,因此软件设计也是单片机开发中不容忽视的阶段。

软件设计的流程一般分为:设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序几个过程。由于低级的汇编语言过于依赖固定单片机芯片,往往不便于程序的移植,因此我们在教学中,使用高级语言——C语言进行单片机的程序设计,使得程序设计更易于理解,更有利于系统扩展和学生进一步深入学习。

6 电路仿真设计

仿真是指在计算机上采用特定的软件模拟单片机运行的状态,进而确定单片机系统设计的可行性。我们在这一环节中使用PROTUES电路仿真软件模拟电路原理图的结构,通过导入程序观察运行结果来确定设计的准确性。对于初学者来说,如果直接焊接电路不仅可能带来不必要的经济损失,更可能在焊接中由于出现不确定的问题而导致无法观察执行效果,无法确定产品的问题来自于软件还是硬件,因此仿真往往是解决这一问题的一个好办法,它即节约了成本又能让学生明确看到自己制作的产品的执行效果,进而能够是学生正确分析问题的所在。实际教学中,我们发现这一环节的实施往往给学生带来了极大的学习乐趣,从而有效的提高的学习效果,鼓励了学生继续专研的信心,为后续任务打下更坚实的基础。

7 绘制电路板

电路板是元器件连接的平台,电路板的设计有利于优化设备间的布局,因此电路板设计也是单片机设计中比较严谨的工作环节,在这一环节中我们仍然借助PROTEL软件来完成。

8 成品焊接

焊接是一种以加热方式接合金属或其他热塑性材料如塑料的制造工艺及技术。焊接是电装生产中不可避免的的重要环节。这里我们通过焊接技术完成成品的组装,到这里为止基本的产品设计过程就初步设计完成了。

9 成品调试

成品制作完毕后,就进入成品整体的调试环节了,在这一环节的实施中,工作组学生根据成品的运行效果,将问题的研究方向确定为软件和硬件两种因素,通过组内成员的分析及教师的从旁指导,反复调试直至问题解决。

10 小组测评