求用51单片机实现16个流水灯依次点亮,间隔1秒,程序及电路图,设计思路,及所用元件参数!要求从右到左亮灯,在从左到右亮灯,用到了keil,和STC
1个回答
关注
展开全部
咨询记录 · 回答于2021-10-08
求用51单片机实现16个流水灯依次点亮,间隔1秒,程序及电路图,设计思路,及所用元件参数!要求从右到左亮灯,在从左到右亮灯,用到了keil,和STC
一、实验要求:(1)、在proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路;(2)、继续在proteus软件中绘制电路,将p1口做输出口,接八只发光二极管;(3)、在keil软件中编写程序,实现功能间隔1s点亮一个发光二极管,顺序从p1.0到p1.7依次点亮;二、实验目的:(1)、学习proteus软件的,使用方法(2)、学习keil软件的使用方法(3)、学习端口输出的使用方法(4)、掌握延时程序的设计三、实验说明。在proteus软件中把实验要求的电路连接好,再利用keil软件把需要实现的功能编写程序,生成hex文件,把hes文件导入到proteus软件进行仿真。在编写程序时需要延时1s,我们选用的单片机是12MHz的,机器周期是12个时钟脉冲,一个时钟脉冲的时间是1/12微us,即一个周期为1us,程序中子函数void delay_ms(int x)中x为1 是可能延时1ms,以此类推可得1s=1000ms,当x=1000时刚好延时1s。四、硬件原理图及程序设计(1)、硬件原理图设计.电路中,p1.0到p1.7为LED控置端口,排阻RP1阻值为330兆,AT89c51单片机的9脚(RST)为复位引脚;31引脚(EA))为存取外部储存器使能引脚;单片机内部已接地,所以我们不用再接了。如下图所示(2)、程序流程图(3)、程序源代码