找回密码
 立即注册
查看: 643|回复: 0

32G12K128实验-定时器/计数器实验

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:29
  • 最近打卡:2024-10-23 17:26:58

5

主题

19

回帖

209

积分

中级会员

积分
209
发表于 2024-10-20 09:42:30 | 显示全部楼层 |阅读模式
实验三 定时器/计数器实验🕵️‍♀️
一、实验要求
利用STC32G12K128实验箱,完成定时器/计数器实验。
利用单片机片内定时器/计数器来进行定时,定时间隔位1秒,单片机的P6.0引脚接一个LED灯,控制此等闪烁,时间间隔1秒。当按下实验箱SW17按键时,LED灯按设定的时间1秒定时闪烁。
利用单片机内定时器/计数器T0的计数器模式,对T0引脚(P3.4)上的按键SW21按下的次数进行计数。按一下按键开关产生一个计数脉冲,将脉冲个数在P6和P7口驱动的LED数码管上显示出来。例如按SW21第1下,LED数码管显示1;按第2下,显示2,......按第10下,显示10。
二、实验目的
掌握单片机定时器/计数器定时模式的使用及编程。
三、实验拓展
    音乐音符发生器的制作。
设计一个音乐音符发生器,利用键盘的1,2,3,4,5,6,7,8的8个按键,能够对应的发出8个不同的音乐音符声音“哆”,“唻”,“咪”,“发”,“嗦”,“啦”,“唏”,“哆”(高音),并且要求按下按键发声,松开后延时一段时间停止,如果再按别的按键则发出另一音符的声音。
    原理说明:利用定时器/计数器,通过载入不同的计数初值,产生频率不同的方波,输入给蜂鸣器,使其发出频率不同的声音。单片机的晶振频率设为11.0592MHZ,通过计算各音阶频率,可得1,2,3,4,5,6,7共7个音,应赋给定时器的初值位64580,64684,64777,64820,64898,64968,65030。在此基础上,可以将乐曲的简谱转化为单片机可以识别的数组谱,进一步加入对音长、休止符等控制量后,可以实现音乐的播放。
三、实验报告撰写(包括系统的原理图;实验程序;调试过程以及实验心得体会和实验拓展部分的程序),要求实验报告提交手写纸质版。
四、实验报告撰写
    (包括系统的原理图;实验程序;调试过程以及实验心得体会和实验拓展部分的思考),要求实验报告提交手写纸质版。

五、相关内容
实验原理图: stc32g实验箱原理图.pdf (374.9 KB, 下载次数: 5)

软件安装教程[冲哥]:👉点我👈
//-----------------------------------------------------------//

实验报告👦
一、实验要求
利用STC32G12K128实验箱,完成定时器/计数器实验。
利用单片机片内定时器/计数器来进行定时,定时间隔位1秒,单片机的P6.0引脚接一个LED灯,控制此等闪烁,时间间隔1秒。当按下实验箱SW17按键时,LED灯按设定的时间1秒定时闪烁。
利用单片机内定时器/计数器T0的计数器模式,对T0引脚(P3.4)上的按键SW21按下的次数进行计数。按一下按键开关产生一个计数脉冲,将脉冲个数在P6和P7口驱动的LED数码管上显示出来。例如按SW21第1下,LED数码管显示1;按第2下,显示2,......按第10下,显示10。
二、实验目的
掌握单片机定时器/计数器定时模式的使用及编程。
三、实验原理
//=========================================//
   3.1数码管原理图
   
//=========================================//
    3.2 按键原理图
   
//=========================================//
    3.3延时函数原理

    //延时函数delay_ms 延时n毫秒
    //6000为经验值,使得i = MAIN_Fosc / 6000 = 4000 ,即这一个循环里面i就循环了4000次,大致为1ms的时间。
      #define MAIN_Fosc  24000000UL //晶振频率
      void delay_ms(u16 ms)        //unsigned int
       {
          u16 i;
          do
          {
                i = MAIN_Fosc/6000;
                while(--i);
          }while(--ms);
         }   
//=========================================//
    3.4 按键消抖原理

    因为按键是机械开关所以当机械触点断开、闭合时,由于机械触点的弹性作用,
    一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动(电压上下波动)。
    对于一个开关来说,整个按键周期中有效的时间大约在50-200ms,即大约10ms的抖动之后就是正常的低电平。

   
//=========================================//
    3.5 LED灯原理图
   
//=========================================//
    3.6 蜂鸣器原理图
   
//=========================================//
四、实验程序
    4.1 利用单片机片内定时器/计数器来进行定时,定时间隔位1秒,单片机的P6.0引脚接一个LED灯,控制此等闪烁,时间间隔1秒。当按下实验箱SW17按键时,LED灯按设定的时间1秒定时闪烁:

//=====================================================================================================//



回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-2 03:03 , Processed in 0.148792 second(s), 45 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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