数码管的闪烁显示.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 一. 系统功能简介 2 二. 硬件电路设计 2 1.Proteus原理图: 2 2.元件清单: 3 三. 软件设计 3 1. 流程图: 3 2. 程序: 4 四.系统调试 6 4.1仿真: 6 4.1.1步骤: 6 4.1.2 仿真图片: 6 4.1.3 结果: 7 4.2硬件电路调试: 7 4.2.1 步骤: 7 4.2.2运行结果照片: 8 4.2.3结论: 9 4.2.4系统使用说明: 9 五.系统设计感受 9 系统功能简介 由P2口将所要显示的七段显示码直接输出到4位数字七段LED数码管模块,再由P1口的低四位将扫描信号直接送到七段显示模块的4个公共端,使这个七段LED数码管模块闪烁“2008”3次,再闪烁“0315”3次,如此循环不停。 硬件电路设计 1.Proteus原理图: 2.元件清单: 名称 型号 数量(个) 电阻 3WATT100R 8 电阻 3WATT1K 4 LED数码管 7SEG-MPX1-CA 4 三极管 2N3905 4 芯片 AT89C51 1 软件设计 流程图: 程序: /* ch05-4-2.c - 直接驱动4位七节显示器实验,P1.0~3为扫描信号 P2接七节显示器 */ //==声明区==================================== #include reg51.h // 定义8051暂存器之标头档,P2-17~19 #define SCANP P1 // 定义扫瞄码由Port 1输出 #define SEG7P P2 // 定义七节显示码由Port 2输出 char code TAB[10]={ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, //数字0-4 0x92, 0x83, 0xf8, 0x80, 0x98 }; //数字5-9 char code disp[2][4]={ {2,0,0,8}, // 显示资料(第0组) {0,3,1,5}}; // 显示资料(第1组) void delay1ms(int); // 声明延迟函数 void scanner(char); // 扫瞄函数 //==主程序==================================== main() // 主程序开始 { char i,j; // 声明变数i,j while(1) // 无穷循环,程序一直跑 { for(i=0;i2;i++) // 显示第0,1行字组,for循环(字组i)开始 for(j=0;j3;j++) // 闪烁三次 { scanner(i); // 扫瞄第i行字组 SCANP=0xff; // 全灭 delay1ms(480); // 延迟480 1m=0.48s } } // while循环结束 } // 主程序结束 //==子程序==================================== /* 延迟函数,延迟约x 1ms */ void delay1ms(int x) // 延迟函数开始 { int i,j; // 声明整数变数i,j for (i=0;ix;i++) // 计数x次,延迟x 1ms for (j=0;j120;j++); // 计数120次,延迟1ms } // 延迟函数结束 /* 扫瞄字组函数,显示第x组数字 */ void scanner(char x) // 扫瞄字组函数开始 { char i,j,BCD,scan; // 声明变数 for (i=0;i30;i++) // 扫瞄30次i循环 { scan=0xf7; // 扫瞄信号初值1111 0111 for (j=0;j4;j++) // 扫瞄4个数字j循环 { SEG7P=0xff; // 关闭七段显示器(防止闪动) SCANP=scan; // 输出扫瞄信号(低4位元) BCD=disp[x][j]; // 读取第x组第j个数字之BCD码 SEG7P=TAB[BCD]; // 输出至七节显示器 delay1ms(4); // 延迟4ms scan=1;

文档评论(0)

daijun + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档