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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(TM1637驱动数码管Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TM1637驱动数码管Word格式文档下载.docx

1、#includesbit CLK = P00; /时钟信号sbit DIO = P01; /数据/地址数据 /共阴极数码管unsigned char code SEGData=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/1-9unsigned char code SEGDataDp=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /有小数点只用于地址0xc1unsigned char dpFlag = 0; /控制第二个数码管的dp的显示void TM1637_start( void

2、 );void TM1637_stop( void );void TM1637_write1Bit(unsigned char mBit);void TM1637_write1Byte(unsigned char mByte);void TM1637_writeCammand(unsigned char mData);void TM1637_writeData(unsigned char addr, unsigned char mData);void time_set(char hour, char min);void time_judge( void );void time_display(

3、 void );void timer0_init( void );void delay_140us( void );void delay_1ms(unsigned int i);unsigned int countTime = 0;unsigned char time, sec;struct char shi; char ge;Hour;Min;/* 主函数*/void main( void ) timer0_init(); time_set(5, 0); /设置5小时倒计时 while(1) time_display(); /显示时间 if(countTime = 10) dpFlag =

4、0; else= 20) dpFlag = 1; countTime = 0; time_judge(); /* 名称 : void time_set(char hour, char min)* 功能 : 设置时间* 输入 : char hour, char min* 输出 : 无*/void time_set(char hour, char min) if(hour 0) | (min0) hour = 0; min = 0; Hour.shi = hour/10; Hour.ge = hour%10; Min.shi = min/10; Min.ge = min%10; /* time_j

5、udge( void ) 判断时间变化 voidvoid time_judge( void ) if(+sec = 60) /60秒 sec = 0; if(Hour.shi | Hour.ge | Min.shi | Min.ge) & (-Min.ge = -1) Min.ge = 9; if(Hour.shi) |(Hour.ge) & (-Min.shi Min.shi = 5; if(Hour.shi & (-Hour.ge Hour.ge = 9; if(-Hour.shi = -1) Hour.shi = 0; else if(!Hour.shi) & Hour.ge = 0;

6、else if(! (!Hour.ge) & Min.shi = 0; if(!Min.shi) ) & (Min.ge Min.ge = 0; void time_display( void ) 显示时间void time_display( void ) TM1637_writeCammand(0x44); TM1637_writeData(0xc0, SEGDataHour.shi); if(dpFlag) TM1637_writeData(0xc1, SEGDataDpHour.ge); /小数点标志为1则用小数点那个数组 else TM1637_writeData(0xc1, SEGD

7、ataHour.ge); TM1637_writeData(0xc2, SEGDataMin.shi); TM1637_writeData(0xc3, SEGDataMin.ge); TM1637_writeCammand(0x8a); void TM1637_start( void ) start信号void TM1637_start( void ) CLK = 1; DIO = 1; delay_140us(); DIO = 0; CLK = 0; void TM1637_stop( void ) stop信号void TM1637_stop( void ) void TM1637_wri

8、te1Bit(unsigned char mBit ) 写1bit unsigned char mBitvoid TM1637_write1Bit(unsigned char mBit ) if(mBit) DIO = 1; DIO = 0; void TM1637_write1Byte(unsigned char mByte) 写1byte unsigned char mBytevoid TM1637_write1Byte(unsigned char mByte) char loop = 0; for(loop = 0; loop loop)&0x01); /取得最低位 while(DIO

9、= 1); /获得应答位 void TM1637_writeCammand(unsigned char mData) 写指令1byte unsigned char mDatavoid TM1637_writeCammand(unsigned char mData) TM1637_start(); TM1637_write1Byte(mData); /数据 TM1637_stop(); void TM1637_writeData(unsigned char addr, unsigned char mData) 固定地址写数据1byte unsigned char addr, unsigned c

10、har mDatavoid TM1637_writeData(unsigned char addr, unsigned char mData) TM1637_write1Byte(addr); /地址 void timer0_init() 定时50ms,实际运行中由于指令运行造成的延时,实际时间肯定大于50msvoid timer0_init( void ) TMOD=0X01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; ET0=1; EA=1; TR0=1; void timer0_isr() interrupt 1 /50ms / countTime+; Delay_1ms(unsigned int i) 延时子程序,延时时间为 140usvoid delay_140us( void ) int i; for(i=0; i20; i+) _nop_(); 延时子程序,延时时间为 1ms * x x (延时一毫秒的个数)*/*void Delay_1ms(unsigned int i)/1ms延时 unsigned char x,j; for(j=0;ji;j+) for(x=0;x=148;x+);*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1