简单表白系统实验报告

上传人:第*** 文档编号:57523705 上传时间:2018-10-22 格式:DOC 页数:15 大小:61.50KB
返回 下载 相关 举报
简单表白系统实验报告_第1页
第1页 / 共15页
简单表白系统实验报告_第2页
第2页 / 共15页
简单表白系统实验报告_第3页
第3页 / 共15页
简单表白系统实验报告_第4页
第4页 / 共15页
简单表白系统实验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《简单表白系统实验报告》由会员分享,可在线阅读,更多相关《简单表白系统实验报告(15页珍藏版)》请在金锄头文库上搜索。

1、 单片机设计与开发考试论文简单表白系统姓名:回答学号:201404042525班级:计算机科学与信息技术学院2016 年 6 月目目 录录第一章 单片机的功能 1.1 电源-31.2 时钟-31.3 控制线-41.4 I/O 线- 41.5 P3 口第二功能-4第 2 章 设计思路 - 5第 3 章 功能实现及描述-5第 4 章 电路图及解释-6第五章实验总结-7第一章第一章 单片机的功能单片机的功能单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显

2、示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。MCS-51 系列单片机,其主要功能如下:8 位 CPU4kbytes 程序存储器(ROM)128bytes 的数据存储器(RAM)32 条 I/O 口线111 条指令,大部分为单字节指令21 个专用寄存器2 个可编程定时/计数器5 个中断源,2 个优先级一个全双工串行通信口外部数据存储器寻址空间为 64kB逻辑操作位寻址功能双列直插 40PinDIP 封装单一+5V 电源供电40 个引脚按引脚功能大致可分为 4 个种类:电源、时钟、控制和 I/O 引脚 电源: VCC - 芯片电源

3、,接 +5V; VSS - 接地端; 注:用万用表测试单片机引脚电压一般为0v 或者 5v,这是标准的 TTL 电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v 之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在 0v 或者 5v。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有 4 根, ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。 PSE

4、N:外 ROM 读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。 EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加 编程电源 Vpp。 I/O 线:80C51 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)5. P3 口第二功能 :P30 RXD 串行输入口 P31 TXD

5、 串行输出口 P32 INT0 外部中断 0(低电平有效) P33 INT1 外部中断 1(低电平有效) P34 T0 定时计数器 0 P35 T1 定时计数器 1 P36 WR 外部数据存储器写选通(低电平有效) P37 RD 外部数据存储器读选通(低电平有效)第二章第二章 设计思路设计思路1、使用两个单片机,一个设计蜂鸣器发出美妙的音乐,另一个设计数码管动态 显示 love 字样;2、第一个单片机控制蜂鸣器唱歌,发出美妙的音乐,音乐由代码控制,每三个数发出一个音节,第一个数表示音符。第二个数表示音调,0 为低音,1 为中音,2 为高音。第三个数表示音拍,一位半音,2 为全音。由此累加即可发

6、出动听的音乐。第二个音乐控制数码管显示,利用四个数码管的动态显示,显示 love 字样来达到表白的目的。3、使用定时器中断;第三章第三章 功能实现及描述功能实现及描述1、使用两个单片机2、使用定时器中断产生 10ms 的时间;3、每三个数字对应一个音节;4、数码管动态显示 love;第四章第四章 电路图及解释电路图及解释仿真电路图仿真电路图解释:解释:利用两个单片机分别控制蜂鸣器和数码管,三个数字代表一个音符,利用中断原理,数码管采用了动态数显示,利用共阳极数码管,将L、O、V、E 的编码存入数组,然后利用 for 语句的循环来实现显示。第五章第五章 实验总结实验总结通过这次的课程设计,使我对

7、单片机程序设计的方法、要求有了初步的了解并且积累了一些实践经验,对软件的应用有了更进一步的了解,相信对以后进一步学习单片机知识,这对自己无论是在感性上还是理性上都会有一定的帮助,而且通过这次的设计,激发了我对单片机课程浓厚的兴趣,增强了我对书本理论的运用。虽然现在对所涉及的知识和要求的综合分析能力较为复杂,可这其中体现了创新思想和知识的结合应用,今后我将更广泛地涉及这方面的知识,希望能在这一领域有所成就实验利用单片机的定时器/计数器定时和记数的原理,结合实验箱上的集成电路芯片 LED 数码管。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地 love。其中本实验设利用两个

8、单片机,利用蜂鸣器发声的原理编写代码使其发出悦耳的音乐。并且数码管利用动态显示,最终结果成功实现。代码:蜂鸣器代码:#include #define uchar unsigned char #define uint unsigned int sbit sound = P15;uint counter=0; uchar code TAB4=0xC7,0xc0,0xc1,0x86 ;uchar code FREQH38= /音符定时器初值,三个 8 度音的高八位 /注意每行起始都为 0xff,因为音调中没有 0 这个音 ,/ 低音: / 1 2 3 4 5 6 7 0xff,0xf9, 0xfa,

9、 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, /中音: /1 2 3 4 5 6 7 0xff,0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, /高音: /1 2 3 4 5 6 7 0xff,0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00/0x00 ; uchar code FREQL38= /音符定时器初值,三个 8 度音的低八位 / 低音: / 1 2 3 4 5 6 7 0xff,0x5b, 0x15, 0xb9, 0x04, 0x90, 0x0c, 0x79, /中音: / 1 2 3 4 5 6

10、7 0xff,0xac, 0x09, 0x5c, 0x82, 0xc8, 0x05, 0x3c, /高音: /1 2 3 4 5 6 7 0xff,0x55, 0x84, 0xad, 0xc0, 0xe3, 0x02, 0x00/0x00; uchar code MUSIC=/生日快乐 /歌曲代码,每三个表示一个音符及节拍3,1,2, 3,1,2, 2,1,2, 1,1,2, 2,1,1, 2,1,1, 2,1,2, 2,1,2, 1,1,2, 7,0,2, 1,1,1, 1,1,1, 1,1,2, 1,1,2, 7,0,2, 1,1,2, 7,0,2, 6,0,1, 6,0,1, 3,1,2

11、, 3,1,2, 3,1,2, 2,1,2, 1,1,2, 2,1,1, 2,1,1, 2,1,2, 2,1,2, 1,1,2, 2,1,2, 3,1,1, 3,1,1, 1,1,2, 1,1,2, 2,1,2, 1,1,2, 2,1,2, 3,1,1, 3,1,1, 5,0,2, 5,1,2, 4,1,2, 3,1,2, 4,1,2, 3,1,2, 2,1,2, 2,1,2, 1,1,2, 2,1,1, 2,1,1, 5,1,2, 4,1,2, 3,1,2, 4,1,2, 3,1,2, 2,1,2, 2,1,2, 1,1,2, 1,1,1, 1,1,1, 1,1,2, 2,1,2, 3,1,

12、2, 1,1,1, 1,1,1, 2,1,2, 3,1,2, 1,1,1, 1,1,1, 1,1,2, 1,1,2, 2,1,2, 1,1,2, 3,1,1, 3,1,1, 2,1,2, 1,1,2, 6,1,2, 6,1,2, 5,1,2, 3,1,2, 3,1,1, 3,1,1, 2,1,1, 2,1,1, 1,1,2, 2,1,2, 5,1,1, 5,1,1, 5,1,2, 5,1,2, 5,1,2, 5,1,2, 2,1,2, 3,1,1, 3,1,1, 2,1,2, 1,1,2, 6,1,2, 6,1,2, 5,1,2, 3,1,2, 3,1,1, 3,1,1, 2,1,1, 2,1

13、,1, 6,0,2, 1,1,2, 2,1,2, 1,1,2, 2,1,2, 1,1,2, 2,1,2, 5,1,2, 3,1,1, 3,1,1, 2,1,2,3,1,2, 6,1,2, 6,1,2, 5,1,2, 3,1,2, 5,1,1, 5,1,1, 5,1,1, 5,1,1, 2,1,2, 2,1,2, 5,1,1, 5,1,1, 5,1,2, 5,1,2, 5,1,2, 5,1,2, 2,1,2, 3,1,1, 3,1,1, 6,0,2, 1,1,2, 3,1,2, 2,1,2, 1,1,2, 2,1,2, 3,1,1, 3,1,1, 2,1,1, 2,1,1, 3,1,2, 2,1,2, 1,1,2, 2,1,2, 3,1,2, 6,0,1, 6,0,1,0; void init() /定时器初始化 TMOD=0x11; TH0=0xd8; TL0=0xef; EA=1; ET0=1; void timer0(void) interrupt 1 using 3 /timer0 中断服务程序,中断一次延时 10mscounter+;/节拍次数计数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号