单片机实习报告
单片机实训报告【三篇】

【导语】实训报告是展⽰⾃⾝实训收获成长的重要报告。
以下是⽆忧考整理的单⽚机实训报告,欢迎阅读!更多相关⽂章请关注⽆忧考报告频道!单⽚机实训报告篇⼀ 通过为期⼀周的单⽚机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不⾜。
相信这对我们以后的学习和⼯作都会有很⼤的帮助。
我们⼀定要在最短的时间⾥对这些不⾜加以改正! ⾸先,在这次试训中我被单⽚机强⼤的功能所震撼,以前在课堂上完全没有能理解可编程单⽚机的优越性。
这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活⼒。
换是我们认识到这次试训不仅仅是⼀个软件的应⽤,更多的是使我们认识到学习到很多在课堂上⽆法得到的东西。
特别是protues软件的功能是我们了解了当今开发系统的新⽅向,简直太不可思议啦! 单⽚机作为⼀种最简单的软件,与我们的⽇常⽣活息息相关,了解⼀些单⽚机程序的简单录⼊是⾮常必要的。
如:LED显⽰器、键盘和显⽰器的应⽤和原理。
在被刺实训中我们每个⼈通过⼀个⼋位流⽔灯的制作,使我们深深地体会到了单⽚机在现实⽣活中的⼩⼩应⽤,既增强了我们的好奇⼼,⼜巩固了我们的理论知识。
更让我们体会到了单⽚机⼿动的开始平台的完善与成熟。
只要你有想法,单⽚机就有可能让他成为现实。
这⾥我学习完protues软件后的第⼀感觉是,虽然这软件⼯作不稳定,但是会有相当不错的效果出来。
这对我以后的⼯作⼀定会有帮助的。
在这次试训中不仅只对单⽚机编程有了新的认识,还对整个单⽚机的开发平台都有了⼀厅的了解,这是⼀笔不错的收获。
通过这⼏天的试训,使我的感触很深,真实“条条⼤路通罗马”,要达到⽬的,不同的⼈就有不同的⽅法。
只要你的⽅法不错!五花⼋门都可以,⽽且是各有特⾊。
⾛出来的结果都有各⾃的独到之处。
在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单⽚机留给⽤户的资源是有限的,所以我们要充分利⽤这些资源,达到更好的效果,这些是我们在以后的学习⽣活中应值得注意的地⽅。
单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。
老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。
一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。
一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。
当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。
希望以后能够拥有更多的实训时间和机会学习单片机。
实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。
单片机课程设计实习报告(共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、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。
[总结范文]单片机实习报告9篇
![[总结范文]单片机实习报告9篇](https://img.taocdn.com/s3/m/33c1ad270b4e767f5acfcebb.png)
[总结范文]单片机实习报告9篇单片机实习报告单片机实习报告(一):一、生产实习的目的和意义:生产实习是培养本科学生理论联系实际,提高实际动手操作潜力的重要教学环节。
本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调试的实际操作技能。
巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素质大学本科人才打下必要的基础。
透过学习,是理论与实际相结合,能够使学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时使学生直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产知识。
二、实习的基本资料:集中授课,进行相关知识的学习。
学习掌握电子产品的独立性设计与安装调试的潜力;进一步掌握电子测量仪器的正确使用方法,电元器件的测量与筛选技术。
初步了解电子整机产品的工艺过程。
为能使学生得到充分的锻炼,较大的提高学生的实际动手潜力,本次生产实习安排每一位学生独立完成全部系统的设计与安装工作。
本实习环节,学生要独立使用电焊铁及各种电子测试设备电路安装与调试,要学生严格遵守电器设备的使用安全,遵守实验室的各项规章制度。
三、基本要求:在教师的指导下练习在测试电路德核心板上焊接元件,掌握焊接要领。
熟悉元器件的性能及管脚分配。
在给定的PcB板上焊接跳线,Ic插座,电阻,电容,LED器件等。
检查焊接是否正确。
插上元器件,运行系统,并观测系统工作是否正常。
四、总体设计电路思想和原理:本次生产实习用到的开发板和模块共7块,分别为:单片机核心板,电子钟模块,mP3模块,RFID模块,无线传输模块,脉搏传感模块,GPS模块。
各模块相互组合,其所能实现的基本功能如下:单片机核心板+电子钟模块:实现时光的显示,温度的测量,且可透过遥控器调时定闹等。
单片机核心板+无线传输模块:实现数据的近距离无线传输。
单片机核心板+mP3模块:实现mP3播放功能。
单片机实训工作报告【三篇】

【导语】在单⽚机实训教学过程中采⽤教师引导,学⽣主导的教学⽅式,让学⽣掌握技巧,⿎励学⽣独⽴思考。
以下是⽆忧考整理的单⽚机实训⼯作报告,仅供参考! 篇⼀ 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数字电路做电⼦时钟 优点:具有⾛时准确、显⽰直观、⽆机械传动装置。
与传统的机械钟先⽐,电⼦钟具有更优异的优点。
由于电⼦钟采⽤数字集成电路的发展和采⽤了先进的⽯英技术,使电⼦钟具有⾛时准确、性能稳定、携带⽅便等优点,电⼦钟⽤于定时⾃动报警、按时⾃动打铃、时间程序⾃动控制、定时⼴播及⾃动控制等各个领域。
缺点:因为电⼦钟毕竟是电⼦产品,电⼦产品都有辐射,不过电⼦钟危害极低,对⼈体够不成任何危害,不象⼿机的辐射那么⼤。
应⽤:⽬前,在国内,电⼦钟因数码管数字显⽰效⽤直接有效,所以⼤多运⽤在城市的主要营业场所,以及车站、码头等公共场所。
单片机生产实习报告

单片机生产实习报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作计划、工作总结、合同协议、条据书信、规章制度、应急预案、策划方案、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work plans, work summaries, contract agreements, document letters, rules and regulations, emergency plans, planning plans, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!单片机生产实习报告单片机生产实习报告精选7篇单片机生产实习报告篇1一、实习目的单片机是一种集成电路芯片,采用超大规模集成电路技术把CPU、ROM、RAM等功能集成到一块硅片上构成一块小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机实习报告六篇

单片机实习报告六篇单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。
5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。
二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。
在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。
达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。
三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。
流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。
2 系统工作原理本设计采用STC89C52RC单片机作为本系统的控制模块。
单片机可把由ADC0809及单片机中的数据利用软件来进行处理,从而把数据传输到显示模块,实现阻值大小的显示。
单片机实训工作报告(精选3篇)

单片机实训工作报告(精选3篇)单片机实训篇1实训任务:做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重复循环3次。
然后左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
一、实训目的和要求:(1)熟练掌握keilc51集成开发环境的使用方法(2)熟悉keilc51集成开发环境调试功能的使用和单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel99se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(1)根据原理图(下图所示),用导线把单片机综合开发平台a2区的j61接口与d1区的j52接口相连。
(2)将流水灯程序编写完整并使用tkstudyice调试运行。
(3)使用导线把a2区j61接口的p1口7个口分别与j52接口的八个led相连。
(4)打开电源,将编写好的程序运用tkstudyice进行全速运行,看能否实现任务要求。
(5)观察运行结果,若能实现功能,则将正确编译过的hex文件通过easypro51编程器写入mcu片内存储器,然后将烧写的芯片a2区的圆孔ic座进行最终实验结果的演示。
(6)制板。
首先利用protel99se画好原理图,根据原理图绘制pcb 图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于单片机应用实习的实习报告一、实习目的本次实习的目的在于加深对MCS-51单片机的理解,初步掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用方法;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能;培育学生综合运用理论知识解决问题的能力,力求实现理论结合实际,学以至用的原则。
二、设计题目: 单片机数据采集系统设计三、功能描述1.实时采集0-5V的电压信号;2.将采集的0-5V的电压信号实时显示;3.可以轮流采集8路通道,或指定通道数据;4.可以设定报警上下限,并报警。
四、方案设计4.1系统分析根据系统功能要求,可将系统组成结构分成四大部分。
单片机控制中心、键盘接口。
其中,单片机控制中心是核心。
MCU根据按键输入,可切换不同的显示模式或设置不同的参数。
数码显示管第2至4位将实时采集的0~5V电压,数码管第1位显示指定通道数。
通过按键可切换到设定电压上下限报警的模式。
由于我组单片机实验板缺少烽鸣器,因此利用LED灯来报警。
以下是系统组成结构图:图1 系统组成结构图五、硬件电路设计5.1 单片机最小系统设计最小系统包括CPU时钟与复位电路,其原理图如下:图2单片机最小系统设计5.2 显示电路设计数码管主要是用于数字的显示,图中采用共阴极。
电源+5V通过470欧的电阻直接给数码管的7个段位供电,P0.0-P0.7对应了两个接数码管的a,b,c,d,e,f,g和小数点位p,P1.0,P1.1,P1.2,P1.3接位选码。
其原理图如下:图3 显示电路设计其原理图如下:图4 按键电路设计5.4 A/D转换电路设计其原理图如下:图5 A/D转换电路设计单片机工作电压为5V。
一般使用USB接口供电,直接从USB接口获取5V电源。
其原理如下图。
图6 电源电路设计5.6 报警电路设计当电压小于下限电压值或大于上限电压值时,蜂鸣器将报警。
如图所示:图7 报警电路设计六、软件设计6.1 操作功能设计根据系统的功能描述,可以将系统功能大致分成三类:轮流采集8路通道,指定通道显示,设置报警上下限。
此系统设有四个数码管,三个按键。
利用按键可切换形成多个模式,按键1将轮流采集8路通道模式与指定通道显示之间相互切换,按键2将轮流采集8路通道与设置电压上下限报警模式之间相互切换,按键3是增加1,可指定显示1~8通道,也可利用其来设置上下限电压的大小。
模式设计如下:模式1:轮流采集8路通道,此时数码管显示如1.0.00,2.4.97, 3.0.00……8.4.97。
(此时1、3通道接地,2、8通道接+5V)模式2:指定通道显示,按下键1时,模式由轮流采集8路通道变成指定通道显示,此时数码管初始显示为1.0.00, 表示为1通道的电压值;当按下按键3时,数码管值变为2.4.97, 表示2通道的电压值;当再次按下按键3时,数码管显示为3.0.00,表示3通道的电压值。
即每按一次键3, 通道数即增一,以此显示指定通道的实时电压。
模式3:当在轮流采集8路通道的模式下,按下键2。
模式将会自动切换到设置电压上下限报警模式。
此时,初始设置的电压上限为5V,电压下限为0V,通过键3可对其修改。
6.2 程序设计思路此程序所需实现的基本功能主要有:1使数码管显示采集来的实时电压,并对8个通道的电压实施轮流输出显示;2使用按键操作,将轮流显示的8个通道的电压切换成按指定通道显示输出;3可通过一功能键切换不同的模式,使系统可以调节上下限报警电压。
4通过一按键可实现对通道与上下限电压的更改,如加减。
本程序主要分为2大块,主程序与子程序。
主程序包括八通道循环采集电压工作方式,模拟量通道输入循环选择,选择通道显示电压工作方式,模拟量通道输入按键选择等。
而子程序则需包括对定时器T0进行初始化程序(定时时间设为5ms ,即每5ms 扫描一次数码管,总共有4位数码管,20ms 循环扫描一次),启动A 、D 转换程序,数码管显示程序,延时程序等。
此程序使用定时器0完成数码管动态扫描,并对按键及串口进行扫描。
当扫描到相应的按键时即执行相应的操作(如当扫描到键1时,就会改变当前的模式,从轮流采集通道模式转换到指定通道显示电压的模式)。
6.3 程序流程图图8 程序流程图七、程序调试对程序来说,最重要的就是调试阶段。
一段写好的程序当中会出现很多问题。
在单片机数据采集系统设计的程序中,出现了很多问题,有的是语法错误,以致不能成功编译;有的则是可以成功编译,但是不能达到系统的功能要求。
在单片机的实验学习中,我们做过关于A/D转换的实验。
它的功能是可以实现单通道采集电压。
但如何由单通道变成8通道,并且还能够指定通道显示,而且可以切换模式,对上下限电压进行修改。
这就需要对程序的不断调试,其调试过程具体如下:1、由单通道改至8通道:首先,这其中肯定要用到循环语句。
程序中用到了for循环,k作为循环变量。
全局变量m作为通道,m的值从1至8循环。
即当m大于8时,令m等于1。
2、按键按下检测及相关设置:此系统用到了三个按键,如何对按键进行扫描,程序位于void Timer0_ISR() interrupt 1中,即于定时器T0的中断程序中,每5ms调用一次,检测键盘是否按下,如果按下去延时抖动,然后检测到底是哪个按键按下,不同的按键有不同的功能。
用“a++, if(a>=50&&P31==0&&moshi==1)”程序实现延时消抖。
然后用if判断语句实现按键的不同作用。
3、数码管刷新显示程序;刷新显示就是根据不同的模式将显示的不同数据放到显示缓冲区中,比如模式1时显示轮流显示采集电压,模式2是显示指定通道的电压,数码管的第一位要显示通道数,数码管的后三位显示电压值,模式3是显示设置电压上下限报警值,然后由数码管输出程序输出到数码管。
4、数码管输出程序;数码管输出程序就是送段选码和位选码的程序,位于定时器T0的中断程序中。
轮流点亮4个数码管,每5ms变换一次,由于速度快,从而达到点亮每个数码管的作用。
八、使用说明8.1功能1. 可以轮流显示8个通的实时采集的电压值;2. 可以指定通道显示电压值;3. 可以设置上下限报警电压。
8.2 人机接口共有三个按键。
分别为键1,键2,键3。
总共可以实现3个模式的转换。
8.3 操作说明1. 通电后,在初始状态下,数码管显示的是轮流显示8通道电压值。
通过三个按键可以对模式进行切换,以及对其中参数进行修改。
2. 按下键1,系统切换到指定通道显示界面,在此基础上按键3,可以实现从1通道到8通道任意指定通道显示电压值。
再按下键1,又可返回到轮流显示8通道电压值。
3. 按下键2,系统切换到设置电压上下限报警电压值。
在此基础上,按下键3,可以对上下限电压值进行设置,每按一下键3,电压值增1,电压值的范围为0~5V。
当电压值设置好之后,再按下键2,则重新返回到轮流显示8通道电压值。
九、心得体会在本次实习中,我通过查阅资料,请教于老师及同学。
基本完成了硬件设计、程序设计、安装调试等环节。
但其中有很多问题值得我去思考。
1.实习作风不好:不能积极对待,注意力不够集中;2. 实习效率不高:单片机课程功底较差,实践动手能力不强;3. 独立解决问题的能力较差。
以为三点都值得我反思,本次实习揭露了我的不足,希望在以后学生工作中得到改进。
十、实验总结本次实习的过程主要可分为三个部分。
分别是绘制硬件原理图,编写程序,系统调试。
1. 绘制硬件原理图:这是我们第一次接触到Protel99电路设计软件,它与CAD绘制一样,需要有一个熟悉的过程,其中我觉得难点是建元件库。
如单片机与A/D转换部分需要自己绘制,其它部分大多可以在元件库中找到,可直接添加。
其次需注意的地方就是端口一定要与程序一致。
2. 编写程序:编写程序是难点。
须一层层做起,刚开始的源程序来自A/D 转换实验中的单通道采集电压值。
在不断的对程序修改过程中实现8通道。
再添加按键程序。
3. 系统调试;系统调试是最重要的环节,他涉及到程序的各个部分及硬件端口的接线。
刚开始,我组用SST单片机,由于端口被占,因此无法接按键,程序虽然能够顺利下载,但是无法对按键进行操作。
因此只能换成STC单片机。
由于我组电路板上缺少蜂鸣器,因此改用LED灯实现电压上下限报警。
虽然程序不一定有错。
但调试的过程就是程序与硬件相结合的过程。
必须相互匹配,才能调试成功。
十一、参考文献1. 张义辉,李家庆,单片机系统综合训练指导书.重庆科技学院2. 汪德彪. MCS-51单片机原理及接口技术[M]. 北京电子工业出版社.3. 张毅刚.单片机原理及应用.北京:高等教育出版社,20054. 胡文金.单片机系统实训教程.重庆:重庆大学出版社,20055. 胡文金,钟秉翔. 单片机应用技术实训教程[M]. 重庆大学出版社. 2005.附录1:电路原理图附录2:源程序代码#include "reg51.h"#define THCO 0xee#define TLCO 0x0unsigned char code Duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};//共阴极数码管-9段码表unsigned char xuan[]={0,1,10,11,100,101,110,111};unsigned char Data_Buffer[4]={0,0,0,0};unsigned int m=1;unsigned int moshi=0,zengjia=0,sheding=0,dianyazeng=0,shangyazhi=5;float AdValue;/**************************************************/sbit P30=P3^0;sbit P31=P3^1;sbit P32=P3^2; //三个按键位码口定义/**************************************************/sbit P34=P3^4;sbit P35=P3^5;sbit P36=P3^6; //四个数码管的位码口定义sbit P37=P3^7;/**************************************************/sbit ADWR=P1^0;sbit RS=P1^1;sbit CS=P1^2; //ADC0809控制线接通C51P1口位码口定义sbit Add1=P1^3;sbit Add2=P1^4;sbit Add3=P1^5;sbit EOC=P1^6;/**************************************************/sbit LED=P1^7; //报警灯/**************************************************/void Sysinit();void AD_Start(void);void LED_Fresh();void delay_ms(unsigned int x); //子函数定义void zhu();void xianyajiemian();/**************************************************/void main(){unsigned int k,i;Sysinit();while(1){if(moshi==0) //八通道循环采集电压工作方式{ m=8;for(k=0;k<=7;k++){if(moshi==1){k=0;break; }Add1=xuan[k]/100; //模拟量通道输入循环选择Add2=xuan[k]%100/10;Add3=xuan[k]%10;m++;if(m>8)m=1;if(dianyazeng==1){dianyazeng=0;shangyazhi++;if(shangyazhi>5)shangyazhi=0;}zhu();for(i=0;i<40000;i++);}}else //选择通道显示电压工作方式{ m=1;while (1){ if(moshi==0) break;Add1=xuan[m-1]/100; //模拟量通道输入按键选择Add2=xuan[m-1]%100/10;Add3=xuan[m-1]%10;if(zengjia==1){ z engjia=0;m++;if(m>8)m=1;}zhu();}}}}void Timer0_ISR() interrupt 1{static unsigned char Bit=0,a=0;TH0=THCO;TL0=TLCO;Bit++;if(Bit>=4)Bit=0;P34=0;P35=0;P36=0;P37=0; //关位码if(sheding==0){if(Bit==0)P2=Duan[m]|0x80; //开断码if(Bit==1){P2=Duan[Data_Buffer[Bit]]|0x80;}else if(Bit>1)P2=Duan[Data_Buffer[Bit]];if(Data_Buffer[1]>=shangyazhi)LED=0;elseLED=1;}else{ if(Bit==1)P2=Duan[shangyazhi]|0x80; //开断码else if(Bit>1)P2=Duan[Data_Buffer[Bit]];switch(Bit){ //开位码case 0: P34=1;break;case 1: P35=1;break;case 2: P36=1;break;case 3: P37=1;break;}if(P30==0||P31==0||P32==0) //按键按下检测及相关设置{a++;if(a>=50&&P30==0){a=0;moshi=!moshi;}if(a>=50&&P31==0&&moshi==1){a=0;zengjia=1;}if(a>=50&&P32==0){a=0;sheding=!sheding;}if(a>=50&&P31==0&&sheding==1){a=0;dianyazeng=1;}}void LED_Fresh() //数码管显示数据来源(电压信号的分离){unsigned int temp;AdValue=AdValue*1.95;temp=AdValue;Data_Buffer[1]=temp/100;Data_Buffer[2]=temp/10%10;Data_Buffer[3]=temp%10;}void Sysinit(){TMOD=0x11; //定时器0初始化TH0=THCO;TL0=TLCO;TR0=1;ET0=1;EA=1;}void AD_Start(void){ADWR=1; //开启AD转换CS=0;delay_ms(1);ADWR=0;delay_ms(1);ADWR=1;}void delay_ms(unsigned int x) //延时程序{unsigned char y;for(x;x>0;x--)1 for(y=110;y>0;y--);}void zhu(){AD_Start();while(!EOC);RS=0;AdValue=P0;if(sheding==0)LED_Fresh();else{m=0;xianyajiemian();}RS=1;}void xianyajiemian() //电压上线设置界面初值显示设定{Data_Buffer[2]=0;Data_Buffer[3]=0;}。