适用场景:单片机开发前硬件搭建、嵌入式项目培训准备
本文要点:焊接电路板模块、编写数码管显示驱动、实现rs485多机通信
行文逻辑:认识单片机结构→搭建开发板模块→编写驱动程序→实现功能模块
(一)单片机的背景及应用
单片机是计算机技术发展史上的一个重要里程碑,标志着计算机正式形成了通用计算机系统和嵌入式系统两大分支。
单片机软硬件结合、体积小,容易嵌入到各种应用系统中。得到广泛应用且其体积小、成本低,嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家电系统、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。
它功能齐全,应用可靠,抗干扰能力强;简单方便,易于普及。单片机技术是易于掌握技术。应用系统设计、组装、调试已经是一件容易的事情,工程技术人员通过学习可很快掌握其应用设计技术;发展迅速,前景广阔。短短几十年,单片机经过4位机、8位机、16位机、32位机等几大发展阶段。尤其是集成度高、功能日臻完善得单片机不断问世,使单片机在工业控制及工业自动化领域获得长足发展和大量应用。目前,单片机内部结构愈加完美,片内外围功能部件越来越完善,向更高层次和更大规模的发展奠定坚实基础。单片机是集成电路技术与微型计算机技术高速发展的产物。体积小、价格低、应用方便、稳定可靠,因此,给工业自动化等领域带来了一场重大革命和技术进步。由于体积小,很容易地嵌入到系统之中,以实现各种方式的检测、计算或控制,这一点一般微机根本做不到。又由于单片机本身就是一个微型计算机,因此只要在单片机的外部适当增加一些必备外围扩展电路,就可以灵活的构成各种应用系统,如工业自动监测监视系统,数据采集系统,自动控制系统,智能仪器仪表等。
(二)认识STC11F32XE单片机的基本结构和原理
Stc11f32xe单片机是由一个8位CPU,4KB程序存储器,一组特殊功能寄存器,4个输入输出口(即P0P1P2P3), 一个全双工串行口,2个16位定时器/计数器,5个中断源等部分组成,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。共有40个引脚,采用双列直插的封装形式,每个引脚都有其特定功能。
(三)搭建开发板的各个模块
学习单片机的前一个星期就是在设计好的电路板上用电烙铁和锡丝把每个电阻、电容、芯片、开关、插槽、按键、数码管等部件焊接到板子上。由于要锻炼动手实践能力,刚开始焊接电源模块时,出现虚焊、短路等各种状况。由于刚接触,不太熟练,不能轻车熟路的驾驭烙铁,但是随着模块的慢慢搭建,锡焊技术已明显好转,就美观度而言和其他电子设备上的焊接技术可以相媲美了。
经过一个星期的焊接,单片机开发板的每一个模块已基本完成,经过对各个模块的检查测试,全部通过后我自己的单片机开发板就完成了。
(四)编写驱动程序,实现对各个模块的操作
(1)、数码管显示
单片机开发板搭建完成后,写的第一个驱动就是0—F在数码管上的显示。涉及到的两个芯片分别是:74VHC595D和74LS138,前者实现对8段数码管的段选,后者控制位选,两者结合实现数码管对不同数字的显示。
单片机模板用的是共阳极的数码管,建立数组保存数码表,然后通过段选和位选对每个数组元素进行显示。
第一次接触keil软件,不仅要学习如何创建工程,还要掌握基本的引脚控制。在网上查询资料和观看单片机教程的过程中学会了如何写驱动,经过接近两天的自我学习,我的第一个驱动——数码管显示程序出炉了,很高兴。然后便是把写好的程序生成*.hex文件烧到单片机当中,数码管便可显示。
(2)按键操作
我们所用的矩阵键盘与网上通用的键盘略不相同,(我们采用的是3X6,而通用的开发板多采用4X4键盘)但是思想相同。键盘的引脚分别用了P0口和P2^5引脚。
首先实现单击,即按每一个键显示不同的键值。调试通过后再实现双击和组合键。
按键的关键是先对行赋值(或对列赋值),若对行赋值(列赋值),则对列进行检索(行进行检索)。当有按键被按下,相应的列(或行)拉为低电平。
在用数码管显示按键的状态时,由于595 IO的引脚和按键第三行用的都是P2^5引脚,数码管显示有时出现问题,与程序中间的延时时间有关。不太好控制。
(3)温度测量
温度的测量主要用到DS18B20,通过对DS18B20芯片个参数的控制便可驱动该芯片,把结果显示在数码管上。
DS18B20芯片操作包括读操作、写操作以及对其的初始化。在读操作时把读的结果与10相除得温度的十位,取余数得温度的各位(在室温下实验)。
(4)时钟控制
时钟的显示主要是通过对DS1302进行控制,可以实现时、分、秒、年、月、日的显示,并且有漏电保护功能。同样把时分秒显示在数码管上,通过按键再切换到年月日。
在给DS1302初始化时,如果写保护关,则有漏电保护功能(即断电重连后,时钟会自动记录断电的这段时间,并顺着此时间继续计时。)
(5)RS485通信
用RS485实现多机通信,编写通信协议实现一台主机和多台从机进行通信。在进行该模块设计时,由于平台搭建的有点问题,使得RS485的电压拉不到工作电压。然后把问题反映给了我们的两位指导老师,经过他们的一番测试,最终找到问题的所在:是因为一个电阻的原因。当然在观看老师对电路的检测中受益匪浅。也对多功能电压表的应用更为了解。
(6)Nokia 5110屏显示
Nokia 5110屏是48X84的点阵LCD,可以显示4行汉字。用Nokia 5110屏实现计算器、阅读器、推箱子和足球射门等功能。这四个程序设计全是基于Nokia 5110屏和对按键的检测,用按键来控制各个功能,并在屏上图形化显示。
在对计算器的设计要实现0——999之间的四则运算,尤其是除法运算还涉及到浮点数。阅读器主要是上下换行和左右翻页,由于要存储一段文字在寄存器中,文字不能太长,否则会超过程序寄存器的大小而不能进行构建。
推箱子是通过数组0和1实现小人和箱子的走与停。足球射门通过产生随机数来控制球的方向的任意性。
三、总结
两个月的暑期认知实习很快结束了,总体上来说感觉很充实,没有白白浪费暑假时光,也充实了自己的知识储备,获益匪浅。
当然很感谢龙夏老师和肖连军老师,他们放弃自己的假期,在酷暑中坚持没两天一到,为我们解答学习过程中的疑问。还有就是系里的支持,为我们提供凉爽的学习环境,会议室配有空调,在学习的同时不用经受酷暑的考验。虽然我们的学习场所很简陋:桌椅是我们从5栋教学楼搬的,电源插座是刚刚搭建的,和在普通教室上自习的同学来比我们是幸福的。
实习前虽说已经大二结束,但是对我们的专业嵌入式方向始终不甚明白,纵然专业导论课已经谈过,但是总感觉迷茫与空洞。书本上的知识也学了不少,像电路,数字逻辑,组成原理等一些课,但是这些课始终是书本知识,得不到实际的应用。通过这次的亲自动手设计到编写驱动设计程序,终于切身体会到在开发产品中要用到哪些知识。依然记得实训刚开始时,大家都很兴奋,因为我们要自己动手焊接自己开发板的每一模块,从电源模块开始着手。“书到用时方恨少,事要做时方知难”,一点也不假,感觉焊接应该不难,不就把锡点到电器元件引脚上不就行了,可是真正拿着烙铁去焊时,手是抖动的,烙铁也不打听话……淡然这只是刚开始时,经过多次的练习慢慢的得心应手。怪不得社会上的公司招聘都提到:有工作经验者优先。是啊,干过的总比纸上谈兵的强的多,公司不需要对你培训,可以直接工作给公司带来效益。
焊接电路板的"时间很短,这只是简单的技术活,不需要逻辑上的考虑。接下来就是用我们焊接好的开发板开始我们的单片机之旅。由于单片机课程还没开,我们不得不从网上查资料,看教程弥补自己基础知识的匮乏。还记得自己写的第一个程序,驱动数码管。虽然看着焊接好的开发板很好看,但是要写程序点亮它就不那么容易了,第一感觉就是无从下手。老师建议我们从网上看前人的驱动程序,然后比着写,由于使用的单片机不同,电路的设计不同,在看网上程序时必须要明白其原理,否则还是无法借鉴过来,就这样第一个驱动程序花费了我两天时间才把数码管点亮。开发的过程是痛苦的,但是结果是令人无比兴奋的。看着自己点亮的数码管心里特别高兴。
接下来的日子就是每天对着电脑编写程序,然后下载到单片机中进行检测,查看能否运行。有时花费了一天的时间编写的一个程序下载单片机中竟然运行不了或者显示错误,心里真的特别失望;有时为了一个驱动程序想了一天还是一无所获,会特别烦躁……但是看到其他同学都在专心的研究,自己也就安慰自己别灰心,要坚持。就想《士兵突击》中说的一样不抛弃不放弃,所以自己也不能放弃自己。然后又重新打起精神,投入到学习当中,就是在这样的一次次的自我暗示中,在和同学们一起拼搏一起学习。
还记得在进行多机通信时,由于要把所有的单片机连接在一起,大家不得不默契配合,一起想办法,编写协议“众人拾柴火焰高”,很快一个主机程序,从机程序就出炉了。
经过一个暑假的认知实习我学到的不仅是知识,还有责任心、信心、恒心以及团队合作能力。我想无论是在学校还是以后踏入社会这些都必不可少。我认识到了我所学知识的重要性。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。这次的单片机培训应用到的不仅是单片机知识,还有以前的课程,所以知识的积累也是非常重要的。这次亲身体验让我有了深刻感触,这不仅是一次实践,还是一次人生经历,是一生宝贵的财富。在磨练自己的同时让自己认识了很多,使自己未踏入企业就已经对企业有了一定的了解。
通过这次的实习,我对自己的专业更清楚的认知,以前一直不清楚嵌入式的具体应用,不知道以后毕业了该干什么。但通过这次的实习,我对嵌入式有了更清楚地认识,对单片机有了更清晰的理解。我认识到做什么都要有责任心,只有抱着认真负责的态度才能把任务完成。而程序员更是对耐心和细心有很高的要求。
在这次的实习过程中我学会了和同学相处,理解了互帮互助的道理,还有虚心求教的重要性!这对我以后毕业走向社会、走向企业打下了坚实的基础。在这次的实习中所增加的社会经验才是我最宝贵的收获!
适用场景:单片机课程实习指导、硬件项目前期准备
本文要点:汇编语言程序编写、单片机内部结构解析、按键电路逻辑分析
行文逻辑:掌握概念→说明功能→调试故障→编写程序→分析电路
一、实习目的与要求
1、掌握微处理器、微型机和单片机的基本概念
2、了解微机系统的组成
3、弄清单片机的内部结构和工作原理
4、了解单片机的分类和发展趋势
5、了解单片机的应用
6、学会用汇编语言和c语言编写单片机程序
二、单片机开发板原理及各部分功能说明
1、51单片机
图1单片机电路 cpu:由运算和控制逻辑组成,同时包括中断系统和部分外部特殊功能寄存器; ram:用以存放读写的数据,如运算的中间结果、最终结果以及欲显示的数据; rom:用以存放程序、一些原始数据和表格;
i/o口:四个8位并行i/o口,既可用作输入,也可用作输出;
t/c:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统;
2、led电路
图2led电路
采用共阳解法当单片机中给低电平时电量led通过led的电流大约为百欧级。
3、数码管电路
图3数码管电路
同样采用共阳接法,p1和p0口分别控制段和位。
4、按键电路
图4按键电路
独立按键共四个由p32到p35控制。矩阵键盘按键有2个管脚,一个管脚接一个io
口,自定义mcu的io口其中一个为输入、另一个为输出,在对输出进行翻转后读p3口状态,即输出为0时读一次状态输出为1时读一次状态,如果按键没有按下则两次状态相同且为初始状态,如果按键按下则状态改变。先进行列判断,然后进行行判断。
5、晶振电路
mc230p
图5晶振电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。单片机晶振的作用是为系统提供基本的时钟信号。
三、硬件调试与软件开发
1、电路板故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
2、元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
3 、电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查vcc与gnd之间电位,若在5v~4.8v之间
属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
4 、程序仿真调试
联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(psen)、地址锁存信号(ale)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
1 概述 随着科学技术水平的不断向前提高以及社会经济的不断向前发展,人们越来越意识到广告宣传的重要性,越来越多的丰富多彩、新颖夺目的LED广告宣传牌充斥在城市的公共场所…[更多]
实训任务:做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1。0→p1。2→p1。3┅→p1。7→p1。6→┅→p1。0亮,重复循环3次。然后左移2次,右移2次,闪烁2次(延时的时光0…[更多]
1.选题依据:1.1课程研究的背景和意义随着水箱在生活的广泛应用,如居民房顶水箱供水,饮料加工厂的液体存储箱,化工工厂中燃料的调配等都涉及到水箱也为控制问题,如用人工控制,不…[更多]
学生毕业设计开题报告书课题名称 基于单片机的电子时钟设计姓名 xx学号 xx班级 信息xx班专业 电子信息工程院系 信息工程学院指导教师 xxx一、选题依据1 课题的目…[更多]
本科生毕业设计(论文)开题报告 设计(论文)题目: 基于单片机的家庭报时系统硬软件设计 1、目的及意义 单片机是为了实现控制功能而设计的一种微型计算机,它的应用首先是控制功…[更多]
课程设计报告 基于单片机的电子琴控制系统 专业班级:* 姓 名:* 时 间:20xx.12.22~20xx.1.9 指导教师:* 20xx年 1月 10日 基于单片机的电子琴控制系统课程设计任务书 1.…[更多]
(在所做过的实验内容里挑选一个自己最有收获,最有感想的实验内容)综合实验报告标题(可与实验名称不同)一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内…[更多]
综合实验报告标题(可与实验名称不同)一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内容。(二)实验电路:画出与实验内容有关的简单实验电路。(三)实验设计…[更多]
(在所做过的实验内容里挑选一个自己最有收获,最有感想的实验内容)综合实验报告标题(可与实验名称不同)一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内…[更多]
综合实验报告标题(可与实验名称不同)一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内容。(二)实验电路:画出与实验内容有关的简单实验电路。(三)实验设计…[更多]