单片机开发系统.docx
《单片机开发系统.docx》由会员分享,可在线阅读,更多相关《单片机开发系统.docx(6页珍藏版)》请在冰点文库上搜索。
单片机开发系统
单片机开发系统
华东交通大学08机制4班邱婷班号:
09单片机开发系统题目设计 成绩:
华东交通大学 结课论文 所属课程名称:
单片机开发系统 课目:
基于PT100热电阻的单片机温度检测系统设计院:
机电工程学院 班级:
08机制-4 学生:
邱婷 指导老师:
刘举平老师 辅导老师:
2011年12月12日 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 目录 1绪论.........................................................................3 课题选材.................................................................3方案论证.................................................................3单片机选型..........................................................3模数转换器选型......................................................3显示方案确定........................................................3 2硬件设计......................................................................3 温度信号的获取与放大.....................................................3元件介绍............................................................3放大电路设计........................................................3模数转换单元.............................................................48位串行A/D转换器ADC0809...........................................4模数转换单元电路的设计..............................................5键盘电路的设计...........................................................5LED显示电路的设计.......................................................5LED数码管原理.......................................................5LED数码管编码方式...................................................5LED数码管显示方式...................................................6LED数码管的原理图...................................................6声光报警电路.............................................................6单片机接口电路...........................................................7单片机的时钟电路.....................................................7复位电路和复位状态...................................................7 3软件设计......................................................................7 程序设计语言的选用.......................................................7软件程序的设计...........................................................8程序流程............................................................8键盘管理............................................................8LED显示............................................................8模拟量的采集与处理..................................................8 4抗干扰设计....................................................................8 用于单片机系统的干扰抑制元件.............................................9提高单片机系统抗干扰能力的主要手段.......................................9小结............................................................................9
华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 000110110101101156DHB6H100111110101111167DHBEH1000000111110000707HE0H100111111111111187FHFEH100110111111101196FHF6H10LED数码管显示方式本设计采用静态显示。
驱动电路也选择静态驱动。
LED数码管的原理图 LED数码管显示原理图如图2-8。
12H02H78H00H10H92H82HF8H80H90H 图2-8LED数码管显示原理图 声光报警电路 报警电路原理如图2-9。
图2-9声光报警电路原理图 6 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 单片机接口电路单片机的时钟电路 单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
单片机的时钟产生方式有两种。
①内部时钟方式。
如图2-10所示。
②外部时钟方式。
如图2-11所示。
于XTAL2端的逻辑电平不是TTL的,故还要接一上接电阻。
CHMOS型单片机XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地,如图2-12所示。
图2-10内部时钟电路 图2-11HMOS型外部时钟电路 图2-12外部时钟电路 复位电路和复位状态 单片机工作后,在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。
①复位电路。
单片机通常采用上电自动复位和按键复位两种方式。
电路如图2-13所示。
图2-13简单的复位电路 ②复位状态。
复位电路的作用是使单片机执行复位操作。
①控制线 A、ALE地址锁存允许。
当单片机访问外部存储器时,输出信号ALE用于锁存P0口输出的低8位地址A7~A0。
ALE的输出频率为时钟振荡频率的1/6。
B、EA程序存储器选择。
EA=0,单片机只访问外部程序存储器。
对内部无程序存储器的单片机8031,EA必须接地。
EA=1,单片机访问内部程序存储器,若地址超过内部程序存储器的范围,单片机将自动访问外部程序存储器。
对内部有程序存储器的单片机,EA应接高电平。
C、PSEN片外程序存储器的选通信号。
此信号为读外部程序存储器的选通信号。
D、RST复位信号输入②电源及时钟 VSS地端接地线,VCC电源端接+5V,XTAL1和XTAL2接晶振或外部振荡信号源。
3软件设计 程序设计语言的选用 本设计中采用的处理器是AT89C51单片机。
全部程序均采用ASM51汇编语言编写。
7 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 软件程序的设计程序流程 程序主要主程序和子程序两部分构成。
主程序主要实现系统的初始化,键值处理,A/D转换,显示数据。
子程序主要温度信号采集程序和键值处理程序等。
其程序流程图如图3所示。
开始初始化有键按下?
YN0809采样键值处理数据处理显示结束图3程序主流程图 键盘管理 键盘管理软件包括键盘消息接收和键盘消息处理两个部分。
键盘消息接收是指当用户按下某个键后,通过对键盘端口的分析,接收到按键的编码信息,然后查询键值表获得相应的键值并保存。
键盘消息处理是取出所得到的键值,并按照键值的定义分别处理。
在本系统中,包括“+”、“-”、“功能”三个键位,各个键位处理程序都将在主控机程序中执行。
键值具体定义“+”:
设置从机的上限值;“-”:
设置从机的下限值;“功能”:
设置从机的执行功能。
LED显示 在系统启动时要初始化LED显示,包括清LED显示屏。
模拟量的采集与处理 本系统采用了算术平均滤波法。
设计时,外部输入的模拟量信号首先传感器送入测控器,然后进行模拟量采集,在一次采样间隔时间T内,依次将各输入量轮流接到A/D转换器进行一次转换。
为了准确地反映被测信号,防止干扰,对每一路信号在20ms内采集4次,即采样间隔时间T=5ms,4次采集完成后再将4次采集的值求平均得出此次采集的结果。
在20ms的采集完成后,要将数据按照量程或计算公式转换为有实际意义的数据,并根据报警界限判断数据是否有低于下限或超出上限的报警。
4抗干扰设计 为提高单片机本身的可靠性。
近年来单片机的制造商在单片机设计上采取了一系列措施以期提高可靠性。
8 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 用于单片机系统的干扰抑制元件 ①去耦电容。
②自恢复保险丝。
③防雷击器件。
提高单片机系统抗干扰能力的主要手段 ①接地。
②隔离与屏蔽。
③滤波。
使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。
石英晶体振荡器外壳要接地,时钟线要尽量短,且不要引得到处都是。
使用45度的折线布线,不要使用90度的折线,以减小高频信号的发射。
时钟线垂直于I/O线比平行于I/O线干扰小,时钟线要远离I/O线。
每个集成电路要加一个去耦电容,要选高频信号好的独石电容式瓷片电容作去耦电容。
去耦电容焊在印制电路板上时,引脚要尽量短。
需要时,电源线、地线上可加铜线绕制铁氧用体而成的高频扼流器件阻断高频噪声的传导。
小结 本设计中,是以温度采集及检测为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、A/D转换单元、4个LED数码管静态串行显示器等。
在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,不懂就问,在很短的时间内系统有序的完成。
温度检测是工业过程控制中一个重要参数,了解到温度检测的重要性,使自己在设计过程中,更加有兴趣和动力,在软件设计方面,遇到了一些实际问题,不过,在老师的指导和同学的帮助下都能一一解决,使自己学到了许多新的知识。
从本设计的资料收集和方案论证到方案设计、修改和最后的完成,得到了老师和同学的指导和帮助,特别是老师平时的指导工作,才使本设计顺利完成。
在此表示衷心感谢!
单片机开发过程是一个非常严谨,复杂,科学,周密和细致,及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。
能以细致和科学的头脑去考察、分析和解决问题。
同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实是求是,一丝不苟的精神,才能开发出理想的设计出来。
单片机的知识以前也接触过一些,但对于单片机的开发还是第一次接触,因此不免有些许的生疏。
这次设计主要依靠的是平时理论课上的学习,在此,非常感谢刘老师平时上课的认真讲解和课后的辅导。
今后,我会继续学习更多的关于单片机系列的知识,并应用于实践当中。
华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 附录2 源程序 ;************************************************************;name:
ADC0809的应用;功能:
温度检测 ; p0口接0809的数字量输出口; p1口接数码管段输出口; p2按键接口 ;************************************************************HIGN DATA 20H;存放温度上限LOW DATA 21H;存放温度下限 vstrDATA 22H;存放标准位,0时设置上限A_BIT DATA 30HB_BIT DATA 31HC_BIT DATA 32HD_BIT DATA 33HSTARTBIT ;接0809的开始选通端口,输出允许控制端EOCBIT ;外部中断0,当0809数据转换完成触发;---------------------程序开始-----------------------------org0000hORG 0003HLJMP INT0ajmpmainmain:
noplcallproinitloop:
setbstart;启动A/D转换nopclrstartMOVA,30HCJNZA,20H,BAOJING;超过上限CJNZA,21H,BAOJING;低于下限lcalldisplay;处理后显示LCALLKEY;调用键盘函数ajmpmain ;---------------------初始化子程序-------------------proinit:
mov20h,#20mov21h,#00mov22h,#00mov30h,#00mov31h,#00mov32h,#00mov33h,#00ret ;-----------------送显前的数值转换程序---------------dat_cov:
setbstart;打开输出允许控制端mova,p0nopnopclrstart movb,#51 divab;除以51即是乘以5除以255mov30h,a;30H中是整数部分mova,bmovb,#5divab 11 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 mov31h,amova,bmovb,#2mulabmov32h,aret ;=================================;键盘程序;SB1为功能键;SB2设置数据+;SB3设置数据-;=================================KEY:
JNB ,KEY1JB ,$;按键松开取键值MOV A,22H;有功能键按下INC ACJNZA,#2,EXITMOV 22H,A KEY1:
JNB ,KEY2JB ,$;等待按键弹起CJNE23H,#0,XIAXIANMOV A,20H;设置上限加INC AMOV 20H,AXIAXIAN:
MOV A,21H;设置下限加INC AMOV 21H,AKEY2:
JNB ,EXITJB ,$;等待按键弹起CJNE23H,#0,XIAXIAN0MOV A,20H;设置上限加DEC AMOV 20H,AXIAXIAN:
MOV A,21H;设置下限加DEC AMOV 21H,AEXIT:
MOV 22H,#00RET ;=================================;中断程序 ;=================================INT0:
lcalldat_cov;数据处理CLRF0RET ;=================================;报警函数 ;=================================BAOJING:
SETB;光报警SETB;声报警LCALLDELAYCLR CLR RET ;=================================;数码管显示部分 12 华东交通大学08机制4班邱婷班号:
09单片机开发系统结课论文 ;入口参数:
A,B,C ;使用资源:
DPTR,P3,P1,R7 ;=================================DISPLAY:
NOP ;第一位显示 MOV DPTR,#TAB;指定查表启始地址 MOV A,A_BIT;取第一位数 MOVC A,@A+DPTR;查第一位数的7段代码 ORL A,#10H SETB MOV P1,A;送出第一位的7段代码 LCALL delay8ms;显示8ms CLR ;开第一位显示;第二位显示 MOV DPTR,#TAB;指定查表启始地址 MOV A,B_BIT;取第二位数 MOVC A,@A+DPTR;查第二位数的7段代码 SETB MOV P1,A;送出第二位的7段代码 LCALL delay8ms;显示8ms CLR ;开第二位显示;第三位位显示 JB FUHAO,XSBW MOV A,#01H JMP XSBW2 XSBW:
MOV A,C_BIT;取第三位数 JNZ XSBW1 MOV A,#00H JMP XSBW2 XSBW1:
MOVC A,@A+DPTR;查第三位数的7段代码XSBW2:
MOV P1,A;送出第三位的7段代码 SETB LCALL delay8ms;显示8ms CLR ;开第三位显示;第四位位显示 MOV A,D_BIT;取第四位数 MOVC A,@A+DPTR;查第四位数的7段代码 SETB MOV P1,A;送出第四位的7段代码 LCALL delay8ms;显示8ms CLR ;开第四位显示 RET ;=================================;显示延时,延时8ms ;=================================delay8ms:
movr6,#1 delay1:
movr7,#10djnzr7,$djnzr6,delay1ret ;=================================;数码管段码数据表;共阴数码管 ;================================= TAB:
DB3fH,4fH,06H,5bH,66H,6dH,6BH,07H,7fH,6FHend 13