首页 > 论文发表知识库 > 基于51单片机的毕业论文

基于51单片机的毕业论文

发布时间:

基于51单片机的毕业论文

程序设计内容

(1). 密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

(2). 密码的输入问题:  由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。

(3).按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。

C语言源程序

#include unsigned char code ps[]={1,2,3,4,5};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,                               

0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

unsigned char pslen=9; unsigned char templen;

unsigned char digit; unsigned char funcount;

unsigned char digitcount;

unsigned char psbuf[9];

bit cmpflag;

bit hibitflag;

bit errorflag;

bit rightflag;

unsigned int second3;

unsigned int aa;

unsigned int bb;

bit alarmflag;

bit exchangeflag;

unsigned int cc;

unsigned int dd;

bit okflag;

unsigned char oka;

unsigned char okb;

void main(void)

{  

unsigned char i,j;  

P2=dispcode[digitcount];  

TMOD=0x01;  

TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

TR0=1;  

ET0=1;  

EA=1;  

while(1)   

  {      

if(cmpflag==0)        

{          

if(P3_6==0) //function key           

  {              

for(i=10;i>0;i--)              

for(j=248;j>0;j--);      

         if(P3_6==0)                

{                

   if(hibitflag==0)       

              {     

                  funcount++;  

                     if(funcount==pslen+2)

                        {  

                         funcount=0;

                          cmpflag=1;

                         }

                       P1=dispcode[funcount];

                    }

                    else

                      {

                         second3=0;

                      }  

                 while(P3_6==0);

                }

            }

          if(P3_7==0) //digit key

            {

              for(i=10;i>0;i--)

              for(j=248;j>0;j--);

              if(P3_7==0)

                {

                  if(hibitflag==0)

                    {

                      digitcount++; 

                  if(digitcount==10)

                        {

                          digitcount=0;

                        }

                      P2=dispcode[digitcount];

                      if(funcount==1)

                        {

                          pslen=digitcount;                          

templen=pslen;

                        }

                        else if(funcount>1)

                          {  

                           psbuf[funcount-2]=digitcount;

                          }

                    }

                    else

                      {

                        second3=0;

                      }

                  while(P3_7==0);

                }

            }

        }  

       else

          {

            cmpflag=0;

            for(i=0;i

              {  

               if(ps[i]!=psbuf[i])

                  {

                    hibitflag=1;

                    i=pslen;

                    errorflag=1;

                    rightflag=0;

                    cmpflag=0;

                    second3=0;

                    goto a;  

                 }

              }   

          cc=0;  

           errorflag=0;  

           rightflag=1;

            hibitflag=0;

a:   cmpflag=0;

          }

}

}

void t0(void)

interrupt 1 using 0 {   TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

if((errorflag==1) && (rightflag==0))  

{

      bb++;

      if(bb==800)

        {

          bb=0;

          alarmflag=~alarmflag;

        }

      if(alarmflag==1)

        {

          P0_0=~P0_0;

        }

      aa++;

      if(aa==800)

        {

          aa=0;

          P0_1=~P0_1;

        }

      second3++;

      if(second3==6400)

        {

          second3=0;

          hibitflag=0;

          errorflag=0;

          rightflag=0;

          cmpflag=0;

          P0_1=1;  

         alarmflag=0;

          bb=0;  

         aa=0;  

       }

    }

  if((errorflag==0) && (rightflag==1))

    {

      P0_1=0;

      cc++;

      if(cc<1000)

        {

          okflag=1;

        }

        else if(cc<2000)

          {

            okflag=0;

          }

          else

            {

              errorflag=0;

              rightflag=0;

              hibitflag=0;

              cmpflag=0;

              P0_1=1;

              cc=0;  

             oka=0;

              okb=0;

              okflag=0;  

             P0_0=1;  

           }

      if(okflag==1)

        {  

         oka++;  

         if(oka==2)

            {

              oka=0;

              P0_0=~P0_0;

            }

        }

        else

          {

            okb++;

            if(okb==3)

              {

                okb=0;

                P0_0=~P0_0;

              }  

         }

    }

}

可以去我百度空间看看

用汇编还是用C语言.

第1节 引言 数字频率计概述 频率测量仪的设计思路与频率的计算 基本设计原理3第2节 数字频率计(低频)的硬件结构设计4 系统硬件的构成系统工作原理图单片机及其引脚说明 信号调理及放大整形模块时基信号产生电路显示模块8第3节 软件设计 定时计数 量程转换 BCD转换 LCD显示15第4节 结束语 16参考文献 20附录 汇编源程序代码28

基于51单片机的毕业设计论文

电子密码锁摘要 本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安工作,有极高的安全系数。关键词 电子密码锁 电压比较器 555单稳态电路 计数器 JK触发器 UPS电源。1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。设计本课题时构思了两种方案:一种是用以AT89C2051为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。

基于51单片机的电梯控制系统的设计引 言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从技术发展来看,这种系统将逐渐被淘汰。目前,由可编程控制器(PLC)或微型计算机组成的电梯运行逻辑控制系统,正以很快的速度发展着。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,如果在抗干扰功能上有所提高的话完全可以代替PLC实现对工控设备的控制。当然单片机并不象PLC那么有针对性,所以由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级。电梯控制系统是比较复杂的一个大型系统,在计算机诞生的几十年里,继电器控制系统为电梯控制的发展做了巨大的贡献,但在性能上和PLC还是有本质上的差距。在科技的不断发展下,我想单片机控制系统很快可以解决抗扰性,成为方便有效的电梯控制系统。由于时间和能力有限,在设计过程中难免有很多疏漏和不足之处,恳请老师批评指正,我将努力改正,争取做出完美的毕业设计。目录目录 1引 言 2第1章 绪 论 电梯的发展 电梯的分类 4第2章 方案的比较和确定 方案的选择 电梯继电器控制系统的优缺点 PLC控制系统的特点 电梯变频调速控制的特点 单片机控制方案的选择 变频器的选型 8第3章 硬件系统的设计 硬件结构图 系统硬件原理图 89C51单片机的原理及其外围电路的设计 89C51单片机的原理与结构 单片机外围电路的设计 输入模块的设计 锁存器74LS373及其扩展功能简介 光电传感器 KC778B红外传感器基本应用电路 输入信号的采集 输出模块设计 DAC0832的功能简介 变频器功能简介 LED驱动器功能简介 控制信号的输出 32第4章 系统软件的设计 主程序流程图 读入信息并显示子程序的流程图 延时去抖动子程序 设置目标层子程序流程图 电机拖动子程序流程图 电梯载客子程序流程图 中断服务流程图 41小结与展望 42致谢 43参考文献 44附录部分: 45附录A 电气原理图 45附录B 外文文献及其译文 46附录C 主要参考文献及其摘要 50

单片机交通灯毕业设计

在日常生活中,交通灯是一项必不可少的公共设施,可以维护道路的畅通和交通的秩序。如若交通灯发生故障,那么后果可想而知。因此,交通灯的正常工作就显得尤为重要。由于交通灯对于公共安全的重要性,本文基于51单片机模拟双向交通灯的设计。下面是我整理的单片机交通灯毕业设计,欢迎来参考!

一、交通灯的设计要求

双向交通灯红、黄、绿灯对应相同,红灯5s,黄灯1s,绿灯5s。当有急救车到达时,双向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10s,急救车通过后,交通灯恢复中断前状态。

二、AT89C51单片机的中断系统介绍

计算机系统中止当前的正常工作,转入处理突发事件,等到突发事件处理完毕之后,再回到原来被中断的地方,继续原来的工作,这样的整个过程称为中断。能够实现这种功能的.部件称为中断系统。产生中断请求的事件称为中断源。其中AT89C51单片机具有5个中断源,在本次设计中我们采用的是外部事情中断请求源0,以及T1计数溢出事情中断请求这两个中断源。

三、AT89C51单片机的定时/计数器介绍

在单片机中,通常计数器和定时器设计成一个部件――计数器,当计数脉冲的周期一定时,计数器就作为定时器,定时时间就是计数器计数次数和计数脉冲周期的乘积。在此我们采用的就是计数器的这个定时功能。

四、交通灯的硬件电路搭建

本次设计的硬件电路搭建如图1。两路交通灯的6个灯依次接在51单片机P1口的到,另外在单片机的口接一个按压式开关作为救护车到来时的中断源。

五、交通灯的软件编程设计

中断部分的程序设计。首先,应将51单片机中中断允许寄存器IE的EA位设为1,这代表允许中断源向CPU申请中断,即CPU开放中断。同时将IE的EX0位设为1,这代表允许外中断0向CPU申请中断。这样的话,当救护车来的时候,可以借此发出中断请求。接下来,应将定时器控制寄存器TCON的IT0位设为1,这代表外部中断0的触发方式选择为边沿触发方式。由于笔者采用了按压式的开关作为中断的发出方式,这样会产生一个脉冲,因此应当选择边沿触发方式。定时部分的程序设计。首先,应将控制寄存器TCON的TR1位置1,启动定时器T1计数。接下来,应将方式寄存器TMOD的值设为0x01,使得定时器T1工作在方式1,即16位定时/计数方式。然后,由于计时器的定时周期是1s,笔者使用定时/计数器T1精确定时50ms,则20次50ms中断时,定时时间就是1s。在定时器中断部分,笔者采用的是查询方式,即CPU不断查询TF1的状态,当TF1为1时,表示50ms定时已到,在主程序中判断是否20次50ms定时已到,如是,则时间恰好为1s。同时TF1位软件清0。根据公式,当定时时间为50ms时,计数初值应为15536,换算成十六进制是3CB0H,即计数器T1中TL1的初值为B0H;TH0的初值为3CH。当救护车到来时,双向交通灯置红,即将双向交通灯的红灯所对应的P1口位置1,其他位清0即可。时间长短的设置方法同上。最后,由于双向交通灯红灯5s,黄灯1s,绿灯5s,共11个状态,我们利用switch语句为这11个状态分别设置相应P1口的值,再利用一个循环即可。

六、结语

在机动车数量激增的今天,车辆拥堵、交通崩溃的现象还是时有发生的。其原因多半是交通灯时长设置的不合理,抑或无法根据一天之内不同时间的车流状况,对交通灯的状态进行调整。因此,合理地设计交通系统,同时对于交通灯的适当调试无疑将会派上很大用场。

用STC的单片机,里面有EEPROM,把设定的密码写到里面。正常运行时 输入密码和EEPROM里面的密码比较 正确了就可以进入

关于51单片机的论文题目

TOP1.基于51单片机人脸简易识别系统TOP2.基于51单片机智能非特定人声语音识别系统TOP3.基于51单片机指纹考勤系统TOP4.基于51单片机智能小型穿戴手表TOP5.基于51单片机智能家居12防卫报警TOP6.基于51单片机8位16位门禁系统

太简单的,我帮你。

你需要我帮忙吗?、、、、、 看我名联系

8、 基于单片机的数字温度计的设计最简单 驱动DS18B02就能实现

基于单片机的简单的毕业论文

1. 确定毕业论文的题目:基于单片机的智能豆浆机设计与实现。

2. 进行相关的文献调研,了解单片机原理和应用、豆浆机的工作原理和用户需求等方面的信息。

3. 确定豆浆机的功能需求和设计方案,包括豆浆机的控制系统、测量传感器、操作界面等。

4. 设计和实现单片机控制系统,包括硬件电路设计和程序编写。完成豆浆机自动化控制、温度测量、水位测量等功能。

5. 调试和测试单片机控制系统,保证其稳定、可靠、灵活。

6. 开发豆浆机的用户界面,包括人机交互界面和操作流程,使操作变得简单、直观。

7. 进行系统整合和测试,检验豆浆机的功能是否符合需求。

8. 撰写毕业论文,内容包括整个项目的设计思路、方案实现、测试结果及优化方案等。

9. 最后,进行毕业答辩和展示,展示设计实现过程和有关成果。

一.设计目的:1、通过交通信号灯控制系统的设计,掌握8255A并行口传输数据的方法,以控制发光二极管的亮与灭;2、用8255作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。二.设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,蓝,灯各一盏;1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。2、在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。5、同步设置人行横道红、绿灯指示。三.设计任务和内容:任务:设计一个能够控制十二盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模试来运行。内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西红灯,南北绿灯通车,。过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北仍然红灯。最后循环至状态1。四.控制系统的总体要求:1.执行程序时,初始态为四个路口的红灯全亮之后;2.东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车;3.延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车;4.延时一段时间之后,南北路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁3次之后,再切换到东西路口方向;之后重复2到4过程。。。。。。。本文来自Tony嵌入式论坛,原文地址:

这有一系列的毕业论文qq310852504

51单片机论文毕业论文

用单片机进行温度的控制及LCD显示系统的设计论文编号:JD909 包括开题报告,任务书。 论文字数:14253,页数:45摘 要 温度测量与控制是工程实践中常见的问题,在工业生产中有着广泛的应用。针对此领域的发展方向,本论文设计了一个基于单片机的智能温度测量系统。本系统以AT89C51单片机为微控制器,采用数字温度传感器DS18B20作为测温元件, 温度传感器DS18B20采集温度信号送给单片机处理,单片机再把处理后的温度数据送到LCD上显示出来。 能够实现快速、准确的测温功能和越限声光报警功能。本论文完成了系统硬件电路的设计,给出了软件流程框图,并编写了相关的软件程序。 关键词:温度测量;传感器 ;单片机;LCD显示 Abstract Temperature measuring and the controlling are very common in the project practice and are widely adopted in the industry production . In view of development direction of this domain, this paper introduces a temperature measuring system which take the AT89C51 single chip microcontroller as an controlling unit and the digital temperature sensor --DS18B20, as temperauture measuring transducer. The collected temperature signals of the digital temperature transducer--DS18B20 are processed by the single chip microcontroller. The processed temperature signals are displayed on the system has achieved prompt and precise temperature measuring and the super warnning function by sound and light .This paper has finished the design of hardware curcuit and compiled related software program.. Key word: Temperature measuring;Sensor;Single Chip Microcontroller ;LCD Display 目 录摘 要 IAbstract II绪 论 11系统的设计方案 32硬件设计 单片机的选用 温度检测电路的设计 键盘模块的设计 液晶显示模块的设计 声光报警电路的设计 163软件设计 程序设计语言和软件开发环境 软件程序设计 184抗干扰设计. 硬件方面的措施 软件抗干扰技术 26结 论 28致 谢 29参考文献 30附录: 源程序 31以上回答来自:

[1] 单片机控制电子喷油泵试验台的研究 寇雪芹 西北农林科技大学 [2] MCS-51单片机构建机器人的实践研究 张兵 华中师范大学 2006-05-01 [3] 单片机控制多功能信号发生器 江明 吉林大学 2004-09-01 硕士 [4] 基于单片机和CPLD的粗光栅位移测量系统研究 王荣秀 重庆大学 [5] 基于单片机井下纠斜控制系统的研究 郑登科 武汉科技大学 [6] 基于M68HC08 MCU通用编程器的设计与实现 王艳春 合肥工业大学 2005-09-01 硕士 [7]基于ADμC841单片机的防爆软起动综合控制器的研究 牛鑫 重庆大学 2006-04-04 硕士 [8] 单片机控制技术在谷物干燥中的应用研究 王保利 西北农林科技大学 2003-05-01 硕士 [9] 阀控液压电梯单片机速度控制系统的研究 应秀华 浙江大学 2002-03-01 硕士 [10] 变频调速液压电梯单片机控制器的研究 苑海涛 浙江大学 2006-05-01 硕士

新款的单片机都可以设置密码

一、毕业设计题目及要求 (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

  • 索引序列
  • 基于51单片机的毕业论文
  • 基于51单片机的毕业设计论文
  • 关于51单片机的论文题目
  • 基于单片机的简单的毕业论文
  • 51单片机论文毕业论文
  • 返回顶部