欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    八段数码管滚动显示程序设计.doc

    • 资源ID:3027245       资源大小:629KB        全文页数:7页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    八段数码管滚动显示程序设计.doc

    实验三 八段数码管滚动显示程序设计一、实验目的1.掌握数码管动态显示的原理;2.掌握74LS164扩展端口的方法;3.掌握数码管滚动显示的方法。二、实验内容1.验证参考程序中的实验(显示数字05);2.修改程序:(1)使6个数码管从左到右重复滚动的显示一定的信息,比如:日期2008320;(2)滚动显示的速度可以修改。三、实验器材PC机一台, 仿真器一台, 实验箱一台, 导线若干。四、实验原理图显示共有6位,采用动态显示,8段数码管是由8155的PB0、PB1经过74LS164串转并后输出得到,6位位码由8155的PA0口输出,经UA2003反向驱动后,选择相应的显示位。实验中数据输出口地址为0e102h,时钟为输出地址为0e102h,位选通输出地址位0e101h。实验原理图见图4-1。图4-1 实验原理图五、实验步骤1.按照实验一中的建立工程的步骤,建立本实验内容相应的工程;2.运用调试工具,调试软件,观察现象;3.调试修改程序观察现象。六 、参考程序/* “验证式"?实验十一 八段数码管显示 */#include<absacc.h>#define LEDLen 6 /6个数码灯/以下定义8155为PA、PB为基本I/o模式,PC为输出模式#define mode 0x03;/* 8155的命令状态口寄存器地址 */#define CAddr XBYTE0xe100 /* 8155的PA口地址,用于数码灯的位控制 */#define OUTBIT XBYTE0xe101 /* 8155的PB口地址,其PB0和PB1用于74Ls164串行输入,控制数码管的段 */#define CLK164 XBYTE0xe102 #define DAT164 XBYTE0xe102 /* 段控制口(接164数据位) */* 键盘读入口 */#define IN XBYTE0xe103 /* 显示缓冲 */unsigned char LEDBufLEDLen; /* 八段管显示码 共阴极字符显示*/code unsigned char LEDMAP = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;void Delay(unsigned char CNT) unsigned char i; while (CNT- !=0) for (i=100; i !=0; i-);void DisplayLED() unsigned char i, j; unsigned char Pos; unsigned char LED; /* 6个数码管从左边开始显示,0010 0000 */ Pos = 0x20; for (i = 0; i < LEDLen; i+) /* 六个数码管位控制为零,实现关所有八段管 */ OUTBIT = 0; /数码管需要显示的段数据 LED = LEDBufi; /8155通过PB0和PB1向74Ls164送段数据,串行输入,74Ls164并行输出到数码管段 for (j = 0; j < 8; j+) /每个数据有8位,开始检测每一位的情况,先检测高位 if(LED & 0x80) DAT164 = 1; else DAT164 = 0; /必须PB1(CLK164)由低位向高位跳变,才能PB0(DAT164)发送一位数据 CLK164 = CLK164|0x02; /CLK164置0 CLK164 = CLK164&0xfd; /为下一位发送做准备 LED <<= 1; OUTBIT = Pos; /* 显示一位八段管 */ Delay(1); Pos >>= 1; /* 显示下一位 */ OUTBIT = 0; /* 关所有八段管 */void main() unsigned char i = 0; unsigned char j; CAddr = mode; while(1) /保证数组里面的数据在015中间循环 LEDBuf0 = LEDMAP i & 0x0f; LEDBuf1 = LEDMAP(i+1) & 0x0f; LEDBuf2 = LEDMAP(i+2) & 0x0f; LEDBuf3 = LEDMAP(i+3) & 0x0f; LEDBuf4 = LEDMAP(i+4) & 0x0f; LEDBuf5 = LEDMAP(i+5) & 0x0f; i+; for(j=0; j<30; j+) DisplayLED(); /* 延时 */ 七、实验现象当程序正常烧入并全速运行后,发现数码管的显示是从左到右滚动显示,并且显示的值是“0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f”轮流显示,通过延时可以调节滚动的快慢。

    注意事项

    本文(八段数码管滚动显示程序设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开