请登录 免费注册
分享
  • 微信
  • 新浪微博
  • 人人网
  • QQ空间
  • 开心网
  • 豆瓣
会员服务
进取版 标准版 尊贵版
| 设为首页 | 收藏 | 导航 | 帮助
产品 资讯
请输入产品名称
JUKI贴片机 单极霍尔开关 pcb设备 全方位海绵 无感电容 电源供应 MDD72-16N1B-IXYS二极管
关注微信随身推
首页 电子商城 专题报道 资料中心 成功案例
词多 效果好 就选易搜宝!
深圳市金贝莱电子科技有限公司
新增产品 | 公司简介
注册时间:2005-11-02
联系人:
电话:
Email:
首页 公司简介 产品目录 公司新闻 技术文章 资料下载 成功案例 人才招聘 荣誉证书 联系我们

产品目录

电流电压采集器
电子产品开发
远程IO采集器
RTU485开关量采集模块
混合性采集模块
微电脑控制器
物联网终端控制系统
单片机开发
电子控制板开发
鸡舍智能化控制系统
智能电柜箱
空气质量监控系统
环境监测传感器
首页 >>> 技术文章 >

技术文章

单片机开发时序

      单片机开发时序是指单片机执行指令时应发出的控制信号的时间序列。这些控制信号在时间上的相互关系就是CPU的时序。它是一系列具有时间顺序的脉冲信号。       

      CPU发出的时序有两类:一类用于片内各功能部件的控制,它们是芯片设计师关注的问题,对用户没有什么意义。另一类用于单片机外部芯片的控制,这部分时序对分析硬件电路的原理至关重要,也是软件编程遵循的原则。

      单片机开发时序永远使用是任何一片IC芯片的主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情,要充分做好的首件事就是要把它的器件手册上有用的内容提取,掌握其工作时序。

     在这里我们以液晶单片机开发时序1602为例,分析其操作时序。其基本时序有读状态,写指令,读数据和写数据。


     1602的引脚定义

     我们首先来看1602的引脚定义,1602的引脚是很整齐的SIP单列直插封装,所以器件手册只给出了引脚的功能数据表:

 

     1 基本操作时序

     1.1读状态:输入:RS=L,RW=H,E=H                                   输出:D0-D7=状态字

     1.2写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲      输出:无

     1.3读数据:输入:RS=H,RW=H,E=H                                  输出:D0-D7=数据

     1.4写数据:输入:RS=H,RW=L,D0-D7=数据,E=高脉冲         输出:无


      我们只需要关注以下几个管脚:

      3脚:VL,液晶显示偏压信号,用于调整LCD1602的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为0时可以得到*强的对比度。

      4脚:RS,数据/命令选择端,当此脚为高电平时,可以对1602进行数据字节的传输操作,而此脚为低电平时,则是进行命令字节的传输操作。命令字节,即是用来对LCD1602的一些工作方式作设置的字节;数据字节,即使用以在1602上显示的字节。值得一提的是,LCD1602的数据是8位的。

      5脚:R/W,读写选择端。当此脚为高电平可对LCD1602进行读数据操作,反之进行写数据操作。此脚其实用处不大,直接接地长久置为低电平也不会影响其正常工作。但是尚未经过复杂系统验证,保留此意见。

      6脚:E,使能信号,其实是LCD1602的数据控制时钟信号,利用该信号的上升沿实现对LCD1602的数据传输。

      7~14脚:8位并行数据口,使得对LCD1602的数据读写大为方便。

    单片机开发时序写命令和写数据

    在此,我们分析两个写时序:写命令和写数据。

     写命令

     当我们要写指令字,设置LCD1602的工作方式时:需要把RS置为低电平,RW置为低电平,然后将数据送到数据口D0~D7,*后E引脚一个高脉冲将数据写入。

voidWriteCommandLCD(unsignedcharWCLCD,BuysC)//BuysC为0时忽略忙检测

{

if(BuysC)ReadStatusLCD();//根据需要检测忙

LCD_Data=WCLCD;//将要写的命令放在数据线上

LCD_RS=0;//RS为低表明要写的为命令

LCD_RW=0;//RS为低表明执行的是写操作

LCD_E=0;

LCD_E=0;

LCD_E=1;//以上三条语句引入一个高脉冲

}

    单片机开发时序写数据

      当我们要写入数据字,在1602上实现显示时:需要把RS置为高电平,RW置为低电平,然后将数据送到数据口D0~D7,*后E引脚一个高脉冲将数据写入。

voidWriteDataLCD(unsignedcharWDLCD)

{

ReadStatusLCD();//检测忙

LCD_Data=WDLCD;//将要写的命令放在数据线上

LCD_RS=1;//RS为高表明要写的为数据

LCD_RW=0;//RS为低表明执行的是写操作

LCD_E=0;

LCD_E=0;

LCD_E=1;//以上三条语句引入一个高脉冲

}

      写指令和写数据,差别仅仅在于RS的电平不一样而已。大家写驱动代码的时候一定要充分理解器件的时序图(配合文字说明),否则写不出合格的驱动代码,器件也就不能工作。



上一篇:电子控制板开发
下一篇:单片机开发线路板设计中使用的Modbus-RTU常用功能码通信数据
              
若网站内容侵犯到您的权益,请通过网站上的联系方式及时联系我们修改或删除