找回密码
 立即注册

QQ登录

只需一步,快速开始

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

阅览室风机节能系统 单片机程序

[复制链接]
ID:942782 发表于 2021-6-22 21:09 | 显示全部楼层 |阅读模式
这是我做的电子设计,用了两个星期。和C语言代码。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
D%9QTNT9B~04H34~[(GJ5$J.png 9IP4Y[Z%A$[ECDK)BY_CUO9.png

单片机源程序如下:
  1. #include<regx51.h>
  2. #define uint unsigned  int
  3. #define uchar unsigned char
  4. #define LED P0
  5. sbit CS2 = P2^2;
  6. sbit CS1 = P2^1;
  7. uchar count;
  8. uchar counth,countl;
  9. const uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  10. unsigned int temp;
  11. unsigned int fin;
  12. void delayms()//延时函数
  13. {
  14.         uint i;
  15.         for(i=0; i<130; i++);
  16. }

  17. void it0(void) interrupt 0 using 1
  18. {
  19.         
  20.         if(temp==1&&count!=0&&fin==0){
  21.                 count--;
  22.                 temp=0;
  23.         }else{
  24.                 temp=1;
  25.         }
  26.         fin=1;
  27. }
  28. void it2(void) interrupt 2 using 2
  29. {
  30.         if(temp==1&&count<99&&fin==1){
  31.                 fin=0;
  32.                 count++;
  33.                 temp=0;
  34.         }else{
  35.                 temp=1;
  36.         }
  37.         fin=0;
  38. }
  39. void main(void)
  40. {
  41.         IT0=1;
  42.         IT1=1;
  43.         EA=1;
  44.         EX0=1;
  45.         EX1=1;
  46.         PX1=1;
  47.         fin=1;
  48.         while(1){
  49.                 counth=count/10;
  50.                 countl=count%10;
  51.                 LED= tab[countl];
  52.                 CS2=1;
  53.                 delayms();
  54.                 CS2=0;
  55.                 LED=tab[counth];
  56.                 CS1=1;
  57.                 delayms();
  58.                 CS1=0;        
  59.         }
  60. }
复制代码
由于我是新手以上资料肯定存在一些错误,欢迎大家批评指正,一起学习 提高技术(仅供参考 切勿照搬)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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