单片机简单应用系统设计报告

时间:2024.4.21

广西水利电力职业技术学院

单片机简单应用系统设计报告

课程名称:机电一体化应用技术

班级:10机电一班

学号:2010301130

姓名:韦茂才

指导老师:罗芬   赵新业

时间:20##年2月20日至20##年3月16日

报告内容

一、系统设计功能

采用单片机为核心器件,设计单片机简单应用系统,完成对八个发光二极管和数码管的控制。

二、电路原理图

三、印制电路板图(PCB图

四、系统程序

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit P1_0=P1^0;

uchar k;

uchar n=1;

void DelayMS(uint ms)

{

uchar i;

while(ms--)for(i=0;i<120;i++);

}

uchar Key_Scan()

{

P0=0xFF;

k=P0;

if(k!=0xFF)

{

DelayMS(10);

if(k!=P0)k=0xFF;

while(P0!=0xff);

}

return(k);

}

void main()

{

P1=0x00;

while(1)

{

Key_Scan();

PD: switch(k)

{

case 0xfe: P3=0x3f ;

P1=P1&0x01 ;

   P1_0=~P1_0;

   break;

case 0xfd: P3=0X06;

P1=n ;

           n<<=1;

if(n==0)n=1;

break;

case 0xfb:P3=0X5B;

while(1)

{

for(n=1;n!=0;n<<=1)

{P1=n;

DelayMS(500);

Key_Scan();

if(k!=0xff)break;

}

if(k!=0xff)goto PD;

}

break;

case 0xf7: P3=0X4F;

P1=0x00 ;

}

}

   }

五、设计成果

1、电路板:

2、系统实现的功能:

(1)按S1键:按一次S1键,数码管显示0。同时发光二极管L1亮,再按一次S1键,发光二极管L1灭。

(2)按S2键: 按一次S2键,数码管显示1。同时发光光二极管L1亮;再按一次S2键。发光光二极管L1灭,发光光二极管L2亮;再按S2键,发光光二极管L2灭,发光光二极管L3亮;反复按下S2键,可观察到8盏发光光二极管亮以流水形式依次接通。

(3)按S3键:;按一次S3键,数码管显示2。同时可观察到8盏发光光二极管以流水形式从L1-L8依次接通,且为自动延时接通。若再按,则光光二极管的接通顺序仍旧从L1-L8。

(4)按S4键:按一次S4键,数码管显示3。同时发光二极管全灭。

(5)在自动循环接通继电器的过程中(按S3键的效果),按下其他任意按键,都能够停止自动循环,按照其他按键的功能实现控制动作。

六、心得体会

  为期一个月单片机实训已经结束了,在这短暂的一个月中我学到了很多西,无论是在单片机理论方面还是在电子器件焊接方面都得到了很大的进步。

刚开始感觉学习单片机有点难。为了学好这门课程,在这次实训中我丝毫没有放松过自己,实习期间我给自己的要求是在课前要对课本进行先预习和上课时认真听老师的讲解。

第一、二周我们在老师的讲解下,对课本上的任务进行抄写下载到单片机上观察现象,目的是对课本上程序进行了解和对单片机的内部结构进行了解。了解程序采用什么编程语言和编程基本结构。然后根据课本任务后面的扩展要求或老师要求对程序进行修改得到所要求的程序。在这,我体会到了程序设计要有一个清晰的思路和一个完整的流程.在设计程序时,不能妄想一次就将整个程序设计好,应该是"反复修改,不断改进"。第三周主要的任务就设计电路图,用Protel 99 se软件进行对电路图设计,刚开始觉得在设计电路中难点在于封装。后来做多了,就对Protel 99 se软件应用慢慢熟悉了,就感觉没想象的那么难了。最后在老师和同学的帮助下,完成了所要电路图设计。

在最后一周单片机硬件的焊接,我们这一组成员的共同努力下。我花了大概半天的时间,单片机硬件焊接终于完成了。在其中有很多问题,第一、不够细心,比如由于粗心大意焊错了单片机的底座。第二,动手能力还要有待提高,杜绝发生虚焊。第三,增加自己知识面,对常用的元器件要熟悉了解。

接着下面的任务就是对自己焊接的单片机进行调试。当我把测试程序下到单片机后,表面上看单片机完美运行,把流水灯的程序下载去,仔细看了一下有两个发光二极管不亮。经过检查后,可能是虚焊问题,还有由于设计电路时封装的问题造成把时钟电路的接地部分接到了电源部分上。最后通过大家的努力和赵老师的帮助,我的板子顺利的通过了检测。

通过这次单片机实训,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的团队精神,从而不断地战胜困难,超越自己。在接下的两周实训中,我会更加努力!


第二篇:单片机系统设计与制作技术报告


中国矿业大学徐海学院

单片机系统设计与制作技术报告

姓    名:              学  号:              

班    级:       电气11                                              

题    目:       音乐播放器设计与制作                                            

任课教师:                                                

              

2013 年 12月

单片机设计与制作任务书

班级              学号              学生姓名            

  

任务下达日期:20##年  12  月  10  日

设计日期:2013  年  12  月  16  日 至  20##  年  12  月  26   日

设计题目:音乐播放器设计与制作

设计主要内容和完成功能:使用51单片机设计一款音乐播放器,并能通过编码程序,下载程序完成播放音乐的功能。

教师签字:

摘   要

    AT89S52单片机设计的一个音乐播放器通过单片机音乐播放器系统设计和研究,对于切实掌握单片机相关知识具有重要的理论和实际意义。这次课程设计的音乐播放器是软件和硬件的结合,不同音符表现形式就是不同频率地声音。通AT89S52过单片机产生不同的频率的脉冲信号,通过放大电路,由蜂鸣器放出,就产生了美妙和谐优美动听的乐曲。根据节拍给出该音阶持续的时间,最终实现播放简单歌曲的功能。为人们生活的改善提供了可靠,方面,廉价的方法。 

    单片机AT89S52作为硬件核心控制部件,结合三极管作为放大器,数码管构成典型的显示电路,按键作为输入部分以及其他外围设备组成的音乐播放系统。根据音乐演奏控制器所要实现的显示与选曲及音乐产生功能原理,系统包括演奏扬声器、选曲、播放和显示几部分。其中,AGAIN按键具有开启播放曲子和重复播放当前曲子的功能,FORM按键具有播放前一曲的工能,NEXT按键具有播放后一曲的功能,RES键具有播放前一曲的功能。所设计音乐播放器可以播放多首音乐,曲目选择可以由键盘控制,并通过显示器使其显示歌曲序号。设计的音乐演奏控制器是通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音节的声音,再利用延迟来控制发音时间的长短,即控制音调中的节拍。同时设置按钮使所设计的程序能在三到四首歌曲之间进行选曲,设计显示器使其显示歌曲序号。与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。

目    录

1、系统概述

    单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 

  MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 

  MCS-51系列单片机主要包括8031、8051和8751等通用产品。DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试 。  

    本设计是以AT89S52芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。歌曲可以自己随意的写进音乐盒中。

2、硬件设计

(1)AT89S52单片机简介

    AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

(2)引脚

VCC : 电源        GND: 地

P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8位双向 I/O 口,P1输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。

表1.1 AT89S52 P1口第二功能表

P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX @DPTR)时,P2 口送出高八位地址。

P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。

表1.2 AT89S52 P3口第二功能表

RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP 电压。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

3、软件设计    

    (1)要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲. 

    

    (2)利用8051的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法. 

   

    (3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz).         

计数脉冲值与频率的关系公式如下: N=Fi÷2÷Fr 

    N: 计算值;  Fi:  内部计时一次为1us, 故其频率为1MHz; 

   

    (4)其计数值的求法如下:T=65536-N=65536-Fi÷2÷Fr   

例如: 设K=65536, F=1000000=Fi=1MHz, 

求低音DO(261Hz),中音DO(523Hz),高音的DO(1046Hz)的计算值. 

T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr

低音DO的 T=65536-500000/262=63627

中音DO的T=65536-500000/523=64580

高音DO的T0=65536-500000/1047=65059 

 

    (5)C调各音符频率与计数值T的对照表如表1所示. 

(6)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表3为1/4和1/8节拍的时间设定。

4、系统调试

由于焊接工作已经检查,所以无需查看。通过Keil uVsion4 编译与调试音乐程序,没发现错误,检查管序配对都能没问题,接上电源后音乐没能播放,后来,在同学的提醒之下,把P2.5接上短路帽。结果音乐就播出来了,顺利的完成了实验。

5、结束语

通过本次实训,我学会了自主动手,对单片机的一系列知识,进行了一次系统的复习,熟悉了一些简单的程序,如:延时程序,并学习了一些新的东西,如随机数的产生,按键的扫描,和去抖动等。

在本次试验中,学会了从程序的主体功能考虑要达到一个什么样的要求,从而,将程序分成各个子程序,逐个写出,分布细化,从而减少程序出错机率,并且易于检查各部分程序,根据任务功能,所要达到的要求,来进行检查,看到那个模块所对应的程序不对,就检查那个模块,提高了检查的效果效率,同时也,可以使程序条理清晰,不至于在发现程序出错时,进行改正错误的过程中,越改越错,真正的错误改不了,把对的反而改错了。为了提高程序可读性,可以加注释对程序的功能加以解释说明,并且在各个子程序之间以空行来分隔。

6、参考文献

[1]单片机原理及其接口技术(第3版),胡汉才,清华大学出版社

[2]单片机原理及接口技术,李朝青,北京航空航天大学出版社,1998年

[3]赵秀珍,单永磊,单片微型计算机原理及其应用[M],北京,中国水利水电出版社,

[4]单片机原理及接口技术,李全利,20##年第二版,高等教育出版社

[5]单片机原理与应用及C51程序设计,谢维城、杨家国,20##年5月第

三版,清华大学出版社 

7、附录

(1)系统硬件电路图

(2)源程序(加注释)

JMP START 

ORG 000BH 

JMP TIM0 

ORG 0030H  

START:MOV TMOD,#01H       

MOV IE,#82H

START0:MOV 30H,#00H 

NEXT:  MOV A,30H         

MOV DPTR,#TABLE   

MOVC A,@A+DPTR    

MOV R2,A   

JZ END0    

ANL A,#0FH    

MOV R5,A    

MOV A,R2    

SWAP A    

ANL A,#0FH    

JNZ SING    

CLR TR0    

JMP D1 

SING:  DEC A

MOV 22H,A    

RL  A    

MOV DPTR,#TABLE1    

MOVC A,@A+DPTR    

MOV TH0,A     

MOV 21H,A    

MOV A,22H    

RL  A    

INC A   

MOVC A,@A+DPTR    

MOV TL0,A    

MOV 20H,A   

SETB TR0 

D1: CALL DELAY   

INC  30H   

JMP  NEXT  

END0:          

CLR  TR0                 

JMP  START0 

TIM0:          

PUSH  ACC                 

PUSH  PSW  

MOV   TH0,21H  

MOV   TL0,20H   

CPL   P2.5 

POP   PSW  

POP   ACC  

RETI

DELAY:  MOV  R7,#02 

D2:  MOV  R4,#187 

D3:  MOV  R3,#248   

DJNZ R3,$   

DJNZ R4,D3   

DJNZ R7,D2   

DJNZ R5,DELAY   

RET

TABLE1:  

DW 64260,64400,64524,64580  

DW 64684,64777,64820,64898

DW 64968,65030,65058,65110 

DW 65157,65178,65217

TABLE:  

DB 82H,01H,81H,94H,84H 

DB 0B4H,0A4H,04H  

DB 82H,01H,81H,94H,84H 

DB 0C4H,0B4H,04H 

DB 82H,01H,81H,0F4H,0D4H 

DB 0B4H,0A4H,94H 

DB 0E2H,01H,0E1H,0D4H,0B4H

DB 0C4H,0B4H,04H 

DB 82H,01H,81H,94H,84H

DB 0B4H,0A4H,04H 

DB 82H,01H,81H,94H,84H

DB 0C4H,0B4H,04H  

DB 82H,01H,81H,0F4H,0D4H

DB 0B4H,0A4H,94H 

DB 0E2H,01H,0E1H,0D4H,0B4H

DB 0C4H,0B4H,04H 

DB 00H 

END

(3)实物作品调试照片

(4)演示照片

更多相关推荐:
单片机设计报告

单片机课程设计多功能无线数字钟摘要本系统装置的主要功能包括数字钟无线控制和温度计数字钟通过时钟芯片DS1302实现时钟准确误差小无线控制采用红外遥控成本低操作距离适中温度采集采用温度传感器DS18B20精度高系...

51单片机课程设计报告。

成绩单片机原理及应用课程设计课程名ltlt单片机原理及应用gtgt学部专业学号姓名指导教师日期20xx年06月一设计任务与要求1任务制作并调试51单片机学习板2要求1了解并能识别学习板上的各种元器件会读元器件标...

《单片机课程设计》报告

机械与车辆学院单片机课程设计报告20xx20xx学年第一学期课程设计题目水塔水位控制系统姓名学号班级指导老师职称时间成绩单片机课程设计考查评分表2目录一课程设计性质和目的4二课程设计的内容及要求41硬件设计42...

单片机综合设计报告(完整版)

综合设计报告设计名称智能机器人综合设计设计题目单片机智能温度检测系统设计学生学号专业班级学生姓名学生成绩指导教师职称课题工作时间20xx年6月3至20xx年6月15日说明1报告中的第一二三项由指导教师在综合设计...

单片机设计报告

华东交通大学信息工程专业单片机课程设计报告目录目录I摘要II第一章设计要求111课程设计项目名称112项目设计目的及技术要求1第二章总体方案222硬件电路设计2221单片机最小系统电路2222复位电路52238...

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

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

基于51单片机课程设计报告

课题:基于51单片机的数字温度计设计专业:电气工程及其自动化班级:4学号:***设计日期:20XX/6/3成绩:重庆大学城市科技学院电气学院基于51单片机数字温度计设计报告一、设计目的作用本设计是一款简单实用的…

1单片机最小系统硬件设计报告

项目教学法的精髓就是遇到问题不要逃避它应该越挫越勇单片机最小系统设计报告1基本原理分析11单片机简介单片机又叫单片微型计算机是采用超大规模集成电路技术把CPURAMROM多种IO口和中断系统定时器计时器等功能集...

单片机最小系统(详解)设计报告

设计报告单片机最小系统院系信息与电气工程学院专业班级电气工程及其自动化四班姓名XHJ学号XXXXXXXXX指导教师XXXXXX20xx年06月1摘要近年来随着计算机在社会领域的渗透单片机的应用正在不断地走向深入...

单片机课程设计报告及程序

学校单片机课程设计题目1616点阵屏专业班级姓名学号指导教师姓名职称机电工程系20xx年月日目录一任务设设计11设计任务112设计要求1二设计方案21显示部分12l2电源模块1三总体方案31工作原理332总体设...

基于51单片机的电子密码锁设计开题报告

基于单片机的电子密码锁设计开题报告一毕业论文代写课题背景和意义在日常的生活和工作中住宅与部门的安全防范单位的文件档案财务报表以及一些个人资料的保存多以加锁的办法来解决若使用传统的机械式钥匙开锁人们常需携带多把钥...

单片机课程设计报告

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

单片机设计报告(42篇)