好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

STC15F单片机流水灯程序设计说明.docx

3页
  • 卖家[上传人]:re****.1
  • 文档编号:398550964
  • 上传时间:2023-11-27
  • 文档格式:DOCX
  • 文档大小:221.99KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • “流水灯”程序设计说明1 程序设计思路流水灯是经典的测试发光二极管是否正常工作和学习运用发光二极管的案例流水灯电路连接示意图2 关键代码设计说明 本程序由三个函数组成: (1)void Init() 初始化函数{ P0M1 = 0x00;//0000 0000 P0M0 = 0xff;//1111 1111 将P0各位设置为推挽输出 P2M1 = 0x00;//0000 0000 P2M0 = 0xff;//1111 1111 将P2各位设置为推挽输出 led_sel = 1;//为1时是led灯显示,为0时是数码管显示}(2)void delay(uint t):本过程目的是延时tms;但是延时的时间可能不是很精确单片机工作时,是在统一的时钟脉冲限制下有序进行的这个脉冲是由单片机限制器中的时钟电路产生的时钟电路由振荡器和分频器组成,振荡器产生基本的振荡信号,然后进行分频,得到相应的时钟振荡电路通常有内部振荡和外部振荡两种方式STC15F2K60S2单片机内部集成高精度R/C时钟,工作时钟可以运用内部振荡器或者外部晶体振荡器(简称晶振)产生的时钟外部振荡信号通过内部时钟电路,经过分频,得到相应的时钟信号。

      图2外部振荡模式工作原理示意图说明: (1) 振荡周期: 晶体振荡器的周期2) 状态周期: 振荡信号经二分频后形成的时钟脉冲信号,用S表示一个状态周期的两个振荡周期作为两个节拍分别称为节拍P1和节拍P2P1有效时,通常完成算术逻辑操作;P2有效时,一般进行内部寄存器之间的传输3) 机器周期: 完成一个基本操作所需的时间称为机器周期一个机器周期包含6个状态周期,用S1、S2、….、S6表示;共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、……、S6P1、S6P24) 指令周期:CPU执行一条指令所须要的时间CPU执行指令是在时钟脉冲限制下一步一步进行的,由于指令的功能和长短各不相同,因此,指令执行所需的时间也不一样一个指令周期通常含有1~4个机器周期 MCS-51单片机各种周期的相互关系例:若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的详细值为:振荡周期=1/12MHz=1/12μs=0.0833μs时钟周期=1/6μs=0.167μs机器周期=1μs指令周期=1~4μs单片机晶体振荡器M的频率可以在4MHz~48MHz之间选择,典型值是11.0592MHz(因为运用这个频率的晶振可以精确地得到9600bits/s和19200bits/s的波特率)。

      3)主函数:每隔肯定延时给P0口赋值,P0位中为1的对应发光二极管将选通由于显示模式是从右向左不断循环,因此可以利用移位计算来完成不同发光二极管依次显示的效果要显示的信息放置在了led中,初始化为00000001void main(){ Init(); //初始化 led = 0x01; //第一个LED发光 while(1) { P0 = led; //LED显示 delay(500); //延时500mS if(led == 0x80) { led = 0x01; } else { led = led << 1;//led值逐一左移 } }} 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.