登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 尝试一下分时复用

[复制链接]
发表于 2022-1-21 19:44:56 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 瞎想
开始时间: 2022-01-21
结束时间: 2022-01-21
本帖最后由 材料2105李天乐 于 2022-1-22 12:21 编辑

分时复用时我在QQ群看到学长提到的

                                                                                                                                也看一些视频讲解
今天我就大致给大家说一下我想的思路
我也不知道这个是不是真的叫分时复用。
0'。!。'0

具体的项目明天我在补上

                                                                                下面是大致框架:

  bit biu

bit mee

我们先定义2个全局变量

这两个bit型变量只有1和0,两种状态   我就认为 biu为1时 我打开LED1 biu为0时我打开LED2

                                                                         meee为1时我打开蜂鸣器,mee为0时我打开数码管



Timer0()定时0的模式2(8为自动重装)初始化

{ TMOD =0x02 //         

TH0 =  ;TL0= // 我们在这定义1ms吧  具体根据项目的需要进行计算

TR0 = 1;

ET0 = 1 ;

}



在中断0中 interrupt 1

unsigned char  i=0 ;// 我们在这定义一个计数变量

i++;//进入一次中断(1ms)计数变量加1

if(i<=100)  //100ms 后i 置为0 也就是 100ms一个循环

{


i=0;

       }


if(i%2=1)                          //i%2=1是啥意思呢就是          i  是 2 的倍数  100中 有多少个2的倍数     50个 对吧

{                                       // 也就是说i是2的倍数             我打开LED1        100ms/50=2ms   就是2ms我打开LED1


biu =1                             //我要让biu为1 (打开LED1)

      }


else          biu = 0 ;         //这样写有点不规范

if(i%3=1)     //   同理 那100中有多少个3的倍数  33 个                           这个 3..33不好自己写代码时可以写一些整数 我这只是 举个例子 方便理解

{                   // 也就是说100/33=3.333ms    就是3.33ms 我打开蜂鸣器


mee = 1;

      }


else    mee = 0;

/*********************** 如果有多个项目 可以%2 ,%4,%6,%8,%10,%16..................*******************/



主函数

EA =  1 ;

Timer0()//初始化定时器0

while(1)

{

if(bit ==1)

{


LED1 = 0

      }


else       LED1= 1;LED2 = 0;

if(mee == 1)

{


BUZZ = 1

        }


[p=30, 2, l
好懒~~不想说~~~
发表于 2022-1-21 22:06:08 | 显示全部楼层
hxd要不你编写个关于按键分时复用的程序来看看
好懒~~不想说~~~
发表于 2022-1-21 22:11:54 | 显示全部楼层
emmmm我倒觉得你这只是单纯用中断来执行两个工作,蜂鸣器和那个数码管并不是共用同个引脚的,分时复用好像指的是使用同一个引脚的工作分时间挨个使用
好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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