单片机课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x02,0x40,0x01,0x47,0xFE,
0x44,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"了",6*/
};
{
unsigned char x;
for(;z>0;z--)
for(x=110;x>0;x--);
}
void writedata(unsigned char dat1,unsigned char dat2)//595显示子函数
{
unsigned char i;
//CY存储移位之后的数据CY进位标志位,单片机内部的寄存器移位之后的数据就存在CY里面
机电与车辆工程学院
单片机课程设计报告书
题目:16*16LED点阵电子显示屏的设计
姓名:石国夫
同组人:潘阳
班级:15电气对口二班
学号:201550180221
指导教师:孙建延
时间:2017年1月4日
概述
随着电子技术的飞速发展,人们的生活已经发生的很大的变化,单片机技术就是现代工业领域的一次新的革命。目前单片机以其体积小,重量轻,抗干扰能力强,对环境要求不高,可靠性高,高性能价格比,开发比较容易,在工业控制系统,数据采集系统,智能化仪器仪表,办公室自动化等许多领域得到广泛应用,并且已经开始走向个人家庭,现在到处都可以见到单片机的踪影。因此,单片机技术开发和应用已经逐步成为一个国家工业发展水平的的标志之一。本课题研究的内容是以单片机为主要控制元件,驱动LED点阵显示所想要实现的汉字。
unsigned char code tab[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x02,0x08,0x0C,0x10,0x00,0x3F,0xEE,0xC4,0x01,0x08,0x81,0x11,0x11,0xE6,0x4D,
0x20,0x21,0x2F,0xC1,0x20,0x01,0x24,0x07,0x2A,0x00,0x31,0x88,0x00,0x06,0x00,0x00,/*"您",3*/
8*8 LED点阵原理图
系统原理图
软件设计
3.1软件设计流程图
3.2 程序设计
#include<reg51.h>//头文件
sbit shcp=P1^2;//数据输入时钟线595的11脚
sbit stcp=P1^1;//输出存储器锁存时钟线595的12脚
sbit ds=P1^0;//数据线595的14脚
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",7*/
0x02,0x00,0x02,0x20,0x22,0x20,0x22,0x20,0x2A,0x20,0x26,0x20,0xA2,0x20,0x63,0xFF,
0x22,0x20,0x26,0x20,0x2A,0x20,0x22,0x20,0x22,0x20,0x02,0x20,0x02,0x00,0x00,0x00,/*"辛",4*/
显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列公用一个驱动器由行译码器给出的行通讯信号,从第一行开始,按顺序依次对各行进行扫描。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,对就在该行该列点亮相应的LED,未接通的列对应的LED熄灭。
基本工作原理图
EA=1;//开启总中断
TR0=1;//开始计数
zong=(zi+1)*32;
while(1)//无限循环
{
if(s1==0)//检测按键
{
delay(30);//延时消除按键抖动
if(s1==0)
{
TR0=~TR0;//按下暂停暂按继续
while(s1==0);//等待按键松手
}
}
if(s2==0)//检测按键
sbit s1=P3^1;//按下暂停再暂按继续
sbit s2=P3^2;//按下方向取反
bit fx;//方向切换
unsigned char alt;//数据移动定时时间
unsigned int net;//控制显示的字符
unsigned char zi=8;
unsigned int zong;//总字符(所有的字数+1)*32字数指的是汉字,字母、数字两个算一个数字
0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x3F,0xF9,0x22,0x21,0x22,0x21,0x22,0x2F,0xE2,
0x21,0x22,0x21,0x22,0xF9,0x22,0x21,0x3F,0x21,0x00,0xBaidu Nhomakorabea1,0x00,0x21,0x00,0x00,0x00,/*"苦",5*/
0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",2*/
//老(0)师(1),(2)您(3)辛(4)苦(5)了(6)!(7)
0x04,0x08,0x04,0x10,0x24,0x20,0x24,0x40,0x24,0xFC,0x24,0xA2,0xFD,0x22,0x26,0x22,
0x24,0x42,0x2C,0x42,0x14,0x42,0x24,0x82,0x44,0x1E,0x04,0x00,0x04,0x00,0x00,0x00,/*"老",0*/
AT89C51单片机引脚图
2.2 AT89C51单片机管脚的特点
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
0x00,0x00,0x3F,0xE1,0x00,0x02,0x00,0x0C,0xFF,0xF0,0x00,0x00,0x40,0x00,0x47,0xF8,
0x44,0x00,0x44,0x00,0x7F,0xFF,0x44,0x10,0x44,0x08,0x47,0xF0,0x40,0x00,0x00,0x00,/*"师",1*/
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
2.3 74HC595
74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入,和一个串行输出,和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第1脚要接高电平,而(a、b、c、d、e、f、g、h)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第a脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮.
关键词:LED;单片机
设计要求与基本工作原理
1.1设计要求
(1)采用51系列单片机设计一个室内用LED图文显示屏。
(2)可显示图形和汉字等文字,显示图形或文字应稳定、清晰无串扰。
(3)图形文字通过编程可以实现静止,和左右移动等多种显示方式。
1.2工作原理
LED点阵总体框图如图1.1所示,点阵电路大体上可以分成微机本身的硬件,显示驱动电路,控制信号电路三部分。控制电路包括一个51CPU和一些外围的电路。在整个电路当中单片机负责控制整个电路以及相应的程序的运行,以及给显示屏电路部分发送命令,和与PC机的串行通讯。
for(i=0;i<8;i++)//循环八次
{
dat1=dat1<<1;//数据左移
ds=CY;//数据发送
shcp=1;//上升沿发生移位
shcp=0;
}
for(i=0;i<8;i++)//循环八次
{
dat2=dat2<<1;//数据左移
ds=CY;//数据发送
shcp=1;//上升沿发生移位
shcp=0;
}
stcp=0;
stcp=1;//上升沿将数据送到输出锁存器
stcp=0;
}
void main()//主函数
{
char i,aa;
TMOD=0x01;//定时器0模式1 16位定时模式
TH0=(65536-10000)/256;//定时10.000ms
TL0=(65536-10000)%256;
ET0=1;//使能定时器0
引脚功能表:
管脚编号
管脚名
管脚定义功能
1、2、3、4、5、6、7、15
QA—QH
三态输出管脚
8
GND
电源地
9
SQH
串行数据输出管脚
10
SCLR
移位寄存器清零端
11
SCK
数据输入时钟线
12
RCK
输出存储器锁存时钟线
13
OE
输出使能
14
SI
数据线
15
VCC
电源端
74HC595引脚图
2.4 8乘8点阵LED工作原理
{
delay(30);//延时消除按键抖动
if(s2==0)
{
fx=~fx;//方向取反
aa=0;
if(fx==0)net=0;//正向移动
if(fx==1)net=zong;//反向移动
while(s2==0);//等待按键松手
硬件设计
2.1 AT89C51芯片
at89c51单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。功能强大的at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
0x44,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"了",6*/
};
{
unsigned char x;
for(;z>0;z--)
for(x=110;x>0;x--);
}
void writedata(unsigned char dat1,unsigned char dat2)//595显示子函数
{
unsigned char i;
//CY存储移位之后的数据CY进位标志位,单片机内部的寄存器移位之后的数据就存在CY里面
机电与车辆工程学院
单片机课程设计报告书
题目:16*16LED点阵电子显示屏的设计
姓名:石国夫
同组人:潘阳
班级:15电气对口二班
学号:201550180221
指导教师:孙建延
时间:2017年1月4日
概述
随着电子技术的飞速发展,人们的生活已经发生的很大的变化,单片机技术就是现代工业领域的一次新的革命。目前单片机以其体积小,重量轻,抗干扰能力强,对环境要求不高,可靠性高,高性能价格比,开发比较容易,在工业控制系统,数据采集系统,智能化仪器仪表,办公室自动化等许多领域得到广泛应用,并且已经开始走向个人家庭,现在到处都可以见到单片机的踪影。因此,单片机技术开发和应用已经逐步成为一个国家工业发展水平的的标志之一。本课题研究的内容是以单片机为主要控制元件,驱动LED点阵显示所想要实现的汉字。
unsigned char code tab[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x02,0x08,0x0C,0x10,0x00,0x3F,0xEE,0xC4,0x01,0x08,0x81,0x11,0x11,0xE6,0x4D,
0x20,0x21,0x2F,0xC1,0x20,0x01,0x24,0x07,0x2A,0x00,0x31,0x88,0x00,0x06,0x00,0x00,/*"您",3*/
8*8 LED点阵原理图
系统原理图
软件设计
3.1软件设计流程图
3.2 程序设计
#include<reg51.h>//头文件
sbit shcp=P1^2;//数据输入时钟线595的11脚
sbit stcp=P1^1;//输出存储器锁存时钟线595的12脚
sbit ds=P1^0;//数据线595的14脚
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",7*/
0x02,0x00,0x02,0x20,0x22,0x20,0x22,0x20,0x2A,0x20,0x26,0x20,0xA2,0x20,0x63,0xFF,
0x22,0x20,0x26,0x20,0x2A,0x20,0x22,0x20,0x22,0x20,0x02,0x20,0x02,0x00,0x00,0x00,/*"辛",4*/
显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列公用一个驱动器由行译码器给出的行通讯信号,从第一行开始,按顺序依次对各行进行扫描。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,对就在该行该列点亮相应的LED,未接通的列对应的LED熄灭。
基本工作原理图
EA=1;//开启总中断
TR0=1;//开始计数
zong=(zi+1)*32;
while(1)//无限循环
{
if(s1==0)//检测按键
{
delay(30);//延时消除按键抖动
if(s1==0)
{
TR0=~TR0;//按下暂停暂按继续
while(s1==0);//等待按键松手
}
}
if(s2==0)//检测按键
sbit s1=P3^1;//按下暂停再暂按继续
sbit s2=P3^2;//按下方向取反
bit fx;//方向切换
unsigned char alt;//数据移动定时时间
unsigned int net;//控制显示的字符
unsigned char zi=8;
unsigned int zong;//总字符(所有的字数+1)*32字数指的是汉字,字母、数字两个算一个数字
0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x3F,0xF9,0x22,0x21,0x22,0x21,0x22,0x2F,0xE2,
0x21,0x22,0x21,0x22,0xF9,0x22,0x21,0x3F,0x21,0x00,0xBaidu Nhomakorabea1,0x00,0x21,0x00,0x00,0x00,/*"苦",5*/
0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",2*/
//老(0)师(1),(2)您(3)辛(4)苦(5)了(6)!(7)
0x04,0x08,0x04,0x10,0x24,0x20,0x24,0x40,0x24,0xFC,0x24,0xA2,0xFD,0x22,0x26,0x22,
0x24,0x42,0x2C,0x42,0x14,0x42,0x24,0x82,0x44,0x1E,0x04,0x00,0x04,0x00,0x00,0x00,/*"老",0*/
AT89C51单片机引脚图
2.2 AT89C51单片机管脚的特点
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
0x00,0x00,0x3F,0xE1,0x00,0x02,0x00,0x0C,0xFF,0xF0,0x00,0x00,0x40,0x00,0x47,0xF8,
0x44,0x00,0x44,0x00,0x7F,0xFF,0x44,0x10,0x44,0x08,0x47,0xF0,0x40,0x00,0x00,0x00,/*"师",1*/
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
2.3 74HC595
74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入,和一个串行输出,和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第1脚要接高电平,而(a、b、c、d、e、f、g、h)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第a脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮.
关键词:LED;单片机
设计要求与基本工作原理
1.1设计要求
(1)采用51系列单片机设计一个室内用LED图文显示屏。
(2)可显示图形和汉字等文字,显示图形或文字应稳定、清晰无串扰。
(3)图形文字通过编程可以实现静止,和左右移动等多种显示方式。
1.2工作原理
LED点阵总体框图如图1.1所示,点阵电路大体上可以分成微机本身的硬件,显示驱动电路,控制信号电路三部分。控制电路包括一个51CPU和一些外围的电路。在整个电路当中单片机负责控制整个电路以及相应的程序的运行,以及给显示屏电路部分发送命令,和与PC机的串行通讯。
for(i=0;i<8;i++)//循环八次
{
dat1=dat1<<1;//数据左移
ds=CY;//数据发送
shcp=1;//上升沿发生移位
shcp=0;
}
for(i=0;i<8;i++)//循环八次
{
dat2=dat2<<1;//数据左移
ds=CY;//数据发送
shcp=1;//上升沿发生移位
shcp=0;
}
stcp=0;
stcp=1;//上升沿将数据送到输出锁存器
stcp=0;
}
void main()//主函数
{
char i,aa;
TMOD=0x01;//定时器0模式1 16位定时模式
TH0=(65536-10000)/256;//定时10.000ms
TL0=(65536-10000)%256;
ET0=1;//使能定时器0
引脚功能表:
管脚编号
管脚名
管脚定义功能
1、2、3、4、5、6、7、15
QA—QH
三态输出管脚
8
GND
电源地
9
SQH
串行数据输出管脚
10
SCLR
移位寄存器清零端
11
SCK
数据输入时钟线
12
RCK
输出存储器锁存时钟线
13
OE
输出使能
14
SI
数据线
15
VCC
电源端
74HC595引脚图
2.4 8乘8点阵LED工作原理
{
delay(30);//延时消除按键抖动
if(s2==0)
{
fx=~fx;//方向取反
aa=0;
if(fx==0)net=0;//正向移动
if(fx==1)net=zong;//反向移动
while(s2==0);//等待按键松手
硬件设计
2.1 AT89C51芯片
at89c51单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。功能强大的at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。