微型计算机及控制技术
实训
班级:
姓名:
学号:
实验一:LED流水灯设计
设计目的
通过此次涉及、熟悉并掌握实验系统原理和方法
掌握流水灯原理和使用方法
设计过程
设计内容
了解LED发光二极管的顺序灭
了解LED的使用原理和引脚接法
掌握实用Keil环境编程
掌握下载Keil编译好的称序列AT89C51单片机中
实验步骤
掌握AT89C51单片机与外设LED的引脚接法和使用原理
使用Keil编译环境,编写LED发光二极管顺序灭的程序
在Keil编译好的程序下载到AT89c51单片机中,实现LED发光二极管顺序灭
电路及程序设计
电路设计
编程如下
org 0
sjmp start
org 30h
start:mov P1,#1;P1.0为1,不亮
mov P1,#2;P1.1为1,不亮
mov P1,#4;以下原理同上
mov P1,#8
mov P1,#10h
mov P1,#20h
mov P1,#40h
mov P1,#80h
sjmp start
delay:nop
nop
nop
nop
ret
end
设计结果
如上图:D7亮了。
如上图:D3亮了。
实验二8*8点阵的设计
一、实验目的:
了解点阵式LED显示原理。
2.掌握单片机与8×8点阵块之间接口电路设计及编程。
3.掌握8155工作原理及与单片机的接口电路设计。
二、实验要求:
利用8×8点阵显示屏,自己设计并调试电路板,实现在单片机的控制下,点阵显示屏显示数字。
实验步骤:
1、实验电路图
2、编码程序:
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar i=0,n,k;
uchar code Table[][8]={
{~0x00,~0x00,~0x3C,~0x42,~0x42,~0x3C,~0x00,~0x00},
{~0x00,~0x00,~0x00,~0x22,~0x7E,~0x02,~0x00,~0x00},
{~0x00,~0x00,~0x22,~0x46,~0x4A,~0x32,~0x00,~0x00},
{~0x00,~0x00,~0x22,~0x49,~0x49,~0x36,~0x00,~0x00},
{~0x00,~0x00,~0x18,~0x28,~0x7E,~0x08,~0x00,~0x00},
{~0x00,~0x00,~0x7A,~0x29,~0x29,~0x2E,~0x00,~0x00},
{~0x00,~0x00,~0x3E,~0x49,~0x49,~0x26,~0x00,~0x00},
{~0x00,~0x00,~0x40,~0x4F,~0x50,~0x60,~0x00,~0x00},
{~0x00,~0x00,~0x36,~0x49,~0x49,~0x36,~0x00,~0x00},
{~0x00,~0x00,~0x32,~0x49,~0x49,~0x3E,~0x00,~0x00},
{~0x91,~0x52,~0x00,~0xA4,~0xF5,~0xBF,~0xF4,~0xA4},
{~0x11,~0x13,~0x55,~0x51,~0x55,~0x12,~0x11,~0x00},
};
uchar code Tab[]={~0xfe,~0xfd,~0xfb,~0xf7,~0xef,~0xdf,~0xbf,~0x7f};
void delay(uint i);
void main()
{
TMOD=0x00;
TH0=(8192-3000)/32;
TL0=(8192-3000)%32;
TR0=1;
EA=1;
ET0=1;
while(1)
{
n=4;
}
}
void T0_ISP(void) interrupt 1
{
TH0=(8192-3000)/32;
TL0=(8192-3000)%32;
P3 =Tab[k++];
if(k==8)k=0;
P0 = Table[n][i];
if(++i == 8) i = 0;
}
void delay