单片机课程设计模板

时间:2024.4.26

单片机接口设计课程报告

一、  设计题目:

彩灯控制器

二、设计要求:

1.花型种类不少于四种,花型自拟;

2.可用键控制彩灯按预设的花型进行变换;

3.可用键控制分别用快/慢两种节拍实现花型变换。

本机地址为00H,当接到上位机发的00H时,则回发00H

当接到上位机发的AAH时,则将预设花型代号发出

当收到55H时,则后面的数据为新的花型

三、设计整体思路:

彩灯控制器可分为彩灯部分、单片机、脉冲震荡部分、复位电路、按键等。所使用的单片机型号为80C51,80C51提供了32位I/O接口、2个16位定时器/计数器、1个全双工串行口和5个中断源来供用户使用。同时设置了脉冲电路,为系统提供稳定频率波,也使各单片机之间的时钟信号能够同步。复位电路所提供的复位功能是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。同时,复位操作也使单片机内相应的寄存器复位到初始值。按键是由P3.4、P3.5 两个I/O口连接,在无按键按下时,P3.4、P3.5均为高电平,当有按键按下,相应的口为低电平。

四、原理图:

五、程序模块(流程图):

主流程图:

花型1流程图:

花型二流程图:

花型三流程图:

花型四流程图:

六、心得体会:

在这次单片机课程设计中遇到了很多的难题,因为以前没有接触过C语言的单片机,但是在老师和同学的帮助下,以及自己通过查找一些资料,顺利的解决了遇到的问题,完成了老师布置的要求。

通过本次课程设计也时我对单片机的一些有关的知识有了更进一步的了解,单片机是一门实践性很强的课程,它必须和其它的芯片一起才能最大可能的发挥出它的各种各样的功能。所以就需要我们的知识面要广,这样在设计过程中才能有效的解决问题。由于我们所用的是C语言编程,所以会遇到一些问题,但通过不断的查找资料和尝试最终还是解决了问题。本次课程设计也锻炼了我们的实践能力,通过编写程序,我们能够把所学的知识很好地应用到实际中去,从而学以致用,能够设计一些生活中很小的系统。总之,这次课程设计收获很多,也初步学会了C语言编程。

附加程序:

#include "reg52.h"

#include <intrins.h>

#define unit unsigned int

#define uchar unsigned char

sbit Set_key=P3^5;

sbit Tim_key=P3^4;

unit tt2,tt1,i,mode,flag,RcvBuf;

uchar temp;

void delay(unit z)

{   unit x,y;

    for(x=z;x>0;x--)

             for(y=110;y>0;y--);

}

void myint()

 {

    TMOD=0x20;

      TH1=0xfd;

      TL1=0xfd;

      SM1=1;

      SM0=0;

      TR1=1;

      REN=1;

      TI=1;

      ES=1;

      EA=1;

 }

void timmode()

{

      if( Tim_key == 0 )

                 {

                      tt1++;

                      if( tt1 >2 )

                      tt1 = 1;

                      while(!Tim_key);

                      delay(10);

                      while(!Tim_key);

                 }

           switch( tt1 )

           {

                 case 1:

                 {

                            i=500;

                            break;

                 }

                 case 2:

                 {

                            i=100;

                            break;

                 }

           }

}

void fisttype()

{

  temp=0xfe;

  P1=temp;

  delay(5);

  while(Set_key != 0)

  {       timmode();

        temp=_crol_(temp,1);

        P1=temp;

        if(RcvBuf==0x33)

        break;

        delay(i);

  }

}

void sectype()

{

  temp=0xfc;

  P1=temp;

  TR0=1;

  while(Set_key != 0)

 {    timmode();

        temp=_cror_(temp,1);

        P1=temp;

        if(RcvBuf==0x33)

        break;

       delay(i);

  }

}

void thirdtype()

{

       temp=0xff;

       P1=temp;

  while(Set_key != 0)

 {

        timmode();

        temp-=1;

        P1=temp;

        if(temp==0x00)

        temp=0xff;

        if(RcvBuf==0x33)

        break;

        delay(i);

  }

}

void forthtype()

{

  temp=0xff;

  P1=temp;

  while(Set_key != 0)

 {  timmode();

    temp=0xe7;

    P1=temp;

    delay(i);

    temp=0xc3;

    P1=temp;

    delay(i);

    temp=0x81;

    P1=temp;

    delay(i);

    temp=0x18;

    P1=temp;

    delay(i);

  }

}

void main()

{    myint();

      while(1)

      {

           timmode();

           if( Set_key == 0 )

           {

                 delay(10);

                 if( Set_key == 0 )

                 {

                      mode++;

                      if( mode >4 )

                      {

                      mode = 1;

                      temp=0xff;

                      P1=temp;

                      }

                 while(!Set_key);

                 delay(10);

                 while(!Set_key);

                 }

           }

           switch( mode )

           {

                 case 1:

                 {

                            fisttype();

                            break;

                 }

                 case 2:

                 {

                            sectype();

                            break;

                 }

                 case 3:

                 {         thirdtype();

                            break;

                 }

                 case 4:

                 {        forthtype();

                            break;

                 }

           }

      }

}

void rec() interrupt 4

{

  if(RI==1)

  {

    RI = 0;

    RcvBuf = SBUF;

     switch(RcvBuf)

          {

             case 0x00:SBUF=0x00;break;

             case 0xAA:SBUF=mode;break;

             case 0x55:

                  {

                      if(mode==1)

                      sectype();

                      if(mode==2)

                      thirdtype();

                      if(mode==3)

                      forthtype();

                      if(mode==4)

                      fisttype();

                      break;

                  }

             default:SBUF=0xff;

          }

   }

   if(TI==1);

    { TI=0;}

}

更多相关推荐:
单片机课程设计报告范例

单片机课程设计示例交通灯控制系统设计一总体设计1设计要求交通灯的任务要求为模拟十字路口的交通灯的亮灭及闪烁基本工作原理根据交通灯的亮灭情况可以分为四种状态利用定时计数器每20秒产生一次中断每产生一次中断后由是否...

单片机课程设计报告书模板

西南科技大学20xx级微机原理与接口技术课题名称姓名学号系部专业指导教师课程设计报告微机原理与接口技术制造科学与工程学院20xx年月日院1目录一绪言1二系统设计121系统整体流程图122日历时钟的控制方案论证1...

单片机课程设计报告

河南理工大学《单片机应用与仿真训练》设计报告题目四路定时控制器姓名:学号:专业班级:电子信息工程指导老师:所在学院:电气工程与自动化学院20XX年1月08日摘要随着当今时代的发展,人们对生活水平的要求越来越高,…

单片机课程设计报告格式

单片机课程设计报告格式要求统一的A4纸打印。每页约44行,每行约34字;打印正文用宋体小四号字;版面页边距上空2.5cm,下空2cm,左空2.5cm,右空2cm;页码用小五号字,底端居中。A、封面;B、课程设计…

单片机课程设计报告格式新

单片机微机系统与接口课程设计报告论文题目3号宋体加粗居中专业班级姓名时间指导教师年月日课程设计任务书小三宋体1设计目的与要求5号黑体设计出一个简单的单片机键盘输入八段管输出系统准确地理解有关要求独立完成系统设计...

单片机课程设计总结报告参考模板

湖州师范学院求真学院课程设计总结报告课程名称单片机应用系统设计设计题目基于STC89C51的数字电子钟设计专业电子科学与技术班级080835姓名张静学号12指导教师李祖欣吴小红报告成绩求真学院信息与工程系二一一...

单片机课程设计报告模板

西安欧亚学院信息工程学院单片机课程设计说明书信息工程学院课程设计说明书论文题目单片机设计课程名称单片机课程设计专业电子信息工程班级统本电信1001学生姓名阮子权武泽旭邢哲设计地点3北603指导教师李敏设计起止时...

《单片机课程设计》报告格式20xx

单片机原理及应用课程设计报告XXXXXX设计专业班级姓名学号20xx年月1课程设计目的11巩固和加深对单片机原理和接口技术知识的理解12培养根据课题需要选学参考书籍查阅手册和文献资料的能力13学会方案论证的比较...

单片机课程设计报告

单片机原理及应用课程设计报告专业通信工程班级姓名指导教师20xx年6月3日目录摘要2关键词2一设计题目2二设计目的2三设计要求2四方案设计与论证2五软件设计与流程图4六总原理电路及元器件清单6七安装与调试7八性...

单片机课程设计报告

单片机课程设计报告摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对…

《单片机课程设计》报告格式20xx

单片机原理及应用课程设计报告51单片机秒表设计专业电子信息科学与技术班级电科1012班姓名周轩学号1020xx822220xx年5月1课程设计目的11巩固和加深对单片机原理和接口技术知识的理解12培养根据课题需...

单片机课程设计经典模板

河南城建学院电子技术基础课程设计报告88点阵LED字符显示器设计姓名学号专业班级指导老师所在院系电气与信息工程学院20xx年月日一评语根据学生答辩情况及其报告质量综合评定二评分指导教师签字年月日河南城建学院本科...

单片机课程设计报告模板(34篇)