AVR单片机的带密码显示的DS仿真设计方案.docVIP

  • 3
  • 0
  • 约1.04万字
  • 约 16页
  • 2017-09-14 发布于江苏
  • 举报

AVR单片机的带密码显示的DS仿真设计方案.doc

广州白云技师学院 电子系 技师班《单片机技术》课程项目化教学系列 基于AVR单片机(ATMEGE16A)的带密码显示的DS302仿真设计 廖高灵 功能:1、开机密码123456用户可以根据自己需求修改 2、进入时钟界面通过 K1,K2,K3调整时钟 仿真界面: 程序代码:(已经通过调试) /*************************main_1302.c**************************/ #includeiom16v.h #includemacros.h #include1602_jp_sz.c #include1302_sz.c #includekeyboard.c #includejzkeyboard.c #includepassword.c #define uchar unsigned char #define uint unsigned int void delay1(uint x) { uint i,j; for(i=x;i0;i--) for(j=600;j0;j--); } void write_time() { miao=change1(miao); fen=change1(fen); si=change1(si); ri=change1(ri); yue=change1(yue); xq=change1(xq); nian=change1(nian); write_ds1302(0x80,miao); write_ds1302(0x82,fen); write_ds1302(0x84,si); write_ds1302(0x86,ri); write_ds1302(0x88,yue); write_ds1302(0x8a,xq); write_ds1302(0x8c,nian); } uchar change(uchar dat) //16-10 { uchar a,b; a=dat/16; a=10*a; b=dat%16; dat=a+b; return dat; } uchar change1(uchar dat) //10-16 { uchar a,b; a=dat/10; a=16*a; b=dat%10; dat=a+b; return dat; } void show_time() { //uchar a,b; miao=read_ds1302(0x81); fen=read_ds1302(0x83); si=read_ds1302(0x85); ri=read_ds1302(0x87); yue=read_ds1302(0x89); xq=read_ds1302(0x8b); nian=read_ds1302(0x8d); miao=change(miao); fen=change(fen); si=change(si); ri=change(ri); yue=change(yue); xq=change(xq); nian=change(nian); _1602dis_sfm(si,fen,miao); _1602dis_nyrq(nian,yue,ri,xq); } void main() { DDRD=~BIT(PC0)~BIT(PC1)~BIT(PC2); PORTD|=BIT(PC0)|BIT(PC1)|BIT(PC2); DDRC=0XFF; init1602(); delay1(20); lcd_inputpassword(); while(1) { password(); while(flag) { show_time(); keyboard(); } } } /*********************1602_jp_sz.c**********************/ /******************************************/ //功能: 1602显示时钟 //管脚配置:PB为数据,PD3=RS,PD6=RW,PD7=E; // k1=PA0,K2=PA1,K3=PA2; /*******************************************/ #includ

文档评论(0)

1亿VIP精品文档

相关文档