MSP430x14x系列单片机程序实例(8)
}
//*********************************************************************** // 从DS302读出时钟数据
//***********************************************************************
void DS1302_read_time(void) {
time_buf[1]=DS1302_read_byte(DS1302_year_add); //年 time_buf[2]=DS1302_read_byte(DS1302_month_add); //月 time_buf[3]=DS1302_read_byte(DS1302_date_add); //日 time_buf[4]=DS1302_read_byte(DS1302_hr_add); //时 time_buf[5]=DS1302_read_byte(DS1302_min_add); //分 time_buf[6]=(DS1302_read_byte(DS1302_sec_add))&0x7F; //秒 time_buf[7]=DS1302_read_byte(DS1302_day_add); //周 }
//*********************************************************************** // DS302初始化函数
//*********************************************************************** void DS1302_init(void) {
RESET_CLR; //RESET脚置低 SCK_CLR; //SCK脚置低 RESET_OUT; //RESET脚设置为输出 SCK_OUT; //SCK脚设置为输出 }
//*********************************************************************** // 显示屏命令写入函数
//*********************************************************************** void LCD_write_com(unsigned char com) {
RS_CLR; RW_CLR; EN_SET;
DataPort = com; delay_ms(5); EN_CLR; }
//*********************************************************************** // 显示屏数据写入函数
//***********************************************************************
void LCD_write_data(unsigned char data) {
RS_SET; RW_CLR; EN_SET;
DataPort = data; delay_ms(5); EN_CLR; }
//*********************************************************************** // 显示屏清空显示
//***********************************************************************
void LCD_clear(void) {
LCD_write_com(0x01); delay_ms(5); }
//*********************************************************************** //函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
//*********************************************************************** void DisplayCgrom(uchar addr,uchar *hz) {
LCD_write_com(addr); delay_ms(5); while(*hz != '\\0') {
LCD_write_data(*hz); hz++;
delay_ms(5); } }
//*********************************************************************** // 显示屏初始化函数
//*********************************************************************** void LCD_init(void) {
LCD_write_com(FUN_MODE); //显示模式设置 delay_ms(5);
LCD_write_com(FUN_MODE); //显示模式设置
delay_ms(5);
LCD_write_com(DISPLAY_ON); //显示开 delay_ms(5);
LCD_write_com(CLEAR_SCREEN); //清屏 delay_ms(5); }
//**************************************************************** // Display()显示测试结果
//**************************************************************** void Display(void) {
DisplayCgrom(0x81,\实时时钟演示\}
//*********************************************************************** // 主程序
//*********************************************************************** int main(void) {
volatile uchar temp;
WDT_Init(); //看门狗设置 Clock_Init(); //系统时钟设置
Port_Init(); //系统初始化,设置IO口属性
Close_LED(); //关闭LED数码管,避免显示乱码 delay_ms(100); //延时100ms
LCD_init(); //液晶参数初始化设置 LCD_clear(); //清屏
DS1302_init(); //DS1302初始化 delay_ms(10);
DS1302_write_time(); //向DS1302写初始数据,如年月和时间等 Display(); while(1) {
delay_ms(200);
DS1302_read_time(); //读DS1302数据
LCD_write_com(0x88); delay_ms(2);
temp = (time_buf[0] >> 4) + '0'; //在LCD上写要显示的数据 LCD_write_data(temp);
delay_ms(2);
temp = (time_buf[0] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[1] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[1] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
LCD_write_data('-'); delay_ms(2);
temp = (time_buf[2] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[2] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
LCD_write_data('-'); delay_ms(2);
temp = (time_buf[3] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[3] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
LCD_write_com(0x9C); delay_ms(5);
temp = (time_buf[4] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[4] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
LCD_write_data(':'); delay_ms(2);
temp = (time_buf[5] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[5] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2);
LCD_write_data(':'); delay_ms(2);
temp = (time_buf[6] >> 4) + '0'; LCD_write_data(temp); delay_ms(2);
temp = (time_buf[6] & 0x0F) + '0'; LCD_write_data(temp); delay_ms(2); } }
11、DS1302-DS1302实时时钟在1602液晶中显示测试程序
/******************************************************************** //DM430-A型开发板实时时钟DS1302控制程序,显示年月日及时间
//显示器件为1602液晶,第一行显示年 …… 此处隐藏:3101字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




