当前位置: 首页 > news >正文

做离心开关的企业的网站媒体发稿公司

做离心开关的企业的网站,媒体发稿公司,网站建设江阴,天猫商城官网下载1.目标: a.数码管显示相同的值 0000 1111 ......9999; b.数码管显示不同的值 1234; 2.分析m74hc595芯片内部框图; 真值表: 3.代码; ---spi.h头文件--- #ifndef __SPI_H__ #define __SPI_H__#include &quo…

1.目标:

        a.数码管显示相同的值 0000 1111 ......9999;
        b.数码管显示不同的值 1234;

2.分析m74hc595芯片内部框图;

 真值表:

3.代码;

---spi.h头文件---
#ifndef __SPI_H__
#define __SPI_H__#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"// MOSI对应的引脚输出高低电平的信号
#define  MOSI_OUTPUT_H()	do{GPIOE->ODR |= (0x1 << 14);}while(0)
#define  MOSI_OUTPUT_L()    do{GPIOE->ODR &= (~(0x1 << 14));}while(0)// 对应595芯片的锁存引脚输出高低电平
#define  NSS_OUTPUT_H()	    do{GPIOE->ODR |= (0x1 << 11);}while(0)
#define  NSS_OUTPUT_L()     do{GPIOE->ODR &= (~(0x1 << 11));}while(0)// 时钟信号对应的引脚输出高低电平
#define  SCK_OUTPUT_H()     do{GPIOE->ODR |= (0x1 << 12);}while(0)
#define  SCK_OUTPUT_L()     do{GPIOE->ODR &= (~(0x1 << 12));}while(0)/** 函数功能: SPI初始化函数,推挽输出,高速,禁止上拉和下拉* 函数参数:无* 函数返回值:无
*/
void SPI_init(void);
/** 函数功能:SPI发送数据的函数* 函数参数:dat : 要发送的数据* 函数返回值:无*
*/
void SPI_write(unsigned char dat);#endif  // __SPI_H__
---spi.c函数文件---
#include "spi.h"
/* SPI4_NSS 	---->   PE11* SPI4_SCK     ---->   PE12* SPI4_MOSI    ---->   PE14* SPI4_MISO    ---->   PE13* *//* 数码管的编码, 先发送低位,在发送高位* A B C D E F G DP* 1 1 1 1 1 1 0 0    0xFC   0* 0 1 1 0 0 0 0 0    0x60   1* 1 1 0 1 1 0 1 0    0xDA   2* 1 1 1 1 0 0 1 0    0xF2   3* 0 1 1 0 0 1 1 0    0x66   4* 1 0 1 1 0 1 1 0    0xB6   5 * 1 0 1 1 1 1 1 0    0xBE   6* 1 1 1 0 0 0 0 0    0xE0   7* 1 1 1 1 1 1 1 0    0xFE   8* 1 1 1 1 0 1 1 0    0xF6   9* */
void delay_us1(unsigned int us)
{int i,j;for(i = 0; i < us;i++)for (j = 0; j < 1;j++);
}void SPI_init(void)
{RCC->MP_AHB4ENSETR |= (0x1 << 4);// MOSI    PE14 GPIOE->MODER &= (~(0x3 << 28));GPIOE->MODER |= (0x1 << 28);GPIOE->OTYPER &= (~(0x1 << 14));GPIOE->OSPEEDR &= (~(0x3 << 28));GPIOE->PUPDR &= (~(0x3 << 28));// MISO    PE13GPIOE->MODER &= (~(0x3 << 26));GPIOE->OSPEEDR &= (~(0x3 << 26));GPIOE->PUPDR &= (~(0x3 << 26));// SCK     PE12	GPIOE->MODER &= (~(0x3 << 24));GPIOE->MODER |= (0x1 << 24);GPIOE->OTYPER &= (~(0x1 << 12));GPIOE->OSPEEDR &= (~(0x3 << 24));GPIOE->PUPDR &= (~(0x3 << 24));// NSS     PE11GPIOE->MODER &= (~(0x3 << 22));GPIOE->MODER |= (0x1 << 22);GPIOE->OTYPER &= (~(0x1 << 11));GPIOE->OSPEEDR &= (~(0x3 << 22));GPIOE->PUPDR &= (~(0x3 << 22));NSS_OUTPUT_L();    // 595芯片的锁存引脚拉低SCK_OUTPUT_L();    // SPI的时钟线拉低
}void SPI_write(unsigned char dat)
{//1.for循环 unsigned char i;for(i=0; i<8; i++){if(dat & 0x01)	//先发低位,再发高位MOSI_OUTPUT_H();  //发1elseMOSI_OUTPUT_L();  //发0dat >>= 1;//移位寄存器时钟,上升沿SCK_OUTPUT_L();delay_us1(10);SCK_OUTPUT_H();delay_us1(10);}	
}
---main.c测试文件---
#include "spi.h"extern void printf(const char *fmt, ...);void delay_ms(int ms){int i,j;for(i = 0; i < ms;i++)for (j = 0; j < 1800; j++);
}int num[10] = {0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6};int main()
{SPI_init();//实验1:0000 1111 .... 9999unsigned char i;while(1){/*	for(i=0; i<10; i++)	{//循环条SPI_write(0xF0);   //传位SPI_write(num[i]);   //传段//锁存时钟上升沿,锁存器数据才会变化NSS_OUTPUT_L();delay_ms(10);NSS_OUTPUT_H();delay_ms(10);}*//        /实验2:1234for(i=0; i<4; i++){SPI_write(0x80 >> i);SPI_write(num[i+1]);//锁存时钟上升沿,锁存器数据才会变化NSS_OUTPUT_L();delay_ms(1);NSS_OUTPUT_H();}}return 0;}

4.运行结果;

a.数码管显示相同的值 0000 1111 ......9999;

b.数码管显示不同的值 1234;

http://www.yayakq.cn/news/463766/

相关文章:

  • dede网站怎么做404页面seo网络优化师
  • 基于中小企业需求的电子商务网站建设广州白云区网站开发
  • 购买网店优化教程网
  • 淘客网站怎么做返利珠海网站建设哪家公司好
  • 网站的请求服务做优先级个人备案号 可以做游戏网站吗
  • 内容网站管理系统展厅设计制作
  • 网络舆情的网站网站 测速度
  • 电商网站开发流程list东莞的网站建设公司哪家好
  • 网银汇款企业做网站用途写什么北京网站设计有名 乐云践新
  • 常用的设计网站怎样做公司网站介绍
  • 做模型的网站有哪些内容纯代码添加wordpress网站底部导航
  • 注册个人网站学校网站建设设计方案
  • 5个常见的电子商务网站外贸网站海外推广3个必去网站
  • 网站网络推广方法美工网站设计收费
  • 企业网站模板下载需谨慎半数留有后门天津网站优化收费
  • 西安H5网站开发天津制作网站的公司电话
  • 免费做网站排名专业的网站建设平台
  • 初学网站开发苏州百度关键词优化
  • 建设农产品网络营销网站途牛网站建设方案
  • 西安SEO网站推广拖拽做网站
  • dedecms手机网站插件国外建站网站
  • 苏州前程无忧官上做网站网站程序开发公司
  • 外卖网站建设电子商务网站建设发展报告
  • 渭南建网站wordpress 留言板样式
  • 重庆网站公司建设贵阳网站开发方舟网络
  • 网站系统规划报告深圳建设局网站注册结构师培训附件
  • 深圳做网站(信科网络)小程序源码一般多少钱
  • 机械网站建设开发龙华做网站天无涯网络
  • 服务器在国外怎样做网站镜像一周热点新闻
  • wordpress软件站模板“一个”网站