已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
pro teus模拟图:KEIL C计划:#include# include“LCD 1602 . h”# include“ds 1302 . h”Void Delay1ms(unsigned int count)Unsigned int i,j;for(I=0);I/port definitions * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *sbit LcdRs=P2 0;sbit LcdRw=P2 1;sbit LcdEn=P2 2;Sfr DBPort=0x80/P0=0x80,P1=0x90,p2=0xa0,P3=0xb 0。数据端口/内部大气函数* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Unsigned char LCD_Wait(void)LcdRs=0;LcdRw=1;_ nop _();LC den=1;_ nop _();/while(dbport0x 80);在模拟为/Proteus时遮罩此语句,将在调用GotoXY()时进入死循环。/写入控制词时,模块可能未返回完整的写入命令(DBPort0x80=0x80)/当存在物理硬件时打开此门LC den=0;Return DBPort/将命令或数据写入液晶屏* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#define LCD_COMMAND0 /Command#define LCD_DATA1 /Data# define LCD _ CLEAR _ screen0x 01/CLEAR屏幕#define LCD_HOMING0x02 /光标返回原点Void LCD _ write (bit style,unsigned char input)LC den=0;LcdRs=styleLcdRw=0;_ nop _();DBPort=input_ nop _();/注意顺序LC den=1;_ nop _();/注意顺序LC den=0;_ nop _();LCD _ Wait();/设定显示模式* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#define LCD_SHOW0x04 /开显示#define LCD_HIDE0x00 /关闭显示器#define LCD_CURSOR0x02 /显示游标#define LCD_NO_CURSOR0x00 /无光标#define LCD_FLASH0x01 /光标闪烁#define LCD_NO_FLASH0x00 /光标不闪烁void LCD _ set display(unsigned char display mode)Lcd _ write (LCD _ command,0x08 |显示模式);/设定输入模式* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#define LCD_AC_UP0x02# define LCD _ AC _ down0x 00/default#define LCD_MOVE0x01 /屏幕可平移# define LCD _ no _ move0x 00/defaultVoid LCD _ set输入模式(unsigned char input mode,unsigned char输入模式)Lcd _ write (LCD _ command,0x 04 | input mode);/移动光标或屏幕* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。/*#define LCD_CURSOR0x02#define液晶屏_SCREEN0x08#define LCD_LEFT0x00#define LCD_RIGHT0x04void LCD _ move(unsigned char object,unsigned char direction)If(object=LCD_CURSOR)Lcd _ write (LCD _ command,0x 10 | direction);If(object=LCD_SCREEN)Lcd _ write (LCD _ command,0x 18 | direction);*/初始化液晶屏* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Void LCD_Initial()LC den=0;LCD_Write(LCD_COMMAND,0x 38);/8位数据端口,2行显示,5*7光栅LCD_Write(LCD_COMMAND,0x 38);LCD _ set display(LCD _ show | LCD _ no _ cursor);/打开不带光标的显示Lcd _ write (LCD _ command,LCD _ clear _ screen);/清除屏幕LCD _ setinput(LCD _ AC _ up | LCD _ no _ move);/AC增量,屏幕不移动/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Void goto (unsigned charx,unsigned chary)If(y=0)LCD_Write(LCD_COMMAND,0x 80 | x);If(y=1)Lcd _ write (LCD _ command,0x 80 |(x-0x 40);Void Print(unsigned char *str)While(*str!=0)LCD_Write(LCD_DATA,* str);Str/*void LCD _ load char(unsigned char user8,unsigned charplace)unsigned char I;Lcd _ write (LCD _ command,0x 40 |(place * 8);for(I=0);i8;I)LCD_Write(LCD_DATA,userI);*/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#endif# ifndef _ real _ timer _ ds 1302 _ 2003 _ 7 _ 21 _# define _ real _ timer _ ds 1302 _ 2003 _ 7 _ 21 _sbit ds 1302 _ CLK=P1 6;/实时时钟线销sbit ds 1302 _ IO=P1 7;/即时时钟资料缆线接脚sbit ds 1302 _ RST=P1 5;/实时时钟复位线销Sbit ACC0=ACC 0Sbit ACC7=ACC 7Typedef struct _SYSTEMTIME_Unsigned char SecondUnsigned char MinuteUnsigned char HourUnsigned char WeekUnsigned char DayUnsigned char MonthUnsigned char Yearunsigned char DateString9;unsigned char TimeString9; SYSTEMTIME/定义的时间类型#define AM(X)X#define PM(X)(X 12) /切换到24小时制#define DS1302_SECOND0x80#define DS1302_MINUTE0x82#define DS1302_HOUR0x84#define DS1302_WEEK0x8A#define DS1302_DAY0x86#define DS1302_MONTH0x88#define DS1302_YEAR0x8C# define ds 1302 _ RAM(x)(0xc 0(x)* 2)/ds 1302 _ RAM计算地址的宏将实时时钟写入void ds 1302 input byte(unsigned chard)/1字节(内部函数)unsigned char I;ACC=d;for(I=8);i0;I-)DS1302 _ IO=ACC0/与编辑中的RRC相对应ds 1302 _ CLK=1;ds 1302 _ CLK=0;ACC=ACC 1;unsigned char ds 1302 output byte(void)/实时时钟读取1字节(内部函数)unsigned char I;for(I=8);i0;I-)ACC=ACC 1;/与编辑中的RRC相对应ACC7=DS1302 _ IOds 1302 _ CLK=1;ds 1302 _ CLK=0;return(ACC);void write 1302(unsigned char UC addr,unsigned char ucda)/UC addr 3360 ds 1302地址,ucData:要写入的数据ds 1302 _ RST=0;ds 1302 _ CLK=0;ds 1302 _ RST=1;ds 1302 inputbyte(ucad dr);/地址,命令ds 1302 inputbyte(ucDa);/1Byte写入数据ds 1302 _ CLK=1;ds 1302 _ RST=0;从unsigned char read 1302(unsigned char UC addr)/ds 1302地址读取数据Unsigned char ucDatads 1302 _ RST=0;ds 1302 _ CLK=0;ds 1302 _ RST=1;ds 1302 inputbyte(ucad dr |0x 01);/地址,命令UC data=ds 1302 output byte();/1Byte读取数据ds 1302 _ CLK=1;ds 1302 _ RST=0;R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省绵阳市绵阳南山中学2026届高二物理第一学期期末达标测试试题含解析
- 文化创意产业市场机会与挑战研究
- 止水带橡胶与金属粘合试验记录
- 2025年秋鲁教版(新教材)小学信息科技五年级上册期末模拟试卷(含答案)(共三套)
- 第三章 指数运算与指数函数全章复习(高效培优讲义)数学北师大版2019必修第一册解析版
- 【会计毕业论文的题目】 会计毕业论文题目大全
- 晋能控股15字30条经营管理措施(一)
- 法学院法学研究生学位论文格式规范-上海交通大学凯原法学院
- 论文的研究目的和研究意义怎么写
- 会计学专业毕业论文选题参考题目
- 中国糖尿病足诊治指南(2024)解读
- 政府推动下我国新能源汽车产业的走势
- 戏剧鉴赏学习通超星期末考试答案章节答案2024年
- 2023年深圳市龙华区招聘社区网格员笔试真题
- 《环境保护与可持续发展》教学大纲
- HGT 4584-2014 化工用等静压成型衬聚四氟乙烯管道、管配件
- MOOC 写作与表达-常熟理工学院 中国大学慕课答案
- MOOC 无人机技术基础-职教MOOC建设委员会 中国大学慕课答案
- 山东电网发电机组一次调频运行管理规定(试行)
- 钢结构厂房加固施工方案
- 腹腔镜乙状结肠癌根治术护理查房
评论
0/150
提交评论