单片机课程设计程序

单片机课程设计程序

ID:5781586

大小:37.00 KB

页数:12页

时间:2017-12-24

单片机课程设计程序_第1页
单片机课程设计程序_第2页
单片机课程设计程序_第3页
单片机课程设计程序_第4页
单片机课程设计程序_第5页
资源描述:

《单片机课程设计程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机课程设计程序#include#include#include#defineucharunsignedchar#defineuintunsignedintsbitrs=P2^0;lcd数据命令端口sbitrw=P2^1;sbiten=P2^2;lcd使能端sbitset_ds=P1^5;设置时间sbitsetnl=p2^3;设置闹铃sbitsclk=P1^6;串行口输入端,高电平写入sbitio=P1^7;sbitDQ=P3^0;sbitfm=p3^1;蜂鸣器端口sbitzh=p1^;24或12小时转换sbitknl=p2^

2、4;开闹铃sbitgnl=p2^5;关闹铃unsignedintdisdata[4];unsignedcharled_seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//显示段码ucharkal,gnl,tznl;//knl,gnl,tznl分别为开,关,调整闹铃ucharnlfalg;闹铃标志按下ucharhour,minute,second,tcnt,nlhour,nlminute,nldk;//ucharstr1[]={"time:"};ucharinit[]="00:00:00";//秒,分,时,ucha

3、rcodebmp[]={0x0e,0x11,0x1f,0x00,0x0a,0x00,0x00,0x00,0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00};//闹铃符号voiddelay(){ucharj;for(j=250;j>0;j--);}//-------------------液晶模块-----------------//voiden_toggle(){en=0;//_nop_();delay();en=1;delay();//_nop_();en=0;}//注意必须加延时,否则会出问题的voidis_ready(){P0=0x00;//设置为

4、输入口//注意:现实中应该送0xffrs=0;rw=1;en=1;while(P0&0x80);en=0;}voidwrite_cmd(ucharcmd)//写指令//{is_ready();rs=0;rw=0;P0=cmd;en_toggle();_nop_();}voidwrite_data(ucharindata)//写数据//{is_ready();rs=1;rw=0;P0=indata;en_toggle();_nop_();}voidwrite_str(ucharaddr,uchar*p){uchari;write_cmd(addr);while(p[i]!=''){

5、write_data(p[i]);i++;}}voidwrite_position(ucharrow,ucharcol){ucharp;if(row==1){p=0x80+col-1;write_cmd(p);}else{p=0xc0+col-1;write_cmd(p);}}voidinit_lcd()//初始化//{write_cmd(0x38);write_cmd(0x0c);write_cmd(0x06);write_cmd(0x01);//清屏幕}//------------液晶模块结束---------------------voidwrite_byte(ucharinb

6、yte){uchari;for(i=8;i>0;i--){sclk=0;//写的时候低电平改变数据if(inbyte&0x01)io=1;elseio=0;sclk=1;//写的时候高电平,把数据写入ds1302_nop_();inbyte=inbyte>>1;}}voidwr_com(unsignedcharcom)//写指令//{is_ready();rs=0;rw=0;P0=com;delay();en=1;delay();en=0;}voidwr_dat(unsignedchardat)//写数据//{delay();rs=1;rw=0;en=0;P0=dat;en_togg

7、le();_nop_();}voiddisplay(unsignedchar*p)//显示//{while(*p!=''){wr_dat(*p);p++;delay();}}init_play()//初始化显示//{init_lcd();wr_com(0x80);display(str1);wr_com(0xc0);display(str2);}//-----------ds1302模块开始-------------------//注意点:sclk的上

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

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

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