微机原理与接口技术硬件实验34――51单片机按键与显示实验,AD,DA实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本科实验报告课程名称:微机原理与接口技术姓名:陈肖苇学院:信息与电子工程学院专业:电子科学与技术学号:3140104580指导教师:黄凯2016年12月29日实验报告课程名称:微机原理与接口技术指导老师:黄凯成绩:__________________实验名称:单片机硬件实验三四实验三按键与显示实验1.基础型实验内容①数码管显示实验6个数码管以及小键盘的电路如图2-1所示,将CS0与KEY/LED_CS相连,并使用内驱显示,在WAVE环境下运行程序,观察实验现象。电路图与代码:略(实在是太长了—_—!)代码分析:功能:循环左移输出0~f。实现:通过位控制器OUTBIT与段控制器OUTSEG控制,首先通过位控制器选择最右侧位,同时查表得对应的LED段的点亮码,写入OUTSEG,点亮之后,调用延时程序,进行延时,延时之后,左移一位显示,通过不断循环,来实现循环左移功能。实验现象:观察到0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f十六个字符循环左移,图片如下:图一:显示为123456图二:显示为abcdef图三:显示为cdef01开始循环专业:_电子科学与技术_姓名:陈肖苇学号:3140104580日期:2016.12.29地点:教十一400室②键盘扫描显示实验在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入在其中一个数码管上显示出来。实验仪连接方式不变,理解并运行下面的程序,查看实验结果。实验代码:略代码分析:功能:前面4个数码管显示8.8.8.8.,第五个数码管不点亮,第六个数码管显示输入的键值。实现:主程序控制六个数码管,前面四个显示8.8.8.8.,后面两个不亮。子程序实现利用行扫描法确定输入的键值,同时通过查表法查的对应的显示输出,在最后一个数码管上显示所按键值。实验现象:前面4个数码管显示8.8.8.8.,第五个数码管不点亮,第六个数码管显示输入所对应的按键。图四:按键输入2的显示图五:按键输入5的显示2.设计型实验内容在最后一个数码管上依次显示a、b、….f各段,每段显示时间为100ms,用T0定时器实现;实验代码:OUTBITEQU08002h;位控制口OUTSEGEQU08004h;段控制口DBUFEQU30HORG0000HLJMPDISPORG0100HDISP:MOVDBUF,#01H;移位中间变量MOVR2,#06H;计数,显示6段DP:MOVA,DBUFMOVDPTR,#OUTSEG;显示位MOVX@DPTR,A;将当前控制的位移入OUTSEG所在的段控制口进行输出显示MOVDPTR,#OUTBITMOVA,#01HMOVX@DPTR,A;将01H,写入OUTBIT,只显示最后一位八段管(若写成ffh,则所有数码管会同时循环a~f段)ACALLDELAYMOVA,DBUF;控制移位,点亮下一段RLAMOVDBUF,ADJNZR2,DP;点亮6段SJMPDISP;再循环DELAY:MOVTMOD,#01H;延时子程序,实现延时0.1s,即100ms。MOVR3,#02H;循环两次LOOP:MOVTH0,#3CHMOVTL0,#0B0H;装入初值,每次循环50msSETBTR0JNBTF0,$CLRTF0DJNZR3,LOOP;循环两次RETEND实验现象:最后一位数码管上abcdefg段轮流被点亮,观察到外面一圈不停旋转点亮。图六:点亮a段图七:点亮e段实验四并行AD、DA实验1.基础型实验内容①图4-1为ADC0809的扩展电路图,用导线将模数变换模块的IN0与电位器输出相连,AD_CS与CS0(实验板上方)相连,EOC与MCS51的INT0连接,将8255模块(实验板下方)的8255_CS与CS1相连,PA0-PA7依次与L0-L7相连。说明AD转换的过程,并在WAVE环境设置断点运行以下程序,可调电源分别调至两个极端,观察小灯的变化。代码:modeequ082h;方式0,PA,PC输出,PB输入CS0809equ8000hPortAequ9000h;PortAPortBequ9001h;PortBPortCequ9002h;PortCCAddrequ9003h;控制字地址org0movdptr,#CAddr;将控制字地址赋给dptrmova,#modemovx@dptr,a;将模式写入控制字地址movdptr,#CS0809mova,#0movx@dptr,a;起动A/Dmova,#40h;循环次数控制djnzACC,$;因为AD转换需要100us,所以延时应大于100us(约为120us)movxa,@dptr;读入结果movr7,#100;循环次数dly:movdptr,#PortAmovx@dptr,adjnzr7,dly;延时ljmp0end代码解读:代码实现将可调电源的输入读入AD转换器,经100us延迟转换为数字信号后,将结果读入51,通过PortA输出控制小灯泡的明灭。实验现象:开始所有小灯泡全暗,转动可调电源旋钮,灯泡从右至左一次被点亮,且当前最前面一盏灯长亮,后面几盏灯随着旋钮转动会忽明忽暗,最后所有灯泡被点亮。推测原因是将旋钮输出的模拟量进行AD转换,输出从00000000~11111111所致,所以每个阶段的第一位长亮,后面几位从00…0~11…1进行变化。图八:旋转可调电源旋钮,此时前六个灯亮,后两个不亮,对应的转换值应为111111002.设计型实验内容①采用中断法设计ADC0809数据采集程序,并将采集到的十六进制结果显示在LED显示模块上。MODEEQU082H;方式0,PA,PC输出,PB输入CS0809EQU8000HPORTAEQU9000H;PortAPORTBEQU9001H;PortBPORTCEQU9002H;PortCCADDREQU9003H;控制字地址OUTBITEQU08002H;位控制口OUTSEGEQU08004H;段控制口INEQU08001H;键盘读入口LEDBufEQU60H;显示缓冲LEDMAP:;八段管显示码DB3fh,06h,5bh,4fh,66h,6dh,7dh,07hDB7fh,6fh,77h,7ch,39h,5eh,79h,71hORG0000HLJMPMAINORG001BH;中断响应程序LJMPBRT1ORG0100HMAIN:MOVTMOD,#20H;设置T1方式2MOVTH1,#30H;设置重装载值MOVTL1,#30H;设定定时处置SETBEA;开中断SETBET1SETBTR1LOOP:MOVDPTR,#LEDMAP;取数码管首地址MOVA,R0;取出转换之后的高四位MOVCA,@A+DPTR;取出显示译码MOVDPTR,#OUTSEG;取段控制器地址MOV@DPTR,A;段控制器写入高四位译码MOVDPTR,#OUTBIT;MOVA,#0000010B;只显示倒数第二位LED管MOVX@DPTR,AMOVDPTR,#LEDMAP;取数码管首地址MOVA,R1;取出转换之后的低四位MOVCA,@A+DPTR;取出显示译码MOVDPTR,#OUTSEG;取段控制器地址MOV@DPTR,A;段控制器写入低四位译码MOVDPTR,#OUTBIT;MOVA,#0000001B;只显示倒数第一位LED管MOVX@DPTR,ASJMPLOOPBRT1:MOVDPTR,#CADDR;将控制字地址赋给DPTRMOVA,#MODEMOVX@DPTR,A;将模式写入控制字地址MOVDPTR,#CS0809MOVA,#0MOVX@DPTR,A;起动A/DMOVA,#40HDJNZACC,$;因为AD转换需要100us,所以延时应大于100us(约为120us)MOVXA,@DPTR;读入结果MOVDPTR,#PORTA;读入左侧LED控制端口MOVX@DPTR,A;输出使左侧LED端口点亮MOVR2,A;结果保存在R2中ANLA,#0F0H;取出A的高四位MOVR0,A;高四位转换值存入R0MOVA,R2;ANLA,#0FH;取出A的低四位MOVR1,A;低四位转换值存入R1RETIEND实验现象:代码运行之后,左右两侧的LED数码管都显示了可调电源经AD转化后的数值,其中左侧以八位二进制显示为11111100,右侧数码管显示器上以两位十六进制数显示为FC,即11111100,转换结果正确。图:左侧为11111100,右侧为对应的转换值FC(11111100)硬件实验心得:不得不说,硬件实验比软件实验的难度整整提高了一个数量级……首先,最大的区别就是不能像以前一样仅仅只是记住指令了,要深刻的理解硬件的原理,包括输入输出、中断、定时器/计数器和A/D,D/A等,才能做好对应的实验。因为事先没有做好充分的预习,所以每次到了教室都有点手忙脚乱的感觉,不过所幸还是都做完了。当然,实验中也有一些令我困惑的地方,最明显的一点就是引线的连接——我们往往是知其然而不知其所以然,就是关于哪个模块的哪个端口的具体的功能不知道,而硬件实验我个人感觉对端口的使用和端口间的连线还是要求很高的,感觉只是照做会存在着一定知识上的盲点——只知原理不知操作,不过这也是时间所限引起的,实验时也没有什么办法,不过在指导书上可以加上一个类似于附录的东西(类似于实验箱的实用手册,不过那个太厚了),将常用的端口即功能附在上面,供学生参考。硬件实验做完之后,才更深刻的理解了老师刚开始对51的评价“麻雀虽小,五脏俱全”,之前从来没有想到过一个小小的芯片能有如此多的功能和应用。虽然51系列已经渐渐淡出了单片机的主流地位(虽然目前还是),但仍为我们学习后续的其他微机系统打下了坚实的基础。同时也谢谢各位助教在实验时的支持和讲解,祝好!

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功