单片机 课程设计实验报告
关于单片机实训报告万能【六篇】
关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
单片机实训报告范文精选5篇精选
单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。
第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。
比方:小灯得点亮就没有用到中断可以先不用看。
如此可以防止知识过多记不住的苦恼。
关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。
第三:程序不要只是看别人得,一定要本人写过才是本人的。
开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。
明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。
当你本人能写出来的时候说明你真明白了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运转时不能实现理想的现象。
这时有人就晕了不知该如何办,然后就去征询别人。
当别人找出征询题出在哪里时就会恍然大悟。
事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。
本人一定要掌握处理征询的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个特别有用。
通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。
单片机控制课程设计报告
单片机控制课程设计报告一、课程目标知识目标:1. 理解单片机的内部结构、工作原理及其功能特点;2. 掌握单片机编程的基础知识,如指令系统、寄存器、中断等;3. 学会使用单片机进行基本的输入输出控制。
技能目标:1. 能够运用所学知识,设计简单的单片机控制系统;2. 熟练使用编程软件进行单片机程序编写、调试与下载;3. 培养学生动手实践能力,提高解决实际问题的技能。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学生学习积极性;2. 培养学生团队协作意识,提高沟通与表达能力;3. 培养学生创新精神,鼓励学生勇于尝试、不断探索。
课程性质分析:本课程为单片机控制课程设计,旨在帮助学生将所学理论知识与实际应用相结合,提高学生的动手实践能力和创新能力。
学生特点分析:本课程针对的是高年级学生,他们已经具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足。
教学要求:1. 结合课本内容,注重理论与实践相结合,强化学生的动手实践能力;2. 注重培养学生的创新意识和团队协作能力,提高学生的综合素质;3. 通过课程设计,让学生体验从理论到实践的完整过程,提高学生解决实际问题的能力。
二、教学内容1. 单片机原理概述:介绍单片机的基本概念、内部结构、工作原理及性能特点,对应教材第一章。
- 单片机的内部组成及其功能- 单片机的工作流程与性能参数2. 单片机编程基础:学习单片机编程语言、指令系统、寄存器及中断处理,对应教材第二章。
- 编程语言(汇编语言、C语言)- 指令系统及常用指令- 寄存器及其应用- 中断处理原理与编程3. 单片机I/O接口技术:学习单片机I/O接口的原理与应用,对应教材第三章。
- I/O接口的分类与特性- I/O接口的编程与控制4. 单片机控制系统设计:结合实际案例,教授单片机控制系统的设计方法,对应教材第四章。
- 系统设计流程与步骤- 硬件设计(电路图绘制、元器件选型等)- 软件设计(程序结构、算法实现等)5. 课程设计与实践:组织学生进行课程设计,巩固所学知识,提高实际操作能力。
单片机实验报告
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机课程设计实习报告(共6篇)
单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的1、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。
51单片机课程设计报告
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
单片机实训工作报告【三篇】
【导语】在单⽚机实训教学过程中采⽤教师引导,学⽣主导的教学⽅式,让学⽣掌握技巧,⿎励学⽣独⽴思考。
以下是⽆忧考整理的单⽚机实训⼯作报告,仅供参考! 篇⼀ 1.课程设计⽬的 1)巩固单⽚机基础知识,串联知识点。
2)学会绘制PCB板,学会⼿⼯制板的⼀般⽅法。
3)使⽤Protel等EDA⼯具进⾏单⽚机硬件系统设计的能⼒。
4)基于KeilIDE开发单⽚机应⽤程序的能⼒。
5)写技术报告和编制技术资料的能⼒。
6)独⽴⼯作能⼒和创造⼒。
7)综合运⽤专业及基础知识,解决实际⼯程技术问题的能⼒。
2.课程设计题⽬描述和要求 旋转电⼦时钟的设计与制作 实现的功能要求:(1)实现单⽚机最⼩系统;(2)四只LED数码管显⽰当前时分;(3)每隔⼀秒钟周边的60只LED发光管旋转⼀格,装饰⽤的LED每隔⼀秒旋转⼀次;(4)实现整点报时;(5)实现按键调整;(6)停(掉)电保护,年计时误差⼩于30秒;(7)其他功能。
3.课程设计报告内容 3.1⽅案论证 3.1.1单⽚机定时器做电⼦时钟 优点:考虑到单⽚机货源充⾜、价格低廉,可软硬件结合使⽤,能够⽅便的实现系统的多功能性,故采⽤单⽚机作为本设计的硬件基础。
故其优点是外围电路简单,只需要⼀个单⽚机最⼩系统,和⼀个显⽰模块。
缺点:定时不是很准确,计时误差较⼤,并且程序的编写较繁琐。
3.1.2数字电路做电⼦时钟 优点:具有⾛时准确、显⽰直观、⽆机械传动装置。
与传统的机械钟先⽐,电⼦钟具有更优异的优点。
由于电⼦钟采⽤数字集成电路的发展和采⽤了先进的⽯英技术,使电⼦钟具有⾛时准确、性能稳定、携带⽅便等优点,电⼦钟⽤于定时⾃动报警、按时⾃动打铃、时间程序⾃动控制、定时⼴播及⾃动控制等各个领域。
缺点:因为电⼦钟毕竟是电⼦产品,电⼦产品都有辐射,不过电⼦钟危害极低,对⼈体够不成任何危害,不象⼿机的辐射那么⼤。
应⽤:⽬前,在国内,电⼦钟因数码管数字显⽰效⽤直接有效,所以⼤多运⽤在城市的主要营业场所,以及车站、码头等公共场所。
单片机原理及应用课程设计报告
单片机原理及应用课程设计报告
一、概述
单片机原理及应用课程设计是一门理论与实践相结合的课程,旨在培养学生掌握单片机的基本原理和应用技能。
通过本次课程设计,我深入了解了单片机的内部结构和工作原理,掌握了单片机的基本操作和编程方法,学会了使用单片机进行简单的应用开发。
二、设计内容
本次课程设计的主题是设计一个基于单片机的智能小车。
小车采用红外传感器进行避障,使用电机驱动小车前进、后退和转弯。
同时,小车还具有遥控控制功能,可以通过遥控器控制小车的运动。
在实现这些功能的过程中,我深入了解了单片机的定时器、中断、串口通信等内部资源的使用方法。
三、实验结果
经过多次实验和调试,智能小车最终实现了预期的功能,能够自动避障并按照遥控器的指令进行运动。
实验结果表明,单片机具有很高的实用性和应用价值。
四、总结
通过本次课程设计,我不仅掌握了单片机的应用技能,还培养了解决问题的能力和创新思维。
我相信这次课程设计将对我未来的学习和工作产生积极的影响。
单片机实验报告
一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
单片机设计实验报告简单计算器的设计
目录1.总体方案选择 (2)1.1 实验要求: (2)1.2方案设计 (2)2.硬件原理电路图的设计及分析 (3)2.1主控模块 (3)2.1.1 STC89C52单片机主要特性 (3)2.1.2 STC89C52单片机管脚图 (4)2.1.3 STC89C52单片机的中断系统 (5)2.1.4 STC89C52单片机的定时/计数器 (5)2.2矩阵键盘模块设计: (5)2.2.1矩阵键盘原理介绍 (5)2.2.2矩阵键盘电路设计 (6)2.3 LCD液晶显示器简介 (7)2.3.1液晶模块简介 (7)2.3.2液晶显示部分与89S52的接口 (8)3系统软件设计 (10)3.1系统软件流程图 (10)3.2系统整体原理图 (11)4.系统调试 (12)4.1硬件调试 (12)4.2软件调试 (12)4.3调试结果 (13)5.心得体会131.总体方案选择1) 1.1 实验要求:2)通过小键盘实现数据的输入, 并在LED数码管上显示3)实现+、-、*、/4)在LED数码管上显示结果并有清零, 退出功能1.2方案设计本系统以STC89C52单片机为控制核心, 对系统进行初始化, 主要完成对键盘的响应、液晶显示灯功能的控制, 起到总控和协调各模块之间工作的作用。
单片机通过检测键盘读取使用者按下对用功能的按键, 然后通过单片机内部运放把运算的结果显示在液晶屏幕上。
图1-1系统结构框图本系统结构如图1-1所示, 本设计可分为以下模块: 单片机主控模块、键盘模块、功率放大模块、闹铃模块、按键设置模块。
下面对各个模块的设计方案逐一进行论证分析。
2.硬件原理电路图的设计及分析2.1主控模块STC89C52有40个引脚, 4个8位并行I/O口, 1个全双工异步串行口, 同时内含5个中断源, 2个优先级, 2个16位定时/计数器。
STC89C52的存储器系统由4K的程序存储器(掩膜ROM), 和128B的数据存储器(RAM)组成。
单片机课程设计报告
单片机课程设计报告本文主要是讨论单片机课程设计。
从实验内容、步骤以及设计思路来详细阐述单片机课程设计的重要性和实践意义。
一、实验内容单片机课程设计是电子信息类专业中不可或缺的一门课程。
它主要涉及到汇编语言、C语言编程和硬件电路设计等知识,通过这门课程的学习,学生们能够深入了解单片机的原理和应用,将软件和硬件的知识结合起来,完成单片机的功能设计。
具体实验内容一般包括单片机的基本原理、编程以及外部设备的应用等。
学生可以通过单片机实验板来实现各种功能,例如:LED灯跑马灯、数码管的显示、温度测量、语音播报等等。
这些实验内容不仅可以帮助学生理解单片机的运行原理,同时也可以提高学生的情境意识和实践能力。
二、实验步骤在进行单片机课程设计实验的时候,需要提前制定实验计划,包括实验步骤、程序设计以及测试等内容。
下面是一个简单的实验步骤示例:步骤一:在电脑上安装单片机开发软件(例如Keil、MPLAB 等),选择适合的芯片型号步骤二:编写程序代码,实现指定的功能,例如闪烁LED灯等步骤三:将程序烧录到单片机中,一般通过USB转串口的方式进行烧录步骤四:将单片机模块接入电路板上,进行实际运行测试步骤五:根据测试结果进行调试和修改,保证程序运行稳定步骤六:根据实验数据撰写课程设计报告,评估实验结果和学习效果三、设计思路在进行单片机课程设计的过程中,需要积极探索新的设计思路,发挥自己的想象力和创造力,充分利用已有的资源和知识。
设计思路主要包括以下几个方面:1、创新思维:在实验设计中,可以采用新的思路、新的方法来解决问题,充分发挥自己的想象力和创造力。
2、开放思维:打破固有的思维模式,与他人交流、思考、合作,获得更广阔的思路和设计方案。
3、整合思维:将已有的知识、技能、经验整合,形成新的设计思路和创意,将多个元素组合成更复杂的设计方案。
4、实践思维:在实验过程中,不断实践、优化和改进,获得更好的设计结果和实践经验。
综上所述,单片机课程设计是电子信息类专业中非常重要的一门课程。
单片机课程设计实习报告实习报告
单片机课程设计实习报告实习报告
实习报告
一、实习目标
本次实习的目标是设计一个基于单片机的系统,通过实践运用单片机的基本知识和技能,提升对单片机的理解和应用能力。
二、实习内容
1. 确定项目
根据个人的兴趣和实际需求,选择一个合适的项目来设计实习内容。
本次实习中,我选择了设计一个智能温湿度监控系统。
2. 硬件设计
根据项目需求,确定所需要的硬件设备,并进行硬件设计。
包括选择合适的单片机,传感器,显示屏等,并进行电路设计和布线。
3. 软件设计
根据项目需求,确定所需要的软件功能,并进行软件设计。
包括编写单片机的驱动程序,设计用户界面,实现温湿度数据的采集和显示等。
4. 系统调试
对系统进行调试和测试,确保系统的稳定运行和功能完善。
三、实习结果
经过一段时间的努力学习和实践,我成功设计并实现了一个智能温湿度监控系统。
该系统能够实时监测环境的温度和湿度,并将数据显示在LCD屏幕上。
同时,系统还可以根据设定的阈值进行报警,并向用户发送短信提醒。
四、实习心得
通过本次实习,我深刻理解了单片机的工作原理和应用场景。
通过实践运用,提升了自己的单片机设计和编程能力。
同时,也对整个系统的设计和调试流程有了更加深入的了解和认识。
总之,本次实习是一次非常有意义和收获的实践经历,我通过实际操作锻炼了自己的实际动手能力,同时也掌握了更多的专业知识和技能。
对于今后的学习和工作,将会有很大的帮助。
单片机课程设计实习报告2篇
单片机课程设计实习报告 (2)单片机课程设计实习报告 (2)精选2篇(一)实习报告1. 实习概述在本次实习中,我参与了单片机课程设计项目的开发工作。
该项目的目标是设计并实现一个功能完善的单片机系统,能完成一些常见的任务,如控制LED灯的闪烁、采集温湿度数据等。
2. 实习过程在实习的第一天,我与项目组的其他成员一起讨论了系统的设计方案。
我们决定采用STM32单片机作为硬件平台,并选择了Keil作为开发环境。
然后,我们开始了系统的搭建工作。
在搭建系统的过程中,我主要负责编写程序代码。
我首先学习了STM32单片机的相关知识,并了解了它的编程方式。
然后,我根据系统的需求,编写了一些基本的程序代码,如控制LED灯的闪烁、读取温湿度传感器的数据等。
在编写代码的过程中,我遇到了一些问题。
例如,我发现LED灯无法正常闪烁,经过调试后发现是我在代码中写错了引脚的定义。
我还遇到了一些编译错误和逻辑错误,通过查阅资料和与同事的讨论,我逐渐解决了这些问题。
在实习的最后几天,我与项目组的其他成员一起测试了系统的功能,并进行了修复和优化。
我们使用示波器和逻辑分析仪对系统进行了验证,确保系统的稳定性和可靠性。
3. 实习总结通过参与单片机课程设计实习项目,我对单片机的硬件和软件实现有了更深入的了解。
我学会了如何使用Keil编写程序代码,并通过实践掌握了调试和排除故障的技巧。
同时,我也学会了如何与团队成员合作,共同完成一个项目。
通过实习,我不仅提高了自己的技术能力,还培养了解决问题的能力和团队合作能力。
我相信这些经验和技能对我的未来发展将非常有帮助。
4. 改进建议在实习过程中,我发现有些文档和资料的描述不够清晰和详细,对我理解项目的要求和实现方式造成了一些困扰。
因此,我建议在今后的实习项目中,关注文档和资料的编写,确保其准确性和完整性。
另外,我还建议在项目开始之前进行一些充分的准备工作,包括学习相关知识和技术,以及对项目的需求和实现方式进行详细的讨论和规划。
单片机课程设计报告
单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。
2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。
3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。
技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。
2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。
3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。
情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。
2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。
3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。
课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。
学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。
教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。
2. 采用项目驱动教学法,引导学生主动探究、解决问题。
3. 培养学生的团队协作能力,提高沟通表达水平。
4. 结合生活实际,激发学生学习兴趣,培养创新思维。
二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。
- 掌握单片机的硬件结构、工作原理及性能指标。
- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。
教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。
2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。
- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。
- 学习中断、定时器、串行通信等单片机功能模块的使用。
教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。
单片机课程设计报告 电子琴
电子音调发生器一、实验目的1.了解计算机发声原理.2.熟悉定时器和键盘扫描电路的工作原理及编程方法。
二、实验完成的功能1.利用键盘1~7进行音调选择, 即按下音符产生对应音调。
2.事先存储三首歌曲, 并可进行选择播放。
3.谱曲功能:通过按键对LCD菜单选项进行选择, 进入谱曲界面, 通过按键1~7分别输入音高与几分音符类型, 由按键输入若干数据完成谱曲。
4.在播放存储歌曲与谱曲播放时,对应音符及其节奏LCD显示对应频谱。
5.在播放音乐时按“返回”键出现返回界面,由键盘按“确认”键选择返回主菜单或循环播放。
三、实验原理1.音节由不同频率的方波产生, 音节与频率的关系如表(1)所示。
要产生音频方波, 只要计算出某一音频的周期(..频率), 然后将此周期除以2, 即为半周期的时间。
利用计时器计时此半周期时间, 每当计时到后就将输出方波的I/O(P1.7)反相, 然后重复计时此半周期时间再对I/O反相, 就可在P1.7脚得到此频率的方波。
将P1.7经过驱动电路与蜂鸣器相连, 随着P1.7口输出不同频率的方波, 蜂鸣器便会发出不同的声音。
音乐的节拍是由延时实现的, 如果1拍的时间为0.4秒, 1/4拍是0.1秒。
只要设定延时时间, 就可得到节拍的时间。
延时实现基本延时时间, 节拍值只能是它的整数倍。
每个音节相应的定时器初值计算公式如下:(1/2)*(1/f)=(12/fose)*(216-x)即 x=216-(fose/24f)其中, f是音调频率, 当晶振fosc=11.0592MHz时, 音节“1”相应的定时器初值为x, 则可得到x=63777D=F921H, 其它的可同样得到。
表(1)音节与频率的关系在编写歌曲代码过程中, 音高由三位数字组成: 个位是表示1~7 这七个音符;十位是表示音符所在的音区:1-低音, -中音, -高音;百位表示这个音符是否要升半音: 0-不升, -升半音。
音长最多由三位数字组成: 个位表示音符的时值, 其对应关系是:|数值(n): |0 |1 |2 |3 | 4 | 5 | 6|几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n 十位表示音符的演奏效果(0-2): 0-普通, -连音, -顿音, 百位是符点位: 0-无符点, 1-有符点。
单片机课程设计报告
单片机课程设计报告一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及工作方式。
2. 学生能掌握单片机编程的基本语法,具备编写简单程序的能力。
3. 学生能了解单片机在各种实际应用中的功能,如智能家居、机器人等。
技能目标:1. 学生能够运用所学知识,独立完成单片机的硬件连接与调试。
2. 学生能够运用编程软件,编写简单的单片机程序并进行烧录。
3. 学生能够通过小组合作,完成一个具有实际应用价值的单片机项目。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发探索精神。
2. 学生通过课程学习,提高问题解决能力和团队协作能力。
3. 学生能够认识到单片机技术在实际应用中的价值,增强社会责任感和创新意识。
课程性质:本课程为实践性较强的学科,要求学生结合理论知识,动手实践,培养实际操作能力。
学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但需加强团队协作和问题解决能力的培养。
教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手能力和创新能力。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果。
教学设计和评估将围绕具体学习成果展开,确保课程目标的实现。
二、教学内容1. 单片机基础理论:包括单片机的基本原理、内部结构、工作方式等,对应教材第一章内容。
- 单片机的发展历程与分类- 单片机的内部结构与功能- 单片机的工作原理与指令系统2. 单片机编程语言:学习单片机编程的基本语法和编程技巧,对应教材第二章内容。
- 汇编语言的编写与烧录- C语言的编写与烧录- 常用编程指令的应用3. 单片机硬件连接与调试:学习如何搭建单片机硬件系统并进行调试,对应教材第三章内容。
- 单片机最小系统搭建- 外围电路的设计与连接- 硬件调试方法与技巧4. 单片机应用案例:分析并实践单片机在各种实际应用中的功能,对应教材第四章内容。
- 智能家居系统设计- 机器人控制程序编写- 物联网应用案例分析5. 实践项目:结合所学知识,完成一个具有实际应用价值的单片机项目,为期4周。
单片机课程设计实验报告
单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。
2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。
3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。
技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。
2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。
3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。
2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。
3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。
课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。
课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。
学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。
但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。
3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。
二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。
单片机原理与应用课程设计报告
单片机原理与应用课程设计报告一、设计题目基于单片机的智能温度控制系统二、设计目的通过本次课程设计,旨在加深对单片机原理与应用的理解,掌握单片机的基本应用,提高实际操作能力和解决问题的能力。
同时,通过设计一个智能温度控制系统,实现对温度的实时监测和控制,提高系统的自动化和智能化水平。
三、设计原理本设计采用单片机作为主控制器,通过温度传感器采集环境温度信息,经过A/D转换器将模拟信号转换为数字信号,再由单片机进行处理。
根据设定的温度阈值,单片机输出相应的控制信号,驱动加热元件或风扇等执行机构,实现对温度的调节和控制。
同时,通过LED显示屏实时显示当前温度值。
四、硬件电路设计1. 单片机选择:采用常用的51单片机作为主控制器。
2. 温度传感器:采用DS18B20数字温度传感器,具有测量精度高、抗干扰能力强等优点。
3. A/D转换器:采用ADC0809芯片,将温度传感器输出的模拟信号转换为数字信号。
4. 执行机构:采用继电器控制加热元件和风扇等设备。
5. LED显示屏:采用1602液晶显示屏,用于实时显示当前温度值。
五、软件程序设计1. 主程序:初始化单片机和相关硬件,启动温度传感器采集温度数据,循环检测温度值,根据设定阈值控制执行机构。
2. 温度采集程序:启动温度传感器采集环境温度数据,经过A/D转换器转换为数字信号后传送给单片机。
3. 显示程序:将当前温度值实时显示在LED显示屏上。
4. 控制程序:根据设定的温度阈值,输出相应的控制信号驱动执行机构进行温度调节。
六、实验与测试1. 硬件电路搭建:按照设计原理图搭建硬件电路,确保连接正确无误。
2. 程序编写与调试:编写软件程序并进行调试,确保程序运行正常。
3. 系统测试:通过实际测试验证系统的功能和性能,包括温度采集、控制、显示等功能。
4. 结果分析:对测试结果进行分析和总结,找出存在的问题和改进的方向。
七、结论与展望通过本次课程设计,我们成功地设计并实现了一个基于单片机的智能温度控制系统。
单片机课程设计实验报告
单片机课程设计实验报告1. 实验目的本实验旨在通过单片机课程设计实验,掌握单片机的基本原理、编程方法和实验操作技巧,培养实际动手能力和创新意识。
2. 实验内容本次实验的内容是使用单片机进行信号采集与控制。
具体包括以下几个部分:2.1 信号采集首先,我们需要利用单片机的模拟输入功能,通过外部传感器采集环境中的温度、湿度和光照等信号,并将其转换为数字信号供单片机处理。
在本实验中,我们采用温湿度传感器和光敏传感器作为信号源,将它们与单片机的模拟输入引脚连接,通过编程读取传感器输出的模拟电压值,并进行相应的数值处理。
2.2 数据处理与显示采集到的信号经过模数转换后,将在单片机内部得到相应的数字值。
接下来,我们需要对这些数据进行处理,并将结果显示在数码管或LCD液晶屏上。
在本实验中,我们可以利用单片机的数字输出端口控制数码管显示温度、湿度和光照度等数据。
也可以通过串口通信方式将数据发送到上位机进行进一步处理和显示。
2.3 信号控制除了信号采集和显示外,单片机还具备信号输出的功能。
我们可以使用单片机的数字输出端口向外部器件发送控制信号,控制其工作状态。
在本实验中,我们可以利用单片机的数字输出口控制LED灯的亮灭,或者控制电机的转动方向和速度等。
2.4 扩展应用我们还可以通过外部扩展模块,如无线模块、蓝牙模块等,将单片机连接到网络或其他设备上,实现更加丰富的应用。
3. 实验步骤1.搭建实验电路:按照实验要求,连接单片机、传感器和显示模块等元件,确保电路连接正确无误。
2.编写程序:打开开发环境,编写单片机程序,实现信号采集、处理和控制功能。
3.烧录程序:将编写好的程序烧录到单片机中,并确保烧录成功。
4.实验调试:连接电源,启动单片机,进行实验调试。
根据实验需求,调整传感器和器件的工作参数,观察实验结果是否符合预期。
5.总结与报告撰写:对实验过程和结果进行总结,撰写实验报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。
单片机课程设计报告[5篇]
单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。
通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。
关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。
实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。
在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。
实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。
实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用实验》题目:动态数码显示技术院(系)信息科学与工程学院专业通信工程届别 2012级班级 1 班学号姓名任课老师动态数码显示技术摘要:本设计利用51单片机为核心,实现数码管的动态显示。
通过检测按键状态来分别连续显示数字和字母。
硬件电路采用单片机开发板中的锁存器74HC573和4位数码管,软件部分使用常用的单片机程序编译器Keil C51和烧写软件STC-ISP,分别用汇编语言实现了了主程序、延时程序和数字/字母显示子程序,算法实现简单,流程明确,具有较好的扩展性。
整个系统经过不断调试,最终实现预期的设计要求。
关键词:51单片机74HC573 4位数码管汇编1.系统设计1.1设计要求利用数码管动态显示技术,使用开关控制数码管的显示状态,当开关接高电平时,显示“54321”字样,当开关接低电平时,显示“NIHAO”字样。
通过简单修改程序,可以实现流水灯效果或者移动数字和字母显示的位置。
1.2 系统设计方案1.2.1 系统设计思路本设计的目的在于连续显示5个数字或者字母,显示的方法为动态显示技术,利用51单片机和数码管可以容易实现设计要求。
需要解决的问题是如何利用好单片机的I/O口和片内资源、数码管动态显示的方法、控制按键信号的方式(包括按键终端和高低电平状态监测方式)。
1.2.2 设计方案对比方案一:采用51单片机 + 5个数码管图1 单片机驱动一个数码管显示电路如图1所示,采用每个数码管接I/O口的方式,因为数码管的段选信号需要占用8个端口,所以采用这种方式,一个单片机最多也只能接4个数码管,而且无法利用端口获得按键信息,获得高低电平信号来控制显示状态,需要添加一块单片机才可以满足系统要求。
次方案成本高,资源利用率低,效率低下。
方案二:采用51单片机 + 4位数码管 + 译码器 + 锁存器图2 译码器+锁存器的数码管动态显示如图2所示,采用4位数码管,采用译码器74HC138控制数码管的位选,增强驱动能力的同时还可以节省单片机的端口,只需要3个I/O口就可以利用译码功能实现8位数码管的位选信号控制。
74HC573是锁存器,保存数码管的段选信号,直接用单片机的P0端口控制即可。
方案三:采用51单片机 + 4位数码管 + 2个锁存器(a)锁存器电路(b)4位数码管电路图3 (a)、(b)锁存器动态数码显示电路如图3所示,采用4位数码管,利用2个锁存器作为数码管的位选和段选信号,由于锁存器74HC573可以利用使能端口控制输出口的信号,只要P1口就可以控制2个锁存器,比方案二进一步提高I/O口的利用率。
方案总结:通过三个方案的对比,发现利用方案三可以最大化利用硬件资源,而且软件实现也比较简单。
所以本设计采用方案三。
1.2.3 系统工作原理1.2.3.1 数码管动态显示技术(1)四位数码管的定义四位数码管是一种半导体发光器件,其基本单元是发光二极管。
能显示4个数码管叫四位数码管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
(2)4位数码管的驱动方式1、静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a, b, c, d, e, f, g, dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路。
位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
1.2.3.2 锁存器74HC5731、74HC573和74LS373原理一样,8数据锁存器。
主要用于数码管、按键等等的控制。
2. 高阻态:就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁;3. 数据锁存:当输入的数据消失时,在芯片的输出端,数据仍然保持。
真值表:第四行:当OE=1是,无论Dn、LE为何,输出端为高阻态;第三行:当OE=0、LE=0时,输出端保持不变;第二行第一行:当OE=0、LE=1时,输出端数据等于输入端数据。
2. 软件设计2.1 软件设计平台本设计采用单片机开发板HY510,硬件资源如图4所示。
图4 开发板⏹编译器:Keil C51 V 8.09⏹烧写器:STC-ISP V 4.99 + CH340 USB烧写器本设计采用Keil C51进行程序的调试和编译,利用烧写器STC-ISP进行烧写。
2.2 程序流程图图6 主程序流程图图7 数字/字母显示子程序(1)程序起始地址51单片机的程序空间的0000H、0003H、000BH、0013H、001BH、0023H分别为复位、外部中断0、定时/计数器0、外部中断1、定时/计数器1和串行口的中断入口地址。
如果程序不用中断,可以让程序从0000H开始一直连续编下去。
(2)位选和段选信号的切换利用锁存器74HC573的锁存功能,程序先将控制段选信号的锁存器的使能端打开,此时锁存器输出端等于由P1口输出的段选信号,每个数码管都能收到这个段选信号,但是由于需要动态显示,所以需要利用位选信号来决定点亮哪个数码管。
因为位选和段选信号都是由P1口送出,所以在送出位选信号给另一个锁存器之前,需要先将段选的锁存器锁住,无论P1口为什么信号,段选锁存器输出都保存不变。
然后将位选锁存器使能打开,由P1口送出位选信号,位选锁存器输出就能与P1口的信号,8个数码管就可以根据位选信号决定哪个数码管点亮。
2.3 程序清单见附录13. 系统测试3.1 系统的性能指标系统设计的最终效果要达到数码管动态显示,数字的显示顺序正确,显示的稳定性良好,不能出现抖动等现象。
3.2 测试方法与步骤1.利用烧写器将程序烧写到单片机开发板中;2.打开开发板电源,观察数码管是否从左到右稳定显示数字“54321”;3.按下开发板上的开关S20,观察数码管是否立即显示“NIHAO”,跳变过程是否快速,显示是否稳定;4.松开按键,数码管又能重新显示“54321”;3.3 仪器设备名称、型号3.4 测试数据、图表图8 上电显示54321图9 按住按键显示字母NIHAO4. 结论实验结果显示,系统设计符合课程设计的要求,动态显示结果正确、稳定。
参考文献[1] 贺哲荣, 甄旭. MCS-51系列单片机实用编程88例. 中国电力出版社,2011.2[2] 张友德, 涂时亮, 赵志英. 单片微型机原理、应用与实验:A51版. 复旦大学出版社,2012.3[3] 张友德, 涂时亮, 赵志英. 单片微型机原理、应用与实验:C51版. 复旦大学出版社,2010.12[4] 赵建领, 崔昭霞. 精通51单片机开发技术与应用实例. 电子工业出版社,2012.6附录1;程序开始ORG 0000H ;复位后起始执行地址MAIN:JB P3.0, SKIP_DISP_NUM ;如果按键没有按下,则P3.0口的电平为高电平,调用数字显示子程序JNB P3.0, SKIP2_DISP_CHAR ;如果按键按下,则P3.0口的电平为低电平,调用字母显示子程序SKIP_DISP_NUM:LCALL DISP_NUMAJMP MAIN; ;跳转至主程序循环SKIP2_DISP_CHAR:LCALL DISP_CHARAJMP MAIN; ;跳转至主程序循环;############################################;延时DELAY:MOV R3, #20D_LOOP1:MOV R4, #20DJNZ R4, $DJNZ R3, D_LOOP1RET;显示数字DISP_NUM:;送5SETB P2.0; ;将P2.0都置1;打开段选,锁存器输出等于输入MOV P1, #0x92; ;P1送段选CLR P2.0; ;将P2.0都置0;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x01; ;P1送位选CLR P2.1; ;锁住位选ACALL DELAY; ;延时10ms;送4SETB P2.0; ;打开段选MOV P1, #0x99; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x04; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送3SETB P2.0; ;打开段选MOV P1, #0xb0; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x02; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送2SETB P2.0; ;打开段选MOV P1, #0xa4; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x08; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送1SETB P2.0; ;打开段选MOV P1, #0xf9; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x10; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10msRET;显示字母DISP_CHAR:;送NSETB P2.0; ;将P2.0都置1;打开段选,锁存器输出等于输入MOV P1, #0xc8; ;P1送段选CLR P2.0; ;将P2.0都置0;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x01; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送ISETB P2.0; ;打开段选MOV P1, #0xf9; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x04; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送HSETB P2.0; ;打开段选MOV P1, #0x89; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x02; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送ASETB P2.0; ;打开段选MOV P1, #0x88; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x08; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10ms;送OSETB P2.0; ;打开段选MOV P1, #0xc0; ;P1送段选CLR P2.0; ;锁住段选信号SETB P2.1; ;打开位选MOV P1, #0x10; ;P1送位选CLR P2.1; ;锁住位选LCALL DELAY; ;延时10msRET;---------------------------------------------------- END;程序结束。