单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

AVR单片机pwm程序+仿真_数显

[复制链接]
跳转到指定楼层
楼主


  1. #include <iom16v.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. uchar Table[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79};
  5. uchar Data1[4]={10,0,5,0};
  6. uchar Data2[4]={3,9,1,0};
  7. uchar Key1,Key2;

  8. void DelayMs(uchar i)
  9. {
  10.         uchar j;
  11.         for(;i!=0;i--)
  12.         {
  13.                 for(j=150;j!=0;j--);
  14.         }
  15. }

  16. void Display(uchar *p)
  17. {
  18.         uchar i,sel=0x01;
  19.         for(i=0;i<4;i++)
  20.         {
  21.                 PORTC=sel;
  22.                 PORTA=0xff-Table[p[i]];
  23.                 DelayMs(2);
  24.                 sel=sel<<1;
  25.         }
  26. }

  27. void Sub_Process(uchar *p)
  28. {
  29.         uchar temp;
  30.         temp=p[1]*10+p[2];
  31.         if(temp!=0)
  32.         {
  33.                 temp=temp-1;
  34.                 p[1]=temp/10;
  35.                 p[2]=temp%10;
  36.         }
  37. }
  38. void Key_Process()
  39. {

  40.         if(Key1==1)
  41.         {
  42.                 Add_Process(Data1);
  43.                 Key1=0;
  44.         }
  45.         if(Key2==1)
  46.         {
  47.                 Sub_Process(Data1);
  48.                 Key2=0;
  49.         }
  50. }

  51. void Init_IO(void)
  52. {
  53.         DDRA=0xff;
  54.         PORTA=0xff;
  55.         DDRC=0xff;
  56.         PORTC=0xff;
  57.         DDRB=0x00;
  58.         PORTB=0x00;
  59.         DDRD=0xff;
  60.         PORTD=0xff;
  61. }
  62. void main(void)
  63. {
  64.         Init_IO();
  65.         TCCR1A=0xc3;
  66.         TCCR1B=0x02;
  67.         DelayMs(50);
  68.         while(1)
  69.         {
  70.                 Key_Process();
  71.                 Set_Process(Data1);
  72.                 Display(Data1);
  73.         }
  74. }
复制代码

完整代码见附件

pwm_数显.zip (15.36 KB, 下载次数: 16)

评分

参与人数 3黑币 +68 收起 理由
钻牛尖滴刘尖尖 + 10
yoxi + 8 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
zrb5688 发表于 2018-12-26 17:52 | 只看该作者
不错,学习了,谢谢楼主分享。
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机. 联系QQ:125739409;技术交流QQ群582644647

Powered by 单片机教程网

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