- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
”实例100:电机转速表设计
#includereg51.h#includeintrins.h
sbitRS=P2A0;
sbitRW=P2A1;
sbitE=P2A2;
sbitBF=POA7;
包含单片机寄存器的头文件
//包含_nop_()函数定义的头文件
寄存器选择位,将RS位定义为P2.0引脚
”读写选择位,将RW位定义为P2.1引脚
//使能信号位,将E位定义为P2.2引脚
//忙碌标志位,,将BF位定义为P0.7引脚unsignedcharcodedigit[
]={0123456789};//定义字符数组显示数字
unsignedintv;”储存电机转速
unsignedcharcount;储存定时器TO中断次数
bitflag;”计满1秒钟标志位
/本本非非水求非本本非求水本非水本中非本本非水本非非水本非非本求非水中非求水非非本本非非本本非水**非*本*
函数功能:延时1ms
(3j+2)*i=(3X33+2)X10=1010(微秒),可以认为是1毫秒
***************************************************/
voiddelaylms()
[
unsignedchari,j;
for(i=0;i10;i++)
for(j=0;j33:j++)
3
/*****************************************************
44444444466666666
666666666666
函数功能:延时若干毫秒
入口参数:n
***************************************************/
voiddelay(unsignedcharn)
unsignedchari
for(i=0;in;i++)
delay1ms();
)
/*****************************************************函数功能:判断液晶模块的忙
碌状态
返回值:result。result=1,忙碌;result=0,不忙
***************************************************/
unsignedcharBusyTest(void)
bitresult;
RS=0;
RW=1;
//根据规定,RS为低电平,RW为高电平时,可以读状态
//E=1,才允许读写
n空操作
E=1;
_nop_();
_nop_();
_nop_();
_nop_0;1/空操作四个机器周期,给硬件反应时间
result=BF;//将忙碌标志电平赋给result
E=0;//将E恢复低电平
returnresult;
/*****************************************************
函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate
***************************************************/voidWritelnstruction(unsignedchardictate)
while(BusyTest(=1);1/如果忙就等待
RS=0;
RW=0;
E=0;
_nop_();
_nop_();
PO=dictate;
_nop_();
_nop_();
_nop_();
_nop_();
E=1;
_nop_();
_nop();
_nop_();
_nop_();
E=0;
”根据规定,RS和R/W同时为低电平时,可以写入指令
//E置低电平(根据表8-6,写指令时,E为高脉冲,
/就是让E从0到1发生正跳变,所以应先置”0
”空操作两个机器周期,给硬件反应时间
//将数据送入P0口,即写入指令或地址
I1空操作四个机器周期,给硬件反应时间
//E置高电平
l/空操作四个机器周期,给硬件反应时间
”当E由高电平跳变成低电平时,液晶模块开始执行命令
/*****************************************************
函数功能:指定字符显示的实际地址入口参数:x
***************************************************/
voidWriteAddress(unsignedcharx)
Writelnstruction(xl0x80);//显示位置的确定方法规定为”80H+地址码x”
}
1**0*******
您可能关注的文档
最近下载
- DB44T 2719-2025《有限空间智慧安全管控技术规范》.pdf VIP
- 河堤建设工程施工合同.doc VIP
- 2024年执业中药师考试复习资料重点知识点与背诵口诀.pdf VIP
- 职业院校课程思政与思政课程协同育人典型案例.pdf VIP
- 12D101-5(替代94D101-5)110kV及以下电缆敷设.docx VIP
- 北师大版小学六年级数学上册第1单元测试卷(有答案).docx VIP
- 第六章管式反应器.ppt VIP
- 六年级上册分数四则混合运算300题及答案.docx VIP
- 2024—2025学年河南省开封高级中学高一上学期第一次月考物理试卷.doc VIP
- 学校升旗台工程方案范文(3篇).docx VIP
文档评论(0)