c8051f020单片机数字时钟

c8051f020单片机数字时钟

ID:10821331

大小:57.00 KB

页数:12页

时间:2018-07-08

c8051f020单片机数字时钟_第1页
c8051f020单片机数字时钟_第2页
c8051f020单片机数字时钟_第3页
c8051f020单片机数字时钟_第4页
c8051f020单片机数字时钟_第5页
资源描述:

《c8051f020单片机数字时钟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*本程序只是为了应付课程设计而用据我所知其中至少含有3处bug使用环境c8051f020使用通过*/#include#include//*****软件仿真I2C总线与HD7279A连接的两根并行口线*****//sbitHD7279_DAT=P1^7;sbitHD7279_CLK=P1^6;//*****宏定义,HD7279A片选信号、数据信号和时钟信号定义*****//#defineNOSELECT7279P5

2、=0x80//P5^7接片选信号,选

3、种#defineSELECT7279P5&=~(0x80)//未选种#defineSet7279DATHD7279_DAT=1//数据线置1#defineClr7279DATHD7279_DAT=0//数据线置0#defineSet7279CLKHD7279_CLK=1//时钟高电平#defineClr7279CLKHD7279_CLK=0//时钟底电平unsignedcharCount1ms;unsignedcharxdataNowTime[3];//当前时间,用于当前时间的设置unsignedc

4、harxdataHourH,HourL,MinuteH,MinuteL,SecondH,SecondL;unsignedcharxdatamHourH,mHourL,mMinuteH,mMinuteL,mSecondH,mSecondL;unsignedcharxdatasetHourH,setHourL,setMinuteH,setMinuteL,setSecondH,setSecondL;//*****对所调用其它文件中函数的声明*****//voidDelay1ms(unsignedcharT

5、);//延时T毫秒voidDelay1s(unsignedcharT);//延时T秒voidDelay1us(unsignedcharT);//延时T微秒//*****仿真I2C总线时序发送一字节*****//voidSYSCLK_Init(void){inti;OSCXCN=0x67;//外部晶振22.1184MHzfor(i=0;i<256;i++);while(!(OSCXCN&0x80));//等待外部晶振稳定OSCICN=0x88;//选择外部晶振作系统时钟源,允许时钟丢失检测}//***

6、**端口初始化*****//voidPORT_Init(void){XBR0=0x07;//允许SMBus、SPI0和UART0XBR1=0x00;XBR2=0x44;//使能交叉开关和弱上拉}//*****定时器T0初始化*****//voidTimer0_Init(void){CKCON

7、=0x8;//T0按系统时钟频率计数TMOD

8、=0x1;//T0方式1Count1ms=10;TR0=0;//停止T0TH0=(-SYSCLK/1000)>>8;//定时1ms的时间常数TL0=-SYSCLK/

9、1000;TR0=1;//启动T0IE

10、=0x2;//开T0中断}//*****定时器T0中断服务程序(每隔1ms中断1次)*****//voidTimer0_ISR(void)interrupt1{TH0=(-SYSCLK/1000)>>8;//重新装入初值TL0=-SYSCLK/1000;if(Count1ms)Count1ms--;//定时时间减1}//******延时Tμs(软件实现)******//voidDelay1us(unsignedcharT){while(T){_nop_();_

11、nop_();_nop_();_nop_();_nop_();--T;}}//******延时Tms(定时器T0实现)******//voidDelay1ms(unsignedcharT){Count1ms=T;while(Count1ms);//在T0中断服务程序中减1}//*****延时Ts(定时器T0实现)******//voidDelay1s(unsignedcharT){while(T){Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1ms(

12、200);Delay1ms(200);T--;}}voidSend7279Byte(unsignedcharch){chari;SELECT7279;//置CS低电平Delay1us(50);//延时50μfor(i=0;i<8;i++){if(ch&0x80)//输出1位到HD7279A的DATA端Set7279DAT;elseClr7279DAT;Set7279CLK;ch=ch<<1;//待发数据左移Delay1us(8);Clr7279CLK;Delay1us

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。