毕业设计论文可以找别人帮你做啊,把你的详细要求发不到任务中国网,让高手给你解决这个问题。或者你去抄一片。
基于MCS-51单片机温控系统设计的电阻炉论文字数:17255.页数:42 论文编号:JD471 摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。 单片机是随着超大规模集成电路技术的发展而诞生的。由于它具有体积小、功能强、性价比高等特点。把单片机应用于温度控制中,采用单片机做主控单元,无触点控制,可完成对温度的采集和控制的要求。所以广泛应用于电子仪表、家用电器、节能装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。周期作业式的电阻炉,可供实验室、工矿企业、科研单位作元素分析测定和一般小型钢件淬火、退火、回火等热处理时加热用。原电阻炉需与温度控制器配套使用,由检测端的热电偶信号输送给温度指示调节仪,继而控制接触器对电阻炉供电,实现电阻炉温的测量、指示及自动控制。电阻炉温波动较大,控制精度低。本文主要介绍单片机在电阻炉温控中的应用,对温度控制模块的组成及主要所选器件进行了详细的介绍。并根据具体的要求本文编写了适合本设计的软件程序。关键词:单片机;电阻炉;炉温;控制系统 目 录摘要………………………………………………………………………………… ⅠAbstract…………………………………………………………………………Ⅱ第1章 绪论………………………………………………………………………… 课题背景…………………………………………………………………… MCS-51系列单片机………………………………………………………2第2章 总体设计电路图及工作原理…………………………………………… 总体方案设计……………………………………………………………… 电阻炉的单片机温控原理…………………………………………………7第3章 系统硬件设计…………………………………………………………… 系统硬件电路设计……………………………………………………… 硬件设计电路原理图…………………………………………………… 各元件说明……………………………………………………………… 19第4章 系统软件设计…………………………………………………………… 编程思路………………………………………………………………… 编程流程图……………………………………………………………… 23第5章 MCS-51单片机温控电阻炉技术特性…………………………………… 25总结………………………………………………………………………………… 26致谢………………………………………………………………………………… 27参考文献…………………………………………………………………………… 28附录…………………………………………………………………………………29附录1 硬件设计的电路…………………………………………………… 29附录2 程序………………………………………………………………… 30附录3 外文翻译…………………………………………………………… 38以上回答来自:
摘要本设计的温度测量计加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DSI8B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定再这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论控制上的控制算法,是控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统及功能单元的优势,再不减少功能的前提下有效的降低了硬件的成本,系统操控更简便。实验证明该温控系统能达到℃的静态误差,℃的控制精度,以及只有%的超调量,因本设计具有很高的可靠性和稳定性。关键词:单片机 恒温控制 模糊控制引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。━、硬件设计1:MSP430系列单片机简介及选型单片机即微控制器,自其开发以来,取得了飞速的发展。单片机控制系统在工业、交通、医疗等领域的应用越来越广泛,在单片机未开发之前,电子产品只能由复杂的模拟电路来实现,不仅体积大,成本高,长期使用后元件老化,控制精度大大降低,单片机开发以后,控制系统变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品体积变小了,成本也降低了,长期使用也不会担心精度达不到了。特别是嵌入式技术的发展,必将为单片机的发展提供更广阔的发展空间,近年来,由于超低功耗技术的开发,又出现了低功耗单片机,如MSP430系列、ZK系列等,其中的MSP430系列单片机是美国德州仪器(TI)的一种16位超低功耗单片机,该单片机
这是我自己用DS18B20做的温度检测程序,复制给你看看,我这是通过串口可以在电脑上的串口助手上显示出实时的温度:#include<>#include<>#define uint unsigned int#define uchar unsigned charsbit ds=P1^0;bit flag;uchar count_t0;float f_temp;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=122;y>0;y--);}void init() // 串口初始化{TMOD=0x21;SCON=0x50;TH0=0x4c;TL0=0x00;TH1=0xf3;TL1=0xf3;EA=1;ET0=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=0x4c;TL0=0x00;if(++count_t0>=20){count_t0=0;flag=1;}}void dsreset(){uint i;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bit read_bit(){uint i;bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return dat;}uchar read_byte(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=read_bit();dat=(j<<7)|(dat>>1);}return dat;}void write_byte(uchar dat){uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb){ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else{ds=0;i=8;while(i>0)i--;ds=1;i++;i++;}}}void begin_change(){dsreset();delay(1);write_byte(0xcc);write_byte(0x44);}float get_temp(){uchar a,b;uint temp;float f_temp;dsreset();delay(1);write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();temp=b;temp<<=8;temp=temp|a;f_temp=temp*;temp=f_temp*10+;f_temp=f_temp+;return f_temp;}void main(){init();while(1){if(flag==1){flag=0;begin_change();TI=1;printf("The tempeature is %f\n",get_temp());while(!TI);TI=0;}}}
我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}
AT89C51单片机那可以的要求的撒
#include <>#define uchar unsigned char#define uint unsigned intsbit DS=P2^2; //define interfaceuint temp; // variable of temperatureuchar flag1; // sign of the result positive or negativesbit dula=P2^6;sbit wela=P2^7;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef};void delay(uint count) //delay{ uint i; while(count) { i=200; while(i>0) i--; count--; }}void dsreset(void) //send reset and initialization command{ uint i; DS=0; i=103; while(i>0)i--; DS=1; i=4; while(i>0)i--;}bit tmpreadbit(void) //read a bit{ uint i; bit dat; DS=0;i++; //i++ for delay DS=1;i++;i++; dat=DS; i=8;while(i>0)i--; return (dat);}uchar tmpread(void) //read a byte date{ uchar i,j,dat; dat=0; for(i=1;i<=8;i++) { j=tmpreadbit(); dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 } return(dat);}void tmpwritebyte(uchar dat) //write a byte to ds18b20{ uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //write 1 { DS=0; i++;i++; DS=1; i=8;while(i>0)i--; } else { DS=0; //write 0 i=8;while(i>0)i--; DS=1; i++;i++; } }}void tmpchange(void) //DS18B20 begin change{ dsreset(); delay(1); tmpwritebyte(0xcc); // address all drivers on bus tmpwritebyte(0x44); // initiates a single temperature conversion}uint tmp() //get the temperature{ float tt; uchar a,b; dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); b=tmpread(); temp=b; temp<<=8; //two byte compose a int variable temp=temp|a; tt=temp*; temp=tt*10+; return temp;}void display(uint temp) //显示程序{ uchar A1,A2,A2t,A3; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10; dula=0; P0=table[A1]; //显示百位 dula=1; dula=0; wela=0; P0=0x7e; wela=1; wela=0; delay(1); dula=0; P0=table1[A2]; //显示十位 dula=1; dula=0; wela=0; P0=0x7d; wela=1; wela=0; delay(1); P0=table[A3]; //显示个位 dula=1; dula=0; P0=0x7b; wela=1; wela=0; delay(1);}void main(){ uchar a; do { tmpchange(); for(a=10;a>0;a--) { display(tmp()); } } while(1);}
1. 确定毕业论文的题目:基于单片机的智能豆浆机设计与实现。
2. 进行相关的文献调研,了解单片机原理和应用、豆浆机的工作原理和用户需求等方面的信息。
3. 确定豆浆机的功能需求和设计方案,包括豆浆机的控制系统、测量传感器、操作界面等。
4. 设计和实现单片机控制系统,包括硬件电路设计和程序编写。完成豆浆机自动化控制、温度测量、水位测量等功能。
5. 调试和测试单片机控制系统,保证其稳定、可靠、灵活。
6. 开发豆浆机的用户界面,包括人机交互界面和操作流程,使操作变得简单、直观。
7. 进行系统整合和测试,检验豆浆机的功能是否符合需求。
8. 撰写毕业论文,内容包括整个项目的设计思路、方案实现、测试结果及优化方案等。
9. 最后,进行毕业答辩和展示,展示设计实现过程和有关成果。
价格合理!信工毕业 就会单片机
摘要 分析单片机原理与接口技术课程教学的现状,找出理论教学和实验教学中存在的不足。从教材选择、教学方式改进、考核方式改革等方面对本课程提出教学改革。关键词 单片机;考核方式;教学改革1 引言单片机原理与接口技术课程是计算机、自动化、机械等多个工科专业基础课,也是一门理论和实践性均非常强的课程。但目前由于教学资源、教学方法、实验设备等原因,大多数学生感觉该课程难学,学生的学习积极性不高。因此,如何调动学生学习兴趣,使学生摆脱枯燥记忆理论知识的困境,优化教学效果,使学生能学以致用,以致主动学习,是授课教师需要重点思索的问题。2 教学现状 理论教学特点单片机原理与接口技术是一门软硬件结合得非常紧密的课程。目前,大多数院校在该课程上的学时分配不足,导致部分教学内容无法完成。采用先进的教学手段,在一定程度上提高了教学质量。但是目前,过多采用多媒体进行教学,反而使得教学效果很差。只有部分教师能综合使用各种教学手段,如辅助声音、图像、视频等方式,方可保证教学效果。 实验特点及现状在教学改革过程中,各高校都相当重视实践教学,但是由于重理论、轻实践观念的长期影响, 改革的效果并不明显,实践教学仅仅作为理论教学的验证与补充的状况并没有得到根本的转变。单片机实验不仅可以让学生建立起单片机应用系统的完整概念,还可以让学生真正体会到单片机的应用价值,激发学生学习和实践的兴趣。然而由于实验学时和实验条件的限制,类似这样的综合性实验很难开展。由于实验学时、硬件条件、评价体系等方面的限制,这类综合性的实验实际上难以达到预定的效果。3 改革措施 选择合适的教材如何选择一本好的教材是学生学好这门课、教师教好这门课的前提。由于本专业学生自身的特点,在选择课程内容时要紧密结合机电类产品。比如,机电控制类的产品是由单片机来控制的,结合实际进行讲解,内容会更生动、更具吸引力。通过实例学习,让学生了解单片机,学到单片机的知识,还掌握在具体实践过程中如何进行方案的设计和分析、具体的实施以及后期的扩展等技能。因此在教材建设方面,一直紧扣本专业的发展方向,并编写适合学生的教材及辅导教材。理论教材从课程教学目的出发,突出课程重点,突出基本原理,覆盖本课程最基本的内容。辅导教材切合实际,注重培养学生的应用能力和创新能力。 改进教学方式和方法通常单片机课程的教学过程是:先介绍单片机的组成和内部结构、存储器、指令系统、寻址方式、程序设计方法,然后介绍芯片的外部引脚功能,然后讨论单片机定时/计数、中断、串行口等功能应用,最后介绍外部扩展及键盘、显示器、A/D、D/A等接口技术。大多数学生在学习指令系统和汇编语言程序设计时常常感到很头疼。由于该课程是机械专业学生第一次较多地接触硬件方面的知识,较为抽象。加上汇编语言直接与系统硬件有关,并且指令较为烦琐,给学生造成该课程比较难学、枯燥的感觉。因此,教师需要不断地改进教学方法和教学手段,以实现生动、形象地传授知识,提高学生的学习兴趣。同时注重研究传授知识与培养能力的关系。1)完善电子教案,利用多媒体课件提高直观性和趣味性,培养学生的学习兴趣。并且为减轻教师制作课件的工作强度,使教师将主要精力放在深入究教学法上面,建设多媒体教学资源库,为该课程的多媒体教学提供一个共享思想与资源的信息平台。2)了解学生对内容的掌握情况,随时调整授课进度与方法。3)授课中有意识地渗透科研意识,培养、激发学生创造兴趣。 改革考核方式改革单片机原理与接口技术课程的考核方式,有助于对学生实践能力的考核,同时也将有助于单片机原理与接口技术的学习。以前的考核只以期末考试一次成绩作为定论,而实践只是作为平时成绩。现在把单片机原理与接口技术课程成绩为3个部分测试:第一部分是笔试,主要考核学生对于单片机原理与接口技术课程基本理论的掌握程度,占总成绩的40%;第二部分是基本实验的考核,在学生做过的十几个实验中,随机抽取一个进行单独考核,主要考核学生对单片机原理与接口技术基本操作能力,占总成绩的30%;第三部分是布置学生一次综合大作业,让学生完成硬件布置、软件设计,最后调试全过程,以答辩形式给出成绩,主要考核单片机原理与接口技术课程的综合能力,占总成绩的30%。最后,3个部分的总和作为课程的最终成绩。这是对学生的一个全面考核,达到使学生全面掌握单片机原理与接口技术的目的。4 结束语单片机原理与接口技术课程在机械专业有着非常重要的地位。无论是理论教学内容的改革,还是实验教学体系的改革,其目的是要切实提高单片机课程的教学质量,丰富和完善单片机教学内容,使学生真正能够引起浓厚的兴趣,变被动性实验为主动性实验,从而掌握单片机的本质内容,提高学生单片机的实际应用能力。单片机教学的改革只是做了一定的尝试,进一步的教学改革任重而道远。随着教学改革的深入,各方面的不足也会显现出来,但只要抓住以学生为本的基本思路,就能使实践教学改革不断地完善,切实体现实践教学应有的地位,促进高等教育的改革。我能找到的就是这个 也不知道能不能帮到你哦 建议你可以去(59168)这网站上看看 直接在百度输入就可以的 以前我们也在那里找文献资料的
一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设置电动机Y-△运行、停止。 2、基于单片机控制的可调直流稳压电源的设计 要求:1)控制器为单片机,电压输出范围为0-10V,电压精度为;2)通过数码管显示电压值;3)由按键设置电压值。 二、毕业设计用到的主要软件(及功能) 毕业设计用到的主要软件(及功能):Keil 51(源程序编译),Proteus(电路仿真),AutoCAD(绘图), Visio(绘流程图), Protel 99SE(原理图电路设计,PCB板制作) 三、单片机方面毕业设计要求 1、学会编写程序(用C语言或汇编语言),用Keil 51软件对源程序进行编译。 2、学会用Proteus电路仿真软件对所设计的硬件电路进行仿真。 3、在写毕业论文时,学会用Word、AutoCAD, Visio,Protel 99SE等软件对程序流程图、电路原理图等进行绘制。 相关答案 ↓位朋友,以51单片机为例。51现在很多都是用仿真器来进行在线调试的,而每个公司的仿真器都会有自带的编程软件,当然,跟keil是差不了多少的。 步骤大体如下: 1.新建,进行程序的编写 2.连上仿真器或烧写器,这一步有可能要对仿真器或烧写器进行设置,具体可看它们的使用说明 3.对程序进行编译,这一步会自动检测你的程序有没错,如果有错,是不能进入下一步的.如果你用的是仿真器,这一步编译成功后就可以直接运行进行在线调试了。 4.如果用的是烧写器,那就进行烧写 各个软件和调试方法会有些不同,但大体就是这样,一些调试工具的说明书也有很详细的说明。 学参数测量技术涉及范围广,特别是微电压、微电流、高电压以及待测信号强弱相差极大的情况下,既要保证弱信号的测量精度又要兼顾强信号的测量范围,在技术上有一定的难度。传统的低成本仪表在测量电压、电阻时都采用手动选择档位的方法来转换量程。在使用中,当忘记转换档位时,会造成仪表测量精度下降或损坏。 现代电子测量对系统的精度要求越来越高且智能化程度也越来越高。全量程无档自动量程转换电压表和电阻表是在保证测量精度不下降的前提条件下省去手动转换量程的工作,得到了广泛应用。 本文介绍了一种基于AT89S52 单片机 的智能多用表。该表能在单片机的控制下完成直流电压、电阻和直流电流的测量。测量电流部分采用了简单的I/V转换电路完成测试;测量电压部分结合模拟开关CD4051和运算放大器OP07构成程控放大器,实现了自动量程转换;测量电阻部分也由模拟开关CD4051和运算放大器OP07相结合,在单片机控制下完成了自动量程转换。电流、电压和电阻的最终测量信号都在单片机的控制下由12位A/D转换器TLC2543进行采集,采集的信号经单片机数据处理后通过LCD(12864)显示出来,测量结果还可以由带有串行EEPROM的CPU存储器和监控器的X25045进行多个数据保存。 关键词:TLC2543 自动量程转换 程控增益放大器 电压 电阻 电流 目录 摘要1 Abstract 2 第一章 绪论 5 1. 1 概述 5 1. 2 智能仪器/仪表国内外发展概况 5 1. 3 课题研究目的及意义 6 第二章 系统结构及功能介绍 8 2. 1 系统功能和性能指标 8 2. 1. 1 仪表功能 8 2. 1. 2 性能指标 8 2. 1. 3 本机特色 8 2. 1. 4 系统使用说明 9 2. 2 系统工作原理概述 9 第三章 方案设计与论证 11 3. 1 量程选择的设计与论证 11
第1章 绪 论随着经济的发展,人们对防盗、防劫、防火保安设备的需求量大大增加。针对偷盗、抢劫、火灾、煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。本设计运用单片机技术设计了一新颖红外线防盗报警器。而本设计中的输入部分主要是各种各样的传感器。不同类型的探测器用不同的手段探测各种入侵行为;不同作用的传感器,也可检测出不同类型的情况。本章节主要介绍了本设计的选题背景、课题介绍、本文主要工作、方案论证。选题背景单片机现在已越来越广泛地应用于智能仪表、工业控制、日常生活等很多领域,可以说单片机的应用已渗透到人类的生活、工作的每一个角落,这说明它和我们每个人的工作、生活密切相关,也说明我们每个人都有可能和有机会利用单片机去改造你身边的仪器、产品、工作与生活环境。红外技术已经成为先进科学技术的重要组成部分,他在各领域都得到广泛的应用。由于他是不可见光,因此用他做防盗报警监控器,具有良好的隐蔽性,白天黑夜均可使用,而且抗干扰能力强。这种监控报警装置广泛应用与博物馆、单位要害部门和家庭的防护[1]。通常红外线发射电路都是采用脉冲调制式。红外接收电路首先将接收到的红外光转换为电信号,并进行放大和解调出用于无线发射电路的调制信号。当无人遮挡红外光时,锁相环输出低电平,报警处于监控状态;一旦有人闯入便遮挡了红外光,则锁相环失锁,输出高电平,驱动继电器接通无线发射电路,监控室便可接收到无线报警信号,并可区分报警地点[2]。当我们考虑的范围广一点:若是在小区每一住户内安装防盗报警装置。当住户家中无人时,可把家庭内的防盗报警系统设置为布防状态,当窃贼闯入时,报警系统自动发出警报并向小区安保中心报警[3]。周界报警系统:在小区的围墙上设置主动红外对射式探测器,防止罪犯由围墙翻入小区作案,保证小区内居民的生活安全[4]。目 录第1章 绪 论 选题背景 课题介绍 本文主要工作 方案选择论证 单片机的选择 显示器工作原理及其选择 液晶显示和数码显示 防盗报警选择传感器的选择 硬件系统总体设计 AT89C51芯片的介绍 引脚功能 结构原理 AT89C51定时器/计数器相关的控制寄存器介绍 MAX708芯片介绍 单片机复位设置 8255A芯片介绍 8255A的引脚和结构 8255的工作方式 8255的控制字 AT89C51与8255的接口电路 显示部分 七段显示译码器 7448译码驱动 单片机与7448译码驱动器及LED的连接 外部地址锁存器 23第3章 检测信号放大电路设计 热释红外线传感器典型电路 红外光敏二极管警灯电路 光敏二极管控制电路 红外线探测信号放大电路设计 光电耦合器驱动接口 集成电路运算放大器 精密多功能运算放大器INA105 低功耗、双运算放大器LM358 34第4章 电源设计 单片机系统电源 检测部分电源 主程序设计 核对子程序设计 中断子程序设计 读数子程序设计 程序设计说明 程序清单 41第6章 调试 安装调试 音响(和继电器)驱动线路具体连接 程序修改 程序执行过程 47结论 48参考文献 49致谢 51原理图 52基于单片机控制的红外防盗报警器的设计[摘要]:随着社会的不断进步和科学技术、经济的不断发展,人们生活水平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。 本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子防盗系统。目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。本系统采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现。同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。处理器采用51系列单片机AT89S51。整个系统是在系统软件控制下工作的。系统程序可以划分为以下几个模块: 数据采集、键盘控制、报警和显示等子函数。[关键词]:单片机、红外传感器、数据采集、报警电路。Infrared burglar alarm design controls which basedon the monolithicintegrated circuitAbstract :Along with society's unceasing progress and science and technology,economical unceasing development, the people living standard obtainsthe very big enhancement, to private property protection consciousnessin unceasing enhancement, thus set the new request to the securitymeasure. This design is for satisfy the family type electron securitysystem which the modern housing security needs to present in the market condition equips mainly has the pressure totouch the hair style burglar alarm, the switch electron burglar alarmand the pressure shields light the hair style burglar alarmand so on each kind of alarm apparatus, but these kind of quite commonalarm apparatuses all have some shortcomings. This system used hashotly released the electricity infrared sensor, its manufacturesimple, cost low, installm the antijamming ability strong, thesensitivity high, safe was reliable. This kind of security installmenthiding, was not easily discovered by the bandits and its signal after monolithic integrated circuit systemprocessing the convenience and P the C machine correspondence, isadvantageous for the multiuser unification design designs two parts including the hardware and software. Thehardware partially including the monolithic integrated circuit controlcircuit, infrared pokes head in the electric circuit, the actuationexecution alarm circuit, the LED control circuit and so on the partialcompositions. The processor uses 51 series monolithic integratedcircuits AT89S51, the overall system is works under the systemsoftware control. The system program may divide into following severalmodules: The data acquisition, the keyboard control, reports to thepolice with the demonstration small steelyard words: AT89S51 monolithic integrated circuit, infrared sensor,data acquisition, alarm circuit.目 录1. 绪论 1 前言 设计任务与要求 12. 热释电红外传感器概述 PIR传感器简单介绍 PIR 的原理特性 PIR 结构特性 33. AT89S51单片机概述 AT89S51单片机的结构 管脚说明 主要特性 振荡器特性 AT89S51单片机的工作周期 AT89S51单片机的工作过程和工作方式 AT89S51的指令系统 164. 方案设计 系统概述 总体设计 系统硬件选择 硬件电路实现 软件的程序实现 215. 结论概述 主要结论 结束语 27致谢 28参考文献 29
业设计简介 摘 要 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 通过对“微机控制自动门系统”的研究和设计,精心撰写了微机控制自动门系统论文。本论文着重阐述了以单片机为主体,LED点阵显示芯片及步进电机为核心的系统。 本设计主要应用AT89C51作为控制核心,LED点阵显示芯片、步进电机、压力传感器、电位器相结合的系统。充分发挥了单片机的性能。其优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。 关键词 单片机 自动门控制 A/D模数转换 传感器 Abstract Progress of with the development of society , science and technology and gradual improvement of people’s living standard, various kinds of help automatic control system in life begin to enter people’s life, the system of automatically-controlled door taking one-chip computer as the core is one of them. Indicate too that the automatic controlled field became a member in digitized era at the same time. Its practicability is strong, multiple functional, modern techniques, make people believe this is an achievement of scientific and technological progress. It lets the mankind understand even more, the development in digital era will change human life, will quicken the development of science and technology. Through the research and design to the thing that "the computer controls the system of automatically-controlled door" , have written the computer and controlled the systematic thesis of automatically-controlled door meticulously. Thesis this is it rely mainly on one-chip computer to explain emphatically, LED lattice show chip and walk into electrical machinery central systems. Is it use AT89C51 as core of controlling , LED lattice show chip , walk into electrical machinery , pressure sensor , electric potential system that device combine together mainly to design originally. Give full play to the performance of the one-chip computer. Its advantage hardware circuit is simple, the software is with perfect function, the control system is reliable , higher characteristic of the sex price, have certain use and reference value. Key words: One-chip computer The automatically-controlled door controlling A/D modulus changing Sensor 目 录 摘 要... I Abstract II 第1章 绪论... 1 课题研究的可行性... 1 课题研究的意义和目的... 1 课题的功能概述... 2 课题研究的方案... 3 第2章 系统硬件设计... 4 系统硬件总体逻辑设计... 4 8051单片机内部结构... 5 LED点阵显示模块... 6 显示及键盘扫描电路... 11 步进电机模块... 13 LCD 液晶显示器... 14 A/D转换器... 14 压力传感器... 16 总体设计原理图... 16 第3章 系统软件设计... 18 基本功能模块设计... 18 LED点阵显示部分... 18 门外触发部分... 19 门内触发部分... 19 步进电机控制部分... 19 键盘控制部分... 20 LCD液晶显示部分... 20 整体程序设计... 20 第4章 系统调试... 22 硬件电路调试... 22 功能模块的调试... 22 综合测试... 23 结 论... 25 致 谢... 26 参考文献... 27 附录1. 28 附录2. 课题研究的可行性近年来随着社会的进步,人类的发展,计算机在社会领域的渗透,单片机以其体积小、重量轻、价格便宜等特点广泛应用到国民经济建设及人们工作和生活各方面,并成为科学技术现代化的重要工具。由于单片机所拥有的诸多特点,人们将其溶入于生活。在我们所处的生活环境中,充斥着各种各样与单片机相结合而诞生的产物,如交通灯、声控灯、感应自动门等。我在这次毕业设计中所选择的,就是单片机与门结合的产物,自动门系统。在经济飞速发展的中国,在我们高楼耸立的大都市,在大厦、宾馆、酒店、银行、商场和写字楼,自动门已经是随处可见。自动门不但能给我们带来人员进出方便、节约空调能源、防风、防尘、降低噪音等好处,更令我们的大门增添了不少高贵典雅的气息。本设计的题目是“微机控制自动门系统”,实现办法是在实验台上仿真后的效果为通过电位器和压力传感器实时采样所采回来的值来决定门的运动形态,并相应的对LCD液晶显示屏和步进电机进行与LED点阵相对应的操作。应用到实际中可以完全的对门进行自动管理。 课题研究的意义和目的自动门根据使用的场合及功能的不同可分为自动平移门、自动平开门、自动旋转门、自动圆弧门和自动折叠门等,其中平开门用的场合较少,旋转门由于昂贵而且非常庞大,一般只用于有需要的高档宾馆,自动平移门使用得最广泛,大家一般所说的自动门和感应门就是指自动平移门。自动平移门最常见的形式是自动门机及门内外两侧加感应器,当人走近自动门时,感应器感应到人的存在,给控制器一个开门信号,控制器通过驱动装置将门打开。当人通过门之后,再将门关闭。由于自动平移门在通电后可以实现无人管理,既方便又提高了建筑的档次,于是迅速在国内外建筑市场上得到大范围的普及。 课题的功能概述这次的毕业设计主要应用于通过微机程序对LED点阵的显示顺序和步进电机的正转、反转进行控制,从而对门进行开、关的控制。在门的两侧各有一个感应器,分别感应从里面出去和从外面进来的人。当有人或物品进入到感应器的扫描范围内,感应器就会做出感应,向中央处理器提出申请,中央处理器转而控制电机进行正转,实现了开门的过程。这其间,感应器不停的对其范围内的空间进行扫描,一旦两个感应器都无法扫描到其间的人或物品,也就说明人或物品已经离开,那么就开始执行关门程序。在感应器的选择方面是很灵活的,在高档酒店、写字楼,可以选择高灵敏度的感应器;在人行道边上的银行、商店等经常有人路过的地方,可以选择特定区域有效的感应器;在医院手术室门前可以采用压力感应器;而车库的门可以采用固定光照感应器。而现在被广泛应用的感应器主要有微波感应器和红外感应器。我在设计时选择采用的是红外线感应器对是否有人进入感应区域进行感应,而没有采用微波感应器。这是因为微波感应器只能对其感应区域内运动的物体进行感应,虽说反应速度快,但对于其感应区域内不动的物体不能够进行感应,便会根据程序所设定的步骤进行关门操作,容易出现门将人夹到的行为。而红外感应器是对存在的物体进行感应,只要在其感应区域内有物体,红外感应器就能够感应到,而无需辨别感应区域内的物体是否是运动的,也就避免了门将人夹到的行为。 另外,在系统设计中加入了紧急刹车键和手动开关门键,主要是在系统出现故障时能对门进行人为的开关门操作,以缓和系统在意外情况下出现的故障。还有就是电机的转速是可控的,以适用各种场合。自动门控制系统中还加入LCD液晶屏显示欢迎信息以及客人离开时的送客信息,认人们感觉更亲切,感觉更人性化。。。。。。。。。。。。。相关毕业设计
一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设置电动机Y-△运行、停止。 2、基于单片机控制的可调直流稳压电源的设计 要求:1)控制器为单片机,电压输出范围为0-10V,电压精度为;2)通过数码管显示电压值;3)由按键设置电压值。 二、毕业设计用到的主要软件(及功能) 毕业设计用到的主要软件(及功能):Keil 51(源程序编译),Proteus(电路仿真),AutoCAD(绘图), Visio(绘流程图), Protel 99SE(原理图电路设计,PCB板制作) 三、单片机方面毕业设计要求 1、学会编写程序(用C语言或汇编语言),用Keil 51软件对源程序进行编译。 2、学会用Proteus电路仿真软件对所设计的硬件电路进行仿真。 3、在写毕业论文时,学会用Word、AutoCAD, Visio,Protel 99SE等软件对程序流程图、电路原理图等进行绘制。 相关答案 ↓位朋友,以51单片机为例。51现在很多都是用仿真器来进行在线调试的,而每个公司的仿真器都会有自带的编程软件,当然,跟keil是差不了多少的。 步骤大体如下: 1.新建,进行程序的编写 2.连上仿真器或烧写器,这一步有可能要对仿真器或烧写器进行设置,具体可看它们的使用说明 3.对程序进行编译,这一步会自动检测你的程序有没错,如果有错,是不能进入下一步的.如果你用的是仿真器,这一步编译成功后就可以直接运行进行在线调试了。 4.如果用的是烧写器,那就进行烧写 各个软件和调试方法会有些不同,但大体就是这样,一些调试工具的说明书也有很详细的说明。 学参数测量技术涉及范围广,特别是微电压、微电流、高电压以及待测信号强弱相差极大的情况下,既要保证弱信号的测量精度又要兼顾强信号的测量范围,在技术上有一定的难度。传统的低成本仪表在测量电压、电阻时都采用手动选择档位的方法来转换量程。在使用中,当忘记转换档位时,会造成仪表测量精度下降或损坏。 现代电子测量对系统的精度要求越来越高且智能化程度也越来越高。全量程无档自动量程转换电压表和电阻表是在保证测量精度不下降的前提条件下省去手动转换量程的工作,得到了广泛应用。 本文介绍了一种基于AT89S52 单片机 的智能多用表。该表能在单片机的控制下完成直流电压、电阻和直流电流的测量。测量电流部分采用了简单的I/V转换电路完成测试;测量电压部分结合模拟开关CD4051和运算放大器OP07构成程控放大器,实现了自动量程转换;测量电阻部分也由模拟开关CD4051和运算放大器OP07相结合,在单片机控制下完成了自动量程转换。电流、电压和电阻的最终测量信号都在单片机的控制下由12位A/D转换器TLC2543进行采集,采集的信号经单片机数据处理后通过LCD(12864)显示出来,测量结果还可以由带有串行EEPROM的CPU存储器和监控器的X25045进行多个数据保存。 关键词:TLC2543 自动量程转换 程控增益放大器 电压 电阻 电流 目录 摘要1 Abstract 2 第一章 绪论 5 1. 1 概述 5 1. 2 智能仪器/仪表国内外发展概况 5 1. 3 课题研究目的及意义 6 第二章 系统结构及功能介绍 8 2. 1 系统功能和性能指标 8 2. 1. 1 仪表功能 8 2. 1. 2 性能指标 8 2. 1. 3 本机特色 8 2. 1. 4 系统使用说明 9 2. 2 系统工作原理概述 9 第三章 方案设计与论证 11 3. 1 量程选择的设计与论证 11
已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声
我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}
价格合理!信工毕业 就会单片机
用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0