rar

zlg7289 c程序

  • 1星
  • 日期: 2013-09-22
  • 大小: 23.85KB
  • 所需积分:1分
  • 下载次数:6
  • favicon收藏
  • rep举报
  • free评论
标签: zlg7289

zlg7289

c程序

c程序

zlg7289  c程序#include"msp430x14x.h"#include"IO.h"#define  DELAY_1US          _NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP()void  Delay(unsigned  int  t)                                    //延时  t  us{  unsigned  int    i;  for  (i=0;i<t;i++)    DELAY_1US;}/*函数:ZLG7289_SPI_Write()功能:向SPI  总线写入1  个字节的数据参数:dat:要写入的数据*/void  ZLG7289_SPI_Write(char  dat)                      //5{  unsigned  char  t  =  8;  ZLG7289_OperateIO  &=~ZLG7289_CLK;      //clk=0  do  {    if(dat&0x80)      ZLG7289_OperateIO    |=ZLG7289_DAT;    else      ZLG7289_OperateIO    &=~ZLG7289_DAT;    ZLG7289_OperateIO  |=ZLG7289_CLK;        //clk=1    dat  <<=  1;    Delay(4);    ZLG7289_OperateIO  &=~ZLG7289_CLK;      //clk=0    Delay(4);      }while  (  --t  !=  0  );}/*函数:ZLG7289_SPI_Read()功能:从SPI  总线读取1  个字节的数据返回:读取到的数据*/unsigned  char  ZLG7289_SPI_Read(){  unsigned  char  dat=0x00;    unsigned  char  t  =  8;  ZLG7289_OperateIO  &=~ZLG7289_CLK;    //clk=0  //ZLG7289_DAT  =  1;  //读取数据之前DIO  引脚要置1  以切换到输入状态  do  {    ZLG7289_OperateIO    |=ZLG7289_CLK;        //clk=1    Delay(4);        dat  <<=  1;    if  ((ZLG7289_OperateIO_IN&ZLG7289_DAT))        dat++;      ZLG7289_OperateIO    &=~ZLG7289_CLK;    //clk=0    Delay(4);    }while  (  --t  !=  0  );  return  dat;}/*函数:ZLG7289_cmd()功能:执行ZLG7289  纯指令参数:cmd:命令字*/                                                                                                //6void  ZLG7289_cmd(char  cmd){  ZLG7289_OperateIO_DIR  |=ZLG7289_DAT;          //output  ZLG7289_OperateIO  &=~ZLG7289_CS;          //CS=0  Delay(24);  ZLG7289_SPI_Write(cmd);  ZLG7289_OperateIO  |=ZLG7289_CS;          //CS=1  ZLG7289_OperateIO_DIR  &=~ZLG7289_DAT;          //input}/*函数:ZLG7289_cmd_dat()功能:执行ZLG7289  带数据指令参数:cmd:命令字dat:数据*/void  ZLG7289_cmd_dat(char  cmd,  char  dat){  ZLG7289_OperateIO_DIR  |=ZLG7289_DAT;          //output  ZLG7289_OperateIO  &=~ZLG7289_CS;          //CS=0    Delay(24);  ZLG7289_SPI_Write(cmd);  Delay(14);  ZLG7289_SPI_Write(dat);  ZLG7289_OperateIO  |=ZLG7289_CS;          //CS=1    ZLG7289_OperateIO_DIR  &=~ZLG7289_DAT;      //input}/*函数:ZLG7289_Download()功能:下载数据参数:mod=0:下载数据且按方式0  译码mod=1:下载数据且按方式1  译码mod=2:下载数据但不译码x:数码管编号(横坐标),取值0~7dp=0:小数点不亮                                                                    //7dp=1:小数点亮dat:要显示的数据说明:译码方式的具体含义请参考数据手册*/void  ZLG7289_Download(unsigned  char  mod,  char  x,char  dp,  char  dat)  {  char  ModDat[3]  =  {0x80,0xC8,0x90};  char  d1;  char  d2;  if  (  mod  >  2  )      mod  =  2;  d1    =  ModDat[mod];  x      =  x    &  0x07;  d1    =  d1  |  x;  d2    =  dat  &  0x7F;  if  (  dp  )      d2  =d2  |  0x80;  ZLG7289_cmd_dat(d1,d2);}/*功能:执行ZLG7289  键盘命令返回:返回读到的按键值:0~63如果返回0xFF  则表示没有键按下*/unsigned  char  ZLG7289_Key(){  unsigned  char  key;  ZLG7289_OperateIO_DIR  |=ZLG7289_DAT;          //output  ZLG7289_OperateIO  &=~ZLG7289_CS;          //CS=0    Delay(24);  ZLG7289_SPI_Write(0x15);  ZLG7289_OperateIO_DIR  &=~ZLG7289_DAT;          //input  Delay(14);  key  =  ZLG7289_SPI_Read();  ZLG7289_OperateIO  |=ZLG7289_CS;          //CS=0    return  key;}void  ZLG7289_initial(void){  ZLG7289_OperateIO_DIR    |=    ZLG7289_CS+ZLG7289_CLK+ZLG7289_KEY;  ZLG7289_OperateIO            |=    ZLG7289_CS+ZLG7289_KEY;  ZLG7289_OperateIO            &=~  ZLG7289_CLK;  ZLG7289_OperateIO_DIR    &=~  ZLG7289_KEY;      //INPUT                  ZLG7289_OperateIE            |=    ZLG7289_KEY;      //enable  interrupt  ZLG7289_OperateIES          |=    ZLG7289_KEY;      //failing}

推荐帖子 最新更新时间:2021-07-21 01:22

对5号充电电池试验的疑惑?
《对5号充电电池试验的疑惑?》 geyin 23:24 2015/12/5 --------------------- 说明: TB上买了四节某品牌的5号充电电池,(2015-12-03订单号: 1444139704234160),开封后装相机上使用,感觉不错,好评付款。 闲着没事看了看评论,发现有个网友用户很认真,做了试验,结论是容量不足。 下面是这位认真网友的评论和试验曲线 =
geyin 测试/测量
你了解MSP430F149看门狗及其应用么
1、概述看门狗有两个作用:1、可以防止程序跑飞,若程序跑飞可让单片机复位;2、可作为间隔时间发生器,在中断中进行定期刷新显示、读取数据等对外设的操作。2、设置    不需要看门狗时可用软件关闭,设置:WDTCTL = WDTPW + WDTHOLD;    为防止误触发操作WDTCTL需要先写入WDTPW。    作为间隔定时器时详细操作可见MSP430F149.H文件中的宏定义。3、相关寄存器1
fish001 微控制器 MCU
携手NI, 走近日益互联化的工业世界与工业大数据
2016年度首发“工业大数据应用智造沙龙汇”于3月11日在中国长沙举行,该活动立足于探索三一重工在工业世界里如何实现智能化转型、大数据如何成功打造了“三一指数”。NI全程参与了此次活动。 2015年7月,三一重工入选中国智能制造示范点企业,成为工程机械行业首批入选企业。三一重工高级副总裁贺东东表示:“三一通过产品的智能化、制造的智能化(智能化车间)、服务的智能化(三一重工智能服务平台)、产品
eric_wang 工控电子
限度降低Ćuk稳压器的辐射
    拓扑非常适合用于从正电源电压生成负输出电压。许多系统都需要负电源电压,以便读取某些传感器发出的信号。因此,可能需要为信号链提供(例如)+5 V 和–5 V,或者甚至+15 V 和–15 V 电压。负电源电压也用于安全切换某些开关元件,例如碳化硅(SiC)。   拓扑也称为 2L 反相拓扑,因为其电源路径中需要使用两个电感。图 1 为?uk 拓扑的电路图。   在选择合适的开关稳
fish001 模拟与混合信号
今日ADI直播:解析MEMS技术和产品,深入洞悉倾角测量应用,观看即可抽奖~
今日,且听MEMS老工匠ADI,讲讲传感器的原理和有趣应用~ 观看直播:点此进入直播间(观看直播即可参与抽奖~)(提问可将中奖概率提升一半~) 直播时间:今日上午10:00-11:30 直播内容: 1、介绍MEMS加速计与陀螺仪的工作原理、设计中遇到的挑战与解决办法 2、MEMS传感器参数所代表的意义 3、有趣的应用分享 4、深入洞悉利用MEMS传感器所实现的倾角测量应用
EEWORLD社区 模拟电子
基于DSP控制的液晶显示屏的设计及实现
     近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于高速信号采集、语音处理、图像分析处理等领域中,并且日益显示其巨大的优越性。而液晶显示屏更以其显示直观、便于操作的特点被用作各种便携式系统的显示前端。传统的液晶显示往往采用单片机控制。但在系统有大量高速实时数据的情况下,单片机由于受到处理速度的限制就显得力不从心。为了解决这些问题,本文提出了一种基于DSP控制的液晶显示屏
Aguilera DSP 与 ARM 处理器

评论

lyl_420819
好资料,学习了,谢谢分享。
2020-07-11 10:01:02回复
登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })
×