单片机课程学习总结报告
单片机课程学习总结
班级09微电子学号姓名
这学期我们选择了单片机这门课,从第一节课开始,我们就感觉到了这门课与其他的课有一些不同。单片机课程不仅是学习书本的内容,也需要从实验中掌握知识。这门课程确实让我们受到了很多的启发,并学到了很多的知识。
学习单片机,要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。使我们从硬件软件的结合上理论联系实际,提高动手能力,从而全面掌握单片机的应用。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,不可能一蹴而就。万事开头难、要勇敢迈出第一步知识点用到才学,不用的暂时丢一边。想把厚厚的一本书看完在做实验,估计是不太可能的。看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看。我们在焊接具体电路之前,最好做个仿真,这样实验的成功率会大大提高。我们都学习过C语言,相信的大家的基础都不错,在编写程序千万不要光看不写,一定要自己写一次。刚开始我们可以模仿别人的程序,然后慢慢的学会自己编写,这是一个完全自主学习的过程,需要恒心和信心。
在学习这门课程时,我遇到过许多困难,这并不可怕,因为只要我们敢于面对,团结合作,就没有解决不了的问题。在焊接电路过程中,我们需要互相学习焊接技巧,互相帮助、互相鼓励。在编写程序的时候,要善于把自己好的算法给大家分享,不会的时候要虚心向同学和老师请教。当然更要利用当今社会为我们提供的网络资源,学会在网络上搜索资料,自主学习。切忌拿别人做好的实验和编写好的程序去蒙混过关,这样对自己百害无一利。
在学习单片机的时候,让我学会了思考生活中的点点滴滴。比如说,当我看到交通灯的时候会想到它的程序是怎样实现的?为什么它的led灯会有如此的高亮度?而我的led灯亮度很低,如果电流稍过大,就会烧毁。在家乡的公家车上看到远程led信息远程发布测试的时候,我便会想到它应有通信模块和显示模块两部分组成,也许我想的过于简单,但是让我学会了思考。
总之,学习单片机这门课程,不仅学会了这门专业课的知识,还提高了我的自主学习能力,更让我的世界观、方法论有了深层的提高,谢谢老师对我的教诲,让我受益匪浅。
扩展阅读:单片机课程总结报告
单片机与通用接口技术综合实践
课程总结报告
加减计数器
姓名:学号:
系别:计算机科学与技术年级09班级02
201*年06月16日
中文摘要:
数码管可通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜,使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管。本设计是用单片机实现的一个简易加减计数器。基于数码管显示技术,以AT89C51单片机为控制核心,通过驱动电路驱动数码管计数,实现加减计数功能。程序都是参考教材范例编写而成,在功能上限制较多,但仿真结果和实际运行结果都非常精准和一致。设计分为三大步,分别是软件设计,硬件仿真及实际操作,兼顾理论性及实用性,充分体现了理论与实践相结合,同时本任务的完成使得我在专业知识、专业技能分析和解决问题上的能力进行了全面系统的锻炼。
关键词:AT89C51单片机数码管加减计数器
目录一、引言.............................................................................................1二、系统需求分析和总体设计思想...................................................1三、系统功能描述与使用操作说明...................................................2四、电路原理图及其主要功能模块的文字标注与说明.....................2五、仿真效果图及其文字标注与说明................................................3六、源程序清单及其主要模块、关键代码的文字说明与注释........10七、设计实验实时记录表................................................................14八、存在的问题和改进意见.............................................................15九、对本课程的认识、收获体会和个人总结..................................16参考文献...........................................................................................16作者简介...........................................................................................16
“单片机与通用接口技术综合实践”课程总结报告
一、引言
1.1设计背景
LED数码管是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形等。LED数码管便宜,使用简单,主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
1.2LED数码管分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
1.3发展前景
LED是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形等,特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。亮度高,功耗小,而且成本逐年降低,使用简单,满足户外环境的条件要求。并且在产业化的过程中,因为其价格性能比的优势会使数码管向着标准化、规范化,产品结构多样化的方向发展。
二、系统需求分析和总体设计思想
2.1系统需求分析
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。如本设计是用单片机实现的一个简易加减计数器,实现了用户可控的加减计数控制过程。程序都是参考教材范例编写而成,在功能上还并不完善,限制也较多,但仿真结果和实验台上运行结果都非常精准和一致。
第1页2.2总体设计思想
通过两个个开关输入一组2bit的二进制数据,控制计数的正负向,即一位加控制位一位减控制位。通过两个独立数码管输出显示各部分数据。计数初值为4。计数结果以十进制形式显示在低位数码管上,计数的正负显示在高位数码管上,其中“0”表示做加法,“1”表示做减法。
三、系统功能描述与使用操作说明
3.1系统功能描述
本系统由AT89C51型单片机、两位独立数码管、矩阵按键、单片机工作电路等模块组成。利用单片机作为本系统的中控模块,单片机可以把各个模块读来的数据利用软件来进行处理,从而把数据传输到模块,实现规定的显示。两位独立数码管为主要的显示模块,把单片机传来的数据显示出来。矩阵按键模块可以通过数据传输,并利用软件程序来控制两位数码管动态显示预期的数据,低位显示计数结果,高位显示加减控制标志位。
3.2操作说明
系统初始值为“4”。当按下k2按键时,数码管高位和低位分别显示“1”“5”,表示做加法;当再次按下KB2按键时,高位和低位分别显示“1”“6”;但当按下KB3按键时,高位和低位分别显示“0”“5””,表示做减法;以此类推。
四、电路原理图及其主要功能模块的文字标注与说明
LED驱动单片机P3口低两位控制开关P0口P2口XTALRST两位独立数码管单片机工作电路(时钟电路、复位电路)
图表1电路原理图
3.1显示程序模块LED驱动P0口P2口两位独立数码管
图表2显示程序模块
显示程序模块通过两位独立数码管分别显示加减控制标志位和计数结果。
3.2选择方式模块
P3口低两位控制开关
图表3选择方式模块
选择方式模块用来控制加减法,k2键做减法,k3键做加法。
五、仿真效果图及其文字标注与说明
5.1仿真图及说明
图表4仿真电路图说明:利用proteus软件搭建仿真电路,其中用到的器件有AT89C51、74LS245、MATRIX-8×8-RED、CAP、CAP-ELEC、CRYSTAL、RES、BUTTON。单片机的P0口和P2口输出数据并显示到数码管上。其中高位数码管由P1.0~P1.7口控制,用来显示加减标志位;低位数码管由P2.0~P2.7口控制,用来显示计数结果。单片机的P3口接收矩阵按键的数据。矩阵按键从上至下,行1~行4由P3.4~P3.7控制,从左至右,列1~列4由P3.0~P3.3控制。
图表5电路初始状态
图表6按键KB2显示“15”
图表7再次按键KB2显示“16”
图表8按键KB3显示“05”
图表9再次按键KB3显示“04”
5.2实际效果图及说明
图表10实际效果图
六、源程序清单及其主要模块、关键代码的文字说明与注释
6.1源程序清单
ORG0000HLJMPSTARTORG0030H
START:ORLP3,#0CHMOVR0,#4MOVA,R0
MOVDPTR,#FIRSTMOVCA,@A+DPTRMOVP2,ACLRP0.0
LOP:
LCALLKEYSCANLJMPLOP
;调用键盘扫描子程序;重新开始下一轮扫描
;将3.2(KB2)、P3.3(KB3)设置为输入状态
;载入码表首地址KEYSCAN:;键盘扫描子程序
;将行4送0;读列状态
CLRP3.7MOVA,P3ORLA,#0F3H
CPLA
JZEXIT
LCALLDelaysCLRP3.7MOVA,P3ORLA,#0F3HCPLA
JZEXIT
KX:JNBP3.2,K2
JNBP3.3,K3
K2:INCR0
MOVA,R0MOVR2,#1MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,A
MOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SLJMPEXITK3:DECR0MOVA,R0MOVR2,#0
MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,A
MOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SEXIT:RET
;屏蔽无效的6位,只保留2位列值;取反,以判断按键状态
;判断是否有键按下:A=00H则跳转到exit
;否则A≠0,有键按下,则调用延时子程序去抖;再将行4送0;读列状态
;屏蔽无效的5位,只保留3位列值;取反,以判断按键状态
;判断是否有键按下:A=00H则跳转到exit
;判断是否为当前列的第3个按键K2被按下:是KB2,则转K2
;不是KB2,则再判断是否为当前列的第4个按键KB3被按下:是KB3,则转K3
;载入码表首地址
;从P1口送DPY1数码管显示;从P2口送DPY2数码管显示;载入码表首地址
;从P1口送DPY2数码管显示;从P1口送DPY2数码管显示;键盘扫描子程序返回Delays:MOVR6,#5;延时1ms子程序
MOVR7,#100DJNZR7,$DJNZR6,$-4RET
DELY1S:MOVR5,#100D2:MOVR6,#20D1:MOVR7,#100DJNZR7,$DJNZR6,D1DJNZR5,D2RETFIRST:
DB0C0H
DB0F9HDB0A4HDB0B0HDB099HDB092HDB082HDB0F8HDB080HDB090HEND
;1秒延时子程序
;数字0~9的共阳型数码管显示代码;0
;1;2;3;4;5;6;7;8;9
6.2主要模块及关键代码说明
6.2.1主程序
开始按键扫描子程序
图表10主程序流程图
START:ORLP3,#0CH
LOP:
LCALLKEYSCAN
LJMPLOP
6.2.2按键扫描子程序
;调用键盘扫描子程序;重新开始下一轮扫描
;将3.2(KB2)、P3.3(KB3)设置为输入状态开始读取按键状态延时去抖判断当前是哪个按键被按下KB2被按下KB3被按下调用K2子程序调用K3子程序调用结束图表11键盘扫描子程序
KEYSCAN:
;键盘扫描子程序;将行4送0;读列状态
;屏蔽无效的6位,只保留2位列值;取反,以判断按键状态
;判断是否有键按下:A=00H则跳转到exit;否则A≠0,有键按下,则调用延时子程序去抖;再将行4送0
;读列状态
;屏蔽无效的6位,只保留2位列值;取反,以判断按键状态
CLRP3.7MOVA,P3CPLAJZEXIT
ORLA,#0F3H
LCALLDelaysCLRP3.7MOVA,P3ORLA,#0F3HCPLAJZEXIT;判断是否有键按下:A=00H则跳转到exit
KX:JNBP3.2,K2
JNBP3.3,K3
是KB3,则转K36.2.3动态显示子程序
;判断是否为当前列的第3个按键K2被按下:是KB2,则转K2;不是KB2,则再判断是否为当前列的第4个按键KB3被按下:
K2:INCR0
MOVA,R0MOVR2,#1MOVDPTR,#FIRSTMOVA,R2
MOVCA,@A+DPTRMOVP1,AMOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SLJMPEXITK3:DECR0MOVA,R0MOVR2,#0
MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,AMOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1S
K2开始K3开始R0加1R0减1查表显示查表显示延时延时
图表12显示计数结果子程序
;载入码表首地址
;从P1口送DPY1数码管显示;从P2口送DPY2数码管显示;载入码表首地址
;从P1口送DPY1数码管显示;从P2口送DPY2数码管显示七、设计实验实时记录表
时间第6周第7周第8周第9周第10周第11周第12周第13周第14周第15周第16周第17周任务提交总体设计方案进行第一个仿真实验进行第二个仿真实验设计程序分别编写程序的各个模块编写主程序进行程序编写、编译、运行进行软件仿真仿真测试、运行完成自主实践实验填写课程总结报告实际运行、调试八、存在的问题和改进意见
本次设计的加减计数器,能够手动按键控制加减的情况下获得计数结果。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。在设计上分为四大步。第一步是程序的设计。我采用了汇编语言设计,在学习期间得到了很多同学的热心指导,从而为我的编程以及素材上积累了广泛的知识和经验,所以本次设计思路很清晰。主要有主显示程序的设计和矩阵按键电路程序的设计。
第二步是程序结构和代码的优化。一开始的程序思路虽然清晰,但是结构不太合理,子程序的调用、延时等都不尽完善,代码看起来条理不明显。经过简单的推敲,我画了程序流程图,使用了更为简洁的程序结构,使程序的阅读一目了然。
第三步是电路的仿真,使用proteus仿真软件,根据设计要求,选择必要的器件,并将这些器件有逻辑地连接起来,并注意接口等与代码的一一对应。完成之后,将已经生成的HEX文件下载到仿真电路中的单片机上,就可以运行仿真了。
第四步是实物的调试,也是本设计的又一重点。实体的调试会遇到很多实际问题,比如单片机的型号不同,各个口的电路控制不同,数码管低有效,矩阵按键的行列控制等。都需要根据实验开发板的电路设计来调整程序,不过还好经过老师的指导,同学的帮助,以及自己的一点努力,虽然几经波折,最终还是完成了实物的调试。最后将程序通过下载器下载到单片机上,整个系统就可以正常工作了。
本程序还有可以改进的方面。如可以增加数码管的位数,从而实现计数范围的扩大;也可以把数码管的显示改为十六进制;可以增加按键数量,实现可变步长(本实验步长为1);整个程序除了利用循环来控制扫描频率,也可以用时钟中断。
九、对本课程的认识、收获体会和个人总结
通过本课程的学习掌握了AT89C51单片机的基本工作原理,以及单片机设计开发的过程。并熟悉了proteus、KeiluV2等软件的应用。能够利用单片机编写程序完成对外部电路的控制。一系列仿真实验、自主实践及期末大作业的练习,使我从对单片机一无所知到可以利用单片机及其它外部器件实现一些具体功能,进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力。
在遇到问题时我先搜索老师给的课程文档中的相关内容,然后参考老师的实际案例。在明白了例子中的程序是如何实现的之后,再编写自己的程序。我在编写数码管显示模块时对数码管的动态显示充满了疑问,我尝试过用两个不同按键控制四位一体数码管中的两位。但是发现如果使用循环、延时等,并不能达到预期的效果。当时我没有转变方法尝试时钟中断,这是我的一个遗憾。
另外在实验过程中我遇到的另一个问题是矩阵按键的控制。矩阵按键要先一列一列的扫描,每一列扫描时要判断各个行是否有键按下,如果有键按下就要跳转去执行相应的程序。我在实验时分不清行和列,所以对行列的控制十分混乱。由于实验开发板第2版和第3版矩阵按键输出口设置不同,还需要根据实际电路更改程序输出口。最后通过老师和同学的帮助,我完成了实际调试。
经过一学期的学习,我觉单片机与通用接口技术综合实践这门课很好,让我们在设计中掌握知识,在实践中提高能力,在互相讨论中思考、进步。作为实践课能够自己动手进行设计并完成一些功能很有成就感,非常感谢帮助过我的老师和同学。
参考文献
[1]楼然苗,李光飞.51系列单片机设计实例(第2版)[M].北京航空航天大学出版社.201*,9.94-101
[2]王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,201*.
作者简介
09级计算机科学与技术2班
友情提示:本文中关于《单片机课程学习总结报告》给出的范例仅供您参考拓展思维使用,单片机课程学习总结报告:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《单片机课程学习总结报告》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/730540.html
- 上一篇:小学课程改革实施方案
- 下一篇:独立研究课程学习总结