单片机课程设计
《单片机课程设计》课件

第一章 单片机基础知识
单片机的定义
详细介绍单片机的概念、结构和特点。
单片机的分类
介绍单片机的不同类型和系列,以及各自的 特点和应用。
单片机的历史
追溯单片机的发展历程,并介绍里程碑式的 产品。
单片机的工作原理
解释单片机内部的运行机制和工作原理。
第二章 单片机编程基础
1
Keil C51编译器介绍
了解Keil C51编译器的功能和使用方法。
《单片机课程设计》PPT 课件
单片机课程设计 PPT课件 探索单片机的奇妙世界,学习如何用它创造令人惊叹的电子产品。
简介
1 课程目标和内容
学习如何进行单片机的软硬件开发,掌握相关知识和技巧。
2 单片介绍
了解单片机的特点、功能和应用领域。
3 开发环境介绍
介绍使用的开发工具和硬件设备,以及如何搭建开发环境。
结语
1 总结课程内容
2 单片机应用前景
3 学习感悟
回顾单片机课程设计的 重点和要点,加深理解。
展望单片机在科技发展 和创新中的巨大潜力。
分享学习单片机的心得 和体会,激发学习动力。
汇编语言基础
2
学习单片机汇编语言的基本语法和指
令集。
3
C语言基础
掌握用C语言编写单片机程序的基本
编辑和调试程序
4
技巧。
学会使用开发工具编辑和调试单片机 程序。
第三章 单片机外设控制
LED灯的控制
学习如何控制LED灯的亮度和闪烁频率。
液晶显示器的控制
了解如何使用单片机控制液晶显示屏显示信息。
蜂鸣器的控制
学习通过单片机发出不同频率和节奏的声音。
时钟的控制
掌握如何使用单片机实现准确的时间计算和显示。
单片机小组课程设计

单片机小组课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,了解其在工程领域的应用。
2. 使学生熟悉单片机的编程语言,能运用C语言进行基础程序编写。
3. 帮助学生理解并掌握单片机与其他外围设备的连接与通信方法。
技能目标:1. 培养学生运用单片机解决实际问题的能力,能设计简单的电路控制系统。
2. 提高学生动手实践能力,能熟练使用编程软件和开发工具进行程序编写、调试和测试。
3. 培养学生团队协作能力,能与他人共同完成课程设计和项目任务。
情感态度价值观目标:1. 培养学生对单片机及电子工程的兴趣,激发创新精神和探索欲望。
2. 培养学生严谨、细致的学习态度,养成良好的编程习惯。
3. 增强学生的自信心,使其勇于面对挑战,积极解决问题。
分析课程性质、学生特点和教学要求,本课程旨在使学生通过理论学习与实践操作相结合的方式,掌握单片机的基本知识和技能。
课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 单片机原理概述:介绍单片机的基本概念、发展历程、组成结构及其在自动化控制系统中的应用。
教材章节:第一章单片机概述内容安排:讲解单片机的基本原理,引导学生了解各类单片机的特点。
2. 单片机编程语言:以C语言为基础,讲解单片机编程的基本语法、数据类型、运算符、控制结构等。
教材章节:第二章C语言编程基础内容安排:通过实例演示,使学生掌握单片机编程的基本方法。
3. 单片机外围设备及其接口技术:介绍常用外围设备(如LED、蜂鸣器、传感器等)的原理及接口方法。
教材章节:第三章外围设备及其接口技术内容安排:讲解外围设备与单片机的连接方法,分析接口电路设计。
4. 单片机程序下载与调试:介绍程序下载、调试的方法和技巧,培养学生动手实践能力。
教材章节:第四章程序下载与调试内容安排:指导学生使用编程软件和开发工具进行程序下载、调试和测试。
5. 单片机控制系统设计:结合实际案例,讲解单片机控制系统的设计方法,提高学生解决实际问题的能力。
单片机c语言课程设计

单片机c语言课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解C语言在单片机编程中的应用。
2. 培养学生运用C语言进行单片机程序设计和调试的能力。
3. 使学生了解单片机外围设备的接口技术,并能结合实际需求进行简单系统设计。
技能目标:1. 培养学生运用Keil等开发工具进行单片机C语言编程,完成程序设计、编译、下载和调试。
2. 培养学生分析问题和解决问题的能力,能够针对实际应用场景设计单片机控制系统。
3. 提高学生的动手实践能力,通过课程设计,独立完成一个具有实际应用价值的单片机控制系统。
情感态度价值观目标:1. 培养学生积极的学习态度,激发对单片机及嵌入式系统开发的兴趣。
2. 培养学生的团队合作意识,学会在项目中进行有效沟通和协作。
3. 增强学生的创新意识,鼓励他们在课程设计中勇于尝试新思路、新技术。
课程性质分析:本课程为单片机C语言课程设计,侧重于实践操作和实际应用,旨在帮助学生将所学理论知识与实际工程相结合,提高解决实际问题的能力。
学生特点分析:学生已具备一定的单片机原理和C语言基础,具有一定的编程和动手能力。
在此基础上,通过课程设计,提高学生的综合应用能力和创新能力。
教学要求:1. 结合课本内容,注重理论与实践相结合,强化学生的动手实践能力。
2. 以项目为导向,引导学生主动探索,培养学生的问题分析和解决能力。
3. 注重团队合作,培养学生的沟通能力和协作精神。
4. 关注学生的个体差异,实施差异化教学,提高全体学生的学习效果。
二、教学内容1. 单片机基础理论:回顾51单片机的结构、原理及其外围设备的工作原理,重点复习I/O口编程、定时器、中断系统等内容。
教材章节:第一章至第三章2. C语言编程基础:巩固C语言基本语法,包括数据类型、运算符、控制语句、函数等,结合单片机编程需求进行讲解。
教材章节:第四章至第六章3. 单片机C语言编程实践:学习使用Keil开发工具进行单片机C语言编程,掌握程序设计、编译、下载和调试的全过程。
单片机按键课程设计

单片机按键课程设计一、课程目标知识目标:1. 让学生掌握单片机基础知识和按键的工作原理;2. 帮助学生了解按键在单片机系统中的应用和编程方法;3. 使学生能够运用所学知识设计简单的单片机按键控制系统。
技能目标:1. 培养学生动手实践能力,能够独立完成单片机按键电路的搭建;2. 提高学生编程能力,掌握单片机按键程序的设计与调试;3. 培养学生解决问题的能力,能够针对实际需求设计合适的单片机按键方案。
情感态度价值观目标:1. 培养学生对单片机技术及电子制作的兴趣,激发创新意识;2. 培养学生团队合作精神,学会分享和交流;3. 增强学生面对困难的勇气和毅力,培养勇于挑战的精神。
课程性质分析:本课程为实践性较强的课程,注重理论知识与实践操作的相结合,以培养学生的动手能力和创新能力为核心。
学生特点分析:学生处于初中或高中年级,具有一定的物理和数学基础,对电子技术和编程有一定了解,好奇心强,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,引导学生主动参与,提高学生的实践能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理、引脚功能等,结合教材相关章节,为学生建立单片机的基本概念。
2. 按键工作原理:讲解按键的物理原理、电路连接方式、去抖动方法等,使学生了解按键在单片机系统中的应用。
3. 单片机按键编程:教授单片机按键程序设计方法,包括I/O口编程、中断处理等,结合教材实例进行讲解。
4. 按键电路搭建:指导学生动手搭建单片机按键电路,学会使用面包板、电子元件等,培养实际操作能力。
5. 按键程序设计与调试:教授编程软件的使用,引导学生编写、调试按键程序,掌握程序设计的基本方法。
6. 应用实例分析:分析典型单片机按键控制系统实例,使学生了解实际应用中的设计方法和技巧。
教学进度安排:1. 第1课时:单片机基础知识及按键工作原理介绍;2. 第2课时:单片机按键编程方法讲解;3. 第3课时:按键电路搭建及编程实践;4. 第4课时:按键程序设计与调试;5. 第5课时:应用实例分析及总结。
单片机 课程设计三人抢答器

单片机课程设计三人抢答器在现代电子技术的快速发展中,抢答器作为一种常见的电子设备,广泛应用于各种竞赛、游戏和活动中。
本次课程设计的任务是设计一个三人抢答器,通过单片机的控制实现抢答功能,并具备相应的显示和提示功能。
一、设计要求1、有三个抢答按键,分别对应三位选手。
2、当有选手按下抢答键时,系统能锁定该选手,并在显示屏上显示其编号。
3、同时伴有声音提示,表示抢答成功。
4、抢答成功后,其他选手再按下抢答键无效。
二、硬件设计1、单片机选型我们选择了常见的 51 系列单片机,如 STC89C52 单片机。
它具有价格低廉、性能稳定、易于编程等优点。
2、按键输入使用三个独立按键作为抢答按键,分别连接到单片机的三个I/O 口。
通过检测这些 I/O 口的电平变化来判断是否有按键按下。
3、显示模块采用数码管作为显示模块,用于显示抢答成功选手的编号。
可以选择共阴或共阳数码管,通过单片机的 I/O 口控制数码管的段选和位选,实现数字的显示。
4、声音提示模块使用蜂鸣器作为声音提示装置,连接到单片机的一个 I/O 口。
当抢答成功时,单片机输出高电平驱动蜂鸣器发声。
5、电源模块为整个系统提供稳定的电源,可以使用 5V 直流电源适配器或者通过电池供电。
三、软件设计1、主程序流程系统初始化后,进入循环等待状态,不断检测三个抢答按键的状态。
当有按键按下时,进行相应的处理,包括锁定选手、显示编号、发声提示以及禁止其他选手抢答。
2、按键检测程序通过不断读取与按键连接的 I/O 口的电平状态,判断是否有按键按下。
为了消除按键抖动的影响,需要进行软件消抖处理。
3、显示程序根据抢答成功选手的编号,将对应的数字编码发送到数码管的段选和位选端口,实现数字的显示。
4、声音提示程序当抢答成功时,单片机控制与蜂鸣器连接的 I/O 口输出高电平,使蜂鸣器发声。
四、系统调试1、硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
然后测量各个电源点的电压是否正常,确保硬件电路工作正常。
单片机课程设计题目大全

单片机课程设计题目大全
单片机课程设计题目有很多种,以下是一些常见的题目:
1. 控制 LED 闪烁:通过编程控制 LED 闪烁,是单片机入门的经典题目。
2. 计数器设计:使用单片机的计数器功能,设计一个计数器,用于计数手表或者闹钟的秒数。
3. 温度传感器控制:使用温度传感器测量温度,通过编程控制单片机输出信号,控制加热器或者冷却器。
4. 模拟信号灯:使用单片机控制信号灯,模拟交通信号灯。
5. 控制电机:使用单片机控制电机,实现电机的启动、停止、调速等功能。
6. 控制单片机串口:通过编程控制单片机的串口,与其他设备进行数据传输。
7. 模拟电路设计:通过编程控制单片机,模拟电路设计,实现音频放大器、滤波器等电路功能。
8. 控制机器人:使用单片机控制机器人的各个部件,实现机器人的前进、后退、转向等功能。
9. 控制液晶显示屏:使用单片机控制液晶显示屏,显示各种信息和图形。
10. 控制太阳能板:使用单片机控制太阳能板,实现太阳能的采集和转化。
这些题目都是单片机课程设计中的经典题目,可以帮助学生学习
单片机的基本原理和应用。
同时,通过这些题目的编写和调试,学生可以加深对单片机编程和控制系统的理解,提高实践能力。
51单片机无线课程设计

51单片机无线课程设计一、课程目标知识目标:1. 学生能够理解51单片机的基本原理,掌握无线通信技术的基本概念;2. 学生能够掌握51单片机编程的基础知识,包括指令系统、寄存器配置等;3. 学生能够了解无线模块的工作原理,并掌握相关调试方法;4. 学生能够运用51单片机及无线模块实现简单的数据传输和控制功能。
技能目标:1. 学生能够独立完成51单片机的编程与调试;2. 学生能够独立搭建无线通信系统,实现数据收发;3. 学生能够运用所学的知识解决实际问题,具备一定的课程设计能力;4. 学生能够通过课程实践,提升动手能力、团队协作能力和创新能力。
情感态度价值观目标:1. 学生能够认识到单片机及无线通信技术在日常生活中的应用,激发学习兴趣;2. 学生能够通过课程学习,培养严谨的科学态度和良好的学习习惯;3. 学生能够树立团队协作意识,学会与他人分享成果,培养合作精神;4. 学生能够关注单片机及无线通信领域的发展动态,培养持续学习的意识。
课程性质:本课程为实践性较强的课程设计,旨在让学生在掌握51单片机及无线通信技术基础知识的基础上,通过实际操作,提高解决实际问题的能力。
学生特点:学生具备一定的单片机基础和编程能力,对无线通信技术有一定了解,但实践能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生独立思考和解决问题的能力。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 51单片机原理及编程基础:- 单片机结构及工作原理- 51单片机指令系统与寄存器- C语言编程基础与Keil开发环境使用2. 无线通信技术原理与模块:- 无线通信基本原理- 常用无线模块介绍(如NRF24L01)- 无线模块的配置与调试方法3. 51单片机与无线模块的接口技术:- 单片机与无线模块的硬件连接- 单片机与无线模块的软件编程- 数据发送与接收处理4. 课程设计实践:- 简单无线数据传输系统设计- 实现无线控制功能(如远程开关、温度监测等)- 课程设计报告撰写与展示教学内容安排与进度:第一周:51单片机原理及编程基础第二周:无线通信技术原理与模块第三周:51单片机与无线模块的接口技术第四周:课程设计实践与成果展示教材章节:《单片机原理与应用》第三章:51单片机结构与工作原理;第四章:51单片机指令系统与编程;第七章:无线通信技术及其应用。
52单片机时钟课程设计

52单片机时钟课程设计一、课程目标知识目标:1. 学生能理解并掌握52单片机的基本原理及其在时钟设计中的应用。
2. 学生能描述时钟电路的工作原理,包括时钟晶振、分频器等组成部分。
3. 学生能运用C语言编写程序,实现对时钟的显示、调整和时间计算功能。
技能目标:1. 学生能独立完成52单片机的时钟电路连接和程序编写。
2. 学生通过实验操作,培养动手能力和问题解决能力,能够调试并优化时钟程序。
3. 学生能够运用所学知识,结合实际需求,设计简单的时钟应用项目。
情感态度价值观目标:1. 学生通过学习单片机时钟设计,培养对电子技术和编程的兴趣,激发创新意识。
2. 学生在团队协作中,学会分享、交流和合作,提高沟通能力。
3. 学生认识到科技对社会生活的影响,增强社会责任感和时代使命感。
课程性质:本课程为实践性较强的电子技术课程,结合理论教学和实验操作,旨在培养学生的动手能力、编程能力和创新能力。
学生特点:学生已具备一定的电子技术基础知识,对编程有一定了解,但对单片机应用尚处于起步阶段。
教学要求:教师需结合学生特点,注重理论与实践相结合,关注个体差异,引导学生主动探究,培养其解决问题的能力。
通过课程学习,使学生能够将所学知识应用于实际项目中。
二、教学内容本课程教学内容主要包括以下几部分:1. 52单片机基础知识:介绍52单片机的结构、工作原理、引脚功能等,结合教材相关章节,让学生对单片机有基本的认识。
2. 时钟电路原理:讲解时钟电路的组成,包括时钟晶振、分频器等,分析时钟信号的产生、传输和作用。
3. C语言编程:复习C语言基础知识,重点讲解与52单片机编程相关的内容,如寄存器操作、I/O口编程、中断处理等。
4. 时钟程序设计:详细讲解如何利用52单片机实现时钟功能,包括时钟显示、调整和时间计算等,结合教材实例,让学生动手实践。
5. 实验操作与调试:指导学生进行时钟电路的连接、程序下载和调试,培养学生动手能力和问题解决能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录引言 (1)1.硬件设计及说明 (2)1.1 系统组成及原理图 (2)1.2 AT89C51单片机 (2)1.3晶振电路 (5)1.4发音电路 (6)2.软件的设计 (8)2.1 如何用单片机实现发音 (8)2.2 系统总体功能流程图 (8)2.3 程序清单 (9)3. Proteus软件仿真 (11)3.1时序仿真图 (11)3.2仿真结果与分析 (11)4.课程设计总结及心得体会 (12)4.1设计中遇到的问题及分析 (12)4.2心得体会 (12)致谢 (14)参考文献 (15)引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
随着电子科技的飞速发展,电子产品在人们的生活中扮演着一个不可或缺的角色,无论是生活必须品还是其他东西,都用到了单片机,特别是在儿童玩具中引用很广泛,当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。
单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
并且可以进行一定的功能扩展。
本次试验所设计的简易电子琴利用键盘上的6个按键,能够发出6个不同的音调,并且要求按下键发声,松开延时一段时间停止,再按不同的键发出不同的声音。
1.硬件设计及说明1.1 系统组成及原理图硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ 时钟频率,本设计主要是通过直接控制发音的周期来间接控制发音的频率,进而实现了不同的音调。
本设计主要由晶振电路,按键电路和发音电路组成。
按下不同的按键,就可以发出不同的音。
图1.1系统原理图1.2 AT89C51单片机AT89C51是一种带4K 字节FLASH 存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种单片机 MSC —51扬声器按键灵活性高且价廉的方案。
引脚排列如图1.2所示。
图1.2 AT89C51单片机引脚图引脚排列及功能::(1)I/O 口线XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P0口:8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置1。
P0口可驱动8个TTL负载。
P1口:8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。
在编程和校验时,可用作输入低8位地址。
用作输入时,应先将输出锁存器置1。
P1口可驱动4个TTL 负载。
P2口:8位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
P3口:8位、准双向I/O口,具有内部上拉电阻。
P3口可作为普通I/O口。
用作输入时,应先将输出锁存器置1。
在编程/校验时,P3口接收某些控制信号。
它可驱动4个TTL负载。
(2)控制信号线RST:复位输入信号,高电平有效。
在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。
EA/VPP :外部程序存储器访问允许信号EA。
当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。
在编程时,该引脚可接编程电压5V或12V。
在编程校验时,该引脚可接VCC。
PSEN:片外程序存储器读选通信号PSEN,低电平有效。
在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN 无效。
ALE/PROG:低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。
(3)外部晶振引线XTAL1:片内振荡器反向放大器和时钟发生线路的输入端。
使用片内振荡器时,连接外部石英晶体和微调电容。
XTAL2:片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
1.3晶振电路MCS—51单片机内部的振荡电路是一个倒增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反相放大器可以配置为片内振荡器。
单片机内部虽然有振荡电路,但要形成时钟,外部还需要附加电路。
石晶振荡和陶瓷振荡均可采用。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
51单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。
利用其内部的振荡电路XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激振荡器。
晶体和电容决定了单片机的工作时间精度为1微妙。
晶体可以在1.2-12MHz之间选择。
MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12MHz频率的晶体主要是在高速串行通信的情况下才使用,在这里我们用的是12MHz石英晶体。
对电容无严格要求,但它在取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一点影响。
C1和C2可在20-100PF之间取值,一般情况下取30PF。
外部时钟方式是把外部振荡信号源直接接入XTAL1或XTAL2。
由于XTAL2的逻辑电平不是TTL的,所以还要接一个上拉电阻。
图1.3 晶振电路C122pFX1CRYSTALC222pF1.4发音电路发音电路是AT89C51直接与扬声器相连,扬声器一边接地,一边与单片机P3.7口相接,通过控制P3.7口的电平的高低来控制扬声器的发音。
图1.4 发音电路P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD 17P3.6/WR 16P3.5/T115P2.7/A15keil\C51\Examples\ASM\ok.hexLS1SOUNDER2.软件的设计2.1 如何用单片机实现发音在这个设计中我们用的是C语言程序,利用C语言中的发音函数BEEP发音的,主要通过对发音的周期的改变,来达到扬声器发出不同的音节。
2.2 系统总体功能流程图图2.2系统流程图开始否有键按下是发音结束2.3 程序清单#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit BEEP=P3^7;sbit K1=P1^2;sbit K2=P1^3;sbit K3=P1^4;sbit K4=P1^5;sbit K5=P1^6;sbit K6=P1^7;//延时void DelayMS(uint x){uchar t;while(x--) for(t=0;t<65;t++);}//按周期t 发音void Play(uchar t){uchar i;for(i=0;i<100;i++){BEEP=~BEEP;DelayMS(t);}BEEP=0;}void main(){P1=0xff;BEEP=0;while(1) {if(K1==0) Play(1); if(K2==0) Play(2); if(K3==0) Play(3); if(K4==0) Play(4); if(K5==0) Play(5); if(K6==0) Play(6); }}3. Proteus 软件仿真我们利用KEIL 软件对源程序进行编译,编译成功后,把编译结果保存。
然后根据我们的软件在PROTEUS 中设计出相应的硬件电路,并将该电路保存到与KIEL 程序相同的文件夹中,最后将程序装载到单片机中,通过PROTEUS 仿真,看程序是否能够实现预想的功能。
3.1时序仿真图图3.1 时序仿真图3.2仿真结果与分析通过proteus 软件的仿真,可以验证我们的设计是否成功,也可以更加明了的呈现出此设计的功能以及一些存在的问题,以便于我们的分析与改正。
此次仿真是成功的。
XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRCFILE=D:\\keil\C51\Examples\ASM\ok.hexC122pFC222pFC310uFX112MR110kLS1SOUNDERK3K4K5K6K2K14.课程设计总结及心得体会4.1设计中遇到的问题及分析1)这次设计中我们首先遇到的问题是软件的使用问题,这次设计中我们要使用的软件,我们以前都没有接触过,所以刚开始使用起来有点吃力,随着我们对软件的一步步了解,这个问题就迎刃而解了。