动态数码管显示

上传人:mg****85 文档编号:44634534 上传时间:2018-06-14 格式:PDF 页数:5 大小:285.43KB
返回 下载 相关 举报
动态数码管显示_第1页
第1页 / 共5页
动态数码管显示_第2页
第2页 / 共5页
动态数码管显示_第3页
第3页 / 共5页
动态数码管显示_第4页
第4页 / 共5页
动态数码管显示_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《动态数码管显示》由会员分享,可在线阅读,更多相关《动态数码管显示(5页珍藏版)》请在金锄头文库上搜索。

1、动态数码管显示 1实验目的与效果: 学习动态扫描数码管技术, 单个按键扫描技术。 按一下按键 SW1 改变数码管显示内容。 数码管显示在数字和 HELLO 之间变换。 2原理图: 实验板上数码管连接图 Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.八个独立按键连接图 实验板上的数码管 ABCDEFGH 是连接到单片机的 P0 口,位选是连接到单片机 P1 口的。 八个独立按键接单片机的 P2 口,单片机 P2 口有个上拉排阻。 (1) 动态扫描方法 动态接口采用各数码

2、管循环轮流显示的方法, 当循环显示频率较高时, 利用人眼的暂留 特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择) , 另一接口完成各数码管的轮流点亮(数位选择) 。 (2) 在进行数码显示的时候,要对显示单元开辟 8 个显示缓冲区,每个显示缓冲区装有显 示的不同数据即可。 (3) 对于显示的字形码数据我们采用查表方法来完成。 3. 实验板上操作: 1) 将数码管位选开关拨到 ON(请看下面实物图 1) ,原先有做其他实验的短路冒建议 全部拨起来放在旁边; 2)把液晶那边的拨码开关全部拨到 OFF,也就是不要拨到 ON 上(看实物图 2) 3)将 动态数码管显示程序 的

3、 HEX 文件烧到单片机里; 4) 如说原先做了流水灯的实验,建议将流水灯那个部分的短路冒拔起来。 Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.4. 实物连接图如下: 实物图 1: 实物图 2: Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.5. C 语言程序 /MCU:AT89S51 /晶振:12M #include“AT89X51.H“

4、 unsigned char code numcode=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90 ;/数字 09 共阳数码管代码 unsigned char code charcode=0xff,0xc0,0xc7,0xc7,0x86,0x89,0xff,0xff; / HELLO 字样共阳数码管代码 unsigned char code bitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; /数码管位选代码 /*1ms 延时子程序*/ delay_nms(unsigned int n)

5、unsigned int i; unsigned char j; for(i=0;in;i+) for(j=0;j120;j+) ; /空操作 Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.void main(void) unsigned char a; unsigned char mode_change; while(1) /*按键扫描*/ if(P2_0=0) /判断是否有按键按下 delay_nms(10); /延时 10ms 再判断有没有按键按下 if(P2_

6、0=0) /真的有按键按下,更改显示模式 mode_change=1; while(P2_0=0); /等待按键释放 if(mode_change=0) for(a=0;a8;a+) /数码管显示数字 P0=numcodea;/送代码到数码管 ABCDEFGH 口 P1=bitcodea; /开相应位数码管显示 delay_nms(8); /延时 8ms else /显示“ HELLO “ for(a=0;a8;a+) P0=charcodea;/送代码到数码管 ABCDEFGH 口 P1=bitcodea; /开相应位数码管显示 delay_nms(8); /延时 8ms /*程序到此结束*/ Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.

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

当前位置:首页 > 生活休闲 > 科普知识

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