资源描述:
《单片机实验单片机原理实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JINANUNIVERSITY单片机原理实验报告单片机原理实验报告一.课程目的1.自行设计、调试按要求完成七个单片机原理设计实验,掌握MCS-51单片机直接端口方式的输入/输出、存储器的扩展、LED数码管显示应用、键盘控制应用、8155键盘控制显示接口应用、定时与外中断控制应用以及Al)、DA操作应用等基本的单片机程序设计及硬件操作。(本报告针对实验4、5要求进行描述)2.通过自行设计、调试七个单片机设计实验,实现对MCS-51单片机软、硬件操作有进一步熟悉,巩固单片机原理理论课上所学知识,增强个人的动手能力、独立思考能力、创新能力。二设计要求(实验4、5)1.分析键盘接口电路的工
2、作原理”设计键检测子程序与取键值子程序。要求键值如下表:(*RST是系统的复位键,不属于该键盘矩阵。)键名01234567键值00H01H02H03H04H05H06H07H键名89ABCDEF键值08H09HOAHOBHOCHODHOEHOFH键名EXECHERESTEPTRCENEXTLASTMONRST*键值10H11H12H13H14H15H16H—2.设计程序使“0”一节”字(每次显示一个数字)自左至右在显示器上循环显示,加入键控功能,由数字键控制显示的数字。3.进一步扩展键控功能,由功能键控制循环的方向及循环速度的增减。4.按键要各司其职,互不干扰。例如按功能键不能改变
3、显示字形,按数字键和方向键不能影响速度等等。三.设计方案1.实验条件实验系统与设备:上位机(PC)+G6W仿真器+G2010实验平台2.方案概述根据实验要求,需要对键盘按键进行按键获取,据此,可以设计两种不同的接口电路:(1)直接端口控制的键盘与LED显示电路;(2)8155+74LS164控制的键盘显示接口电路。!1!■实验内容根据设计方案,本实验可以有两种不同方案做岀解决,以下为对两种方案进行描述。1.直接端口控制的键盘与LED显示电路(1)硬件描述键盘通常采用矩阵式的行列结构,按键位于行列交点上,通过反转检测法或行列扫描法可以得到区别按键的信息。本实验采用的接口电路参见下图4
4、..1。U1O74LS24OVCC1A11A21A31A42A122222A4re166144122p]7p103$10187a:OOQOOO?QQQQO:QAnHndodpLED4JRCE§TEPHEREEXECY0Y2Y4dpLED33/8ldpLED1dpLEDOdpL£D2_沁_瑕U8ULN20037IN7IN6IN5IH4IN3IN2INIOUT7OUT6OUTSOUT*OUT3OUT2OUT1GHDCOM10LEDQy11LED1/121602/BLED3/14LED4/^HVccNEXT键盘与LED显示电路图4.1直接端口控制的键盘与LED显示电路图4.1是简化了的键
5、盘与显示电路原理图。原电路中的74LS164(U9)芯片与74LS240(U10)有冲突,必须取下。74LS240(U10)与ULN2003(U8)之间的J5跳线[1,2]、[3,4]已连接。丫0-丫5插孔既是LED的字位选通线z又是键盘的列线zX0-X3是键盘行线。LED的字形控制则连到a-h插孔。另外,可以利用的端口有P1口的8位及P3.0-P3.5O(2)软件描述A・设计思路设计框图:开始初始化,设置数据,显示初值扫描键盘,检测是否有键输入获取键盘值,转换为码值对应的功能显示在设计时应注意模块化”使结构简明”不易出错。对应每一个功能”分别设计一段分支程序或子程序。在循环显示的
6、过程中加入键扫描的调用,有键则取键值,并根据键值调用对应的功能子程序,或者是转入对应的分支,即改变字形,改变方向或改变速度。另外,合理分配寄存器,特别注意数据的保护”不要占用堆栈区。B■源程序及注释ORG000011MAIN:MOVR5,#50MOVR3,#01HI」丄:;左转子程序MOVA,R3ADDA,#OCOHMOVP3,A;送字位ACALLLEDKEYACALLDL50MSCJNEA,#15H,N8AJMPRRRN8:MOVA,R3JBACC.5,NEXTRLA:左移MOVR3,AAJMPLLLNEXT:MOVR3,#01HAJMPLLLRRR:;右转子程序MOVA,R3A
7、DDA,#OCOHMOVP3,A;送字位ACALLLEDKEYACALLDL50MSCJNEA,#14H,N7AJMPLLLN7:MOVA,R3JBACC.0,NEXT1RRA;右移MOVR3,AAJMPRRRNEXT1:MOVR3,#20HAJMPRRRRETLEDKEY:;显示MOVA,R1MOVDPTR,#I」EDMAPMOVCA,@A+DPTR;取字形MOVPl,A;送字形RET涎时DL50MS:MOVA,R5MOVR7,ADL1MS:MOVR6,#200DL