项目7任务10:万年历设计与制作ppt课件.pptx





《项目7任务10:万年历设计与制作ppt课件.pptx》由会员分享,可在线阅读,更多相关《项目7任务10:万年历设计与制作ppt课件.pptx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、玩转项目发开 任务十万年历设计与制作一、目的与要求一、目的与要求 利用PROTUES仿真软件进行电路设计,通过KEIL软件进行单片机程序设计,要求利用DS1302设计一个实时时钟,要求用LCD进行显示出年、月、日、星期、时、分、秒数据信息,并设置功能、加、减、确认按键对时钟数据进行调节,调节时相应数据位进行闪烁。玩转项目发开 任务十万年历设计与制作二、电路效果图二、电路效果图玩转项目发开 任务十万年历设计与制作三、三、源源程程序序#include#includesbit lcden =P31;/LCD1602使能端使能端sbit lcdrs =P30;/LCD1602寄存器选择寄存器选择sbi
2、t sclk =P16;/DS1302串行时串行时钟钟sbit io =P17;/DS1302数据数据sbit rst =P15;/控制端控制端 1为读写为读写 0为禁为禁止操作止操作sbit key_ch=P32;/功能选择功能选择sbit key_add=P33;/加键加键sbit key_sub=P34;/减键减键sbit key_esc=P35;/确认退出确认退出unsigned char table116=Data 20-12-17 W1;/第一行显示数组第一行显示数组unsigned char table216=Time 16:46:50 ;/第二行显示数组第二行显示数组unsig
3、ned char time_data7=0 x11,0 x04,0 x12,0 x08,0 x15,0 x50,0 x45;/year week month date,hour,minute,secondunsigned char write_addr7=0 x8c,0 x8a,0 x88,0 x86,0 x84,0 x82,0 x80;/要写入的年星期要写入的年星期月月日时分秒日时分秒地址地址unsigned char read_addr7=0 x8d,0 x8b,0 x89,0 x87,0 x85,0 x83,0 x81;/要读得年星期要读得年星期月日月日时分秒时分秒地址,把最后一位变成地
4、址,把最后一位变成1就为读就为读unsigned char shi,fen,miao;/时时 分分 秒秒unsigned char year,month,day,week;/年年 月月 日日 unsigned int cont;/计数器计数器unsigned m_s_bit;/秒闪秒闪bit an_jian_bit;/按键按键功能选中标志功能选中标志unsigned char an_jian_cont;/功能位计数功能位计数unsigned char key_dat;/按键中间变量按键中间变量void delay(unsigned int x)/延时程序延时程序unsigned int i,j
5、;for(i=x;i0;i-)for(j=240;j0;j-);void lcd_write_com(unsigned char com)/LCD写命令写命令lcdrs=0;/指令指令P2=com;/转换成并口数据转换成并口数据 lcden=1;/LCD1602使使能置高能置高delay(1);/适当延时适当延时lcden=0;/LCD1602使使能拉低,实现下降沿跳变能拉低,实现下降沿跳变void lcd_write_data(unsigned char dat)/LCD写写数据数据lcdrs=1;/数据数据P2=dat;/转换成并口数据转换成并口数据lcden=1;/LCD1602使能置高
6、使能置高delay(1);/适当延时适当延时lcden=0;/LCD1602使能拉低,实现下降沿跳变使能拉低,实现下降沿跳变void init()/LCD初始化初始化 lcd_write_com(0 x38);delay(10);/显示模式设置显示模式设置 lcd_write_com(0 x08);delay(10);/显示关闭显示关闭lcd_write_com(0 x01);delay(10);/显示清屏显示清屏lcd_write_com(0 x06);delay(10);/显示光标移动设置显示光标移动设置lcd_write_com(0 x0C);delay(10);/显示开及光标设置显示开
7、及光标设置玩转项目发开 任务十万年历设计与制作void display()/LCD显示显示unsigned char num;table15=(year4)+0 x30;/显示年十位,显示年十位,BCD码显示高码显示高4位位table16=(year&0 x0F)+0 x30;/显示年个位,显示年个位,BCD码显示低码显示低4位位table18=(month4)+0 x30;/显示月十位,显示月十位,BCD码显示高码显示高4位位table19=(month&0 x0F)+0 x30;/显示月个位,显示月个位,BCD码显示低码显示低4位位table111=(day4)+0 x30;/显示日十位,
8、显示日十位,BCD码显示高码显示高4位位table112=(day&0 x0F)+0 x30;/显示日个位,显示日个位,BCD码显示低码显示低4位位table115=week+0 x30;/显示星期显示星期table25=(shi4)+0 x30;/显显示时十位,示时十位,BCD码显示高码显示高4位位table26=(shi&0 x0F)+0 x30;/显示时个位,显示时个位,BCD码显示低码显示低4位位table28=(fen4)+0 x30;/显示分十位,显示分十位,BCD码显示高码显示高4位位table29=(fen&0 x0F)+0 x30;/显示分个位,显示分个位,BCD码显示低码显
9、示低4位位table211=(miao4)+0 x30;/显示秒十位,显示秒十位,BCD码显示高码显示高4位位table212=(miao&0 x0F)+0 x30;/显示秒个位,显示秒个位,BCD码显示低码显示低4位位if(an_jian_bit)/根据相应调节位控制秒闪根据相应调节位控制秒闪switch(an_jian_cont)case 1:if(m_s_bit)table15=;table16=;break;/年闪年闪case 2:if(m_s_bit)table18=;table19=;break;/月闪月闪case 3:if(m_s_bit)table111=;table112=;
10、break;/日闪日闪case 4:if(m_s_bit)table115=;break;/星期闪星期闪case 5:if(m_s_bit)table25=;table26=;break;/时闪时闪case 6:if(m_s_bit)table28=;table29=;break;/分闪分闪case 7:if(m_s_bit)table211=;table212=;break;/秒闪秒闪 lcd_write_com(0 x80);/第一行显示指令第一行显示指令for(num=0;num16;num+)lcd_write_data(table1num);/第一行显示第一行显示16个字符个字符de
11、lay(1);lcd_write_com(0 x80+0 x40);/第二行显示指令第二行显示指令for(num=0;num16;num+)lcd_write_data(table2num);/第二行显示第二行显示16个字符个字符delay(1);/DS1302数据串并转换数据串并转换void ds1302_write_byte(unsigned char dat)unsigned char i;for(i=0;i1;/数据左移一位数据左移一位 sclk=1;/时钟拉高时钟拉高 /写写1302数据数据void ds1302_write(unsigned char addr,unsigned c
12、har dat)rst=0;/延时一会延时一会 sclk=0;rst=1;/拉高准备写入拉高准备写入 ds1302_write_byte(addr);/first write address ds1302_write_byte(dat);rst=0;/置低,写保护置低,写保护 io=1;sclk=1;/释放总线释放总线外外3 3篇任务篇任务1010万年历设计与制作/读取读取1302数据数据unsigned char ds1302_read(addr)unsigned char i,value;rst=0;sclk=0;rst=1;ds1302_write_byte(addr);/write a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 任务 10 万年历 设计 制作 ppt 课件

限制150内