工程下载地址:http://blog.chinaunix.net/u3/106835/showart_2390102.html
#include "config.h"

#define  HC595_CS      (1 << 7)
#define  NixieTube_CS   (1<< 11)

void DelayMS(uint32 dly)
{
    uint32i;
    for(; dly> 0; dly--)
    {
      for(i = 0; i < 50000; i++);
    }
}

void  MSPI_Init(void)
{  
    PINSEL0 =(PINSEL0 & 0xFFFF00FF) | 0x00001500;

SPCCR =0x52;                 // 设置SPI时钟分频
    SPCR  = (0<< 3)|            // CPHA = 0, 数据在SCK 的第一个时钟沿采样
          (1 << 4)|            // CPOL = 1, SCK 为低有效
          (1 << 5)|            // MSTR = 1, SPI 处于主模式
          (0 << 6)|            // LSBF = 0, SPI 数据传输MSB (位7)在先
          (0 <<7);            // SPIE = 0, SPI 中断被禁止
}

void  MSPI_SendData(uint8 data)
{  
    IOCLR =HC595_CS;                // 片选74HC595
   
    SPI_SPDR =data;
    while( 0 ==(SPI_SPSR &0x80));      // 等待SPIF置位,即等待数据发送完毕
   
    IOSET =HC595_CS;

}

uint8 const DISP_TAB[19] = {
//    0     1    2   3   4   5   6   7   8   9    
   0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
//    A   b     C   d   E     F
    0x88, 0x83,0xC6, 0xA1,0x86, 0x8E,
//     L    P    C
    0xC7, 0x8C,0xC6 };

int main (void)
{
    uint8i;
    
    PINSEL0 =0x00001500; // 设置SPI管脚连接
                          
    IODIR =HC595_CS|NixieTube_CS;   
    IOSET =IOSET|NixieTube_CS;
   MSPI_Init();// 初始化SPI接口                              
   while(1)   
    { 
         for(i = 0; i < 16; i++)
         {
           MSPI_SendData(DISP_TAB[i]);   // 发送显示数据
           DelayMS(80);
           }
    }
 
    return0;
}

转载于:https://www.cnblogs.com/hnrainll/archive/2010/11/14/1877230.html

ADS_LPC2103开发板SPI 4位数码管测试试验相关推荐

  1. 正点原子Linux开发板 spi内核驱动 0.96寸ips屏教程

    正点原子Linux开发板 spi内核驱动 0.96寸ips屏教程 首先选择模块 设备树配置 spi驱动程序(用的spi_driver) app 最近做下底层SPI驱动来驱动IPS屏,本来想实现这种效果 ...

  2. PY32F002A开发板,32位 M0内核,最高20KB的flash,3KB的SRAM

    PY32F002A开发板为PY32F002A芯片提供了一个简易的硬件开发环境.开发板使用 type c 接口作为供电源.提供包括扩展引脚在内的以及 SWD.Reset.Boot.User button ...

  3. Android Things创客DIY第六课-Android Things入门配件包开发案例教程-4位数码管显示

    4位数码管显示 之前的<Android Things创客DIY第三课-Android Things入门配件包开发案例教程-数码管显示>中,介绍了如何使用Android Things控制1位 ...

  4. 黑金AX301开发板SPI通信详解

    前言: 对黑金的AX301开发板的SPI工程进行了波形仿真,写一下自己的理解. 背景: 项目地址: https://download.csdn.net/download/a792544191/1287 ...

  5. orange+pi+android+7,全志H6四核1.8GHZ的Orange pi 3来了!新一代ARM开发板,64位系统级芯片......

    当深圳迅龙推出第一款全志H6香橙派One Plus时,很多人都感到很失望,因为缺乏一些关键功能,如USB 3.0.PCIe.只有1GB的RAM. 不过几周后,该迅龙就推出了带有802.11ac WiF ...

  6. 迅为龙芯2K1000开发板双核64位系统处理器,流畅运行多个系统

    迅为电子的iTOP-2K1000核心板对外提供的接口是邮票孔方式.搭载龙芯2K1000处理器,处理器集成2个64 位GS264处理器核,主频1GHz,以及各种系统IO接口.集高性能与高配置于一身. 迅 ...

  7. 使用Arduino开发板连接12位数模转换器MCP4725的方法

    我们都知道微控制器只能使用数字量,但在现实世界中有很多模拟信号需要处理.这就是为什么使用ADC(模数转换器Analog to Digital Converters)将现实世界的模拟量转换为数字量,以便 ...

  8. 【NUCLEO_F767ZI开发板系列】一、开箱测试。

    最近,收获了一块NUCLEO-F767ZI 的开发板,用了好长时间的STM32单片机,这还是第一次使用官方的开发板,不免有些激动,所以在这里将学习的过程记录下来,一方面是方便自己的学习,还有就是和大家 ...

  9. 国产工业CPU平台,米尔基于全志T507-H开发板的实时性分析与测试

    01. 概述 全志科技T5系列是一个高性能四核 CortexTM–A53 处理器,适用于新一代汽车市场.T5系列符合汽车 AEC – Q100 测试要求.该芯片集成四核 CortexTM–A53 CP ...

最新文章

  1. 超酷flash光芒光线特效
  2. pytorch遇见RuntimeError: CUDA out of memory的解决
  3. java七大_Java 7七大新功能
  4. [BTS]使用BizTalk开发应用系统,就是这么简单!
  5. ubuntu服务器php7.2启用mysqli(不用reboot超简单)
  6. python对Excel数据进行读写操作
  7. app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android
  8. oracle驱动ojdbc6的下载安装
  9. 2021年N1叉车司机免费试题及N1叉车司机考试总结
  10. java中的char_java中的char是什么意思?
  11. 微信公告号 图灵机器人实现智能回复
  12. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统
  13. 牛血清白蛋白BSA:蛋白定量检测标准品
  14. 戴尔服务器找不到网卡驱动终极解决办法
  15. ben we_老WE成立手游战队!2020LOL冬季转会汇总:TSM蛇蛇
  16. 解决:Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足的问题
  17. 百度竞价推广怎么提高咨询转化率?
  18. c语言五子棋键盘操控,c语言写的鼠标操作的五子棋游戏,欢迎观赏!
  19. 合泰杯 | 合泰单片机入门 定时器详解(三)
  20. gm修改爆率需要重启服务器吗,自己开传奇如何设置GM名单,以及装备爆率

热门文章

  1. 【bzoj2006】【NOI2015】超级钢琴
  2. Confluence 6 使用 Apache 和 mod_proxy 添加 SSL和其他
  3. ETL AUTOMATION介绍
  4. Android Weekly Notes Issue #225
  5. VS2015 添加DNX SDK
  6. clojure学习记录
  7. Linux系统利用Crontab命令实现定时重启
  8. Oracle 存储过程的导出导入序列的导出
  9. 前台特效(9)无限极分类折叠菜单
  10. [转载] 杜拉拉升职记——20 两位同僚