找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2212|回复: 0
收起左侧

51单片机脉宽测量程序,六位数码管显示

[复制链接]
ID:169534 发表于 2020-7-6 09:42 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.jpg

单片机源程序如下:
  1. #include<REG51.H>
  2. #include<intrins.h>
  3. typedef unsigned int uint16_t;
  4. typedef unsigned char uint8_t;
  5. uint8_t code  seg_cc_table [] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};//0-9
  6. uint8_t code  dig_cc_table [] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  7. uint16_t high = 0;
  8. uint16_t period = 0;
  9. sbit pulse = P3^2;
  10. uint8_t total_num[] = {0,0,0,0,0,0};
  11. void delay_ms(uint16_t xms)
  12. {
  13. uint16_t i = 0;
  14. uint8_t  j = 0;
  15. for(i = 0; i < xms; i++)
  16. {
  17.         for(j = 0; j < 75; j++)
  18.         _nop_();
  19. }
  20. }
  21. void main()
  22. {
  23.         uint16_t total =0;
  24.         uint16_t i = 1;
  25.         P2 = 0x00;
  26.         P1 = 0x3f;
  27.         TMOD = 0x09;
  28.         TH0 = 0;
  29.         TL0 = 0;
  30.         ET0 = 1;
  31.         EA  = 1;
  32.         while(pulse==1);
  33.                 TR0=1;
  34.         while(pulse==0);
  35.         while(pulse==1);
  36.                 TR0=0;
  37. while(1)
  38. {
  39.                         high = (uint16_t)TH0*256+TL0;
  40.                         total = high-1;
  41.                         total_num[0]= total %10;
  42.                         total_num[1]= total/10 %10;
  43.                         total_num[2]= total /100%10;
  44.                         total_num[3]= total /1000%10;
  45.                         total_num[4]= total /10000%10;
  46.                         total_num[5]= total /100000;

  47.                        
  48.                 for(i=0;i<6;i++)
  49.                 {
  50.                                 P2 = dig_cc_table[i];
  51.                                 P1 = seg_cc_table[total_num[i]];
  52.                                 delay_ms(1);
  53.                                 P1 = 0x00;
  54.                 }               
  55.         }       
  56. }
复制代码
51hei.png
所有资料51hei提供下载:
简易波形发生器.7z (1.05 MB, 下载次数: 30)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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