ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:32.50KB ,
资源ID:5169586      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5169586.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易电子时钟,LED数码管显示.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

简易电子时钟,LED数码管显示.doc

1、转】简易电子时钟,LED 数码管显示2010-05-14 19:06转载自 alexy000最终编辑 alexy000/* 描述: * 简易电子时钟,LED 数码管显示 串口发送命令: * 0x34-时调整 * 0x35-分调整 * * 上电时初始化显示: 12-00-00 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * P0为8位数据位P2为8位数码管选择位,低电平选

2、通8位共阳极7段数码管*/#include #include #define T2H_RELOAD 0xff /11.0592MHz 9600 baud rate at 12 clock#define T2L_RELOAD 0xdcunsigned char data dis_digit;unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 30x99,0x92,0x82,0xf8,0x80,0x90, 0xff;/ 4, 5, 6, 7, 8, 9, offunsigned char data dis_buf8;unsig

3、ned char data dis_index;unsigned char hour,min,sec;unsigned char sec100;void proc_key();void inc_sec();void inc_min();void inc_hour();void display();void delayms(unsigned char ms);void main(void)P0 = 0xff;P2 = 0xff;TMOD = 0x11; / 定时器0, 1工作模式1, 16位定时方式TH1 = 0xdc; /定时10msTL1 = 0;TH0 = 0xFC; / 定时1msTL0

4、 = 0x17;hour = 12;min = 00;sec = 00;sec100 = 0;dis_buf0 = dis_codehour / 10; / 时十位dis_buf1 = dis_codehour % 10; / 时个位dis_buf3 = dis_codemin / 10; / 分十位dis_buf4 = dis_codemin % 10; / 分个位dis_buf6 = dis_codesec / 10; / 秒十位dis_buf7 = dis_codesec % 10; / 秒个位dis_buf2 = 0xbf; / 显示“-“dis_buf5 = 0xbf; / 显示“-

5、“dis_digit = 0x7f;dis_index = 0x00;TCON = 0x01;IE = 0x8a; / 使能 timer0,1 中断TR0 = 1;TR1 = 1;SCON=0x50;TH2=T2H_RELOAD; /t2 used for uartRCAP2H=T2H_RELOAD;TL2=T2L_RELOAD;RCAP2L=T2L_RELOAD;T2CON=0x34; /9600bit per secondwhile(1)delayms(10);if(RI)RI=0;proc_key();void proc_key()EA = 0;if(0x34=SBUF) / K1inc

6、_hour();else if(0x35 = SBUF) / K2min+;if(min 59)min = 0;dis_buf3 = dis_codemin / 10; / 分十位dis_buf4 = dis_codemin % 10; / 分个位EA = 1;void timer0() interrupt 1/ 定时器0中断服务程序, 用于数码管的动态扫描/ dis_index - 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量/ dis_digit - 位选通值 , 传送到 P2口用于选通当前数码管的数值, 如等于0xfe 时,/ 选通 P2.0口数码/ dis_buf - 显于缓冲

7、区基地址TH0 = 0xFC;TL0 = 0x17;P2 = 0xff; / 先关闭所有数码管P0 = dis_bufdis_index; / 显示代码传送到 P0口P2 = dis_digit; /dis_digit = _cror_(dis_digit,1); / 位选通值左移, 下次中断时选通下一位数码管dis_index+;dis_index / 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描/void timer1() interrupt 3TH1 = 0xdc;sec100+;if(sec100 = 100)sec100 = 0;inc_sec();void inc_se

8、c()sec+;if(sec 59)sec = 0;inc_min();dis_buf6 = dis_codesec / 10; / 秒十位dis_buf7 = dis_codesec % 10; / 秒个位void inc_min()min+;if(min 59)min = 0;inc_hour();dis_buf3 = dis_codemin / 10; / 分十位dis_buf4 = dis_codemin % 10; / 分个位void inc_hour()hour+;if(hour 23)hour = 0;if(hour 9)dis_buf0 = dis_codehour / 10; / 时十位elsedis_buf0 = 0xff; / 当小时的十位为0时不显示dis_buf1 = dis_codehour % 10; / 时个位void delayms(unsigned char ms)/ 延时子程序 unsigned char i;while(ms-)for(i = 0; i 120; i+);

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报