单片机节日彩灯实训报告_《单片机的原理与应用》节日彩灯的设计

展开全部

程序如下,P0口改为P1、P2或P3口可以省略电路图中的上拉电阻。

注意:无论选择哪组I/O,每个LED都要串联一个220Ω或470Ω的电62616964757a686964616fe78988e69d8331333332393337阻。

#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char

uchar code tab[]={0xfa,0xf5,0xaf,0x5f,0xaa,0x55,0x00,0xff};//分别为1和3亮、2和4亮、5和7亮、6和8亮、奇数位亮、偶数位亮、全亮、全灭

uchar t,num;

void InitUART  (void)

{

TMOD=0x01; //定时器0 工作方式1即16位定时

TH0=0x3c; //装入初值,定时50ms

TL0=0xb0;

TR0=1;

ET0=1;

EA    = 1;                  //打开总中断

}

main()

{

InitUART  ();

P0=tab[num];   //先让等处于第一种状态

while(1)

{;}

}

Timer0() interrupt 1

{

TH0=0x3c;   //手动重装初值,定时50ms

TL0=0xb0;

t++;

if(t==20)

{

t=0;  //够20次,即计数时间为20*50ms=1s。计时次数清零,准备下一秒的计时

num++;  //num指向下一种状态

if(num==8) num=0;

P0=tab[num];  //则切换至相应的状态

}

}

纯手打,望采纳···

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机原理应用实验报告(中北大学大数据学院) 啊哈,需要用到proteus的可能要根据自己的情况修改一下,换了机子可能就不能运行。。。 实验一 简单程序设计 1. 学会实验系统的使用,掌握KEIL软件仿真与调试方法。 2. 编制一个计算x=a2+b2 3. 验证上述结果的正确 实验二 程序设计 1.将内部RAM中起始地址为data的数据串串送到外部RAM中起始地址为buffer的存储区域中,直到发现‘$’字符 2.计算双字节无符号数的乘法R0R1R2R3=R4R5*R6R7,计算1234*5678的值。要求乘法程序用子程序实现。 实验三 中断实验 1.将微动开关接到INT0,P1口接到8个发光二极管,利用外部中断电平触发方式,每按一次微动开关,使得发光二极管显示的二进制数字加1 2.将微动开关接到INT0,P1口接到8个发光二极管,利用外部中断下降沿触发方式,每按一次微动开关,使得发光二极管显示的二进制数字加1 3.体会两种不同触发类型中断的区别。 实验四 定时器实验 1.将P1口接到8个发光二极管 2.编程使得发光二极管显示的二进制数,每一秒加1 3.将微动开关接到T0,利用计数器功能,每按一次微动开关,使得发光二极管显示的二进制数字加1 4.可考虑采用计数器的不同工作模式 5.验证上述操作的正确性,对实验结果进行解释 实验五 存储器扩展使用 1. 利用试验箱中的器件,给单片机扩展一片随机读写存储器 2. 确定扩展的存储器的地址范围 3. 编写程序,将扩展的存储器中填写内容,每个单元中填写其地址码低8位的“非值” 4. 验证扩展存储器的可用性 5. 对实验结果进行说明 实验六 接口实验 1. 连接实验箱上的数码管,编程在上面显示数字2017 2. 连接实验箱上的键盘和数码管,编写程序,将键盘输入值写在数码管的最右端,原来的数值,向左端移动。 3. 输入多次的情况 实验七 综合实验 1. 连接实验箱上的键盘和数码管 2. 编程,将实验箱做成一个能显示时间的电子表 3. 该表能修改时间 4. AD实验,通过AD转换器,显示当前的输入电压值,要求精确到小数点后2位数(选做)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值