时间:2023-05-29 17:43:51
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇单片机最小系统,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
中图分类号: TN42 文献标识码: A 文章编号: 1009-8631(2012)09-0091-02
一、系统特点
本系统设计是使用AT89S52进行设计,使用C语言进行编程。
AT89S52是一个低功耗集成块,8位CMOS工艺处理器,具有8K在线可编程FLASH存储器。作为这次设计的核心部分,对它进行扩展。
为了对最小系统进行检查,设计是增加了记数这个功能,为了方便程序下载,在实际使用的过程中,增加了下载接口。系统可实现的功能有:(1)4×4键盘;(2)LED显示;(3)报警;(4)串行通信;(5)记数。
二、功能实现
(一)4×4键盘
键盘是这个系统的关键部分,用它可以实现数字的输入和命令的输入,是单片机实现人机交换的最主要的设备,因此键盘是关键。
矩阵键盘是最常用的键盘,一般情况下可以用逐行扫描法来实现这种键盘功能。一般先通过输出端口在所有的行线上发出全扫描信号,然后检查输入端口的列线信号是否全为“1”,是“1”则表示无键按下,若不全为“1”,这是还不能确定按下的键是属于那一行的。再次,再用逐行扫描来确定键的位置。先扫描第0行,即输出1100,然后读入列信号,判断是否去全为“1”,是“1”则表示无键按下,若不全为“1”,则表示有键按下,闭合的位置处于第0行与不为“1”的列线的相交处。以次类推,最终找到哪个键闭合。找到闭合键后,通过其所对应的行值和列值,用特定的方法就可以得到闭合键的特征值。流程图如图1所示。
程序如下:
#include
#include
#include
#include
void key_scan(void);
void delay10ms(void);
void alarm(void);
void display(void);
void receieve(void);
void send(void);
void counter(void);
unsigned char code table[]={
0xC0,0xF9,0xA4,0xB0,0x99, //0~4
0x92,0x82,0xF8,0x80,0x90, //5~9
0x88,0x83,0xA7,0xA1,0x86,0x8E};//a-f
void main(void)
{void key_scan(void)//键盘扫描
{unsigned char idata temp,hangxuan;
unsigned int idata i,j;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{delay10ms();
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{hangxuan=0x01;
for(i=0;i
{P1=~(1
for(j=0;j
{temp=P1;
temp&=0xf0;
switch(temp) {case
0xe0:keyvalue=i*4+0;break;
case 0xd0:keyvalue=i*4+1;break;
case 0xb0:keyvalue=i*4+2;break;
case 0x70:keyvalue=i*4+3;break;}
break; }
led[4]=led[3]; //使四位
LED可以滚动显示
led[3]=led[2];
led[2]=led[1];
led[1]=led[0];
led[0]=keyvalue;
display(); //调用显示
}}}}}
(二)LED显示
其实在键盘中就已经使用了显示程序,就是把有信息显示在4个LED上面。一般通过查表来实现。
程序如下;
void display(void)//显示
{unsigned int i;
unsigned char weixuan=0x01;
for(i=0;i
{P0=table[led[i]];
P2=~(1
delay10ms();
(三)报警
所谓报警就是在需要的时候使单片机的电路可以发出声音来报警。
这里用的是一个三极管和一个蜂鸣器,并利用一个I/O口驱动它们。在需要的时候向该I/O口写入1使其导通,就可以发出声音。 程序如下:
void alarm(void)//报警
{delay10ms();
P3=0X10; //P3.4
delay10ms();
P3=0x00; //P3.4
}
(四)串口通信
AT89S52内部具有两个串行口,可同时发送和接收数据。它有四种工作方式,可供不同场合使用,波特率由软件设置。接收和发送可用查询或中断方式,使用非常灵活。这里我们为了提高CPU的效率,接收数据采用中断方式,发送数据采用查询方式。
程序如下:
TMOD=0X20;//计数器工作方式2
TL1=0XFD;//波特率 9600
TH1=0XFD;
TR1=1;//
SCON=0X50;//
EA=1;//中断
void send(void)//串行发送
{if(TI!=0)
{ TI=0;
SBUF=led[0];
display(); }}
/****************************************************/
void receive(void) interrupt 4 using 3//串行接收
{unsigned int i;
if(RI!=0)
{RI=0;
led[0]=SBUF;
for(i=0;i
{led[i+1]=led[i];
display()}
(五)记数
记数就是利用单片机内部的定时/计数器产生记数,并把它们的结果在LED上显示出来。流程图如图2。
程序如下:
void counter(void)//记数
{for(;keyvalue=0,led[0]=0,led[1]=0,led[2]=0,led[3]=0;keyvalue++)
{ if(keyvalue=='0')
{led[0]=led[0]+1;
delay10ms(); }
else if(led[0]=='0')
{led[1]=led[1]+1;
delay10ms(); }
else if(led[1]=='0')
{ led[2]=led[2]+1;
delay10ms();}
else if(led[2]=='0')
{ keyvalue='0';
led[0]='0';
led[1]='0';
led[2]='0'; }
else
; } //分号不能省略
三、总程序
总程序就是把以上的几个子程序进行组合,使它们实现应有的功能。有两种方式可以实现这种功能。
1.单任务系统:它是在把其他程序嵌套在键盘扫描程序中。
2.多任务系统:键盘扫描和其他程序是并行的。
这里才用第二种。流程图如图3;总体电路图如图4。
总程序如:
参考文献:
[1] 徐泳龙.单片机原理及应用[M].北京:机械工业出版社,2004.
[2] 成都木,马科技.单片机原理及应用[M].北京:北京希望电子出版社,2000.
[3] 王福瑞.单片微机测控系统设计大全[M].北京:北京航天大学出版社,1998.
关键词:智能充电器;自主选择;保护;单片机控制
一、引言
本文选用AT89S51单片机作为控制芯片,设计了智能充电器系统。该系统经过测试,具有一定的稳定性,并且可以根据用户需要进行自主选择充电方式,而且在充电过程中能对被充电电池进行保护从而防止过电压。
二、智能充电器的发展
电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。现代的快速充电器( 即电池可以在小于3 个小时的时间里充满电,通常是一个小时) 需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。
锂电池具有较高的能量密度,与其它电池相比具有体积小、重量轻等优势,但对保护电路要求较高。在电池的使用过程中,需要严格避免出现过充、过放电现象,通常锂离子电池充电方式为恒流-恒压方式。为保证安全充电,一般通过检测充电电池的电压来判断电池是否充满,除电压检测外还需采用其它的辅助方法作为防止过充的后备措施,如检测电池温度、限定充电时间等辅助方法。
三、智能充电器原理
设计的充电器具有检测镍氢电池的状态,自动切换电路组态以满足充电电池的充电需要。充电器短路保护功能,以恒压充电方式进入维护充电模,充电状态显示的功能。根据系统的需要设计了以89c51为主芯片的电源供电系统,键盘模块采用了行列扫描的4*4键盘,显示模块采用了4位7段数码管,温度控制模块采用发光二极管代替,软件部分主要设计了以C语言为开发工具。进行了详细设计和编码。
在操作过程中,首先按复位键初始化,然后调节LED以及各个硬件。接着按键1加电压,然后按键2减电压,直到达到对充电电池准确的电压为止,最后返回。
三、智能充电器显示部分程序的设计
为了节省开发成本,系统使用的是LED数码管显示器。为了使系统便于调试,最终采用了动态扫描显示方式的方案。LED数码管显示部分电路如图1所示。
图1 LED数码管显示电路原理图
LED数码管显示块是一种常用的显示器件,由发光二极管构成显示字段。在微机应用系统中通常使用的是七段LED。七段LED显示块中有8个发光二极管,故也称八段显示器,其中7个发光二极管构成七笔字形“8”,1个发光二极管构成小数点。七段LED显示块与微机接口非常容易,只要将1个8位并行输出口与显示块的发光二极管引脚相连即可,8位并行输出口输出不同的字节数据即可获得不同的数字或字符。一般1个七段LED显示块可显示的内容有限。
从图1中可以看到,本设计使用的是共阳型四位一体的七段LED数码管显示块。因为在与单片机连接时,单片机的通用输出端口无法给LED数码管足够的驱动电流,所以本设计给出了一种简单的驱动电路。此驱动电路使用的是市面上价格便宜的PNP型三极管,型号为S8550。LED数码管显示系统的段选端与单片机的P0口连接,位选端连接驱动电路后,与单片机P2口的低4位连接。
硬件电路设计是整个系统最关键部分,硬件电路主要包括单片机控制电路,保护电路,输出电路等。
四、单片机最小系统电路的设计
单片机的最小系统,又可以称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对于51系列单片机来说,最小系统一般应包括:复位电路、晶振电路、单片机。STC89C52单片机最小系统图见图2。
图2 STC89C52单片机最小系统图
复位电路:是由电容串联电阻构成的,当系统一上电的时候,RST脚就会出现高电平,高电平持续的时候是由电路的RC值的大小确定的,当RST脚的高电平出现两个机器周期以上就会执行复位操作。本系统设计中,当程序运行不正常或者停止运行时,系统就要进行复位操作。
晶振电路:典型的晶振取值为11.0592MHz,晶振周期就是(1/11.0592)μs。在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
在STC89C52单片机最小系统中,RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间维持在两个机器周期以上。X1和X2两个引脚为芯片内部振荡电路的输入端与输出端,在X1、X2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。
在设计过程中,力求硬件线路简单,充分发挥软件在编程方面灵活的特点,来满足系统设计的要求。本设计实现了低功耗、低价格,提高了系统的可靠性和可扩展性。
参考文献
[1] 张道德.单片机接口技术.第一版.中国水利水电出版社,2007.
[2] 阎石.数字电子技术基础[M].北京:高等教育出版社,1998.
关键词:单片机;流水灯;教学改革
作者简介:王学惠(1974-),女,黑龙江友谊人,黑龙江科技学院机械学院,副教授;刘元林(1970-),男,山东平阴人,黑龙江科技学院机械学院,教授。(黑龙江?哈尔滨?150027)
基金项目:本文系黑龙江省高等教育学会“十二五”课题(编号:HGJXHB2 110872、HGJXHB1 110856)的研究成果。
中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)28-0050-01
“单片机原理及应用”是机械工程专业的一门专业平台课,课程内容侧重于实际应用。该课程的教学对象是机械工程专业的学生,他们已具备一定的电工学和计算机及控制理论知识,教学上应以单片机结构及应用设计为主,使学生通过本课程的学习,具备独立设计单片机测控系统的能力,能对单片机的组成原理和结构有比较深刻的理解,基本掌握单片机应用系统设计方法,可灵活地使用芯片构成单片机应用系统,具备单片机硬件设计和软件编程能力。
为了在现有的学时中尽快引导学生入门,使其在理论分析与实践两个方面的能力都有所提高,教师从课程内容体系安排和考核方式等方面进行了一定的探索和研究。
一、“单片机原理及应用”课程教学的现状及存在问题分析
“单片机原理及应用”是一门理论与实践联系非常紧密的课程,目前的课程教学包括理论和实践教学两部分。下面就从理论和实践教学两个方面入手,分析目前单片机课程教学的现状及存在的问题。
1.理论教学现状及存在问题
理论教学是单片机课程教学的重要组成部分,也是实践教学的基础。目前理论教学主要依赖于课堂教学,传统的理论教学主要依赖于黑板教学。计算机技术的发展和多媒体技术在教学中的广泛应用,在一定程度上提高了课堂教学的效果。另外,启发式、讲授式等多种教学方法以及图片、动画、视频等手段在多媒体课件中的应用,有效地提高了学生对理论知识的理解。但是,就教学效果而言,学生学到的只是单片机的理论,而且学习手段单一,枯燥,致使学生学得吃力,老师教得辛苦,教学效果也没有显现出来。学生不知道其所以然,自然也不知道单片机到底是如何工作,如何实现系统控制的,致使学生学习兴趣不浓。没有实践的支撑,理论的教学就达不到预期的效果,自然理论也不能指导实践。
2.实践教学现状及存在问题
目前的实践教学主要形式为课内实验,偏重于做一些常规的验证性、认识性实验,综合性、设计性实践环节较少,严重影响学生的动手实践能力,不能很好地发挥学生自主学习的潜力,就业竞争优势不明显。[1]实验课的教学采用实验箱,进行实验时,学生只要对硬件按照实验说明进行简单连线就可以完成,并不清楚原理。[2]这种方法对学生而言,大量的概念都是第一次接触,而且抽象,没有感性认识,往往不能充分理解理论知识,没有创新性,没有问题的提出,激发不了学生的学习兴趣。
从以上现状及存在问题可看出,该课程教学的主要矛盾点在于理论和实践教学相脱节,理论教学单纯学理论知识;实践教学浮于形式,只演示一遍而已,不利于学生实践技能的培养,更谈不上工程应用能力的培养,不利于培养目标的实现。理论教学缺乏实践的支撑和验证,使得理论教学无的放矢。实践教学也不能对理论教学起到很好的推进作用,最有效的方法是改革现有的课程教学体系,在实践教学中学习理论知识,加深对理论知识的理解和运用,使得理论教学有的放矢。采用理论和实践教学有机结合的方法,有利于提高学生的工程应用能力。
二、课程教学内容体系改革
本课程主要讲述MCS-51系列单片机的硬件结构、组成原理和指令系统,并结合实例,重点介绍单片机应用系统的设计方法。对于实践性、应用性很强的机械专业课程来讲,实践教学系统是关键环节。[3]
1.课程教学内容的制定
课堂教学是实践教学体系中最重要的环节,其质量的好坏直接影响学生的学习态度与学习效果。[4]课程理论教学内容分为基本内容教学和扩展内容教学两部分。在基本内容教学中以流水灯为课程主线,将最小系统、基本指令、中断、定时器等内容融会到这个主线当中,以实际制作的流水灯为依托,不改变硬件结构,采用不同的方法实现灯的流水过程,从而深入浅出地把复杂的理论应用到具体的实践中。扩展内容教学主要是在基本教学内容的基础上,扩展芯片(如A/D、D/A、显示及键盘等芯片)构成单片机应用系统。
2.实作部分内容安排
黑龙江科技学院应用型本科人才培养的目标是培养学生的工程实践能力,能够动手制作单片机应用系统是单片机原理及应用课程所期望达到的培养目标。为实现这一目标,针对单片机这门实践性很强的课程,必须构建以实践为主线的课程教学体系,提高实践环节在课程中的比重,尤其是实际用单片机制作完成一个系统,使学生在教中学,学中作,以作促学。
通过具体的实物制作,激发学生的兴趣,使学生能够真正体会到学习的乐趣。结合理论教学的内容,实作也分成两个部分,一部分是以单片机为基础的流水灯制作,另外一部分是以单片机为基础的扩展制作。学生在熟练掌握基本技能的基础上,以完成自选、综合设计性内容为目的,教师引导学生自行选题、自主设计实作过程、自我选配实验器材。[5]
三、教学改革的具体实施
关键词:单片机;电加热;道岔除雪
前言:冬季降雪,特别是大(暴)雪灾害天气,给铁路运输安全、畅通带来极大困难。道岔积雪和结冰,将导致道岔转换不良、进路不能锁闭、信号不能开放,由此引发的车站咽喉堵塞、列车受阻运行晚点以及职工伤害的危险因素增多,一瞬间的疏忽就可能造成事故。因此做好除雪保畅通工作,直接关系着铁路运输安全正点和平稳有序,必须予以高度重视。
一、电加热融雪法概况
电加热融雪法,就是在道岔上安装加热装置,使用前启动加热装置,融化道岔部位的积雪,目前在一些高速铁路和一些枢纽的关健道岔上使用。道岔融雪系统由控制中心、控制柜、环境监测装置、电加热元件、隔离变压器、连接线缆和通道组成,适用于各种类型道岔融雪的需要,当发生降雪或温度变化时,系统可自动启动电加热融雪电路,并且根据电加热系统类型的不同,采取相应的人工设置,保证道岔正常转换。结构图如图1所示。
二、硬件最小系统设计
本系统包括单片机的晶振电路和复位电路。
1、单片机的晶振电路
单片机内部有一个高增益反向放大器,用于构成振荡器,引脚XTAL1和XTAL2分别是此放大器的输入和输出端。在单片机的XTAL1和XTAL2两端跨接晶体振荡器X1和X2,就构成了稳定的自己振荡器,其发出的脉冲直接送入内部时钟发生器。电容的值为30pF。为了减少寄生电容,更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得愈单片机芯片靠近。
2、复位电路
在由单片机构成的微型计算机系统中,由于单片机的工作会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环中,所以出于对单片机的运行状态进行实时监测的考虑,便产生了一种用于监测单片机的程序运行状态芯片,俗称“看门狗”。
看门电路的应用,是单片机可以在无人的状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,这一程序语句是分散的放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞而陷入某一程序段不进入死循环状态时,些看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即使程序从程序存储器的起始位置开始执行,这样实现了单片机的自动复位。
利用计数器CD4060构成的看门狗的电路CD4060的定时时间数由C1和R1决定,经Q1分频后定时产生一个复位脉冲。当系统工作不正常时,看门狗电路就会向系统发出复位信号。防止系统出现死机等问题。
当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间,ALE和/PSEN引脚输出高电平。
3、最小系统电路图
如图2所示,在单片机的XTAL1和XTAL2两端跨接晶体振荡器X1和X2,就构成了稳定的自己振荡器,其发出的脉冲直接送入内部时钟发生器,看门狗的RESET引脚与AT89C52的RESET引脚相连,当RESET信号从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间,ALE引脚和/PSEN引脚输出高电平。由此,构成了本系统的单片机最小系统。
三、软件设计流程图
系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数据检测等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。
模块程序设计法的主要优点是:
1、单个模块比起一个完整的程序易编写及调试;
2、模块可以共存,一个模块可以被多个任务在不同条件下调用;
3、模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序AD子程序、键盘子程序、显示子程序和输出控制子程序。
【关键词】555;多谐振荡器;单片机;LCD1602
1.引言
在电子仪器、仪表的制造及使用行业,有大量的印刷电路板需要调试、测量与维修[1],需要对电阻电容的数值进行测试。
本文介绍了一种基于AT89C51单片机和555定时器的数显式电阻和电容测量系统设计和仿真,然后制作出电路实物,实现系统的功能。系统利用555定时器和待测电阻(或电容)组成多谐振荡器,通过单片机定时器测量555输出信号的周期,根据周期和待测电阻(或电容)的数学关系再计算出电阻(或电容)值,再通过1602液晶显示器将其显示出来。该测量系统具有结构简单,方便实用等优点。
2.设计方案与原理
2.1 设计总方案
整个测量系统由单片机最小系统,按键,电阻、电容和555组成的多谐振荡器和液晶显示等几个电路模块组成。如图1所示。
2.2 多谐振荡器原理
如图2所示,测量电容时,利用555和待测电容CX和电阻R1和R2(R1和R2为已知电阻)等组成多谐振荡器,这样从555的输出端Q将输出周期性方波,接到示波器,如图2(b)所示。该信号不是一个占空比为50%的方波,根据参考文献2,一个周期T中高电平时间持续时间为:
测量电阻时,另用一个555组成一个多谐振荡器电路,将待测电阻RX接在R1的位置(或者将RX和一个已知电阻串联),CX替换成一个已知的电容C。这样一个周期时间为:
2.3 单片机计时原理
555输出的周期性方波信号送给单片机进行计时,测量出信号的一个周期时间T,再利用上面的数学关系进行计算处理,得到待测的电容或者电阻值。单片机计时的原理是:利用单片机的外部中断0和定时器0。555的输出信号接到单片机的外部中断0引脚P3.2,将其设置成下降沿触发。当555的输出信号为下降沿时,触发外部中断,开启单片机的定时器0开始计时,直到下一次下降沿到达时,即一个周期到达了,停止计时,这时定时器记下的就是一个周期的时间长度。
3.硬件模块设计
3.1 单片机最小系统
系统核心的控制器采用的是AT89C51单片机,图3所示为单片机最小系统,包括单片机和单片机正常工作需要的晶振电路和复位电路。Proteus中默认单片机电源和地已接好,所以图中省去了。
3.2 按键电路
按键电路用于确定是测量电容还是电阻,如图4所示,采用了一个单刀双掷按键。当按键打到上方接通单片机P3.6引脚时,用于测量电容;打到下方P3.7引脚时,用于测量电阻。
3.3 555多谐振荡器
如图5所示,利用555和待测电容或者电阻组成多谐振荡器,555产生的周期性方波从Q引脚输出,然后接至单片机的外部中断INT0引脚[3],即P3.2引脚。测量时,两电路只有一个接至单片机,分别用于测量电容和电阻。
3.4 液晶显示电路
测量的结果要显示出来,本系统采用LCD 1602作为显示器,图6为LCD1602和单片机的连接电路,P0口接了上拉电阻,作为数据口;P2口的前3位作为读写和使能的控制引脚。
4.软件设计
系统软件流程图如7所示。接通电源,首先是初始化工作,包括定时器T0、外部中断0和LCD1602的初始化。然后启动555芯片,通过单片机判断是否有中断请求,若无的话,继续等待中断请求;若有的话,启动定时器开始计时直到有中断请求时停止计时。得到计时值,即555输出信号的一个周期后,判断是测量电阻还是测量电容。判断后将电阻或者电容值由LCD1602显示出来。
5.仿真结果
将上述各电路模块整合到一起,组成一个测量系统。采用Keil编写好程序无误后,在Proteus中进行电路仿真。分别测量一个50kΩ电阻和一个150μF电容的仿真结果如图8所示。从中可以看出,测量有一定的误差,这主要是因为采用前面公式计算时取了近似值。仿真通过后,按照仿真电路,购买需要的元器件,制作出实物电路。
6.结束语
本文介绍了一种基于555定时器和单片机的电阻和电容测量系统设计。在系统的设计和仿真中,是以Keil和Proteus两种软件为平台。在Keil中使用C语言编写了程序,再利用Proteus仿真了系统电路的功能。该测量电路简单可靠,较易实现,能够测量一定范围内的电阻和电容值。
参考文献
[1]任晓虹,周启炎.一种电阻电容测量电路的设计[J].沈阳工业学院学报,2002,21(1).
[2]康华光.电子技术基础(数字部分第五版)[M].高等教育出版社,2008,12.
关键词:单片机;液晶显示器;设计与分析
DOI:10.16640/ki.37-1222/t.2017.14.205
0 前言
这些年来中国计算机无论从硬件应用上或是软件系统设计也开发开上都有了不同程度的进步。有力的推进了主体为相关电子元件的销售行业。而现今基于单片机所进行的液晶显示器方面的设计,虽然在大环境影响下有了一定的发展,但是还是因内部资源的相关存储以及数据方面处理的速度有一定的制约性,又因单片机价钱便宜而且适用的范围也很广泛的的特点也是受到了相关设计者的广泛使用。而单片机作为于液晶显示器设计的相关方式与方法还是有所进步的,所以下文主要分析基于单片机的液晶显示器设计,再根据相关的硬件系统的设计,针对液晶显示和时钟以及温度的采集等等实际性的设计进行详细的分析,希望可以为液晶显示器的整体提供具有参考价值的文献。具体内容如下:
1 相关设计硬件所进行的分析
基于单片机的液晶显示器设计在系统硬件的各电路中,主要组成大体上有含单片机的最小系统以及液晶显示器内部电路和设置方面的电路以及时钟与温度采集所使用的电路等。
(1)分析单片机的最小系统设计原理。组成单片机的最小系统一般有外部晶振以及电源与复位相关的电路等,在它们共同的作用下才能确保单片机系统可以正常的运转进而控制整体的系统。分析芯片的相关温度数据可以看出,在进行读取或者是写入芯片的数据时,显示的是日历以及时钟的数据等,再使用程序进行检验是否使用按键或其他操作。然后就可以在显示的驱动芯片中进行数据的写入,从而液晶显示器的屏幕就可以把相关内容显示了。
(2)分析液晶显示器内部电路设计。现今液晶显示器所使用的芯片有很多种,并且可以支持320×240(QVGA)等等的实际分辨率,而在显示器内部进行安置173kB的RAM,就可以显示高达26万色。接口方式可以选择8或是9或是16或是18位i80的系统全为总线,SPI总线以及RGB与VSYNC等的接口。一般会用总线式接口的电路代替外部数据存储器进行液晶显示器设计。
(3)分析时钟显示的电路设计。时钟显示的电路设计一般都是DS1302芯片来构成也是充电时钟芯片,其内一般有实时时钟以及日历和31字节的静态RAM,再运用不同的单片机进行接口方面的通信。运用芯片进行秒分时以及日月年等详细时间信息的获取,并按实际每月天数(闰年也可以计算实际天数)进行不同类型的计算而消耗的功量低。
(4)分析温度采集所使用的电路设计。芯片电路的设计大多很简单相对来说体积也小,所以组成测温系统的相关线路也简单,只需采用简单通信线将多个DS18B20数字的温度计连接即可,这样一个端口完成所有数据读取与写入,每个芯片只有唯一一个序列号且可以挂多个芯片。需要注意的是在进行实际设计中,控制实际数字温度计的温度在-55℃到125℃的范围之间并设定告警的温度值,分辨率需设为9到12位。这样芯片就会和实际使用的单片机进行电路连接。
(5)分析电路设置的相关原理。电路设置的相关原理是把日期时间与实际情况进行数据同步便于用户使用。在基于单片机的液晶显示器进行设计进,按键可设为进行主要内容的修改,这样就可以实现自动性的调整系统时间。第一次设置在结束后可按第二个键,时钟就可继续运行同时指示符消失,需要注意在进入调节状态时按下+或-按钮否则没效果。
2 相关设计软件系统所进行的分析
设计软件系统通常运用显示的子程序以及DS1302芯片的子程序和DS8B20芯片的子程序,而按键处理的主程序也是包括子程序的。按键所进行处理主程序一般为设备初始化设置,运用键盘的扫描程序以及时间温度各数据的显示,然后才能调用显示子程序。注意一般会有时间的间隔。
(1)软件系统的主程序进行的设计。在主程序初始化结束后,先进行键盘扫描程度,这样就可以读取芯片数据以及程序内容。
(2)软件系统在显示程序上所进行的设计。软件系统在显示程序上所进行的设计一般是很难的,其一,通常显示的驱动芯片中的寄存器很复杂,一般初始化后也会被别的程序使用,要注意在进行数据写入时确定范围。其二,在显示器的屏幕上可手动输放内容。再运用软件处理成图片取模,通过不同的索引进行判断。
(3)软件系统中子程序以及按键处理的子程序所进行的设计。实际子程序中时钟与日期芯片会自定义进行读取与写入数据的,并运用数据函数调用芯片中实际日期与时间函数进行处理。然后运用键盘进行程序扫描确保实际读取的函数可使用。
(4)软件系统中芯片的子程序所进行的设计。温度采集芯片在进行工作的过程中,要按不同流程进行秩序性工作。芯片总体初始化后进行ROM操作,当存储器进行操作指令发出后才可读取温度数据。
3 结束语
综上所述,上文主要分析了基于单片机的液晶显示器设计方面的相关内容,细节上针对液晶显示器设计的相关日期时间和温度变化相关显示情况进行研究。再运用硬件进行系统设计,从而设计出最小系统和液晶显示器以及时钟与温度采和电路设置等等方面的分析,同时也从相关软件的系统设计进行全面的分析,其中有主程序的设计以及系统显示的子程序方面的设计和芯片的子程序所进行的设计等等方面阐述了液晶显示器整体设计的过程。不但可以基于单片机进行液晶显示器的设计,同时也满足了液晶显示器未来发展的趋势。
参考文献:
[1]许思达.基于51单片机的TFT液晶显示设计[J].电子元器件应用,2010.
[2]楼然苗.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.
关键词:51单片机;仿真实验系统;Proteus软件
中图分类号:TP391.9
随着电子技术的迅猛发展,单片机在工业控制、电子消费、医疗器械等方面得到了广泛应用[1]。目前各个高校电子类专业都设有单片机应用课程,传统的单片机实验都是采用硬件实验箱或实验板方式[2]。这种方式往往还需要配套的仪器设备才能进行相关的实验,不仅资金投入大,实验项目有限,还使学习者的思维受限于具体的硬件实验环境,禁锢了学习者的创造性思维和挫伤了学习者的学习兴趣[3]。为了解决这个问题,特引入Proteus软件。Proteus软件是英国Labcenter electronics公司研发的电路分析与实物仿真软件,具有近20年的历史,是目前最好的单片机及器件的仿真工具[4]。利用该软件,既能节省大量实验设备购买和维护资金,又能突破现有实验设备电路结构的束缚,从而锻炼学生的创新能力和实践动手能力。下面首先以Proteus软件为平台设计一个51单片机仿真实验系统,然后用一个实例来说明该系统用于单片机实验教学的具体过程。
1 系统设计
本文以Proteus 7.5 SP3以上版本软件为平台,结合现有单片机实验箱电路结构,设计出一个51单片机仿真实验系统。该系统总体框图如图1所示。
图1 系统总体框图
整个仿真实验系统是以51单片机最小系统为核心。在其配有其他电路单元,主要包括:
(1)人机交互电路。其中输入电路是逻辑电平开关和矩阵式键盘,输出电路包括液晶显示、数码管显示、发光二极管和16*16LED点阵。
(2)常用接口电路。包括8255并口扩展、8155并口扩展、8253定时/计数、模数转换、数模转换、串并转换、锁存输出和缓冲输入。
(3)测量控制电路。包括温度测量、直流电机、步进电机和继电器。
(4)其他辅助电路。包括RS-232串口、138译码、393分频、存储器、02门电路和32门电路。
2 系统应用
上述51单片机仿真实验系统设计出来以后,可直接用于单片机实验教学,下面以“1602液晶显示电子琴实验”为例说明具体仿真过程。实验要求初始时在1602液晶显示器第一行显示Dian Zi Qin,当按下8155并口扩展单元的3*3键盘中任何一个键时,在1602液晶显示器的第二行从左往右循环显示所按键的键值(0-8),按键同时通过扬声器发出与键值对应的音调,即0键对应低音7,1-7键对应中音1-7,8键对应高音1。
2.1 实验电路结构
该实验电路的核心是AT89C51单片机最小系统,其是138译码器、8155并口扩展、3*3矩阵式键盘、液晶使能信号产生、1602液晶显示和扬声器这六个电路单元,具体实验电路结构如图2所示。分别说明如下:
(1)AT89C51单片机最小系统包括1片AT89C51单片机、1片74LS273锁存器、1个8路排阻和1个74LS02或非门。74LS273锁存器作为低8位地址锁存器,输入端接单片机P0口,8路排阻作为P0口外接上拉电阻使用,单片机ALE信号通过或非门反相后接锁存器CLK端。
(2)138译码单元包含1片74LS138译码器和1个74LS02或非门。其中74LS138的Y3输出端接液晶使能信号产生电路。
(3)8155并口扩展芯片地址/数据总线接单片机P0口,其PB口、PC口的一部分连接矩阵式键盘,PA口、PB口一部分控制1602液晶显示。
(4)3*3矩阵式键盘的三根行线接8155的PC口低三位,三根列线接PB口低三位。
(5)液晶使能信号产生电路由两个74LS02或非门和一个74LS32或门构成,用于产生1602使能信号E。
(6)1602液晶显示的数据端接单片机P0口,RS和RW信号分别由8155的PB3和PA7控制。
(7)扬声器由单片机P3.0脚进行控制。
图2 实验电路结构图
2.2 实验程序流程
程序编写采用Keil uVision4软件和C51语言,主程序流程如图3所示。其中8155初始化为PA口和PB口输出、PC口输入,定时器T0设置为方式0并开中断。在键盘扫描函数中,当按下键以后,由定时器中断产生对应音调,由按键时间控制节拍。
图3 实验主程序流程图
2.3 实验仿真结果
在Proteus软件中完成电路原理图设计,并在Keil软件中编程、编译并生成HEX文件后。然后在Proteus软件中双击单片机,在出现的对话框中的Program File项加入HEX文件点击OK按钮加载。再单击“运行”按钮,即可开始仿真[5]。其仿真结果如图4所示,图中1602液晶第一行显示提示语,第二行显示所按键键值,同时通过扬声器能够听到对应音调的声音。
图4 实验仿真结果图
3 结束语
通过上述应用实例表明,该51单片机仿真实验系统能够帮助教师完成单片机实验教学,并帮助学生分析和设计单片机系统电路,同时提高编程能力,增强他们的学习动力,培养他们的创新能力。另外,该系统的核心还能够用MSP430、AVR等单片机替代,从而构建一个应用范围更广的通用型单片机仿真实验系统。
参考文献:
[1]王威,刘佳,张志雄.基于Proteus和Keil的单片机虚拟仿真平台的设计[J].上海电力学院学报,2009(06):607-610.
[2]高立新.基于Proteus软件的单片机仿真实验[J].常州信息职业技术学院学报,2011(03):29-32.
[3]曲贵波,乔爽,吴东艳.Proteus仿真软件在单片机课程教学中的应用[J].林区教学,2013(02):73-74.
[4]赵月静,陈继荣,张永弟.单片机原理及应用课程创新实践教学改革[J].实验技术与管理,2013(01):176-179.
[5]宋玮,石惠.基于Proteus的单片机虚拟仿真实验室建设[J].安徽水利水电职业技术学院学报,2013(02):60-62.
作者简介:高林(1980-),男,湖北恩施人,讲师,硕士,研究方向:嵌入式技术与智能控制。
关键词: STC89C52单片机 LED 键盘
LED彩灯与传统的LED相比,色彩更丰富,能够传达出更多的信息。国内的一些城市采用传统的单一循环式的彩灯控制器,但因为其功能单一,浪费高,又不方便实用而渐趋淘汰,取而代之的是新一代的单片机功能实现的控制器,它更适合于在中小城市普遍推广使用。
单片机,即将计算机的CPU,RAM,ROM,定时/计数器和多种输入输出接口集成在一块芯片上,形成了芯片级的计算机。它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点。主要应用于智能仪器仪表、工业检测控制、机电一体化和消费电子类产品等方面,并且取得了显著的成果。本设计将使用单片机对LED控制实例化,设计一个32颗LED组成心行形状,核心控制器给出相应的控制数据对32只高亮LED进行控制。颜色显示采用的是内嵌三种颜色的LED进行不同的组合得到不同的颜色,如绿色和红色组合可以得到蓝色等。
1.系统总体设计
本设计是基于STC89C52单片机的LED彩灯控制设计。硬件电路设计包括基于STC89C52单片机的最小核心控制系统电路、LED彩灯模块、键盘电路和电源电路。软件设计主要包括LED彩灯的控制、键盘对LED颜色和频率的控制。最终将两者合并调试,完成最终的设计。系统将外接的5V直流系统供电,通过单片机软件编程对LED和键盘实施控制以完成各种色彩变化。
2.单片机最小系统
单片机能够正常工作的最基本的电路由单片机、时钟电路、复位电路等组成。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用上电自动复位。时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。STC89C52单片机芯片内部有一个反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡器电路的输入端和输出端,时钟可由内部和外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率选择11.0592MHz,电容值取30PF,电容的大小频率起微调的作用。STC89C52单片机的最小系统如图1所示。
图1 单片机最小系统
3.电源模块电路
本次设计的系统中的电源模块使用LM7805芯片作为稳压核心,为系统提供稳定的+5V直流电源,保证系统正常顺利地运行。电源模块电路原理图如图2所示:
图2 电源模块电路原理图
4.LED显示电路
流水灯采用的是发光二极管(Light-Emitting Diode),简称LED,是一种将电能转换为光能的半导体器件,具有体积小、耗电低的优点,常被用作微型计算机与数字电路的输出装置。当LED两端加上一定的正向电压,使之流过一定的工作电流就会发光,其亮度随流过的电流的增加而增加,但电流过大LED的寿命也将缩短。普通LED正向电流一般为5~20mA。由于51的I/O是弱上拉的方式,在输出高电平时,只能输出几十微安的电流,而在输出低电平时,I/O最大可以输入几十毫安的电流。所以,通常采用灌电流的方式,即电流从电源经LED流向I/O口。为了不因流过LED的电流太大而把它烧坏,必须串上限流电阻R,当P0和P2口输出高电平(+5V)时,LED两端没有电压降,所以熄灭;当P0和P2口输出低电平(即P0/P2=0)时,LED正向导通发光。此时LED两端电压约为1.7V,则限流电阻R两端将存在3.3V(即5-1.7=3.3V)。因STC89C52单个I/O口的输入电流不能超过10mA;P0口的输入电流总和不能超过26mA;P1、P2、P3的输入电流总和不能超过15mA;所有I/O口的输入电流总和不能超过71mA。由色度学原理可知,如果将红、绿、蓝三原色按照一定比例混合,则在适当的三原色亮度比的组合下,理论上就可以获得无数种颜色,这时就可以用3种发光波长的LED通过点亮和电流控制实现色彩的调控,即调色。下表是这一电路的逻辑真值表。
B(蓝色) G(绿色) R(红色) 色 彩 显 示
1 1 1 复位 0 1 1 蓝色
1 1 0 红色 0 1 0 紫色
1 0 1 绿色 0 0 1 青色
1 0 0 黄色 0 0 0 白色
LED电路如图3所示。
图3 LED模块电路原理图
5.键盘电路
图4 键盘模块电路原理图
本设计采用四个按键控制不同的显示效果,开机后呈现不同色,按键A用于切换LED的不同颜色,按键B控制LED的频率,由稳定到100ms闪烁到500ms闪烁到1s闪烁。按键C控制不同区域的LED发光;按键D,使其LED每一秒成不同颜色切换点亮。电路如图4所示。
6.结语
本设计制作的基于51单片机控制的LED彩灯系统在多次测试修改之后,最终实现了对32只高亮LED彩灯控制的功能,并且系统功能稳定。此外设计中留有很大的扩展空间,如:控制多样化,颜色显示更丰富,LED灯亮度的调节等,推向市场后便于升级开发。因此基于51单片机控制的LED彩灯系统,具有较高的实用价值和广阔的市场前景。
参考文献:
[1]童诗白等.模拟电子技术基础[M].北京:高等教育出版社,2000.
[2]杨清德.康娅.LED及其工程应用[M].北京:人民邮电出版.
[3]阎石著.数字电子技术基础[M].北京:高等教育出版社,1997.
关键词:AT89S52单片机;步进电动机;控制
引言
步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。步进电动机实际上是一种单相或多相同步电动机。单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机由多相方波脉冲驱动,在经功率放大后分别送入步进电动机各相绕组。当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。在非超载的情况下,电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电动机加一个脉冲信号,电动机则转过一个步距角。这一线性关系的存在,加上步进电动机只有周期性的误差而无累计误差等特点,使得在速度、位置等控制领域用步进电动机来控制变得非常简单。
本研究利用AT89S52单片机的四路I/O通道实现环形脉冲的分配,控制步进电动机匀速、连续的按固定方向转动,通过按键控制步进电动机的旋转角度。
1 系统设计
用AT89S52单片机来作为整个步进电动机控制系统的核心部件,其系统设计总框图如图1所示。真个系统包括单片机最小系统、电机驱动模块、独立按键模块等。
图1 系统设计总体框图
1.1 单片机最小系统
单片机最小系统主要负责产生控制步进电动机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的方向与输出的脉冲顺序有关。
1.2 电机驱动模块
电机驱动模块负责将单片机发给步进电机的信号功率放大 ,从而驱动电机工作。步进电机驱动方法主要有恒电压驱动方式、恒电流斩波驱动方式、细分驱动和集成电路驱动。设计中采用集成驱动芯片ULN2003A构成整个驱动电路,它是由七对达林顿管组成的,是集电极开路输出的功率反相器,并且每个输出端都有一个连接到共同端(COM)的二极管,为断电后的电机绕组提供一个放电回路,起放电保护作用。因此,ULN2003A 非常适合驱动小功率的步进电机。
单片机的P2.0-P2.3输出的脉冲信号送到ULN2003A的1B-4B 输入端,经ULN2003A 放大和倒相后的输出脉冲信号来驱动步进电机作相应的动作。ULN2003A的 COM 端和步进电机的 COM1、COM2 连接到 VCC。ULN2003A驱动步进电机模块原理图如图2所示。
1.3 按键控制模块
键盘主要用来提供人机接口,电路如图3所示,采用独立式按键电路 ,各按键开关均采用了上拉电阻,保证在按键断开时,各I/O 有确定的高电平。二极管IN4148作为高频信号高速开关,当按下键盘时最大反向恢复时间小,保证在按键断开时,各I/O 有确定的低电平。
1.4 串口通信模块
串口通信模块主要负责计算机与单片机之间的通信,将在计算机里面编好的程序下载到单片机芯片当中,通过RS232串口进行连接,实现计算机与单片机的良好通讯。
2 控制方法
本设计中的步进电动机采用的是2相6线式,其励磁方式为半步励磁(又称1~2相励磁),1相与2相轮流交替导通,每送一励磁信号可走90。若以1相励磁法控制步进电动机正转,其励磁顺序如表1所示。若励磁信号反向传送,则步进电动机反转。
表1 正转励磁顺序:AABBBCCCDDDAA
单片机控制电路如图3所示,用两个按键非别控制步进电动机正传和反转,当“正转”(Positive)键按下时,单片机的P1.3到P1.0口按正向励磁顺序AABBBCCCDDDAA输出电脉冲,电动机正转;当“反转”(Negative)键按下时,单片机的P1.3到P1.0口按反向励磁顺序ADADCDCBCBABA输出电脉冲,电动机反转。
3 系统程序设计
系统程序设计为C语言,主要包括脉冲信号发生、键盘的识别处理等。主程序流程图如图4所示。
3 系统仿真
使用Proteus的波形分析功能,可以分析按下一个键以后单片机的驱动信号输出,这里仿真按下正转按钮的波形,分析如图5所示。从波形可以看出,步进电动机的驱动序列为:0010、0110、1100、1000、1001、0001、0011、0010…与设计思想吻合。
4 结束语
基于AT89S52单片机的步进电动机控制模块具有电路简单可靠、控制方便、成本低等有点。实现了可程序设定步进方向、步进角,该设计灵活度高、有较强的编程性。
参考文献
[1]周润景.徐宏伟.丁莉.单片机电路设计、分析与制作[M].北京:机械工业出版社,2010.
[2]胡启明.葛祥磊.Proteus从入门到精通100例[M].北京:电子工业出版社,2012.
[3]陈桂顺.包晔峰.单明东.蒋永锋.基于PIC单片机的步进电机运动控制器[J].电焊机,2011,41(4)53-56.
[4]赵晓光.李建初.基于AT89C52单片机的步进电机控制系统研究[J].高科技产品研发,2013,(3):80-81.
关键词:伺服电机;单片机;LCD
中图分类号:TM33 文献标识码:A 文章编号:1007-9416(2017)02-0193-01
1 引言
随着科学技术的发展和自动化技术水平的不断提高,自动化机器人已经成为生产中不可缺少的一部分。机器人的使用帮助人们摆脱了繁重劳动或简单的重复性劳动,并且减少人类在危险环境中进行作业。为了保证工业生产过程中的高精度,逐步使用由伺服电机制造的机器人来代替普通电机制造的机器人。这样就使得伺服电机得到了普遍的应用。这里介绍一种简单的伺服电机控制器,可以对伺服电机进行简单的控制。主要用来测试和维修伺服电机。
2 系统结构及原理
控制系统主要由单片机控制系统、液晶显示模块,键盘输入模块、脉冲驱动电路、和485通讯总线来构成。如图1所示。
2.1 单片机最小系统
单片机最小系统由4部分组成:复位电路、时钟电路、电源电路、程序烧制接口电路。单片机的上电复位电路由一个10uF的电容和一个4.7K左右的电阻组成,复位电路的作用是使单片机回复到初始状态来工作。由于C8051F700单片机有内部时钟电路,所以本设计中不需要设计时钟电路。稳定的电源是工作的可靠保证,在单片机5V电源供电系统中不仅有7805稳压芯片,而且在单片机端增加了400uF的电解电容用来稳压、0.1uF的涤纶电容用来去除干扰。C8051F700单片机使用的是JTAG接口烧录程序。
2.2 驱动电路设计
在单片机的所有干扰中,共地干扰是影响单片机所有工作的主要因素。为了能够去掉单片机中的共地带来的干扰,需要把单片机的不同回路做成不同的地,这样可以避免单片机控制回路和伺服电机驱动回路进行互相干扰。这里采用的是光耦器件对地进行分离,通过光来进行互相控制和反馈。正常情况下干扰是没有足够的电流导致发光二极管发光,所以干扰就被抑制掉了。由于光耦的抗干扰能力强,使用寿命长,传输效率高、实现了输入输出的完全隔离,实现了对设备很好的保护。这里和伺服电机的驱动接口电路采用高速光耦6N137作为驱动电路。该光耦隔离性好,而且能达到伺服电机要求的高速特性。
2.3 输入输出电路设计
随着液晶显示技术的不断发展和价格的不断降低,在仪器仪表的设计使用过程中LED数码管显示已经逐步被LCD液晶显示所代替,LCD具有显示信息量大,功耗更低,质量轻等优点。这里选用了12864LCD作为显示输出,驱动芯片是ST7920。单片机的按键设计主要有2种方式:直接按键方式和矩阵键盘方式。直接按键方式是把每个按键都单独接到单片机的一个I/O接口上,矩阵键盘是通过I/O口的行列变化来判断,可以用少口实现多键盘。本系统需要的按键数量比较少,同时按键可以做成功能按键。所以这里采用了直接按键方式。
在设计的同时预留了通讯用485接口,如果有需要将来可以增加扩展模块,通过通讯口可以和上位机进行通讯。
3 系统软件设计
在单片机的软件设计中,KEIL作为单片机的软件开发工具,提供了C语言环境,并且代码效率高,执行速度快。Keil编程环境包含:编译器、汇编器、实时操作系开发环境。软件编写的功能模块主要有:12864驱动模块、界面菜单显示功能模块、按键模块。各个软件模块编写完成后,再编写整个伺服电机的控制过程。本系统软件编写过程中是先完成了LCD液晶显示的工作,完成液晶显示的工作后,编写了按键程序同时进行了调试。在编写完键盘显示程序后,编写控制输入输出程序,输出接口,主要是对伺服电机的使能、左、右限位复位和脉冲输出、方向输出进行编写,同时通过光耦读取伺服电机的报警信号。将伺服电机当前的状态、输出脉冲数量、是否有报警等等相关参数在LCD上进行显示。
4 结语
本系统主要由C8051F700单片机、LCD液晶显示,使用4个按键对伺服电机进行控制,伺服驱动回路由9个光耦电路组成。通过测试能够简单的控制伺服电机的启动停止,调速等功能。系统硬件电路O计简单、单片机软件能够完成控制功能、控制系统可靠、具有实用价值和参考价值。
参考文献
[1]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.
【关键词】 单片机 淋浴系统 混水阀 智能控制
太阳能热水器、空气能热水器、电能热水器在当下得到了广泛的使用,但目前市场上流行的上述热水器出水口广泛采用全机械混水阀调节水温和水压,这就使得当混水阀冷水管水压由于各种原因下降时,使用者在淋浴过程中有可能需要反复调节混水阀,以期将水温水压调到较佳状态。但另一个问题是传统的全机械式混水阀制造工艺参差不齐,许多混水阀调节很小的角度时水温就会产生很大的变化。基于以上问题,本系统利用单片机技术对混水阀实现了智能的控温控压,解决了传统的全机械式混水阀的种种弊端。
一、系统总体设计
1.1 系统组成
本系统由主控制器AT89S52及其附属电路、ULN2003A步进电机驱动模块、温度传感器模块、压力传感器模块、按键电路、显示电路、电源电路等部分组成。系统硬件框图如图1所示。
1.2 系统功能
系统主要实现了2种主要功能:实时温度与压力的自动控制、实时温度与压力的显示功能。当混水阀冷水流入量下降时,此时的水温水压数据被温度和压力传感器模块传回单片机,单片机根据实现设定的程序控制步进电机动作,从而调节混水阀转动进而控制水温和水压。温度和压力传感器模块将数据传送到单片机,单片机将数据进行处理后实时的显示在液晶显示器中便于使用者观测系统的工作状态。
二、硬件设计
系统的硬件部分主要包括单片机最小系统、步进电机驱动模块、温度传感器模块、压力传感器模块、按键电路、显示电路模块、电源电路。单片机最小系统由单片机、复位电路与晶振电路组成,所采用的单片机为AT89S52,其中P0口需接上拉电阻,步进电机驱动模块采用ULN2003A芯片驱动,温度传感器模块采用DS18B20数字式温度传感器,其输出端输出的信号为数字信号,直接传送至单片机进行处理,压力传感器模块包括压力传感器HK2011、AD/DA转换器PCF8591,压力传感器采集到的模拟信号传入PCF8591的模拟输入端,转换为数字信号后由IIC总线传到单片机进行处理,按键电路由4个轻触按键组成,未按下时每个按键的输出端均为高电平输出,按键后则反之,分别用于调节混水阀系统标准参考温度和压力的增减。显示电路模块:显示电路采用液晶1602LCD显示器,用于显示系统的标准参考温度、压力以及系统实时的温度和压力。
三、软件设计
系统程序包括主程序、显示子程序、AD驱动子程序、DS18B20驱动子程序、步进电机驱动子程序、按键处理程序。显示子程序完成显示器显示数据的提取、设置等操作;AD驱动程序与DS18B20驱动子程序分别驱动AD转换器和数字温度传感器从而使单片机可以采集水的温度和压力数据;步进电机驱动子程序驱动步进电机运动,从而使混水阀的祖转轴转动,控制水温和水压;按键处理程序可以实时检测按键的状态,改变标准参考温度和压力的值,使系统的使用更加灵活。
四、结束语
本混水阀系统应用单片机技术结合传感器技术,实现了混水阀系统的智能控温控压,解决了现存全机械式混水阀存在的弊端,当然,本系统在实际使用时仍受限于传感器即温度传感器和压力传感器转换速率的影响,其直接影响系统的实时性,从而间接影响了系统的质量,因此本系统仍然存在优化的必要性,比如采用并行的AD转换器采集温度和压力的数据等以提高系统的实时性。
参 考 文 献
[1] 张毅刚. 《单片机原理及接口技术(C51编程)》[M].北京:人民邮电出版社,2008.
【关键词】单片机;步进电机;开关控制;驱动芯片
1 概述
随着国民经济的快速发展以及科学技术水平的不断提高,人们对生产水平和生活质量要求越来越高。在现代化技术水平空前发达的今天,人们为了追求高效率的工业生产和高质量的日常生活,将电动机应用到社会各行业的各个领域。伴着微电子技术和数字化技术的发展,数字控制技术在电动机控制领域得到了广泛而又深入的发展,而步进电机作为继直流电机和交流电机后后的第三类电动机,以其独特的支持数字化控制的特性,在自动化控制系统下,改变了传统电动机的机电能量转换的角色,在人类的生产生活迈进电气化时代的过程中起到了关键性的作用。
2 步进电机
步进电机是将电脉冲信号转变为角位移进而转化成线位移的开环控制元件,它在一种在矩形电脉冲的控制下,按照设定方向转动固定角度从而实现特定位移的执行电机。当有脉冲信号发送到步进电机驱动接收器中,步进驱动器就会驱动步进电机按照既定方向转动一个固定的角度,也就是“步距角”,从而实现固定的位移。对步进电机来说,“步距角”是固定不变的,是步进电机的走一步的距离,属于步进电机的固有属性,而对步进电机所有的控制都是步进电机一步一步“走”出来的。我们可以通过设定发送给步进电机的电脉冲的个数来控制步进电机总的角位移,从而实现位置的改变,通过控制发送步进电机电脉冲的频率来控制步进电机角位移的速度和角速度,从而实现位置上的调速。
3 单片机控制步进电机
由于步进电机结构简单、数字化控制方便、运行可靠以及步距角不受外界环境变化的影响、误差不长期积累等优点,被广泛应用到打印机、照相机、雕刻机等消费类产品,数控机床、工业机器人等工业控制以及各种医疗器械等机电产品中,单片机成本低、体较小、易编程等优点使其成为步进电机的完美搭档,在步进电机的控制系统中,可以实现对转动速度和方向的稳定可靠高效的控制。
3.1基于单片机的步进电机控制系统框架
基于单片机来控制步进电机进行运转的系统是以单片机为核心,配合单片机最小系统的时钟电路、复位电路,来控制步进电机运转。如图1.所示,为单片机控制步进电机系统框架结构图。
图1 单片机控制步进电机系统框架结构图
该控制系统中,其中单片机型号为AT89C51,为整个系统提供控制指令的输出,时钟电路和复位电路为单片机最小系统的所必须的电路,开关控制电路只要是为用户提供外部接口来人为地控制步进电机的状态,显示电路显示当前步进电机的运行状态,ULN2003芯片是步进电机的驱动芯片。
3.2单片机控制系统程序设计流程
使用P3端口读取人为的键盘按键的信号,P0端口控制步进电机的工作模式。
(1)初始化单片机,初始化定时器/计数器,数据传送端口,芯片使能以及初始数据赋值
(2)检查步进电机状态,是否处于使能状态
(3)检测P3口的状态
a.如果正转按钮被按下,选择较当前定时器的初始数据大的最小值赋值给定时器进行定时(单片机上电是步进电机停止,相当于控制信号频率为0,定时时间无穷大),然后发送信号将步进电机使能,并启动定时器开始计时。
b.如果加速按钮被按下,选择较当前定时器的初始数据小的最大值赋值给定时器进行定时,并启动定时器开始计时。
c.如果减速按钮被按下,选择较当前定时器的初始数据大的最小值赋值给定时器进行定时,并启动定时器开始计时。
d.如果停止按钮被按下,停止定时器/计数器工作,停止改变连接步进电机端口值,并将步进电机使能端无效。
e.如果反转按钮被按下,检查当前定时器定时是否处于较小值,如果值较小,先停止定时器/计数器工作和改变端口值,然后发送控制信号为步进电机提供正序换相通电,并判断P0.0是否为0,如果不是,将其赋值为0,再启动定时器/计数器工作。
(4)当定时器定时结束时,将当前连接步进电机的端口的值取反。
3.3步进电机工作流程
根据上述单片机程序流程,可以知道步进电机控制系统的工作流程。当单片机和步进电机的电源开关打开后,会看到“停止”的指示灯亮;当按下正转开关,然后按下加速开关后,“停止”指示灯熄灭,“正转”指示灯亮,步进电机按照较小的速度运转;然后继续按下加速,步进电机速度加快,当多次按下加速按钮后,步进电机不再加速,而是保持一个较高的速度运转;按下“减速”按钮,步进电机速度减慢;继续按下“减速”按钮,步进电机速度继续减慢直到停止运转;按下“反转”按钮,“正转”指示灯熄灭,“反转”指示灯亮;按下“加速”开关,步进电机运转速度增加;按下“减速”开关,步进电机运转速度减小。
4 总结
单片机控制步进电机工作,主要是根据步进电机的工作特性,按照人为的意愿来编写程序代码,并通过一定的驱动电路或者芯片来驱动步进电机工作。当然,在实际的开发中还有很多细节应该注意,比如在步进电机反转时要求此时转速较小,以免破坏步进电机等,从而使单片机提供稳定的信号来控制步进电机运转。
参考文献:
[1]顾永南.基于PLC的步进电机控制方法分析[J].电源技术应用.2013(10)
[2]赵敏,刘新妹,李晓飞.步进电机变速控制系统的设计[J].可编程控制器与工厂自动化.2013(12)