单片机作品设计报告
stm32单片机课程设计报告

stm32单片机课程设计报告设计背景:一个学生对单片机的好奇心,也激起了我对它进行探索研究的兴趣。
为此,在上完单片机课程以后,同时开始我们的实践活动。
经过几天的努力我们的第一次作品终于出炉了。
通过这次活动使我受益匪浅!由于本人水平有限,书写不当之处还请老师指正,谢谢!设计要求:采用小规模集成电路设计单片机最大特点就是电路简洁、可靠性高和价格低廉.利用51系列的中断结构和硬件看门狗定时器来完成最后的任务,因此,我们只需对各部分加以说明,重点介绍其设计思想即可,如下图所示:(1)定时/计数器采用小规模集成电路设计单片机最大特点就是电路简洁、可靠性高和价格低廉.利用51系列的中断结构和硬件看门狗定时器来完成最后的任务,因此,我们只需对各部分加以说明,重点介绍其设计思想即可,如下图所示:(2)程序存储器部分(3)片内数据存储器部分(4)外围扩展接口部分图2—1程序存储器部分图2-3片内数据存储器部分图2-4外围扩展接口部分1.程序存储器部分片内程序存储器共分四个部分:控制寄存器、数据存储器、程序状态存储器和特殊功能寄存器等。
在这些地方我主要讲解如何用中断控制其工作。
当定时器发生溢出或非法操作,将会产生一个中断请求信号。
由定时/计数器产生的该中断请求信号在中断服务程序中被送到定时/计数器。
定时/计数器将响应中断而执行相应的中断服务子程序,并返回响应中断信号。
利用中断处理实现定时/计数器中断请求:在程序存储器片段存放定时/计数器对象,并使其成为可重入的,从而为每一位提供固定宽度的中断服务。
当中断产生时,片内寄存器的内容随着中断服务程序的调用而改变,寄存器值改变了,那么中断服务子程序中被修改的位的状态也跟着变化;如果该中断请求得到了满足,则可由该寄存器恢复原先的值;否则,仍然保持原先的状态。
而且,该中断请求不会因其他原因而丢失,下次再启动程序时,该中断请求又会被激活。
中断服务程序被装入一个中断向量表( IDT),由中断屏蔽位来确定中断源的类型,以便查询有关寄存器的状态。
6个单片机实验设计报告

程序:
#include<reg52.h>
sbit d0=P0^0;
sbit d1=P0^1;
sbit d2=P0^2;
sbit d3=P0^3;
sbit d4=P0^4;
sbit d5=P0^5;
sbit d6=P0^6;
sbit d7=P0^7;
void delay(unsigned int x);
{
unsigned int qwe;
for(qwe=t;qwe>0;qwe--);
}
实验五:定时器中断
利用定时器0工作方式1,实现发光管以1s亮灭闪烁
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
for(;z>0;z--)
for(y=1000;y>0;y--);
}
实验三:外部中断,数字循环终止,led闪烁报警持续20秒
#include<reg52.h>
unsigned int dulatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码表
void delay(unsigned int t);//延时函数
double convert(unsigned char sixteen);
unsigned char dushu(void);//从AD读数
void show(double qqq);//数码管显示
void main()
{
单片机电子时钟课程设计设计报告

单片机电子时钟设计一、作品功能介绍该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控,6位LED数码显示,分别显示“小时:分钟:秒”。
该作品主要用于24小时计时显示,能整时报时,能作为秒表使用,能定时闹铃1分钟。
功能介绍:(1)上电以后自动进入计时状态,起始于00:00:00。
(2)设计键盘调整时间,完成时间设计,并设置闹钟。
(3)定时时间为1/100秒,可采用定时器实现。
(4)采用LED数码管显示,时、分,秒采用数字显示。
(5)采用24小时制,具有方便的时间调校功能。
(6)具有时钟和秒表的切换功能。
使用方法:开机后时钟在00:00:00起开始计时。
(1)长按进入调分状态:分单元闪烁,按加1,按减1.再长按进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。
(2)(2)按进入设定闹时状态: 12:00: ,可进行分设定,按分加1,再按为时调整,按时加1,按调闹钟结束.在闹铃时可按停闹,不按闹铃1分钟。
(3)按下进入秒表状态:再按秒表又启动,按暂停,再按秒表清零,按退出秒表回到时钟状态。
二、电路原理图如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。
电子时钟原理图各个模块设计1.单片机系统 AT89S52 AT89S52概述:是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
基于51单片机的音乐盒设计报告

摘要本作品利用单片机的IO口对蜂鸣器输送不同频率的信号,让单片机发出不同音调的声音。
以“新年好”曲调为基础以C51为语法编出51音乐盒的程序。
根据电路图焊接了蜂鸣器模块与TX-1C51开发板用杜邦线进行连接。
除了蜂鸣器外接模块外还使用了1602液晶显示模块作为外设连接。
本人对单片机演奏音乐比较有兴趣。
在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。
一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。
因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。
音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。
因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。
音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
关键词: 51单片机音乐盒液晶屏幕显示模块蜂鸣器模块 C51目录1 设计任务目的与要求 (1)1.1任务设计目的 (1)1.2任务要求 (1)2 模块及其原理介绍 (2)2.1蜂鸣器模块 (2)2.21602液晶显示模块 (2)3 设计方案 (3)3.1软件设计 (3)3.2硬件设计 (3)4 实验结果与数据分析 (4)4.1测试步骤 (4)4.2实验现象 (4)5 结论与问题讨论 (4)5.1完成设计的要求程度 (4)5.2遇到的问题以及解决办法 (4)5.3存在的不足及改进思路 (4)参考文献 (5)附录 (5)附录一:C51程序 (5)1 设计任务目的与要求1.1任务设计目的本人对单片机演奏音乐比较有兴趣,所以选择51音乐盒的题目。
本设计通过两个模块的制作并与开发板一并使用。
通过本次设计不止熟悉焊接和熟悉各个电子元器件,而且还提高了对外设模块使用单片机编程的技能。
单片机设计报告

单片机设计报告一、引言。
单片机是一种集成了微处理器、存储器、定时器、串行通信接口等功能于一体的微型计算机系统,广泛应用于各种电子设备中。
本报告旨在介绍单片机设计的基本原理、流程和应用,以及对单片机设计过程中的一些关键问题进行探讨。
二、单片机设计流程。
1. 确定需求,首先,需要明确单片机设计的具体需求,包括功能、性能、成本等方面的要求。
2. 硬件设计,根据需求,进行单片机硬件电路设计,包括选择合适的单片机型号、外围电路设计、PCB布局等。
3. 软件设计,编写单片机软件程序,包括程序框架设计、算法实现、调试等。
4. 联调测试,将硬件和软件进行联调测试,确保单片机系统的稳定性和可靠性。
5. 产品验证,对设计的单片机系统进行全面验证,包括功能验证、性能验证、可靠性验证等。
三、单片机设计关键问题探讨。
1. 单片机选型,在单片机设计过程中,选择合适的单片机型号是至关重要的一步,需要综合考虑性能、功耗、成本等因素。
2. 外围电路设计,外围电路设计直接影响到单片机系统的稳定性和可靠性,需要合理布局和精心设计。
3. 软件算法优化,在单片机设计过程中,软件算法的优化能够提高系统的性能和效率,需要不断优化和改进。
4. 系统集成测试,单片机系统集成测试是确保系统功能完整性和稳定性的关键环节,需要充分测试和验证。
四、单片机设计应用案例。
以智能家居控制系统为例,介绍单片机设计在实际应用中的具体案例。
智能家居控制系统利用单片机实现对家居设备的远程控制和监控,包括灯光控制、空调控制、安防监控等功能,极大地提高了家居生活的舒适性和便利性。
五、结论。
本报告介绍了单片机设计的基本流程、关键问题探讨和应用案例,通过对单片机设计的深入了解,可以更好地应用于实际工程中,提高单片机系统的设计和开发能力。
六、参考文献。
[1] 《单片机原理与应用》,XXX,XXX出版社,200X年。
[2] 《嵌入式系统设计与开发》,XXX,XXX出版社,200X年。
89C52单片机开发板设计报告

P101P112P123P134P145P156P167P178R ESE T 9R DX /P3010TX D /P 3111INT 0/P3212INT 1/P3313T0/P 3414T1/P 3515W R /P3616R D/P3717X 218X 119G ND20P2021P2122P2223P2324P2425P2526P2627P2728PS EN 29A LE/P 30EA /VP 31P0732P0633P0534P0435P0336P0237P0138P0039V CC 4089C52U 1Z 89C523TitleN u mb erSize B D ate:19-Ju l-2013File:D :\P ro tel\Ex amp lesIN1G N D 2O UT3T17805IN1G N D 2O UT3T27905IN1G N D 2O UT3T37812IN1G N D 2O UT3T47912123J13+18V -18V -5V+12V-12VC 9104C 191000u f/25VD 1LE DR 12100KV CCU SB _IN C 7104C 8104C 11104C 17100u f/25VD 2LE DC 18100u f/25VD 3LE DC 20100u f/25VD 4LE DR 1110KR 1010KR 13100K1123456S13Z K AI GU A NU SB _IN V CC图3:多路输出稳压电路2.1.3振荡电路模块振荡电路由一个12M 的晶振和两个22pf 的电容所组成,原理图如下: C 1422p fC 1322p f Y 112MV CC V CC R 110KP11P12P10P14P15P16P17123J3V CCG ND 1V CC 23R S 4R /W5E 600701802903100411051206130714PS B 1516/RS T 1718V CC 19G ND20J2Z 12864M0M1M2M3V CC V CC V CC R 210KP10P11P12P17P16P15P14G ND 1V CC 2V L 3R S 4R /W5E 6D 07D 18D 29D 310D 411D 512D 613D 714V CC 15G ND16J6Z 1602M0M1M2M3V CC321D初在国内普及率较高,所以发展较好,大多数公司中低频电路设计都采用此软件。
51单片机简易计算器设计报告

51单片机简易计算器设计报告
本文将介绍51单片机简易计算器的设计报告。
该计算器通过
16位的LCD显示屏实现了基本计算功能,包括加、减、乘、除、取反、开方等。
1. 硬件设计
该计算器的核心部件是STC89C52单片机。
STC89C52是一种
高性能、低功耗的8位单片机,拥有8KB的Flash程序存储器和128字节的内部RAM,可提供多种功能和通讯接口。
通过
I/O口与LCD模块通讯,实现输出功能。
该计算器使用16位的LCD显示屏,显示范围为-99.99~99.99,共有6个数字位。
显示屏使用了ST7920控制器,可通过串行、并行等多种方式控制。
2. 软件设计
该计算器的软件设计主要包括三部分:键盘扫描,计算功能和LCD显示。
键盘扫描:该计算器采用4x5矩阵键盘,通过程序对键盘进行扫描,实现对不同按键的检测。
计算功能:该计算器可以实现基本的四则运算、取反、开方等功能。
对于四则运算,通过栈来实现计算,将运算符压入栈中,然后将操作数从栈中取出进行计算。
LCD显示:该计算器使用16位的LCD显示屏,通过程序控制数据和命令的传输,将计算结果显示在LCD屏幕上。
3. 总结
通过对51单片机简易计算器的设计报告,可以看出该计算器实现了基本的计算功能,通过硬件设计和软件设计相结合,将计算器的功能实现得十分完整。
该计算器的设计初步掌握了51单片机的应用,有助于后续项目的开展。
单片机设计与制作技术报告[1]2
![单片机设计与制作技术报告[1]2](https://img.taocdn.com/s3/m/432b4bfe0242a8956bece40b.png)
XX学院单片机设计与制作技术报告姓名:学号:班级:题目:DS18B20温度测量、报警系统任课教师:2010 年12月单片机设计与制作任务书班级学号2 学生姓名任务下达日期:10年10 月10 日设计日期:10 年12 月 1 日至10 年12 月15 日设计题目:DS18B20温度测量、报警系统设计主要内容和完成功能:51单片机AT89S52与温度传感器芯片DS18B20构成测温系统,温度测量范围0~99.9摄氏度,可设置上限报警温度、下限报警温度(即高于上限值或者低于下限值时蜂鸣器报警),默认上限报警温度为38℃、默认下限报警温度为5℃。
报警值可设置范围:最低上限报警值等于当前下限报警值,最高下限报警值等于当前上限报警值。
将下限报警值调为0时为关闭下限报警功能。
教师签字:目录1、系统概述 (4)2、硬件设计 (5)3、软件设计 (6)4、系统调试 (13)附录 (14)1、系统概述温度测量范围0~99.9摄氏度,可设置上限报警温度、下限报警温度(即高于上限值或者低于下限值时蜂鸣器报警),默认上限报警温度为38℃、默认下限报警温度为5℃。
报警值可设置范围:最低上限报警值等于当前下限报警值,最高下限报警值等于当前上限报警值。
将下限报警值调为0时为关闭下限报警功能。
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。
DS18B20产品的特点(1)、只要求一个I/O口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温。
(4)、测量温度范围在-55。
C到+125。
C之间。
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
2、硬件设计使用51单片机AT89S52,其中P1管脚和P2管脚分配为数码管显示,P3.1 P3.2 P3.3为三个按键,P3.6为DS18B20的I/O管脚、P3.7为蜂鸣器,电源电压VCC为5V,数码管选用四位共阳红色数码管;DS18B20也可以根据需要用屏蔽电缆引出来。
单片机综合设计实验报告

单片机原理与应用综合实验报告题目:波形发生器的设计专业班级:__电信 _____姓名:_ ________学号: _________时间:指导教师:____张涛__________波形发生器的设计摘要本设计是基于AT89C51单片机的波形发生器。
采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。
通过按键控制可产生方波、三角波、正弦波等,同时用数码管指示其对应的频率。
其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。
各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
本设计是利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。
文中简要介绍了DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的各种芯片。
文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
信号频率幅度也按要求可调。
关键词:AT89C51 DAC0832 LM324 8位数码管显示1、引言波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路经之一,不用依靠单片机。
但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。
51单片机秒表程序设计报告

单片机程序设计报告题目: 秒表设计班级:姓名:学号:指导老师:时间:一、课题任务要求用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
即数码显示管在原先的计数上快速加一。
二、设计思路1、使用单片机,设计秒表,能显示分分秒秒;2、使用三个按键停止,开始,复位,其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时;3、使用液晶或数码管显示;4、使用定时器中断。
三、硬件设计3.1、单片机介绍单片机:AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
AT89C51主要特性:·与MCS-51 兼容·低功耗的闲置和掉电模式·4K字节可编程闪烁存储器·全静态工作:0Hz-24MHz·寿命:1000写/擦循环·数据保留时间:10年·三级程序存储器锁定·128×8位内部RAM·片内振荡器和时钟电路·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道3.2管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
基于PIC单片机的智能小车设计报告

摘要本作品采用PIC16F886单片机作为电动车的检测和控制系统。
通过光电传感器ST178来检测路面黑色循迹线,使电动车按预定的轨道行驶,由E18-D80NK传感器检测障碍物,从而控制电动车无碰壁地通过II区和III 区的通道。
电动车的行驶状态,电动车的行驶时间,电动车的行驶路程由液晶LCD12684显示。
一、设计任务概述1.1设计任务概述设计制作一台智能电动小车,该电动小车能按照行径路线(见图示)自动运行,通过I区的黑色轨迹和II、III区的障碍物通道,并完成规定的动作。
1.2基本任务(1)从起跑线A出发,沿轨迹至B,最后经C到达停止线D,总时间要求在90秒内完成,并能实时显示时间。
(2)赛场分Ⅰ、Ⅱ、Ⅲ三个区。
到Ⅱ区入口处B点,应停留5秒,并能发出断续声光报警。
(3)到停止线D,小车车身中心点(选手可以事先在小车上标注)应对准停止线,误差控制在±2cm,并能发出断续声光报警。
1.3发挥部分(1)能实时记录并显示行驶路程。
(2)尽量缩短行驶总时间。
(3)行驶过程中不碰壁。
(4)其它。
注:智能电动小车场地图片的相关说明智能电动小车场地图二、系统方案与论证:根据题目中的设计要求,本系统主要由控制器模块、电源模块、避障模块、循迹传感器模块、直流电机及其驱动模块、液晶显示模块构成。
本系统的方框图如下图所示:系统总框图为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。
2.1车体方案论证与选择方案一:购买玩具电动车。
购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。
玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。
而且这种电动车一般都价格不菲。
因此我们放弃了此方案。
方案二:使用现成的小车,并根据要求对其进行改装,采用直流减速电机,力矩大,空载转速快,负载性能好,易调速,这样即节省了比赛的时间,也能完成比赛的要求。
小车图示如下:小车实物综上所述,我们采取了方案二。
单片机项目设计报告

单片机项目设计报告一、引言单片机是一种集成电路芯片,具有处理器、存储器和输入输出设备等功能,广泛应用于嵌入式系统中。
本报告旨在介绍一个针对单片机的项目设计,包括设计目标、硬件设计、软件设计和测试结果等内容。
二、设计目标本项目旨在设计一个能够实现温度监测和控制的系统。
具体目标如下:1. 实时监测环境温度,并通过显示器显示当前温度值;2. 当温度超过设定阈值时,自动触发风扇工作,降低温度;3. 当温度降低到设定阈值以下时,自动关闭风扇。
三、硬件设计1. 传感器模块本项目使用温度传感器模块,通过模拟输入引脚读取环境温度。
传感器模块与单片机通过模拟输入引脚相连。
2. 控制模块本项目使用继电器模块作为控制模块,通过控制继电器的通断实现风扇的开关。
控制模块与单片机通过数字输出引脚相连。
3. 显示模块本项目使用液晶显示器模块作为显示模块,通过显示器显示当前环境温度值。
显示模块与单片机通过数字输出引脚相连。
四、软件设计1. 初始化在程序开始时,对单片机进行初始化设置,包括配置模拟输入引脚、数字输出引脚和显示器等。
2. 温度读取通过模拟输入引脚读取温度传感器模块的输出值,将其转换为温度值。
3. 温度显示将温度值通过数字输出引脚发送给液晶显示器模块,实时显示当前温度值。
4. 温度控制设置一个设定阈值,当温度超过该阈值时,控制继电器模块通断,触发风扇工作;当温度低于设定阈值时,关闭风扇。
五、测试结果经过测试,本项目能够准确地实时监测环境温度,并通过液晶显示器模块显示当前温度值。
当温度超过设定阈值时,风扇能够自动启动,有效降低温度;当温度降低到设定阈值以下时,风扇能够自动关闭。
六、结论本项目成功设计并实现了一个能够实时监测和控制温度的系统。
通过单片机的硬件设计和软件设计,实现了温度传感器的读取、显示模块的显示和风扇的控制。
该系统具有温度监测和控制的功能,可广泛应用于各种需要温度控制的场合。
七、展望在今后的改进中,可以考虑添加更多的传感器模块,如湿度传感器、光照传感器等,实现更多的环境监测功能。
单片机设计报告

单片机课程设计题目: 数字音乐盒设计要求:存放4首以上乐曲,能选曲或循环播放班级:13电信卓越学号:130803012姓名:黄赵完成日期:2015年01月01日指导老师:刘小燕老师目录引言 .................................................... 错误!未定义书签。
1概述................................................... 错误!未定义书签。
1.1课题意义........................................... 错误!未定义书签。
1.2设计方案 (1)1.3研究内容 (1)2 系统总体方案介绍 (1)2.1系统组成框图 (1)2.2音乐盒的功能结构图 (1)2.3主要设计软件介绍................................... 错误!未定义书签。
2.3.1 PROTEUS软件简介 ............................... 错误!未定义书签。
2.3.2 KEIL简介 ...................................... 错误!未定义书签。
3硬件设计. (2)3.1总体设计框图 (2)3.2各部分硬件设计及其原理 (2)3.2.1 AT89C51简介 (2)3.2.2 LED显示电路设计与原理 (3)3.2.3 时钟振荡电路 (3)3.3硬件电路图及功能 (3)4软件设计 (4)4.1音调、节拍以及编码的确定方法 (4)4.1.1 音调的确定 (5)4.1.2 节拍的确定 (6)4.1.3 编码 (6)4.2软件程序设计 (7)4.2.1 程序流程图及相应代码块 (7)4.2.2 程序源代码(见附录A) ......................... 错误!未定义书签。
5调试. (10)5.1检查硬件连接 (10)5.2检查软件系统 (10)5.3测试结果 (10)5.3.1.总体运行图.................................... 错误!未定义书签。
单片机设计报告

单片机设计报告一、引言单片机是一种集成电路芯片,具有微处理器核心、内存、输入输出接口等功能模块,广泛应用于各类电子设备中。
本报告旨在介绍我所设计的单片机系统,包括硬件设计和软件编程。
二、设计目标本次设计的目标是基于单片机实现一个温度测量和控制系统。
通过采集环境温度并根据设定值进行控制,实现对温度的监测和调节。
系统需要具备以下功能:1. 温度传感器:采集环境温度数据。
2. 液晶显示屏:显示当前温度和设定温度值。
3. 控制模块:根据设定温度值控制外部设备,如风扇、加热器等。
三、硬件设计1. 单片机选择:本设计选用了STM32F103C8T6单片机。
2. 温度传感器:采用DS18B20温度传感器,通过单总线接口与单片机相连。
3. 液晶显示屏:利用4位并行接口连接单片机和液晶显示屏。
4. 控制模块:使用继电器控制外部设备,通过单片机的GPIO口控制继电器。
四、软件设计1. 系统初始化:设置单片机时钟、GPIO口、ADC模块等,并初始化温度传感器和液晶显示屏。
2. 温度采集:通过单总线协议与温度传感器通信,获取环境温度数据。
3. 显示界面:将温度数据和设定温度值显示在液晶显示屏上。
4. 温度调节:判断当前温度与设定温度的差值,根据差值控制继电器开关,实现温度调节。
5. 主程序循环:不断采集温度、更新显示界面和进行温度调节。
五、测试和结果分析经过对设计的硬件和软件进行调试,实现了预期的功能。
系统能够准确地采集环境温度,并将其显示在液晶显示屏上。
通过设定温度值和温度差值的调节,能够实现对外部设备的控制,使温度保持在设定范围内。
六、优化与改进此次设计虽然实现了基本功能,但还有一些优化空间。
例如,可以增加报警功能,当温度超出设定范围时,触发警报。
同时,可以考虑添加存储功能,记录温度变化数据以供后期分析和调整。
此外,还可以进一步优化温度传感器的精度和响应时间。
七、总结通过本次单片机设计,我深入了解了单片机的工作原理,并通过实践掌握了硬件设计和软件编程的技能。
单片机设计报告

单片机设计报告万年历设计与实现学校:西安电子科技大学学院:计算机学院作者:王东东2011年11月20日目录目录第1章概述 (1)第2章STC89C52单片机 (2)2.1 STC89C52简介 (2)2.2 STC89C52引脚及功能 (2)第3章LCD1602显示器 (4)3.1 LCD1602显示器简介 (4)3.2 LCD1602显示器的引脚及功能 (4)第4章作品介绍 (6)4.1硬件电路说明 (6)4.2软件设计及源码 (6)4.3作品使用说明 (9)4.4作品特色及可扩展性 (9)4.5作品成本及性能 (9)第5章设计总结 (11)第6章附录 (12)参考文献 (25)第1章概述第1章概述在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,LCD1602都有很大的作用。
STC89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
51单片机以其体积小,功耗低,重量轻,功能强大等优点,在人们日常生活中随处可见,在当今这个电子时代,真是无处不有单片机啊。
而lcd是一种智能仪器,可以显示数字,字母,甚至汉字,是很多产品不可或缺的材料,其自带指令集,利用方便,功耗低。
本作品采用STC89C52和LCD1602液晶显示器实现万年历时钟。
主要工作及过程如下:1.对设想进行电路实现,最终采用8个发光二极管分别指示时钟各位的调节.2.软件程序设计,软件流程分析与绘制流程图,之后编写代码,并进行多次调试,计算并调整时间的精确度,最终实现如下:(1).万年历时钟正常工作时,8个发光二极管即为一个流水灯。
单片机 简易计算器 设计报告3

设计报告1.题目:简易计算器2. 总体设计:设计键盘输入部分并转换为相应的数值,在显示的同时进行保存,碰到运算符要马上进行运算处理并将结果送显示缓冲区。
每按一个键,程序都要做出反应,如果是数字键,则并入操作数中,如果是运算符键或者功能键,则要做相应的处理或者进行运算,不要求支持运算符的优先级。
3.程序设计流程图4.源程序:org 0000hop equ 20hop1 equ 21hop2 equ 22hstart: mov sp,#60h :键盘初始化mov dptr,#0ff20hmov a,#03hmovx @dptr,amov 70h,#00mov op, #00mov op1, #00mov op2, #00key1: acall ks1jnz lk1n1: acall dirajmp key1lk1: acall dir :延时6msacall diracall ks1jnz lk2acall dirajmp key1lk2: mov r2,#0feh :列扫描码送R2mov r4,#0 :R4列计数单元lk4: mov dptr,#0ff21h :列扫描码送PA口mov a,r2movx @dptr,ainc dptrinc dptrmovx a,@dptr :读C口jb acc.0,lone :0行为高电平转判1行mov a,#07hajmp lkplone: jb acc.2,nextmov a,#01hajmp key1lkp: add a,r4 :行首健号+列号=建号mov 51h,acjne a,#0ah,l1mov op,aajmp key1l1: jc qq ; 判断是数字或者运算符号mov op,aajmp key1qq: mov a,op ;判断此次数字输入前有无运算符号jnz m2m1: mov a,#10 ;数字保存到OP1中mov b,op1mul abadd a,70hmov op1,apush accajmp ppm2: mov a,#10 ;数字保存到OP2中mov b,op2mul abadd a,70hmov op2,app: mov 70h,a ;数字存放到显示缓存区push acclk3: acall diracall ks1jnz lk3pop accajmp key1next: inc r4 ;列扫描计数器加一mov a,r2 ;判是否一扫到最后一列jnb acc.7,knd ;扫到则转移rl a ;列扫描码左移一位mov r2,aajmp lk4knd: ajmp key1ks1: mov dptr,#0ef21h ;判断键闭合mov a,#0movx @dptr,ainc dptrinc dptrmovx a,@dptrcpl aanl a,#1fhretdir: cpl p1.0 ;键扫描显示子程序mov r0,#70hmov a,@r0anl a,#0fhmov 30h,amov a,@r0swap aanl a,#0fhmov 31h,amov r0,#30hmov r3,#01hdo1: mov a,r3 ;查字型码表mov dptr,#0ef21hmovx @dptr,ainc dptrmov a,@r0add a,#0dhmovc a,@a+pcdir1: movx @dptr,a ;移位显示acall dlmov a,r3rl ajb acc.2,ld1mov r3,ainc r0ajmp do1ld1: retdseh: db 0f8h,99h,80h,92h,90h,82h,88h,83h ;字型码表db 0f9h,0c0h,0a4h,081h,0b0h,086h,0c6h,0a1hdl: mov r7,#2 ;延时子程序dl1: mov r6,#0ffhdl2: djnz r6,dl2djnz r7,dl1retcalc: mov r7,op ;运算子程序cjne r7,#0ah,notaddclr c ;加mov a,op1add a,op2sjmp fcalcnotadd: cjne r7,#0bh,notsubclr c ;减mov a,op1subb a,op2sjmp fcalcnotsub: cjne r7,#0ch,notmulclr c ;乘mov a,op1mov b,op2mul absjmp fcalcnotmul: clr c ;除mov a,op1mov b,op2div absjmp fcalcfcalc: mov 50h,a ;结果存放到显示缓存区anl a,#0fhmov 72h,amov a,50hswap aanl a,#0fhmov 73h,adisp: mov r3,#01h ;结果显示mov r0,#70hmov a,r3mov dptr,#0ff21hmovx @dptr,amov dptr,#0ff22hmov a,@r0add a,#03hmovc a,@a+pcmovx @dptr,aacall dlaydb 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h, ;字型码表db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehdlay: mov r7,#02h ;延时子程序dlay1: mov r6,#0ffhdlay2: djnz r6,dlay2djnz r7,dlay1retend5.硬件使用使用方法:键盘0~9实现数字的输入,A,B,C,D分别代表+,-,*,/运算符号。
基于单片机的简易电子琴设计报告

电子琴设计报告所在系部:电气工程与自动化系专业名称:自动化摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89C52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:STC89C52单片机音色节拍器自动放音引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89252单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。
并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
单片机花样流水灯设计实验报告

单片机花样流水灯设计实验报告* * 大学物理学院单片机花样流水灯设计实验课题: 花样流水灯设计班级: 物理 *** 姓名: ***学号:【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。
制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。
本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。
本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
关键字:AT89C51 单片机流水灯数码管2【概述】1. 单片机及其发展概况单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。
单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。
2. Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。
利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。
【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. . .. . .
2017—2018学年度第一学期
《单片机原理及应用》作品考试
模拟电梯
提交文档
姓名黄任军朱子豪
年级
专业通信工程
系(院)信息科学与工程学院
任课教师
2018 年1月2日
2017-2018-1《单片机原理及应用》作品设计提交文档
一、作品设计目的
高温警报器在生活中应用非常广泛,比如,汽车的水箱高温警报,假如汽车水箱一直处于高温情况下又不能及时散热,这会对汽车的安全性能有极大的影响。
假如有高温警报器的话,可以将报警温度设置在水箱最高温度以下10摄氏度,这样可以让车主意识到水箱温度已经快要到达极限温度了,必须赶快降温。
二、作品设计容
1、总电路图显示
2、总程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DS=P2^2; //定义温度传感器端口
uint temp;
uchar flag1; // 温度的正负
sbit dula=P2^6;
sbit wela=P2^7;
sbit beep=P2^0;
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
0x87,0xff,0xef};
void delay(uint count) //delay
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
void dsreset(void) //发送复位和初始化命令
{
uint i;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
}
bit tmpreadbit(void)
{
uint i;
bit dat;
DS=0;i++; //延迟
DS=1;i++;i++;
dat=DS;
i=8;while(i>0)i--;
return (dat);
}
uchar tmpread(void)
{
uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmpreadbit();
dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT 里
}
return(dat);
}
void tmpwritebyte(uchar dat) //像温度传感器写入一个数
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) //write 1
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0; //write 0
i=8;while(i>0)i--;
DS=1;
i++;i++;
}
}
}
void tmpchange(void) //DS18B20开始改变
{
dsreset();
delay(1);
tmpwritebyte(0xcc);
tmpwritebyte(0x44);
}
uint tmp()
{
float tt;
uchar a,b;
dsreset();
delay(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe);
a=tmpread();
b=tmpread();
temp=b;
temp<<=8;
temp=temp|a;
tt=temp*0.0625;
temp=tt*10+0.5;
return temp;
}
void display(uint temp) //显示程序{
uchar A1,A2,A2t,A3;
A1=temp/100;
A2t=temp%100;
A2=A2t/10;
A3=A2t%10;
dula=0;
P0=table[A1]; //显示百位
dula=1;
dula=0;
wela=0;
P0=0x7e;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table1[A2]; //显示十位
dula=1;
dula=0;
wela=0;
P0=0x7d;
wela=1;
wela=0;
delay(1);
P0=table[A3]; //显示个位
dula=1;
dula=0;
P0=0x7b;
wela=1;
wela=0;
delay(1);
}
void main()
{
uchar a;
beep=0; //先关蜂鸣器
do
{
tmpchange();
for(a=10;a>0;a--)
{
display(tmp());
}
if(temp>=340) //当温度超过34度,蜂鸣器便会报警。
{
P1=0x00;
beep=1; //蜂鸣器开
}
else
{
beep=0; ////蜂鸣器关
P1=0xff;
}
} while(1);
3、PCB设计过程(1)画原理图
(2)生成PCB图
(3)布线
(4)敷铜
三、调试过程
1、详细连线
(1)将单片机的VCC,P0.0 – P0.7用排线连接至数码管的针脚。
(2)将P2.0端口用杜邦线与蜂鸣器相连。
(3)将DS18B20以半圆形朝上的方式插入温度传感器接口。
2、调试过程简介
连接好各个模块,将程序写入STC89C52单片机中,用打火机快速烧温度传感器,温度超过34度,蜂鸣器开始发出报警声,当温度自然冷却到34度之下,蜂鸣器停止工作。
四、作品设计心得和经验
我和搭档两个人确立好课题之后,便进行了分工,我负责程序的设计,我搭档负责PCB 制版。
两个人效率非常高。
当我的程序能运行出来,我就去实验室去烧写,最终完美运行,然后通知搭档。
搭档在宿舍里开始制版。
最终完成了课题。
经验:在制作课题的过程中,互联网非常的方便。