单片机系统制作实验报告

上传人:豆浆 文档编号:13533110 上传时间:2017-09-04 格式:PDF 页数:8 大小:595.21KB
返回 下载 相关 举报
单片机系统制作实验报告_第1页
第1页 / 共8页
单片机系统制作实验报告_第2页
第2页 / 共8页
单片机系统制作实验报告_第3页
第3页 / 共8页
单片机系统制作实验报告_第4页
第4页 / 共8页
单片机系统制作实验报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《单片机系统制作实验报告》由会员分享,可在线阅读,更多相关《单片机系统制作实验报告(8页珍藏版)》请在金锄头文库上搜索。

1、桂林电子科技大学职业技术学院单片机原理与应用系统设计实践操作报告指导教师:农红密学生姓名:覃佳幸学 号:1212150125机电工程系2013年12月1一、实验题目 加一减一计数器二、实验设备与仪器覆铜板一块,打孔机一台,电烙铁一支,清洁海绵一块,砂纸一小张镊子一支,剪刀一把,刀钳一把,油性笔一支,焊锡丝适量,腐蚀液适量,裁板机一台,数字万用表一个,打印机一台,转印纸若干,电慰斗一个,程序烧写器一部,插针两针,杜绑线若干条。单片机一块,510电阻若干支,10k电阻一支,30pF瓷片电容两支,晶振12MHz一个,电解电容10F一个,发光二极管一支,单片机管座一个,轻触按键三颗,四位共阳数码管1个

2、。计算机一台,Keill软件,proteus软件,protel 99se软件。等等.三、系统硬件图绘制1、proteus硬件原理图绘制:打开proteus软件(启动桌面上Isis),单击左边元件列表左上角p按钮,弹出元件库对话框,在对话框中keywords栏中输入所需元件名称。输入res在列表中找到电阻双击,此时电阻成功添加到元件列表中。同理,输入at89c51、button、ca,依次调出单片机、轻触按键、共阳数码管,然后关闭元件库对话框。选中元件列表中的任意一元件名称,再到元理图编辑窗口左键单击,元件被拉出,再次单击放下元件。把所有元件按照自己的设计合理布局后,把鼠标移动,使光标放到元件的

3、引脚端,光标由箭头变成笔形,单击左键,移动鼠标,线条画出,划到另一个引脚单击左键连接,再右键单击结束画线。有必要时可用网络标号,单击工具栏LBL,然后按照画线方法画出一小节线,此时双击该线条,弹出属性框,输标号,标号自定,后,单击ok 。 最后得出proteus原理图如下图。在proteus原理图中,时钟电路和复位电路可以省略不画。22、protel硬件原理图绘制:protel原理图和protus原理图类似,只不过需要画出时钟电路和复位电路罢了。同理,在左边找到Add/Remove按钮,进入文件管理器中查找库,添加或删除某元件库。然后画图,根据需要,在工具栏中可调出工具。最后得出图形如下图。p

4、roteus原理图和protel原理图的原理应一致,否则结果会出错。接着在protel软件继续画 PCB图、打印图,最后打印在转印纸上,然后转印覆铜板,腐蚀,焊接,完成系统。四、系统说明与分析1.下图该模块为时钟电路模块,它为单片机提供均匀的时钟脉冲信号,使单片机正常工作。C1、C2是瓷介电容,电容值为30pF,也可以用22pF,但是不能使用过大电容量的瓷介电容,如果电容值过大则单片机不能正常工作。Y1是晶振,12MHz;一般非精密电路中晶振使用12MHz。晶振的两端接到单片机的18、19号引脚;电容另一端接在一起,而且还要接地。2.下图为复位电路模块。当按下按键时,RESET脚为高电平,单片

5、机复位,未按下时REST引脚为低电平,单片机不复位。极性电解电容引脚长正短负,要正确接入;电阻要大一些的好。轻触按键有四个引脚,特别要注意,相对的两个引脚是相通的,如果按下按键时,才与另一对引脚相互连通。如果焊接错位,则单片机一直处于复位状态。33.下图为输出显示模块。该数码管为共阳数码管,当单片机P2口输出高电平,P0口输出低电平时,数码管会亮。其中,p2口是数码管位选信号,P0口是段选信号。单片机合理控制p0口和P2口就可以使数码管显示不同的数字了。图中电阻为P0口和部分P2口的上拉电阻,作用是自产生高电平。4.下图该模块为按键信号输入模块。当按键没有按下时,单片机得到高电平;当按下按键时

6、,单片机的相应端口就得到低电平,当单片机检测到按键的按下状态,就会执行相应的命令。5.下图该模块为电源指示模块,当系统上电时LED发光。R1用510欧电阻;J1是插针,它不仅是给电源指示模块供电,而且是整块电路板的电源输入端。4五、系统制作与调试画完proteus原理图后,把用keill软件编译好的程序导入proteus原理图的单片机上,单击播放按钮,观察程序能否实现。若不能实现,那么回到Keill软件修改程序,根据自己的设计分析程序,查找错误处或不合理处做修改编译,再次硬件仿真,直到OK为止。制完板后,对照BCP图焊上相应的电子元件。然后把程序*.Hex文件用烧写器烧入单片机。然后将单片机放

7、入管座,上电测试。如果数码管位选循环切换,则修改一下延时程序,再次烧入程序即可。同理,发现其他问题也如此做法。我在实验时只遇到这个问题,其他问题略述。六、源程序输入系统的源程序如下面所示。ORG0000HLJMPmimiORG1000Hmimi:MOVP0,#0FFH;初始MOVR1,#00H;个位清零,R1管理送个位字样MOVR2,#00H;十位清零,R2管理送十位字样DDX:JNBP1.0,EEX;转跳执行加1JNBP1.1,FFX;转跳执行减1MOVDPTR,#CCX;继续显示BBX:CJNER1,#0AH,AAX;比较个位不等于10则转跳AAX显示MOVR1,#00H;清零个位INCR

8、2;十位进一CJNER2,#0AH,AAX;比较R2不等于10则转跳AAX显示MOVR2,#00H;十位清零LJMPAAX;转跳去显示GGX:CJNER1,#0FFH,AAX;比较R1不等于FFH则转跳AAX显示MOVR1,#09H;个位显示9DECR2;十位降1CJNER2,#0FFH,AAX;比较十位不等于FFH则转跳AAX显示MOVR2,#09H;十位显示9LJMPAAX;转跳去显示AAX:movr3,#20;让其显示20次aaz:MOVA,R1;显示个位MOVCA,A+DPTR;查表显示数字CPLA;取反累加器MOVP0,A;在P0口输出段选信号MOVP2,#01H;个位位选信号输出L

9、CALL YY延时显示MOVA,R2;显示十位MOVCA,A+DPTR;查表显示数字CPLA;取反累加器MOVP0,A;在P0口输出段选信号MOVP2,#02H;十位位选信号输出5LCALL YY;延时显示djnzr3,aaz;再次循环显示LJMPDDX;转跳回去判位EEX:INCR1;加1指令LJMPBBX;转跳数位处理FFX:DECR1;减1指令LJMPGGX;转跳数位处理YY:MOVR6,#30;延时程序YZ:MOVR7,#50DJNZR7,$DJNZR6,YZRET;延时程序结束CCX:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数据表END;主

10、程序结束解释说明:mimi:初始程序。程序的开始,首先清零R1和R2寄存器,以免影往下面的程序;让p0口置1,数码管熄灭,什么都不显示。AAX:显示程序。管理P0和P2口输出高低电平显示数据。如果P2.0引脚输出高电平,那么个位被选中,此时只要在共阳数码管的段选端给一个低电平,那么相应的字段就被点亮。段选端由p0口控制,要显示的数据由数据表提供。BBX:减1的数位处理。当按下减1按键后,程序执行减1操作,然后让BBX程序段进行调整处理,使个位和十位谐调显示。CCX:数据表。此数据表为高电平数据,所以在共阳数码管的段选端要取反操作。此数码表从左到右的数据依次为:0 1 2 3 4 5 6 7 8

11、 9。当A=0时选中第1个数据,依此类推。A的数值是从R1或R2传送过来的,只要管理好R1和R2,就可以显示想要的数字了。DDX:判位处理,作为输入。如果P1.0引脚不是高电平,则EEX执行加1指令;如果P1.1引脚不是高电平,则FFX执行减1指令;如果这两个引脚都是高电平,说明没有键按下,则继续显示上一个数据。EEX:加1指令,执行加1操作,使R1寄存器数值加1。FFX:减1指令,执行减1操作,使R1寄存器数值减1。GGX:加1的数位处理。当加1按键按下时,执行加1操作,然后让GGX程序段进行调整处理,使个位和十位谐调显示。YY:延时程序。实现延时功能,只能延时一小瞬间。俢改R6和R7的数值

12、大小可以使延时程序延时时间的长短。这个程序实现的功能是:复位或刚上电,数码管会显示00;当按下加键,系统加1,显示01;当个位显示9,再按加键,十位进一,个位清0;当个位和十位都是9时按加键,些时溢出,显示00,如果百位设置有显示时百位则进一,在数位调整程序段加入即可。如果在始初或复位后(即显示00时)按下减键,那么系统会减一计数,此时显示99,依次再按,可从99依次减到00,再按一次,又从99开始减。当正在显示某个数时,按下复位键,立马复位,显示00。如果长按加键或减键,数据会快速增加或减小,提高前进速度或快退速度。6加一减一计数器程序流程图如下: 否 否是 是显示 继续显示循环显示20次回

13、去判位先判位再显示,显示完就回去判位。开始初始化扫描I/O口状态判P1.0是否按下 判P1.1是否按下执 行加 一 执 行减 一个位、十位处理 个位、十位处理显示个位显示十位延时25ms延时25ms7七、实验体会这个实验,让我懂得了一个系统是怎样完成的。我做的是加一减一计数器,虽然它的功能很简单,但在制作过程中我学到了许多东西。要设计一样东西,得用脑袋想,用Kell软件编程序,proteus软件仿真。仿真实现后用protel软件完成PCB图,打印,制板。这一个过程,一定要注意软件与硬件对得上号,否则硬件的功能不能实现。还有就是ptoteus原理图与protel原理图原理一致。我觉得PCB板线宽

14、30mil40mil为宜。小于30mil时大小了,制板过程易腐蚀掉;线宽大于30mil太宽了,不美观,浪费板子面积。程序设计,前题是让单片机能工作,EA引脚接高电平,vcc接电源,GND接地。用P1口作为输入,P0口作为段选输出,P2口作为位选输出。最好不要单片板同一个p口即作为输入又作为输出。程序中,设计显示的延时要短一些,这样在硬件显示上由于人的视觉停留效应,我们将看到两位数(或多位)同时显示。还有就是使用高电平时,要接上拉电阻,要不然电流很微弱;特别是P0口使用高电平时一定要接上拉电阻,否则不产生高电平。等等,各细节,该注意的要注意。这次实验让我记住了很多汇编语言程序指令,整个人的思维得到了锻炼,制作整个系统我觉得还是很有意思的;也明白了系统是如何设计的,制板工艺得到了锻炼,技术也得到了提高。当完成这个系统后,我深知过程中每一个细节都很重要。本次实验结束了,我的加一减一计数器也完成了,功能也实现了,在此,谢谢农老师的热心指导,谢谢同学们的支持与帮助,谢谢各位。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号