单片机八段数码管显示实验原理及分析报告_第1页
单片机八段数码管显示实验原理及分析报告_第2页
单片机八段数码管显示实验原理及分析报告_第3页
单片机八段数码管显示实验原理及分析报告_第4页
单片机八段数码管显示实验原理及分析报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JINGCHUUNIVERSITYOFTECHNOLOGY八段数码管显示实验原理及分析报告学院计算机工程学院专业计算机科学与技术年级班别09计算机科学与技术1班学号2009404010123学生姓名郑伟伟指导教师李永2011年1月18日目录一、实验项目的目标„„„„„„„„„„„„„„„„„„„„„„„„3二、八段数码管显示实验原理及分析„„„„„„„„„„„„„„„„„31、实验线路„„„„„„„„„„„„„„„„„„„„„„„„„„„32、实验器材„„„„„„„„„„„„„„„„„„„„„„„„„„„33、实验工作原理„„„„„„„„„„„„„„„„„„„„„„„„„44、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„55、实验现象的分析说明„„„„„„„„„„„„„„„„„„„„„„56、程序框架图„„„„„„„„„„„„„„„„„„„„„„„„„„67、实验所用芯片的使用介绍„„„„„„„„„„„„„„„„„„„„7(1)、8155IO/RAM扩展芯片说明„„„„„„„„„„„„„„„„„7(2)、74ls164芯片说明„„„„„„„„„„„„„„„„„„„„„88、实验代码分析„„„„„„„„„„„„„„„„„„„„„„„„„8三、调试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„16四、心得体会„„„„„„„„„„„„„„„„„„„„„„„„„„„17一、实验项目的目标:1、了解数码管动态显示的原理。2、了解74LS164扩展端口的方法。3、利用实验仪提供的显示电路,动态显示一行数据。二、实验项目的原理1实验线路:这里只是显示草图,详细原理参见第一章的1.1.15“8155键显模块”。1、超想-3000TC综合实验仪 1台 2、KEIL仿真器1台3、计算机 1台3、实验工作原理:(1)、本实验仪提供了8段码数码管LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,采用动态方式显示。8段数码管是由8155的PBO、PB1经74LS164"串转并”后输出得到。6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到4LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。

本实验仪中数据位输出地址为0el02H,时钟位输出地址为0el02H,位选通输出地址为OelOlH。本实验涉及到了8155IO/RAM扩展芯片的工作原理以及74LS164器件的工作原理。2)、七段数码管的字型代码表如下表:显示子gf显示子gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h4、实验步骤:af bge cd。dp1、将KEIL仿真器上40芯排线一端和实验箱上51CPU板上的40芯排针连接起来,将仿真器连接的USB或串口线与PC机对应的USB或串口连接起来,打开实验箱电源。2、进入KEIL软件界面,点击项目/打开项目(ft俎件.环境.书H力目话’目!S(ft俎件.环境.书H力目话’目!SV於畔备打开项目(0)^AuViiiMd99(I)..杏…7■貳「 文件P 19S(V)ljlga>)iWatO)Wff(.)外Skft备(r)XACT)STKCltS) WBhOO在C:\KEIL\UV2\3000TC51配套实验例程中选择实验一,内有ASM和C51两种程序,进入ASM文件夹打开LED项目文件进入如图所示界面进入如图所示界面点击“调试/运行”可看到8点击“调试/运行”可看到8段数码管交替显示0—F5、实验现象的分析说明(1)实验说明本实验仪提供了8段码数码管LED显示电路,按地址输出相应数据,实现对显示器的控制。显示共有6位,采用动态方式显示。8段数码管是由8155的PBO、PB1经74LS164"串转并”后输出得到。6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到4LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为Oe1O1H。本实验涉及到了8155IO/RAM扩展芯片的工作原理以及74LS164器件的工作原理。(2)实验思路分析将数据放入显示缓冲区60-65H单元,通过位选信号,段选信号控制,数码管显示相应的内容,其中段选信号由查表得到。为了动态显示富有变化,每一轮显示完毕后,需要改变数据单元的内容。为了数码关显示不抖动,还需要对每一轮数据显示一定的次数,具体见代码。文件8)編辑(E)视圉(V)顶目0*)调试6)闪存⑹外D文件8)編辑(E)视圉(V)顶目0*)调试6)闪存⑹外D设备(r)工具CT)版本控制G)窗口鞘帮助Of)(F弋}“於佢虑辱学督匡1irm户Ctrl+F5|RlED-“T“ion3-[C:\Kei3AUV2\3000TB51配套实验例程\1实墓一八段数码営旻示实鑿\AS・\8LED.“10$Q@P电包IG匸刑趣/1睡辺U1运疔(G)耳}步进⑴乔步越◎(卩跳出当前函数10)F5F11F10;实验一八段数码管6、程序框图:7、实验所用芯片的使用介绍及其在实验中的作用本实验涉及到了8155I0/RAM扩展芯片的工作原理以及74LS164器件的工作原理。1、8155IO/RAM扩展芯片(1)8155芯片简介及作用Intel的8155芯片是40引脚的双列直插封装的可编程接口芯片。含有一个14位的减一定时/计数器,可用于延时、计数和分频。含有A、B两个8位的并行I/O口,一个6位的C并行I/O口,总共可以扩展出22条接线。片内有256B的静态RAM,可以补充CPU内存的不足。为了能够设置芯片的工作方式和了解芯片的状态,内部还有命令寄存器和状态寄存器。与CPU相连的引脚有CE、10/M、AD0~AD7、ALE、RD、WR和RESET。CE是片选信号,当CE=0时,芯片才于CPU交换信息。CE接到地址译码器上,有整个系统分配给高位地址,以保证任何时候只用一个芯片与CPU交换信息时,不发生地址冲突。I0/M是接口或内部RAM寄存器的选择线。当I0/M=1时,CPU是对RAM进行操作的。它一般接在CPU的地址线A8上。AD0~AD7

为地址数据总线。ALE是地址锁存信号输入线。RD、WR分别是读写控制信号。RESET是复位线。当RESET=1时8155被复位。(2)74LS164器件的简介及作用74LS164是一个串行输入并行输出的移位寄存器,可用于扩展并行输出口。74LS165是8位并行输入串行输出移位寄存器,可以扩展一个或多个8位并行I/O口VIIMCE曾妄2£&7_b5J-k.-+-IQVIIMCE曾妄2£&7_b5J-k.-+-IQLIX.k-4?3mMUIF.LIPLIPLlpllpa.Ipl门円刊幻l^IFJIE251.7対Iti23,IS22f 14ZE如IS;cfa4烁YWAIITO:DISFLkYh iE:CZ:1D2D3L-DSDSD7 —?1011.21?LJ 口?15?L4p三、实验相关程序代码的分析说明:OUTBITequ0e101h;位控制口使OUTBIT代表地址0e101hCLK164equ0e102h;段控制口(接164时钟位)使CLK164代表地址0e102hDAT164equ0e102h;段控制口(接164数据位)使CLK164代表地址0e102hINequ0e103h;键盘读入口使IN代表地址0e103hLEDBufequ60h;显示缓冲使LEDBuf代表地址60hNum equ 70h ;显示的数据使DelayT代表地址70hDelayT equ 75h ;使DelayT代表地址75horg0000hljmpStartLEDMAP:;八段管显示码db 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71h字节数据表:把指令中的字节数据表内容依次依次装入标号开始的程序存储区Delay:;延时子程序movr7,#0r7,=0时,0-1=ff此次循环循环259次DelayLoop:djnzr7,DelayLoop寄存器内容减1,不等于0,且跳转djnzr6,DelayLoopr6=1retDisplayLED:显示缓冲r6=60hmovr1,#6;共6个八段管movr2,#00100000b;从左边开始显示movr0,#LEDBufLoop:movdptr,#OUTBITdptr指向0e101hmova,#00hmovx@dptr,a;关所有八段管mova,@r060h里面的内容赋给amovB,#8;送164DLP:rlcamovr3,amovacc.0,cANLA,#0FDH#0FDH=01102h(段控制口控制)movdptr,#DAT164movx@dptr,a累加器内容存入外部RAM(16位地址)movdptr,#CLK164

orla,#02hmovx@dptr,aanla,#0fDhmovx@dptr,a通过与操作影响倒数第二位,产生脉冲mova,r3djnzB,DLPmovdptr,#OUTBITmova,r2a=00100000movx@dptr,a;显示一位八段管00100000b=0el01h(控制位控制口)movr6,#1callDelay调用延时程序,使数据显示一段时间mova,r2 ;显示下一位rra右移指令amovr2,aincr0djnzr1,Loopr1=6movdptr,#OUTBITmova,#0movx@dptr,a;关所有八段管retStart:movdptr,#0e100h常数地址移至地址寄存器mova,#03h常数值移至累加器movx@dptr,a累加器A的内容写入外部RAMmovsp,#40hmovNum,#0Num=0MLoop:incNum自加内容加一即Num=1mova,Nummovb,amovr0,#LEDBuf显示缓冲r0=60h地址里的内容FillBuf:mov a,banl a,#0fh与操作,屏蔽高四位movdptr,#LEDMap八段显示码地址移至地址寄存器movca,@a+dptr ;数字转换成显示码程序存储器内容移至累加器mov@r0,a ;显示在码填入显示缓冲把LEDMAP表示的内容存到60h~66hincr0寄存器自加incbcjner0,#LEDBuf+6,FillBufmovDelayT,#30DispAgain:callDisplayLED;显示调用子程序djnzDelayT,DispAgainDelayT里的内容减1再与0比较,不相等则跳转ljmpMloop长跳转END用C语言编写程序/*“验证式"?实验十一八段数码管显示*/#include<absacc.h>#defineLEDLen6#definemode0x03;#defineCAddrXBYTE[0xe100]/*控制字地址*/#defineOUTBITXBYTE[0xe101]/*位控制口*/#defineCLK164XBYTE[0xe102]/*段控制口(接164时钟位)*/#defineDAT164XBYTE[0xe102]/*段控制口(接164数据位)*/#defineINXBYTE[0xe103]/*键盘读入口*/unsignedcharLEDBuf[LEDLen];/*显示缓冲*/codeunsignedcharLEDMAP[]={/*八段管显示码*/0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidDelay(unsignedcharCNT){unsignedchari;while(CNT--!=0)for(i=100;i!=0;i--);voidDisplayLED(){unsignedchari,j;unsignedcharPos;unsignedcharLED;Pos=0x20;/*从左边开始显示*/for(i=0;i<LEDLen;i++){OUTBIT=0;/*关所有八段管*/LED=LEDBuf[i];for(j=0;j<8;j++){/*送164*/if(LED&0x80)DAT164=1;elseDAT164=0;CLK164=CLK164|0x02;CLK164=CLK164&0xfd;LED<<=1;}OUTBIT=Pos;/*显示一位八段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论