单片机系统设计实训报告

合集下载

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。

比如:小灯得点亮就没有用到中断可以先不用看。

这样可以避免知识过多记不住的麻烦。

对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。

第三:程序不要只是看别人得,一定要自己写过才是自己的。

开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。

明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。

当你自己能写出来的时候说明你真懂了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运行时不能实现理想的现象。

这时有人就晕了不知该怎么办,然后就去问别人。

当别人找出问题出在哪里时就会恍然大悟。

其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。

自己一定要掌握解决问的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个很有用。

通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。

也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

单片机设计实训报告范例优选5篇

单片机设计实训报告范例优选5篇

单片机设计实训报告范例优选5篇实训报告是展现本身实践获得发展的关键汇报,那麼实训报告该要怎么写呢?我优选了一些有关实训报告的出色案例,一起来瞧瞧吧。

单片机设计课题设计体会心得校园内学习培训期内我荣幸的参与了院校的单片机学习工作组,在工作组里我了解了什么叫单片机设计,单片机设计有什么主要用途,运用单片机设计能够完成什么作用来便捷大家的日常生活如交通信号灯,数字时钟,也有手机上中,电动玩具这些,他们里边都是有单片机设计的存有来完成某类作用。

根据在单片机设计工作组里的学习培训我简易汇总了几个方面体会心得和感受:第一:开头难,要英勇的迈出第一步,不必总找借口说沒有学习培训过就总推诿。

一切都是有第一步能够先可简易的来,随后能够逐渐的向多方面学习培训。

能够从建新项目逐渐,随后能够找一个简易的微信小程序先把它敲进单片机设计内然他运作起來,觉得一下单片机设计的运作,让自身掌握单片机设计全部运作。

第二:针对知识要点,学过的要把握坚固,针对沒有学的和临时用不上的先无需学习培训。

例如:灯泡得照亮就沒有采用终断能够先无需看。

那样能够防止专业知识太多记不得的不便。

针对程序流程这儿的知识要点不可以只滞留在基础理论层级上,一定要融合着程序流程开展学习培训那样才可以把握的很牢固,当采用哪儿的知识要点不记得了能够看看书,针对用不上的可以不去看看。

第三:程序流程不必仅仅看他人得,一定要自身读过才算是自身的。

逐渐不明白能够参照他人的,看一下每一句意味着着是什么意思,可以完成哪些状况。

搞清楚以后自身再再次写一遍,你能发觉看他人的能懂到自身写的情况下很艰难。

如果你自身能写出去的情况下表明你真明白了。

第四:一定要学好调试程序的方式。

有时把程序流程写完了随后运作时不可以实现梦想的状况。

这时候有些人就晕了不知道应该怎么办,随后就去问他人。

当他人找到难题出在哪儿时便会如梦初醒。

实际上当碰到难题一定要自身试着着处理,不可以碰到难题就去问他人。

自身一定要把握处理问的方式和构思。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

单片机实训综合报告

单片机实训综合报告

一、前言单片机作为一种微型的计算机系统,因其体积小、功耗低、功能强、成本低等特点,在工业控制、智能家居、通信等领域得到了广泛的应用。

为了提高学生的实践能力,培养创新精神和工程实践能力,我们进行了单片机实训。

本文将对本次实训进行总结,分析实训过程中遇到的问题及解决方法,并对实训成果进行展示。

二、实训目的1. 熟悉单片机的基本原理和组成,掌握单片机的开发环境。

2. 学习单片机编程,了解C语言在单片机中的应用。

3. 学会使用单片机外围电路,实现基本的功能。

4. 培养学生的动手能力、团队协作能力和创新精神。

三、实训内容1. 单片机硬件电路搭建在本次实训中,我们搭建了基于51单片机的最小系统,包括单片机、晶振、复位电路、电源电路等。

通过搭建电路,使学生了解单片机的硬件组成,为后续编程打下基础。

2. 单片机编程使用C语言对单片机进行编程,实现以下功能:(1)LED流水灯:通过控制LED灯的亮灭,实现流水灯效果。

(2)按键控制LED灯:通过按键控制LED灯的开关。

(3)数码管显示:将当前时间显示在数码管上。

3. 单片机外围电路应用(1)使用继电器控制外部设备:通过单片机控制继电器,实现外部设备的开关。

(2)使用蜂鸣器发出声音:通过单片机控制蜂鸣器,实现不同频率的声音。

四、实训过程及问题解决1. 电路搭建过程中,遇到电路连接错误、元器件损坏等问题。

通过查阅资料、请教老师,逐一解决了这些问题。

2. 编程过程中,遇到程序运行不稳定、功能实现不完善等问题。

通过分析程序逻辑、修改代码,使程序运行稳定,功能完善。

3. 在单片机外围电路应用过程中,遇到继电器控制不灵敏、蜂鸣器声音不稳定等问题。

通过调整电路参数、优化代码,使继电器控制灵敏,蜂鸣器声音稳定。

五、实训成果1. 完成了基于51单片机的最小系统搭建。

2. 编写并调试了LED流水灯、按键控制LED灯、数码管显示等程序。

3. 应用单片机外围电路,实现了继电器控制和蜂鸣器发声等功能。

单片机实训报告【三篇】

单片机实训报告【三篇】

【导语】实训报告是展⽰⾃⾝实训收获成长的重要报告。

以下是⽆忧考整理的单⽚机实训报告,欢迎阅读!更多相关⽂章请关注⽆忧考报告频道!单⽚机实训报告篇⼀ 通过为期⼀周的单⽚机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不⾜。

相信这对我们以后的学习和⼯作都会有很⼤的帮助。

我们⼀定要在最短的时间⾥对这些不⾜加以改正! ⾸先,在这次试训中我被单⽚机强⼤的功能所震撼,以前在课堂上完全没有能理解可编程单⽚机的优越性。

这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活⼒。

换是我们认识到这次试训不仅仅是⼀个软件的应⽤,更多的是使我们认识到学习到很多在课堂上⽆法得到的东西。

特别是protues软件的功能是我们了解了当今开发系统的新⽅向,简直太不可思议啦! 单⽚机作为⼀种最简单的软件,与我们的⽇常⽣活息息相关,了解⼀些单⽚机程序的简单录⼊是⾮常必要的。

如:LED显⽰器、键盘和显⽰器的应⽤和原理。

在被刺实训中我们每个⼈通过⼀个⼋位流⽔灯的制作,使我们深深地体会到了单⽚机在现实⽣活中的⼩⼩应⽤,既增强了我们的好奇⼼,⼜巩固了我们的理论知识。

更让我们体会到了单⽚机⼿动的开始平台的完善与成熟。

只要你有想法,单⽚机就有可能让他成为现实。

这⾥我学习完protues软件后的第⼀感觉是,虽然这软件⼯作不稳定,但是会有相当不错的效果出来。

这对我以后的⼯作⼀定会有帮助的。

在这次试训中不仅只对单⽚机编程有了新的认识,还对整个单⽚机的开发平台都有了⼀厅的了解,这是⼀笔不错的收获。

通过这⼏天的试训,使我的感触很深,真实“条条⼤路通罗马”,要达到⽬的,不同的⼈就有不同的⽅法。

只要你的⽅法不错!五花⼋门都可以,⽽且是各有特⾊。

⾛出来的结果都有各⾃的独到之处。

在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单⽚机留给⽤户的资源是有限的,所以我们要充分利⽤这些资源,达到更好的效果,这些是我们在以后的学习⽣活中应值得注意的地⽅。

单片机实训报告优选范文5篇分享

单片机实训报告优选范文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取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。

关于单片机的实训报告范文

关于单片机的实训报告范文

一、前言随着科技的飞速发展,单片机作为一种重要的嵌入式系统,广泛应用于工业控制、智能家居、物联网等领域。

为了提高我们的实践能力,培养创新精神和工程实践能力,我们选择了单片机作为实训课程。

以下是我对单片机实训过程的总结和心得体会。

二、实训目的1. 掌握单片机的基本原理和组成。

2. 熟悉单片机的编程方法和调试技巧。

3. 学会使用单片机进行简单的嵌入式系统设计。

4. 培养团队协作和解决问题的能力。

三、实训内容1. 单片机基本原理和组成实训过程中,我们学习了单片机的基本原理和组成。

单片机是由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器等组成。

通过学习,我们了解了单片机的指令系统、寻址方式、中断系统等基本概念。

2. 单片机编程和调试实训中,我们学习了Keil C51集成开发环境的使用方法,掌握了单片机的编程技巧。

通过编写程序,我们实现了单片机的输入输出控制、定时器/计数器功能、中断控制等功能。

同时,我们还学习了调试技巧,解决了程序运行过程中出现的问题。

3. 嵌入式系统设计在实训过程中,我们设计了一个简单的嵌入式系统,实现了温度检测、报警功能。

系统主要由单片机、温度传感器、蜂鸣器、显示模块等组成。

通过设计,我们了解了嵌入式系统的设计流程,掌握了硬件选型、软件编程、系统调试等技能。

4. 团队协作和解决问题实训过程中,我们分组进行项目设计,培养了团队协作能力。

在遇到问题时,我们积极思考、讨论,最终找到了解决方案。

这让我们认识到,在团队中,沟通和协作至关重要。

四、实训心得体会1. 理论与实践相结合实训过程中,我们深刻体会到理论与实践相结合的重要性。

通过实际操作,我们对单片机的原理和编程有了更深入的理解。

2. 学会编程和调试技巧实训过程中,我们学会了Keil C51集成开发环境的使用方法,掌握了单片机的编程技巧。

同时,我们还学会了调试技巧,能够快速解决程序运行过程中出现的问题。

单片机系统实验实训报告

单片机系统实验实训报告

一、实验目的1. 熟悉单片机的基本结构和原理。

2. 掌握单片机的编程方法和调试技巧。

3. 培养单片机应用系统的设计能力。

4. 提高实际操作能力和团队协作精神。

二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。

- 掌握电路板焊接和调试方法。

2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。

- 掌握单片机GPIO端口的使用方法。

- 通过编程实现LED灯的流水效果。

3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。

- 掌握按键去抖动技术。

4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。

- 掌握LCD1602的初始化和显示控制方法。

5. 串口通信实验- 学习使用单片机串口进行通信。

- 掌握串口初始化和通信协议。

6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。

- 掌握传感器数据读取和温度湿度计算方法。

7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。

- 掌握按键输入、密码存储和匹配方法。

三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。

- 按照电路图焊接电路,确保电路连接正确。

- 上电测试,观察LED灯是否亮起,确认电路工作正常。

2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。

- 烧录程序到单片机,观察LED灯的流水效果。

3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。

- 烧录程序到单片机,测试按键控制功能。

4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。

- 烧录程序到单片机,观察LCD1602显示屏的显示效果。

单片机实训报告范本精选5篇

单片机实训报告范本精选5篇

单片机实训报告精选5篇Record the situation and lessons learned, find out the existing problems andform future countermeasures.姓名:___________________单位:___________________时间:___________________编号:FS-DY-20685 单片机实训报告精选5篇单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。

比如:小灯得点亮就没有用到中断可以先不用看。

这样可以避免知识过多记不住的麻烦。

对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。

第三:程序不要只是看别人得,一定要自己写过才是自己的。

开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。

明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。

当你自己能写出来的时候说明你真懂了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运行时不能实现理想的现象。

这时有人就晕了不知该怎么办,然后就去问别人。

当别人找出问题出在哪里时就会恍然大悟。

单片机系统实训总结报告

单片机系统实训总结报告

一、引言单片机作为一种微型计算机,具有体积小、成本低、功耗低、可靠性高等优点,广泛应用于工业控制、智能家居、医疗设备等领域。

为了提高我们的动手实践能力和理论联系实际的能力,我们进行了单片机系统实训。

本文将总结实训过程中的所学所得,以及遇到的困难和解决方法。

二、实训目标与内容1. 实训目标(1)掌握单片机的基本原理和组成。

(2)熟悉单片机编程语言(如C51)。

(3)学会使用开发工具(如Keil、Proteus)。

(4)具备单片机应用系统设计、开发和调试能力。

2. 实训内容(1)单片机基本原理和组成。

(2)C51编程语言。

(3)Keil、Proteus等开发工具的使用。

(4)单片机应用系统设计、开发和调试。

三、实训过程及收获1. 实训过程(1)学习单片机基本原理和组成。

在实训过程中,我们学习了单片机的内部结构、工作原理、存储器组织、I/O接口等基本知识。

(2)学习C51编程语言。

C51是一种基于C语言的嵌入式开发语言,具有丰富的库函数和良好的兼容性。

我们学习了C51的基本语法、数据类型、运算符、控制语句、函数等。

(3)学习Keil、Proteus等开发工具的使用。

Keil是单片机开发中最常用的集成开发环境,具有代码编辑、编译、调试等功能。

Proteus是一款电路仿真软件,可以模拟单片机及其外围电路的工作过程。

(4)单片机应用系统设计、开发和调试。

在实训过程中,我们设计了以下项目:1)LED流水灯:通过单片机控制LED灯的闪烁,实现流水灯效果。

2)温度传感器:利用DS18B20温度传感器采集环境温度,并通过数码管显示。

3)键盘输入:通过键盘输入数字,单片机计算并显示结果。

4)计时器:通过单片机实现计时功能,并显示时间。

在设计和开发过程中,我们遇到了以下问题:(1)电路连接错误:在连接电路时,由于疏忽导致部分引脚连接错误,导致程序无法正常运行。

解决方法:仔细检查电路连接,确保引脚正确连接。

(2)编程错误:在编写程序时,由于对语法理解不透彻,导致程序无法正常运行。

单片机实训工作报告【三篇】

单片机实训工作报告【三篇】

【导语】在单⽚机实训教学过程中采⽤教师引导,学⽣主导的教学⽅式,让学⽣掌握技巧,⿎励学⽣独⽴思考。

以下是⽆忧考整理的单⽚机实训⼯作报告,仅供参考! 篇⼀ 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数字电路做电⼦时钟 优点:具有⾛时准确、显⽰直观、⽆机械传动装置。

与传统的机械钟先⽐,电⼦钟具有更优异的优点。

由于电⼦钟采⽤数字集成电路的发展和采⽤了先进的⽯英技术,使电⼦钟具有⾛时准确、性能稳定、携带⽅便等优点,电⼦钟⽤于定时⾃动报警、按时⾃动打铃、时间程序⾃动控制、定时⼴播及⾃动控制等各个领域。

缺点:因为电⼦钟毕竟是电⼦产品,电⼦产品都有辐射,不过电⼦钟危害极低,对⼈体够不成任何危害,不象⼿机的辐射那么⼤。

应⽤:⽬前,在国内,电⼦钟因数码管数字显⽰效⽤直接有效,所以⼤多运⽤在城市的主要营业场所,以及车站、码头等公共场所。

单片机系统实训报告

单片机系统实训报告

单片机系统设计实训报告专业班级:电子信息工程技术101班姓名:喜欢单片机实训班级学号:不喜欢写单片机实训报告指导教师:XXX XXX成绩:摘要:单片机最小系统基本电路由电源、复位及振荡电路组成。

此系统采用单片机A T89C58作为控制器,兼容RS232标准的芯片MAX232单电源电平转换芯片、D9插口实现串行输入;复位电路采用手动复位方式,简单方便;振荡电路采用单片机引脚XTAL1、XTAL2跨接石英晶体振荡器和30pf的微调电容,12MH 晶振构成一个稳定的自激振荡器,使得单片机能够以此作为时钟控制信号。

同时,通过对I/O端口进行扩展,实现简单的蜂鸣器的驱动,流水灯显示、4×4矩阵式键盘功能,DS1302实时时钟芯片时钟的实现,光敏电阻,AD转换,驻极体话筒,可实现声光采集,进行光度检测,声光控制的楼梯灯模拟等。

A T89C58作为整个系统的控制部分,功能扩展电路的程序设计采用C语言在Keil的编辑器上编程实现。

经过反复调试和测试,系统基本达到设计目标,各项拓展功能均已实现。

此系统的完成有利于学生的动手操作能力关键词:单片机系统、Keil编辑器、功能扩展电路、动手能力目录摘要 (I)关键词 (II)实训目的 (4)实训内容及要求 (4)小组成员 (4)1、实训内容1.1单片机最小系统1.1实训内容1.1:单片机最小系统的制作要求 (4)1.2实训内容1.1:单片机最小系统的制实训心得 (5)2、实训内容1.2 流水灯2.1实训内容1.2:编程实现流水灯要求 (5)2.2实训内容1.2流水灯电路原理分析 (5)2.3实训内容1.2流水灯程序流程图 (6)2.4实训内容1.2流水灯程序代码 (6)2.5实训内容1.2流水灯实训心得 (6)3、实训内容1.3 数码管动态扫描3.1实训内容1.3 数码管动态扫描显示要求 (7)3.2实训内容1.3 数码管动态扫描显示电路原理分析 (8)3.3实训内容1.3 数码管动态扫描显示程序流程图 (8)3.4实训内容1.3 数码管动态扫描显示程序代码 (8)3.5实训内容1.3 数码管动态扫描显示实训心得 (8)4、实训内容1.4 4x4矩阵按键4.1实训内容1.4:4x4矩阵按键要求 (9)4.2实训内容1.4 4x4矩阵按键电路原理分析 (10)4.3实训内容1.4 4x4矩阵按键程序流程图 (10)4.4实训内容1.4 4x4矩阵按键程序代码 (11)4.5实训内容1.4 4x4矩阵按键实训心得 (12)5、实训内容2.1 基于RTC制作一个时钟。

单片机实训工作报告(精选3篇)

单片机实训工作报告(精选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、能运用MCS-51单片机行简单的单片机应用系统的硬件设计。

3、能采用MCS-51单片机汇编语言行简单的单片机应用系统的软件设计。

4、掌握单片机应用系统的硬件、软件调试方法。

5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统行在线仿真、调试和目标程序固化的方法。

6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。

在实训的第一天我们经过指导老师,XX老师和xx老师详细的为我们讲解了实训指导书,让我们了解实训当中所学的内容与一些元器件和我们要实验的课题。

在实验中主要有三个课题。

第一是十字路口交通信号灯的设计与制作。

课题2、比赛用秒表的设计与制作。

课题3、模拟霓虹灯控制系统的设计与制作。

为了能让我们更好的掌握知识我们把全班31人分成10组,我们在小组里也分工合作,也可以培养我们同学之间的合作能力。

在此有做硬件的,有做软件的,这样能够更好的加强自己的动手操作能力。

第一个课题是我们必须做的,在做完的第一个的基础下才能选择第二个或底三个,第一个课题在同学们的认真操作下很快就完成了,几乎在第二天大部分小组都可以完成。

这也证明同学们是很认真的投入到实训当中和知识的牢固性。

在第三天,正是实训的高潮,每个同学都投入到这种氛围当中,在实训操作中把不懂的记下,然后问指导老师,在老师的细心指导及时的解决问题。

看到我们的不足之处。

理论与实践相结合是最好的效果。

时光飞逝,一转眼,一个周又尾声了,实训就这样过去了,但真正的实训还未开始,我将要继续努力,继续奋斗。

俗话说“好的开始是成功的一半”。

说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。

其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。

单片机综合实训设计报告

单片机综合实训设计报告

一、引言随着科技的不断发展,单片机技术在各个领域中的应用越来越广泛。

为了让学生更好地掌握单片机的原理和应用,提高学生的实践能力和创新意识,我们开展了单片机综合实训课程。

本次实训旨在通过实际操作,让学生深入了解单片机的组成、工作原理和编程方法,培养学生的动手实践能力、团队协作能力和解决问题的能力。

二、实训目的1. 熟悉单片机的组成和工作原理。

2. 掌握单片机编程语言C51的使用方法。

3. 学会使用Keil uVision软件进行程序编写和调试。

4. 学会使用Proteus进行电路仿真。

5. 培养学生的动手实践能力、团队协作能力和解决问题的能力。

三、实训内容本次实训主要包括以下内容:1. 单片机原理与接口- 熟悉单片机的组成和结构。

- 掌握单片机的指令系统和工作原理。

- 学习单片机的接口技术,如并行接口、串行接口、定时器/计数器等。

2. 单片机编程- 学习C51编程语言,掌握基本的语法和编程技巧。

- 学习单片机程序的结构和设计方法。

- 学习中断处理和定时器/计数器的应用。

3. Proteus仿真- 学习使用Proteus软件进行电路仿真。

- 通过仿真验证电路设计和程序的正确性。

4. 综合应用- 设计并实现一个基于单片机的应用系统,如交通灯控制系统、简易密码锁等。

- 在设计和实现过程中,培养学生的创新意识和解决问题的能力。

四、实训过程1. 理论学习- 讲解单片机的组成、工作原理和编程方法。

- 讲解Keil uVision和Proteus的使用方法。

2. 电路设计与仿真- 学生根据设计要求,绘制电路图,并使用Proteus进行仿真。

3. 程序编写与调试- 学生使用Keil uVision编写程序,并在Proteus中进行调试。

4. 实物制作与调试- 学生根据仿真结果,制作实物电路,并进行调试。

5. 总结与反思- 学生对实训过程进行总结和反思,撰写实训报告。

五、实训成果通过本次实训,学生取得了以下成果:1. 熟悉了单片机的组成、工作原理和编程方法。

单片机实训报告

单片机实训报告

单片机实训报告在当今科技飞速发展的时代,单片机作为电子信息领域的重要组成部分,其应用范围日益广泛。

为了更好地掌握单片机的原理和应用技术,我们进行了一次深入的单片机实训。

本次实训让我受益匪浅,不仅加深了我对理论知识的理解,还提高了我的实践动手能力和解决问题的能力。

一、实训目的本次单片机实训的主要目的是让我们熟悉单片机的开发环境和开发流程,掌握单片机的编程方法和应用技巧,能够独立完成简单的单片机系统设计和开发任务。

通过实训,我们希望能够将课堂上学到的理论知识与实际应用相结合,提高我们的综合素质和创新能力。

二、实训内容1、硬件电路设计在实训中,我们首先学习了单片机的硬件结构和工作原理,然后根据给定的任务要求,设计了相应的硬件电路。

硬件电路设计包括单片机最小系统、输入输出电路、显示电路、通信电路等。

在设计过程中,我们需要考虑电路的稳定性、可靠性和抗干扰能力,合理选择元器件和布线方式。

2、软件编程硬件电路设计完成后,我们开始进行软件编程。

软件编程是单片机实训的核心部分,我们使用 C 语言作为编程语言,在 Keil 开发环境中进行程序编写和调试。

程序的主要功能包括实现对外部输入信号的采集和处理,控制输出设备的工作状态,实现数据的显示和通信等。

在编程过程中,我们需要掌握单片机的各种接口和寄存器的使用方法,熟悉程序的流程控制和算法设计。

3、系统调试软件编程完成后,我们将程序下载到单片机中,进行系统调试。

系统调试是一个反复的过程,我们需要通过观察硬件电路的工作状态、查看程序的运行结果、分析调试信息等方式,找出系统中存在的问题,并进行相应的修改和优化。

在调试过程中,我们遇到了各种各样的问题,如硬件电路连接错误、程序逻辑错误、时序问题等。

通过不断地排查和解决问题,我们逐渐提高了自己的调试能力和解决问题的能力。

4、系统综合应用在掌握了单片机的基本开发技术后,我们进行了系统综合应用的实训项目。

在这个项目中,我们需要综合运用所学的知识,设计并实现一个具有一定功能的单片机系统。

单片机设计实训小结报告

单片机设计实训小结报告

一、实训背景随着科技的飞速发展,单片机作为一种低功耗、高性能的微控制器,在各个领域得到了广泛应用。

为了提高学生对单片机原理及应用的了解,增强动手实践能力,我们开展了单片机设计实训课程。

本次实训以单片机STC89C52RC为核心,通过实践操作,让学生掌握单片机的基本原理、编程方法以及在实际应用中的调试技巧。

二、实训目标1. 熟悉单片机的硬件结构,了解其工作原理;2. 掌握Keil和Proteus软件的使用,进行程序编写和仿真调试;3. 学会使用单片机进行基本的外设控制,如LED灯、数码管、按键等;4. 培养学生独立思考、分析问题和解决问题的能力。

三、实训内容1. 单片机硬件知识学习:了解单片机的内部结构、引脚功能、工作原理等;2. 程序设计基础:学习Keil软件的使用,掌握C语言编程方法;3. 仿真调试:利用Proteus软件对程序进行仿真调试,确保程序正确;4. 外设控制:实现LED灯、数码管、按键等外设的控制;5. 项目实践:设计并实现一个实际应用项目,如交通灯控制系统、秒表等。

四、实训过程1. 理论学习:通过课堂讲解、参考资料等方式,掌握单片机的基本原理和编程方法;2. 硬件搭建:根据实训要求,搭建单片机实验平台,连接LED灯、数码管、按键等外设;3. 程序编写:在Keil软件中编写程序,实现所需功能;4. 仿真调试:在Proteus软件中仿真调试程序,确保程序正确;5. 项目实践:根据实训要求,设计并实现一个实际应用项目,并进行调试和优化。

五、实训成果1. 熟悉单片机的硬件结构和工作原理;2. 掌握Keil和Proteus软件的使用,能够进行程序编写和仿真调试;3. 学会使用单片机进行基本的外设控制;4. 培养了独立思考、分析问题和解决问题的能力;5. 设计并实现了一个实际应用项目,如交通灯控制系统。

六、实训体会1. 通过本次实训,我对单片机有了更加深入的了解,掌握了单片机的编程方法和调试技巧;2. 实训过程中,我学会了如何查阅资料、分析问题、解决问题,提高了自己的实践能力;3. 在项目实践过程中,我体会到团队合作的重要性,学会了与他人沟通交流,共同完成任务;4. 通过本次实训,我对单片机应用领域产生了浓厚的兴趣,为今后的学习和工作打下了坚实的基础。

最新单片机实习报告范文最新4篇

最新单片机实习报告范文最新4篇

最新单片机实习报告范文最新4篇单片机实训报告篇一实训报告班级:学号:姓名:一、实训目的成本会计是一门实践性很强的学科,不通过实际训练、操作,很难提高实际分析与解决问题的能力。

因此,我们不仅需要掌握成本会计核算的理论与方法,更需要在实践中学会针对特定的企业环境进行准确的成本核算与客观理性的成本分析,为企业管理者提供更加有效的成本信息。

为了让我们能够更好的了解会计在实际工作中的工作内容,以便于实际与理论相结合,也更能够适应社会的要求,了解成本核算在实际工作的重要性,学校开展了为期两周的成本会计实训课程。

学校希望通过这次成本会计实训课程的训练,我们都能够对会计有一个更新更深层次的认识,以便于我们能懂得会计作账的基本流程,从而在今后的工作中具有较强的实际动手操作能力。

这次成本会计实训采用了两个实际案例模拟企业的经营环境,分别涉及了分批和分类两种法,我们需要将分批法、分类法所用的各种费用分配表和明细账结合起来,这不仅能够使我们掌握成本核算基本方法的特点,还进一步理解了产品成本计算的基本原理。

同时还能使我们熟练掌握分批法和分类法核算的会计处理,提高并加快了我们的动手能力,做到理论联系实际,增强感性认识,全面地理解制造企业中成本核算的整个流程。

在实训的过程中还培养了我们认真细致、严谨客观的工作作风和理论联系实践的学习态度。

二、实训过程1、熟悉资料,设置各种帐簿,登记起初余额。

由于我们这次实训课程不用编制总账和财务报表,因此任务量在一定程度上有所减轻。

2、根据经济业务,填制记帐凭证。

并附上原始凭证。

要想登记记账凭证,首先需要做的就是编制会计分录,而在编制会计分录的过程中不得不重视以下几点:(1)各种成本费用的归集与分配。

生产成本的归集与分配是本次实训的重头戏,是中心环节。

成本归集与分配过程实际上就是成本计算过程。

在本次实训中,我们按照成本核算的基本程序,先后对材料费用、职工薪酬、基本生产成本、辅助生产成本、制造费用、完工产品等进行了练习。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机系统设计实训报告专业:生产过程自动化目录一.实验目的: (3)二.实验要求: (3)三.实验基本原理: (4)四.实验设计分析: (4)1.设计思想: (4)五.实验要求实现: (6)1. 电路设计: (6)2.主流程图: (7)3.4x4键盘行列式键盘原理电路图: (8)4. 显示模块 (9)五.总电路设计如下 (9)六.程序 (11)七.实验心得 (21)一.实验目的:1.熟悉单片机定时器的编程方法。

2.灵活运用单片机C语言程序中的字符串、数组、指针。

3.熟悉数码显示、LCM1602液晶显示器、YJD12864液晶显示器的编程方法。

4.熟悉掌握4x4矩阵键盘的C语言编程。

二.实验要求:1:用4×4矩阵键盘组成0-f数字键及。

2:可以自行设定或删除8位密码,3:用8位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则显示PASS,若密码显示错误时,显示ERR.4:自由发挥其他功能.5:要求有单片机硬件系统框图,电路原理图,软件流程图。

三.实验基本原理:这个密码锁的功能是使用矩阵键盘中的十六个键输入密码0到F还有,输入的同时在八位数码管上显示用户所输入的密码,未输入的位置用横杆填补表述未输入。

当输入的密码超出设置的位数时,数据溢出,清零。

用8位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则显示pass,若密码不正确,则显示err;模拟密码锁,密码固化到ROM 不能通过按键输入更改。

四.实验设计分析:1.设计思想:1. 本系统采用单片机AT89S51作为核心元件的一款具有本机开锁,加锁,修改密码和错误2.报警的电子密码锁。

3. 电子密码锁的原理是:从键盘输入一组密码,CPU把该密码和设置密码比较,对则将锁打开,错则要求重新输入,并记录错误次数,如果三次错误,则被强制锁定并报警。

初步设计思路如下:1.输入密码用矩形键盘,数字键,字母键。

2.LED数码管显示输入密码,但是只是输出显示符号8 。

采用动态扫描输出。

3. 输入密码错误时显示ERR,密码正确时显示PASS。

软件的设计主要包括矩形键盘键值的读取、LED动态扫描输出程序、密码判断程序。

电子密码锁工作的主要过程是LED数码管显示密码啊。

通过键盘输入密码,按下确认键后判断密码的正确性,正确显示PASS,错误显示ERR。

程序将分为主程序和中断服务子程序。

主程序负责键盘键值读取,密码判断和开锁,中断服务子程序主要是负责LED 数码管显示。

根据程序功能,程序主要分为以下几部分:1.键盘键值读取程序键盘键值读取程序包括键盘扫描、消除抖动、键译码等内容。

按键的识别主要有两种方法:行反转法和行扫描法。

因为键盘为机械开关,容易引入抖动。

为了消除抖动干扰,在程序中要加入消除抖动的部分。

2)LED数码显示程序LED数码显示器是一种应用很普遍的显示器。

程序主要负责把要显示的数字或字母对应的显示码送到相应的LED显示管。

有多位需要同时显示时,可以采用动态刷新的方法,就可以得到稳定的输出。

循环显示8个数码管,可以实现稳定的数字显示。

中断服务程序只负责数据的输出显示,主程序根据所处的状态修正显示数据。

3)密码判断程序密码判断程序放在主程序中,有按键时读取,当确定键按下时作出判断。

在程序中设置6字节的空间存放设定的密码和8字节存放键盘输入的数据。

根据读取的键盘数据和预先设定的密码逐位比较就可以判断输入密码的正确性。

2.密码显示与开锁当密码输出时候,显示屏上逐步显示密码,逐一显示。

4.密码错误报警当用户键入正确密码并按下“确认”键时,屏幕清零会显示PASS。

当用户键入错误密码按下“确认”时,屏幕清零会显示ERR。

五.实验要求实现:1.电路设计:2.主流程图:3.4x4键盘行列式键盘原理电路图:每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N 条行线和M条列线,即可组成具有N×M个按键的键盘。

本设计发射部分采用4x4键盘,接收部分采用4x4键盘。

键盘扫描时,首先由I/O口低四位输出高电平,高四位输出低电平,假若有键按下,那么在I/O口低四位即可读出低电平,接着延时消抖,再具体判断是何键按下。

4.显示模块五.总电路设计如下六.程序#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#define DataPort P0 //定义数据端口程序中遇到DataPort 则用P0 替换#define KeyPort P1sbit LATCH1=P2^2;//定义锁存使能端口段锁存sbit LATCH2=P2^3;// 位锁存unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0 x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char TempData[8]; //存储显示值的全局变量unsigned char code password[8]={1,2,3,4,5,6,7,8};//可以更改此密码做多组测试void DelayUs2x(unsigned char t);//us级延时函数声明void DelayMs(unsigned char t); //ms级延时void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数unsigned char KeyScan(void);//键盘扫描unsigned char KeyPro(void);void Init_Timer0(void);//定时器初始化/*------------------------------------------------主函数------------------------------------------------*/ void main (void){unsigned char num,i,j;unsigned char temp[8];bit Flag;Init_Timer0();while (1) //主循环{num=KeyPro();if(num!=0xff){if(i==0){for(j=0;j<8;j++)//清屏TempData[j]=0;}if(i<8){temp[i]=dofly_DuanMa[num];//把按键值输入到临时数组中for(j=0;j<=i;j++) //通过一定顺序把临时数组中//的值赋值到显示缓冲区,从右往左输入TempData[7-i+j]=temp[j];}i++; //输入数值累加if(i==9)//正常等于8即可,由于我们需要空一个用于清屏,//清屏时的按键不做输入值{i=0;Flag=1;//先把比较位置1for(j=0;j<8;j++)//循环比较8个数值,//如果有一个不等则最终Flag值为0Flag=Flag&&(temp[j]==dofly_DuanMa[password[j]]);//比较输入值和已有密码for(j=0;j<8;j++)//清屏TempData[j]=0;if(Flag)//如果比较全部相同,标志位置1{TempData[0]=0x3f; // "o"TempData[1]=0x73; // "p"TempData[2]=0x79; // "E"TempData[3]=0x54; // "n"//说明密码正确,输入对应操作显示"open"}else{TempData[0]=0x79; // "E"TempData[1]=0x50; // "r"TempData[2]=0x50; // "r"//否则显示"Err"}}}}}/*------------------------------------------------ uS延时函数,含有输入参数unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编,大致延时长度如下T=tx2+5 uS------------------------------------------------*/ void DelayUs2x(unsigned char t){while(--t);}/*------------------------------------------------ mS延时函数,含有输入参数unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/ void DelayMs(unsigned char t){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------ 显示函数,用于动态扫描数码管输入参数FirstBit 表示需要显示的第一位,如赋值2表示从第三个数码管开始显示如输入0表示从第一个显示。

Num表示需要显示的位数,如需要显示99两位数值则该值输入2------------------------------------------------*/ void Display(unsigned char FirstBit,unsigned char Num) {static unsigned char i=0;DataPort=0; //清空数据,防止有交替重影LATCH1=1; //段锁存LATCH1=0;keyPort=dofly_WeiMa[i+FirstBit]; //取位码LATCH2=1; //位锁存LATCH2=0;DataPort=TempData[i]; //取显示数据,段码LATCH1=1; //段锁存LATCH1=0;i++;if(i==Num)i=0;}/*------------------------------------------------定时器初始化子程序------------------------------------------------*/ void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响//TH0=0x00; //给定初值//TL0=0x00;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}/*------------------------------------------------定时器中断子程序------------------------------------------------*/ void Timer0_isr(void) interrupt 1{TH0=(65536-2000)/256; //重新赋值2msTL0=(65536-2000)%256;Display(0,8); // 调用数码管扫描}/*------------------------------------------------ 按键扫描函数,返回扫描键值------------------------------------------------*/ unsigned char KeyScan(void) //键盘扫描函数,使用行列反转扫描法{unsigned char cord_h,cord_l;//行列值中间变量KeyPort=0x0f; //行线输出全为0cord_h=KeyPort&0x0f; //读入列线值if(cord_h!=0x0f) //先检测有无按键按下{DelayMs(10); //去抖if((KeyPort&0x0f)!=0x0f){cord_h=KeyPort&0x0f; //读入列线值KeyPort=cord_h|0xf0; //输出当前列线值cord_l=KeyPort&0xf0; //读入行线值while((KeyPort&0xf0)!=0xf0);//等待松开并输出return(cord_h+cord_l);//键盘最后组合码值}}return(0xff); //返回该值}/*------------------------------------------------ 按键值处理函数,返回扫键值------------------------------------------------*/ unsigned char KeyPro(void){switch(KeyScan()){case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值case 0x7d:return 1;break;//1case 0x7b:return 2;break;//2case 0x77:return 3;break;//3case 0xbe:return 4;break;//4case 0xbd:return 5;break;//5case 0xbb:return 6;break;//6case 0xb7:return 7;break;//7case 0xde:return 8;break;//8case 0xdd:return 9;break;//9case 0xdb:return 10;break;//acase 0xd7:return 11;break;//bcase 0xee:return 12;break;//ccase 0xed:return 13;break;//dcase 0xeb:return 14;break;//ecase 0xe7:return 15;break;//fdefault:return 0xff;break;}}七.实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。

相关文档
最新文档