找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13901|回复: 27
打印 上一主题 下一主题
收起左侧

stm32版八位串行74HC595数码管程序

  [复制链接]
跳转到指定楼层
楼主
ID:100252 发表于 2015-12-24 17:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

stm32版八位串行595数码管.rar (3.22 MB, 下载次数: 338)
  1. #include "sys.h"   //点击魔术棒加入对应的文件夹地址,FWLIB里加入相应的头文件
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"

  6. ////////////////////////////////////////////////////////////////////////////
  7. unsigned char fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  8. unsigned char segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
  9. unsigned char  disbuf[8]={0,0,0,0,0,0,0,0};
  10. #define uchar unsigned char
  11. #define DIO  LED0//串行数据输入
  12. #define RCLK LED1 //时钟脉冲信号——上升沿有效
  13. #define SCLK LED2//打入信号————上升沿有效



  14. void LED4_Display (void);                        // LED显示
  15. void LED_OUT(uchar X);                                // LED单字节串行移位函数
  16. void data_OUT(int data);
  17. unsigned char  LED_0F[];                // LED字模表


  18. //-----------------------------------------------------------------------------
  19. // 全局变量
  20. uchar LED[8];        //用于LED的8位显示缓存

  21. ///////////////////////////////////////////////////////////////////////////////////
  22. int main(void)
  23. {       
  24.          
  25.         u8 t=0;
  26.         delay_init();                     //延时函数初始化          
  27.         NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  28.         uart_init(9600);         //串口初始化为9600
  29.     LED_Init();
  30.         KEY_Init();
  31.         //////////////////////////////////////////////////////////
  32. //        LED[0]=0;
  33. //        LED[1]=2;
  34. //        LED[2]=3;
  35. //        LED[3]=4;
  36. //        LED[4]=5;
  37. //        LED[5]=6;
  38. //        LED[6]=7;
  39. //        LED[7]=8;
  40.          
  41.        
  42.        
  43.        
  44.        
  45.        
  46.        
  47.        
  48.        
  49.        
  50.        
  51. /////////////////////////////////////////////////////////////////         
  52.         while(1)
  53.         {
  54.    LED4_Display ();//串口数码管
  55.    data_OUT(123456);
  56. //                printf("love");
  57.         }
  58. }
  59. /////////////////////////////////////////////////////////////////
  60. void LED4_Display (void)
  61. {
  62.         unsigned char  *led_table;          // 查表指针
  63.         uchar i;
  64.         //显示第1位
  65.         led_table = LED_0F + LED[0];
  66.         i = *led_table;

  67.         LED_OUT(i);                       
  68.         LED_OUT(0x01);               

  69.         RCLK = 0;
  70.         RCLK = 1;
  71.         //显示第2位
  72.         led_table = LED_0F + LED[1];
  73.         i = *led_table;

  74.         LED_OUT(i);               
  75.         LED_OUT(0x02);               

  76.         RCLK = 0;
  77.         RCLK = 1;
  78.         //显示第3位
  79.         led_table = LED_0F + LED[2];
  80.         i = *led_table;

  81.         LED_OUT(i);                       
  82.         LED_OUT(0x04);       

  83.         RCLK = 0;
  84.         RCLK = 1;
  85.         //显示第4位
  86.         led_table = LED_0F + LED[3];
  87.         i = *led_table;

  88.         LED_OUT(i);                       
  89.         LED_OUT(0x08);               

  90.         RCLK = 0;
  91.         RCLK = 1;
  92.         //显示第5位
  93.         led_table = LED_0F + LED[4];
  94.         i = *led_table;

  95.         LED_OUT(i);                       
  96.         LED_OUT(0x10);       

  97.         RCLK = 0;
  98.         RCLK = 1;
  99.         //显示第6位
  100.         led_table = LED_0F + LED[5];
  101.         i = *led_table;

  102.         LED_OUT(i);                       
  103.         LED_OUT(0x20);       

  104.         RCLK = 0;
  105.         RCLK = 1;
  106.         //显示第7位
  107.         led_table = LED_0F + LED[6];
  108.         i = *led_table;

  109.         LED_OUT(i);                       
  110.         LED_OUT(0x40);       

  111.         RCLK = 0;
  112.         RCLK = 1;
  113.         //显示第8位
  114.         led_table = LED_0F + LED[7];
  115.         i = *led_table;

  116.         LED_OUT(i);               
  117.         LED_OUT(0x80);       

  118.         RCLK = 0;
  119.         RCLK = 1;
  120. }

  121. void LED_OUT(uchar X)
  122. {
  123.         uchar i;
  124.         for(i=8;i>=1;i--)
  125.         {
  126.                 if (X&0x80) DIO=1; else DIO=0;
  127.                 X<<=1;
  128.                 SCLK = 0;
  129.                 SCLK = 1;
  130.         }
  131. }
  132. void data_OUT(int data)
  133. {
  134.         LED[7] = 0;
  135.         LED[6] = 0;
  136.         LED[5] = data % 1000000 / 100000;
  137.         LED[4] = data % 100000 / 10000;
  138. //       
  139.         LED[3] = data % 10000 / 1000;
  140.         LED[2] = data % 1000 / 100;
  141.         LED[1] = data % 100 / 10;
  142.         LED[0] = data % 10;
  143.        
  144.        
  145.        
  146.        
  147.        
  148.        
  149.        
  150.        
  151.        
  152.        
  153.        
  154.        
  155.        
  156.        
  157.        
  158.        
  159. }
  160. unsigned char  LED_0F[] =
  161. {// 0         1          2           3        4         5          6           7        8         9          A           b        C    d          E    F    -
  162.         0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
  163. };

  164. ///////////////////////////////////////////////////////////////////////////////////////////////


















复制代码


评分

参与人数 4威望 +50 黑币 +61 收起 理由
libarwz + 5 很给力!
wuguangyue + 1 赞一个!
ewb2002 + 5
admin + 50 + 50 共享资料的积分奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:114316 发表于 2016-4-15 00:39 | 只看该作者
现在下载文件真困难

评分

参与人数 1黑币 +30 收起 理由
admin + 30 淡定

查看全部评分

回复

使用道具 举报

板凳
ID:114316 发表于 2016-5-21 15:47 | 只看该作者
谢谢站长
回复

使用道具 举报

地板
ID:135157 发表于 2016-7-27 03:03 | 只看该作者
感谢分享
回复

使用道具 举报

5#
ID:158801 发表于 2016-12-30 08:30 | 只看该作者
感谢分享
回复

使用道具 举报

6#
ID:169300 发表于 2017-3-9 09:23 | 只看该作者
感谢分享
回复

使用道具 举报

7#
ID:154092 发表于 2017-3-16 12:15 | 只看该作者
感謝分享
回复

使用道具 举报

8#
ID:124543 发表于 2017-3-31 12:32 | 只看该作者
真是好贴。学习学习。正好卡在瓶颈。
回复

使用道具 举报

9#
ID:185482 发表于 2017-4-2 00:42 | 只看该作者
好贴,学习学习
回复

使用道具 举报

10#
ID:189043 发表于 2017-4-12 23:49 | 只看该作者
感谢分享
回复

使用道具 举报

11#
ID:186666 发表于 2017-4-13 11:54 | 只看该作者
感谢分享
回复

使用道具 举报

12#
ID:194208 发表于 2017-4-27 15:14 | 只看该作者
yeuego 发表于 2016-4-15 00:39
**** 作者被禁止或删除 内容自动屏蔽 ****

学习过程中的坎坷
回复

使用道具 举报

13#
ID:92967 发表于 2017-9-5 18:18 | 只看该作者
现在下载文件真困难
回复

使用道具 举报

14#
ID:234195 发表于 2017-9-19 19:59 | 只看该作者
现在下载文件真困难
回复

使用道具 举报

15#
ID:289512 发表于 2018-3-22 16:49 | 只看该作者
一不小心,得了68黑币,真开心
回复

使用道具 举报

16#
ID:251572 发表于 2018-7-29 21:34 | 只看该作者
求黑币

51黑论坛_stm328位串行数码管显示.rar

1.28 KB, 下载次数: 22, 下载积分: 黑币 -5

可以试试

回复

使用道具 举报

17#
ID:130990 发表于 2018-8-30 23:11 | 只看该作者
很好的资料
回复

使用道具 举报

18#
ID:120879 发表于 2018-10-3 15:26 | 只看该作者
资料很实用!感谢分享!
回复

使用道具 举报

19#
ID:417225 发表于 2018-10-29 14:12 | 只看该作者
很好,很实用,谢谢分享
回复

使用道具 举报

20#
ID:267330 发表于 2018-11-17 17:08 | 只看该作者
感谢分享 ,正在找啊
回复

使用道具 举报

21#
ID:514062 发表于 2019-4-16 21:31 | 只看该作者
想学习学习
回复

使用道具 举报

22#
ID:670046 发表于 2019-12-21 22:32 | 只看该作者
感谢分享
回复

使用道具 举报

23#
ID:683402 发表于 2020-1-8 10:17 | 只看该作者
感谢分享
回复

使用道具 举报

24#
ID:341418 发表于 2020-4-14 17:13 | 只看该作者
亲,有这个程序的电路图没有啊?
回复

使用道具 举报

25#
ID:341418 发表于 2020-4-14 17:13 | 只看该作者
有这个程序的电路图没有
回复

使用道具 举报

26#
ID:341418 发表于 2020-4-14 17:14 | 只看该作者
有这个程序的电路图没有?
回复

使用道具 举报

27#
ID:733032 发表于 2020-4-21 14:18 | 只看该作者
谢谢转子的分享
回复

使用道具 举报

28#
ID:208271 发表于 2021-5-8 11:59 | 只看该作者
感谢楼主分享,移值到C8T6上,可用,真实有效
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表