基于51系列单片机最小系统的液晶显示

基于51系列单片机最小系统的液晶显示
基于51系列单片机最小系统的液晶显示

《创新设计报告》

基于51系列单片机最小系统的液晶显示

学院:机电与自动化学院

专业班级:电气自动化技术0802

学生姓名:刘刚

学生学号: 20082822077

指导教师:姚裕安

同组设计者:吴勇

(课程设计时间:2011年03月03日——2011年03月13日)

华中科技大学武昌分校

目录

1.设计题目 (02)

2.设计任务及要求 (02)

3.系统硬件电路设计 (02)

3.1设计电路原理图 (02)

3.2主要元器件清单 (03)

3.3 OMC12864-4(T6963c)的简介 (03)

4.系统软件设计 (05)

4.1程序流程图 (05)

4.2子程序功能介绍 (06)

4.3完整程序及其功能注释 (06)

5.系统调试故障分析 (12)

6.调试结果与设计任务分析 (13)

7.课设收获与建议 (13)

参考文献 (13)

1.设计题目

基于51单片机最小系统板实现“液晶显示汉字、数字、英文”

2.设计任务及要求

任务:最小系统板实现“液晶显示汉字、数字、英文”;

要求:错误!未找到引用源。对液晶显示操作技能训练;学会运用Protell 软件;错误!未找到引用源。绘制软件流程图、编写并调试程序、详细注释软件功能;错误!未找到引用源。对系统性能指标进行分析并提出改进方案;错误!未找到引用源。作品演示与讲解(硬件、软件、调试、改进、)

3系统硬件电路设计(含文字介绍、电路原理图)

3.1用Protell软件绘制电路原理图采用的是直接访问方式。如图(1)

直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由算机的地址总线提供,读和写操作由计算机的读写操作信号控制。

图(1)

图(1)中的引脚说明OCM12864-4与STC89C52RC接口:

P0.0-0.7 <==========> D0-7 GND <==========> /CE

P3.7 <==========> /RD VCC <==========> /RESET

P3.6 <==========> /WR GND <==========> FG

P2.0 <==========> C/D

3.2本设计所要用到的主要元器件:金鹏OMC12864-4液晶显示模块(主控芯片T6963C);JZ-M2单片机最小系统(采用STC89C52RC 51系列单片机);

3.3关于OMC12864-4(T6963c)的简介

3.3.1管脚定义见下表(1):

表(1)

3.3.2关于主控芯片T6963C说明:

结构特点:

内藏T6963C 的液晶显示模块上已经实现了T6963C 与行、列驱动器及显示缓冲区RAM 的接口,同时也已用硬件设置了液晶屏的结构(单双屏、数据传输方式、显示窗口长度、宽度等等。我们常用的液晶显示模块一般都是单屏结构,因此我们这里只讨论单屏结构的液晶显示模块。内藏T6963C 的单屏结构点阵图形液晶显示模块的方框图如图(2):

图(2)

?T6963C 是点阵式液晶图形显示控制器它能直接与8 位微处理器接口;

?T6963C 的字符字体可由硬件或软件设置,其字体有4 种5X8 、6X8 、7X8、8X8;? T6963C 的占空比可从1/16 到1/128;

?T6963C 可以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等;

? T6963C 具有内部字符发生器CGROM,共有128 个字符。T6963C 可管理64K显示缓冲区及字符发生器CGRAM,并允许MPU 随时访问显示缓冲区,甚至可以进行位操作。

3.3.3主控芯片T6963C指令说明:

如表(2)

命令代码(bin)代码(hex)参数D1 参数D2 功能Status S0-S7 - - 读状态

Reg Seting 00100001 21H XAddress yAddress设光标指针00100010 22H 偏移量00H 设偏移量寄存器00100100 24H 低位地址高位地址设地址指针

Set Control

Word 01000000 40H 低位地址高位地址设文字区起始地址01000001 41H 字节数00H 设文字区宽度01000010 42H 低位地址高位地址设图形区起始地址01000011 43H 字节数00H 设图形区宽度

Mode set 1000*000 80H/88H OR

*=0内部字

符发生器

*=1外部字

符发生器1000*001 81H/89H XOR

1000*011 83H/8BH AND

1000*100 84H/8CH 文字属性

Display Molde 10010000 90H 显示关

1001xx10 92H 光标显示,闪烁关1001xx11 93H 光标显示,闪烁开100101xx 94H 文字开,图形关100110xx 98H 文字关,图形开

100111xx

9BH 文字开,图形开

Cursor Pattern

10100D2-0 A0H-A8H

光标高度

D a t a A u t o Read/write

10110000 B0H 设置数据自动写 10110001 B1H 设置数据自动读 10110010

B2H

退出自动读写

Data Read/write

11000000 C0H 显示数据

写数据,地址指针自加1 11000001 C1H -

读数据,地址指针自加1 11000010 C2H 显示数据

写数据,地址指针自减1

11000011 C3H - - 读数据,地址指针自减1 11000100 C4H 显示数据

- 写数据,地址指针不变 11000101

C5H - - 读数据,地址指针不变

Screen peek 11100000 E0H - - 屏幕读取 Screen copy 11101000

E8H - - 屏幕复制

Bit Set/reset

11110xxxx - -

Bit Clear 11111xxxx

-

-

Bit Set

表(2)

4.系统软件设计(含程序流程图,子程序功能介绍、程序功能注释) 4.1程序流程图,如图(3)

N

Y

图(3)

读状态字, 闲吗?

液晶模块初始化

填屏(清屏)

创建CGRAM

写英文,写汉字写数字等

4.2子程序功能介绍

LCD_Write_Data()写数据子

LCD_Write_Command0()写无参数命令字

LCD_Write_Command1()写单参数命令字

LCD_Write_Command2()写双参数命令子

void LCD_T6963_Ini()液晶模块初始化工作

void LCD_Fill_All() LCD填充.对LCD的空间填入同一个数据

LCD_Dis_Chi()在主函数中,只要调用这几个函数,就能实现显示的文字显示LCD_Dis_Str()能利用T9693C内部字符发生器CGROM,在液晶屏上显示西文数组LCD_Mak_Cgr()创建CGRAM,CGRAM中包含能用文本方式显示的自定义字符

LCD_DIS_CHI()利用CGRAM自定字符,以文本方式形式输出

4.3完整程序及其功能注释

********************************************

说明: 本程序为T6963C的驱动

功能: 能对OMC12864-4液晶模块硬件进行定义;定义了对液晶模块最层的操作函数, 如:,读状态字函数,读数据函数,写无参数命令字函数,写单参数命令字函数,

字双参数命令字函数,写数据函数

时间: 2011/01/010 修改时间:2011/01/12

作者: HUSTWb wuyong

***************************************************/

/*说明: 本程序主要用来进行文本显示,实现的功能有:显示英文数组,中文数组,

在主函数中可以直接调用的函数有:T6963C初始化程序,液晶屏清零程序

显示英文数组,中文数组.实现了程序的封装.

修改日间:2011/01/12

T6963C命令的定义

********************************************************************/

//指针设置指令

#define LCD_CUR_POS 0X21 //光标位置设置(只有设置到有效显示地址并打开显示才看

到),双参数(D1水平位置,D2垂直位置)

#define LCD_CGR_POS 0X22 //CGRAM偏置地址设置(用来增加自己的符号),双参数(D1

低5位有效,D2=00)

#define LCD_ADR_POS 0x24 //地址指针位置(设置读写操作打针)

//显示区域设置指令

#define LCD_TXT_STP 0X40 //文本区首址(从此地址开始向屏幕左上角显示字符)

#define LCD_TXT_WID 0X41 //文本区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点

数)

#define LCD_GRH_STP 0X42 //图型区首址(从此地址开始向屏幕左上角显示点,((有等进

一步确认))为文本方式显示时,显示为文本显示特性

#define LCD_GRH_WID 0X43 //图形区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点

数)

//显示方式设置指令,当CG(D3)为0启用CGROM

#define LCD_MOD_OR 0X80 //显示方式:逻辑或

#define LCD_MOD_XOR 0X81 //显示方式:逻辑异或

#define LCD_MOD_AND 0x83 //显示方式:逻辑与

#define LCD_MOD_TCH 0x84 //显示方式:文本

//显示开关设置指令,(D0,D1,D2,D3)=1/0 <==========> (光标闪烁,光标显示,文本显示图形显示)启用/禁用

#define LCD_DIS_SW 0x90 //显示开关设置

//光标开头设置指令

#define LCD_CUR_SHP 0xA0 //光标型形状选择:0xA0-0xA7代表光标占的行数

//自动读写设置指令

#define LCD_AUT_WR 0xB0 //自动写设置

#define LCD_AUT_RD 0xB1 //自动读设置

#define LCD_AUT_OVR 0xB2 //自动读写结束

//数据一次读写设置指令

#define LCD_INC_WR 0xC0 //数据一次写,地址加1

#define LCD_INC_RD 0xC1 //数据一次读,地址加1

#define LCD_DEC_WR 0xC2 //数据一次写,地址减1

#define LCD_DEC_RD 0xC3 //数据一次读,地址减1

#define LCD_ZER_WR 0xc4 //数据一次写,地址不变

#define LCE_ZER_RD 0xc5 //数据一次读,地址不变

//屏读设置指令

#define LCD_SCN_RD 0xE0 //屏读,屏读只能在图形显示区内;该指令是把屏上的内容

取出来作为数据使用.

//屏拷贝

#define LCD_SCN_CP 0xE8 //屏拷贝,该指令将屏上当前地址指针(图形)处开妈的一行

合成显示内容拷贝到相对应的图形显示区的一级单元

//位操作指令

#define LCD_BIT_OP 0xFF //该指令可将显示缓冲区单无的某位清零或置位.D0-D1--

定义D0-D7位;D3--1为置位,D3--0为复位

unsigned char xdata LCD_DAT_ADD _at_ 0x8000; // C/D-P2.0

unsigned char xdata LCD_COM_ADD _at_ 0x8100; // C/D-P2.0

/***********************************************************************

函数名称:LCD_Write_Data()

功能:写数据子程序,将数据输入T6963C

入口参数:data 想要写入的数据

出口参数:无

说明:在写命令之前,状态位D0(STA0),D1(STA1)必须全为1

***********************************************************************/

void LCD_Write_Data(unsigned char data1)

{

while(((LCD_COM_ADD)&0x03)!=0x03);

LCD_DAT_ADD=data1;

}

/***********************************************************************

函数名称:LCD_Write_Command0()

功能:写无参数命令字程序,将T6963C对应的指令写入,没有参数

入口参数:commond 想要写入的命令字

出口参数:无

说明:在写命令之前,状态位D0(STA0),D1(STA1)必须全为1

***********************************************************************/

void LCD_Write_Command0(unsigned char command)

{

while(((LCD_COM_ADD)&0x03)!=0x03) ;

LCD_COM_ADD=command;

}

/***********************************************************************

函数名称:LCD_Write_Command1()

功能:写单参数命令字程序,将T6963C对应的指令写入

入口参数:commond 想要写入的命令字

出口参数:无

说明:先送数据,再送命令字

***********************************************************************/

void LCD_Write_Command1(unsigned char command,unsigned char data1)

{

LCD_Write_Data(data1);

LCD_Write_Command0(command);

}

/***********************************************************************

函数名称:LCD_Write_Command2()

功能:写双参数命令子程序,将T6963C对应的指令写入

入口参数:commond 想要写入的命令字

出口参数:无

说明:先送数据,再送命令字

***********************************************************************/

void LCD_Write_Command2(unsigned char command,unsigned char data1,unsigned char data2) {

LCD_Write_Data(data1);

LCD_Write_Data(data2);

LCD_Write_Command0(command);

}

/************************************************************************

函数名称:LCD_T6963_Ini()

功能:液晶模块初始化工作

入口参数:无

出口参数:无

说明:初始化工作的主要要完成对文本方式的RAM起始地址的设定,文本模式的显示宽度,图形方式的RAM的起始地址,以及其宽度;设置显示方式等工作.

**************************************************************************/

void LCD_T6963_Ini(void)

{

LCD_Write_Command2(LCD_TXT_STP,0x00,0x00); //设置文本方式RAM起始地址

LCD_Write_Command2(LCD_TXT_WID,0x20,0x00); //设置文本方式的宽度,宽

度为N/6或N/8) LCD_Write_Command2(LCD_GRH_STP,0x00,0x08); //设置图形方式RAM起始地

LCD_Write_Command2(LCD_GRH_WID,0x20,0x00); //设置图形方式的宽度,宽

度为N/6或N/8)

LCD_Write_Command0(LCD_CUR_SHP|0x08); //设置光标的形状

LCD_Write_Command0(LCD_MOD_OR); //设置显示方式为逻辑或方

LCD_Write_Command0(LCD_DIS_SW|0x94); //设置文本显示方式

}

/***************************************************************************

函数名称:LCD_Fill_All()

功能:LCD填充.对LCD的空间填入同一个数据

入口参数:dat

出口参数:无

说明:填充,主要可用来对液晶进行清屏,只对其填入使屏为白的字就行了

****************************************************************************/

void LCD_Fill_All(unsigned char dat)

{

unsigned int i;

LCD_Write_Command2(LCD_ADR_POS,0x00,0x00); //置地址指针 LCD_Write_Command0(LCD_AUT_WR); //自动写

for(i=0;i<32767;i++)

{

while((LCD_COM_ADD&0x08)!=0x08)

{

LCD_DAT_ADD=dat; //写数据

}

}

LCD_Write_Command0(LCD_AUT_OVR); //自动写关

LCD_Write_Command2(LCD_ADR_POS,0x00,0x00); //重置地址指针

}

/***************************************************************************显示英文数组

函数名称:LCD_Dis_Str()

功能:能利用T9693C内部字符发生器CGROM,在液晶屏上显示西文数组

入口参数:x,y,*wordcode,*wordattr,wordlongth

出口参数:无

说明:x,y对应是字符在屏上的字符坐标

****************************************************************************/

LCD_Dis_Str(unsigned char x,unsigned char y,unsigned char *wordcode,unsigned char *wordattr,unsigned char wordlongth)

{

unsigned char i,xlable,ylable;

unsigned int dataadd;

dataadd=y*30+x;

xlable=dataadd&0xff;

ylable=dataadd/256; //计算字符RAM的地址

LCD_Write_Command0(LCD_DIS_SW|0x08); //设置设置显示方式

LCD_Write_Command0(LCD_DIS_SW|0x02);

LCD_Write_Command0(0X8c); //设置为文本特征显示方式

LCD_Write_Command2(LCD_ADR_POS,(xlable+0),(ylable+0)); //设置地址

for(i=0;i

LCD_Write_Command1(LCD_INC_WR,wordcode[i]);

}

LCD_Write_Command2(LCD_ADR_POS,0x00,0x08); //写字符对应的特征位

for(i=0;i

{

LCD_Write_Command1(LCD_INC_WR,wordattr[i]);

}

}

/*********************************************************************************建立CGRAM

函数名称:LCD_Mak_Cgr()

功能:创建CGRAM,CGRAM中包含能用文本方式显示的自定义字符

入口参数:cgramnum

出口参数:无

说明:在CGRAM中写入字符点阵

**********************************************************************************/

LCD_Mak_Cgr(unsigned char *cgram,unsigned char cgramnum)

{

unsigned int i;

LCD_Write_Command2(LCD_CGR_POS,0x03,0x00); //设置CGRAM偏置地址

LCD_Write_Command2(LCD_ADR_POS,0x00,0x1c); //设置RAM地址指针

LCD_Write_Command0(LCD_AUT_WR); //设置自动写方式

for(i=0;i

{

while(((LCD_COM_ADD)&0X08)!=0X08);

LCD_DAT_ADD=cgram[i];

}

LCD_Write_Command0(LCD_AUT_OVR); //自动写结束

}

/*********************************************************************************显示中文数组函数名称:LCD_DIS_CHI()

功能:利用CGRAM自定字符,以文本方式形式输出

入口参数:x,y,*chinacode,codelongth

出口参数:无

说明:在屏上输出汉字数组

**********************************************************************************/

LCD_Dis_Chi(unsigned char x,unsigned char y,unsigned char *chinacode,unsigned char codelongth) {

unsigned char i,xlable,ylable;

unsigned int dataadd;

LCD_Write_Command0(0x94); //设置设置显示方式

LCD_Write_Command0(LCD_MOD_TCH); //设置为文本特征显示方式for(i=0;i

{

if((x+2*i)%30==0) //换行时,地址要加30,否则汉字

会重叠

{

y++;

}

dataadd=y*30+(x+2*i); //计算i字符RAM地址

xlable=dataadd&0xff;

ylable=dataadd/8; //计算字符RAM的地址

LCD_Write_Command2(LCD_ADR_POS,xlable,ylable); //设置址

LCD_Write_Command1(LCD_INC_WR,chinacode[i]); //左上

LCD_Write_Command1(LCD_INC_WR,chinacode[i]+2); //右上

LCD_Write_Command2(LCD_ADR_POS,(xlable+32),ylable); //下部分地址//

LCD_Write_Command1(LCD_INC_WR,chinacode[i]+1); //左下

LCD_Write_Command1(LCD_INC_WR,chinacode[i]+3); //右上

}

}

code unsigned char CGRAM[]=

{

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,

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,0x04,0x08,0x08,0x18,0x29,0x4A,0x08,0x09,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,

0x40,0x48,0x58,0x60,0xC0,0x40,0x44,0x44,0x3C,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,

0x01,0x01,0x01,0x7F,0x41,0x41,0x41,0x41,0x7F,0x41,0x01,0x01,0x01,0x01,0x01,0x01,

0x00,0x00,0x04,0xFE,0x04,0x04,0x04,0x04,0xFC,0x04,0x00,0x00,0x00,0x00,0x00,0x00,

0x04,0x0E,0xF8,0x08,0x08,0xFE,0x08,0x1C,0x1A,0x29,0x28,0x48,0x88,0x08,0x08,0x08,

0x10,0x10,0x90,0x50,0x10,0x90,0x50,0x14,0x1E,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,

0x10,0x10,0x10,0x13,0xFC,0x10,0x10,0x13,0x1A,0x31,0xD1,0x10,0x10,0x10,0x51,0x26,

0x40,0x40,0x48,0xFC,0x40,0x40,0x40,0xF8,0x08,0x10,0x10,0xA0,0x40,0xB0,0x0E,0x04,

0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x02,0x02,0x02,0x04,0x04,0x08,0x10,0x60,0x00,

0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x80,0x80,0x40,0x40,0x20,0x10,0x0E,0x04,0x00,

0x22,0x11,0x11,0x00,0x7F,0x40,0x80,0x1F,0x00,0x01,0xFF,0x01,0x01,0x01,0x05,0x02,

0x08,0x08,0x10,0x20,0xFE,0x02,0x04,0xE0,0x40,0x84,0xFE,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,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,

};

code unsigned char CHINACODE[]={0x80,0x84,0x88,0x8c,0x90,0x94,0x98,0x9c

0x0a0,0x0a4,0x0a8,0x0ac,0x0b0,0x0b4,0x0b8,0x0bc

};

Unsigned`char`WORDCODE[17]={0x57,0x45,0x4C,0x43,0x4F,0x4D,0x45,0x00,0x39,0x4F,0x

55,

};

unsignedcharWORDATTR[17]={0x000,/*0x00D,0x00D,0x00D,0x00D,0x00D,0x00D,0x0D,0x00D,

0x00D,0x00D*/

};

main()

{

LCD_Fill_All(0x00); //全屏清零

LCD_T6963_Ini(); //初始化

LCD_Dis_Str(0,0,WORDCODE,WORDATTR,16);

LCD_Mak_Cgr(CGRAM,32);

LCD_Dis_Chi(0,0,CHINACODE,32);

while(1);

}

5、系统调试故障分析

在这次调试过程中出现的问题较多。其一在调试,烧录后,发现屏幕上可以显示希望显示的汉字,英文,而有时候却会出现乱码,交替出现。这种情况发生的没有规律。

其二,在程序的理解上有较大问题。主要表现在对DDRAM,CGRAM的地址和CGRAM 数据三者之间的关系理解不是很透彻进而导致对LCD_Dis_Str(),LCD_Mak_Cgr()模块理解的不是很好。

6、调试结果与设计任务分析

本次调试中屏幕显示的是“Welcome you 华中科技大学"

基本上完成了这次课程设计的最终任务,即自制小系统板实现“液晶显示汉字、数字、英文”。

7、课设收获与建议

在这次创新设计中我学习了使用51系列单片机制作最小系统,实现液晶显示,让我对单片机的了解更加的深入透彻。在系统的制作过程使我对单片机的内部结构和编程都有了更加深入地了解,并且锻炼了对PROTEL软件的运用。这次的设计同时也让我们体会了单片机学习的苦与乐,在整个创新设计的过程中我们遇到了许多的困难,但最后在大家的共同努力下解决了问题,现在我们更加熟练地掌握了单片机的使用技巧,为了以后的工作和学习打下了基础。虽说这次的创新设计比较艰辛,但是我感觉单片机是一门很实用的课程,在今后的生活工作上一定会用得上的,所以感谢老师给我们这次机会让我们能更加深入的了解它。

参考文献

1 赵亮编.《单片机C语言编程与实例》.人民邮电出版社.2003

2 何希才编.《新型集成电路及其应用》.科学出版社.2001.12

3 李群芳,张士军,黄建编著·单片微型计算机与接口技术(第3版)·北京:电子工业出版社.2008.5

4 赵建领,薛圆圆编著·零基础学单片机C语言程序设计·北京:机械工业出版社 . 2009.4

5 徐爱钧,彭秀华编著·Keil Cx51V7.0单片机高级语言编程与μVision2应用实践(第2版)·北京:电子工业出版社.2008.5

6 自动化系编·单片机原理及应用实验讲义·武汉:华中科技大学武昌分校.2009

课程设计成绩:

项 目 业务考核成绩(70%) (百分制记分) 平时成绩(30%) (百分制记分)

综合总成绩 (百分制记分)

注:教师按学生实际成绩(平时成绩和业务考核成绩)登记并录入教务MIS 系统,由系统自动转化为“优秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。

指导教师评语:

指导教师(签名):

20 年 月 日

单片机最小系统设计

单片机最小系统设计 时间:2011-05-01 22:47:54 来源:作者: 单片机最小系统设计 该单片机最小系统具有的功能: (1)具有2位LED数码管显示功能。 (2)具有八路发光二极管显示各种流水灯。 (3)可以完成各种奏乐,报警等发声音类实验。 (4)具有复位功能。 功能分析 (1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能; (3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。 (4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 设计框图 硬件电路设计 根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。

元件清单的确定: 数码管:共阴极2只(分立) 电解电容:10UF的一只 30PF的电容2只 220欧的电阻9只 4.7K的电阻一只 1.2K的电阻一只 4.7K的排阻一只, 12MHZ的晶振一只 有源5V蜂名器一只 AT89S51单片机一片 常开按钮开关1只 紧锁座一只(方便芯取下来的,绿色的) 发光二极管(5MM红色)8只 万能板电路版15*17CM S8550三极管一只 4.5V电池盒一只,导线若干。七、硬件电路的焊接 按照原理图把上面的元件焊接好,详细步骤省略。 相关程序编写 针对上面的电路原理图,设计出本单片机最小系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1”。 (2)、第二个发光二极管点亮,同时数码管显示“2”。 (3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果 (4)、所有的发光二极管灭了,同时数码管现实“0”。

单片机最小系统

目录 摘要................................................................................................................................................ I Abstract .......................................................................................................................................... II 1.任务要求及说明 (1) 2. 硬件电路原理与设计 (3) 2.1硬件电路原理 (3) 2.1.1最小系统 (3) 2.2数码管显示电路 (6) 图4 数码管显示电路图 (6) 2.3串口通信电路 (7) 2.4矩阵键盘电路 (8) 3 软件设计 (9) 3.1软件介绍 (9) 3.1.1程序编写软件Keil (9) 3.1.2仿真软件Proteus (9) 3.2软件设计 (9) 3.2.1 数码管显示设计 (10) 3.2.2串行通信接收程序 (10) 4. 仿真与调试 (12) 4.1数据输入与显示仿真结果 (12) 4.2数字移位和串口仿真结果 (13) 5. 小结与体会 (14) 6.参考文献 (15) 附录1:C语言源程序 (16) 附录2:元件清单 (27) 附录3:实物图 (28)

摘要 单片机最小系统,无论对单片机初学人员还是开发人员都具有十分重要的意义,可以利用最小系统进行编程实现工业控制。单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。本次课程设计包括STC89S52 电路及供电系统、4×4矩阵键盘、独立6个8段LED数码管显示电路以及DS18B20温度传感器。利用相关Keil软件编程以及Proteus 借此巩固单片机应用、模拟电路、数字电路课程及学会各种工程软件的使用。 关键字:单片机最小系统矩阵键盘 Protues keil

51单片机最小系统制作 全过程

51单片机最小系统制作 第一章概述 1.1 缘起 1. 给51初学者提供一个简单的DIY的教材。 第二章跑马灯和串口 2.1 第一步:准备 准备一下器件: 1、烙铁(质量好点) 2、焊锡(细) 3、烙铁架(带一个专用海绵) 4、松香块 5、万用表(要有带响的,听听红黑表笔短接时的声音出来快不快) 6、PCB面万用板1块 7、40pin 插座1个 8、11.0592M晶振1个 9、30P瓷片电容2个 10、11个LED 11、电阻排1K 1个到VCC,做跑马灯LED的限流电阻 12、max232或者兼容的芯片 13、16pin的插座上去 14、STC89C51 15、其它杂物 以上的投资加起来,不会超出100元。

价格数量和封装如下: STC的单片机可以串口下载。 解释一下: LED:8个挂在P1口,排电阻是上拉限流的;2个作为串口收发的指示灯;1个LED作为电源指示灯; 独石电容6个:5个是使用在max232上的;一个是使用在单片机上,作为电源去耦的; 10K电阻1个,接在EA上,上拉到5V; 电解电容和电阻构成上电复位电路;(STC单片机不需要)

自己买2个DB9的母头,焊接一根串口电缆; 准备一个3PIN的插座,焊接在PCB的面包板上; 还有电源,Dc5V的电源很多,电源电压差一点问题不大;很多单片机现在电源范围都宽; STC单片机应该可以工作在4V以上,具体查资料。 准备好以上物品,可以准备焊接好了。 来一张全家福: 2.2 第二步:焊接单片机最小系统

2.3 第三步:焊接串口指示灯 2.4 第四步:在P1口上焊接跑马灯

2.5 第五步:焊接Dc5V电源指示灯 2.6 第六步:焊接max232的5个0.1u电容

51单片机最小系统电路介绍

51单片机最小系统电路介绍 单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。 单片机最小系统晶振Y1也可以采用6MHz或者,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。 单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好 口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。 设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。 " 设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。 标识符号地址寄存器名称 P3 0B0H I/O口3寄存器 PCON 87H 电源控制及波特率选择寄存器 SCON 98H 串行口控制寄存器 SBUF 99H 串行数据缓冲寄存器 TCON 88H 定时控制寄存器 TMOD 89H 定时器方式选择寄存器 TL0 8AH 定时器0低8位 - TH0 8CH 定时器0高8位 TL1 8BH 定时器1低8位 TH1 8DH 定时器1高8位

51单片机最小系统实验报告

51单片机最小系统实验报告 1.实验目的: 1).学习、了解单片机原理,即单片机的各引脚功能、特殊功能寄存器、中断系统、定时/计数器和通信方式等; 2).了解指令系统,各指令的功能; 3).学习电路原理设计,PC板设计以及编排; 2.方案设计: 1).最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。此部分主要包括电源电路、复位电路、时钟电路、USB 接口设计等; 2).扩展电路的设计对于51最小系统CPU芯片等在芯片出厂时不可能让片内存储器的大小满足所有功能的要求,如果将片内存储器做太大,必然造成芯片成本的提高。所以合适的外部RAM、液晶、外部中断和串行接口电路设计等。 3.任务:51单片机最小系统的设计 1)CPU选择:STC15W4K系列 选择原因:a.宽电压(2.5V-5.5V) b. 大容量4K字节SRAM和多组并行端口 c.16/32/56/61/63.5字节多选Flash程序储存器以及普通定时、计数器T0-T4外部管脚可掉电唤醒。 d.内置高精准时钟(5-28MHz任意设置)和集成MAX810专用复位电路

e.看门狗、对外输出时钟及复位 2).系统要实现的功能: 以UPU为核心器件,并利用外存储器对最小系统电路进行扩展。在介绍CPU基本特点的基础上,通过学习指导,开展出51单片机最小系统板。系统要实现以下功能,最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。此部分主要包括电源电路、复位电路、时钟电路、中断系统,USB 接口的设计和相对扩展等。 4.外围器件选择及说明: 1).外部RAM:IS62C256AL。ISSI的IS62C256AL是一个32Kx8位字长的低功耗CMOS静态随机存取存储器。IS62C256AL采用ISSI公司的高性能,低功耗CMOS工艺制造。 当/CE处于高电平(未选中)时,IS62C256AL进入待机模式。在此CMOS 输入标准的待机模式下,功耗低至150 μW(典型值)。 使用IS62C256AL的低触发片选引脚(/CE)和低触发输出使能引脚(/OE),可以轻松实现存储器扩展。低触发写入使能引脚(/WE)将完全控制存储器的写入和读取。 IS62C256AL在引脚上完全兼容其他32Kx8的塑料SOP或TSOP1封装的SRAM。 2).USB接口。接收、传送数据。 3).USB转串口芯片:CH340G。支持USB1.1或者USB2.0/USB3.0通信.具有仿真接口,可以升级外围串口设备,支持常用的MODE联络信号、STC全系

51最小系统原理图

51系列单片机最小系统 2009年03月18日星期三上午 10:48 51系列单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的 时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般 教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以

在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可 以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定 时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行. 这一点是初学者容易忽略的. 因此可以看出,其实要熟悉51单片机的40个引脚功能也很容易: 总共40个脚,电源用2个(Vcc和GND),晶振用2个,复位1个,EA/Vpp用1个,剩下还有34个.29脚PSEN,30脚ALE为外扩数据/程序存储器时才有特定用处, 一般情况下不用考虑,这样,就只剩下32个引脚,对于初学者,这32个引脚就是要经常跟它们打交道的了.它们是: P0端口P0.0~P0.7共8个 P1端口P1.0~P1.7共8个 P2端口P02.0~P2.7共8个 P3端口P3.0~P3.7共8个

51单片机_最小系统免费下载

单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Study-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。 一、内容提要 本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原理、最小系统的组成,并通过简单的C51 程序设计来讲述编译软件Keil的使用并下载Hex 文件烧写单片机。 二、原理简介 在了解原理之前,首先让我们思考一个问题,什么是单片机,单片机有什么用?这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢?普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM(数据存储器)、ROM(程序存储器)、定时器/ 计数器和多种功能的I/O(输入/ 输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。 在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。 图1 单片机最小系统框图 三、电路详解 依据上文的内容,设计51 系列单片机最小系统见图2。

跟我学51单片机(一):单片机最小系统组成与IO输出控制

跟我学51单片机(一):单片机最小系统组成与I/O输出控制 1 单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Stud y-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。 一、内容提要 本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原理、最小系统的组成,并通过简单的C51 程序设计来讲述编译软件Keil的使用并下载Hex 文件烧写单片机。 二、原理简介 在了解原理之前,首先让我们思考一个问题,什么是单片机,单片机有什么用?这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢?普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM (数据存储器)、ROM(程序存储器)、定时器/ 计数器和多种功能的I/O(输入/ 输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。 在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

单片机最小系统制作方案(适合初学者)

教学】单片机最小系统制作方案(适合初学者) 在写本单片机教程前,先自我介绍一下,我今年刚28岁,从事单片机教学二年。教学经验不足,写的不好,还请谅解,但是,我一定会尽力的。同时也希望大家能把我当朋友,共同进退。 本人喜欢上网,不喜欢运动,所以比较胖。我很喜欢在房间里做自己想做的事,如做网站,并建有自己的网站:〖教师吧〗:https://www.360docs.net/doc/323074849.html,保证长期有效。QQ是569 43772,E-MAIL:99xsw@https://www.360docs.net/doc/323074849.html, 单片机最小系统制作 一、确定任务 开发单片机最小系统 二、任务分析: 该系统具有的功能: (1)具有2位LED数码管显示功能。 (2)具有八路发光二极管显示各种流水灯。 (3)可以完成各种奏乐,报警等发声音类实验。 (4)具有复位功能。 三、功能分析 (1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能; (3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。 (4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 四、设计框图

五、硬件电路设计 根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。

六、元件清单的确定: 数码管:共阴极2只(分立) 电解电容:10UF的一只 30PF的电容2只 220欧的电阻9只 4.7K的电阻一只 1.2K的电阻一只 4.7K的排阻一只, 12MHZ的晶振一只 有源5V蜂名器一只 AT89S51单片机一片 常开按钮开关1只 紧锁座一只(方便芯取下来的,绿色的) 发光二极管(5MM红色)8只 万能板电路版15*17CM S8550三极管一只 4.5V电池盒一只,导线若干。 七、硬件电路的焊接 按照原理图把上面的元件焊接好,详细步骤省略。 八、相关程序编写 针对上面的电路原理图,设计出本系统的详细功能: (1)、第一个发光二极管点亮,同时数码管显示“1”。 (2)、第二个发光二极管点亮,同时数码管显示“2”。 (3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果

单片机最小系统(详解)设计报告

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 本次课程设计包括STC89C51单片机最小系统(包括复位和时钟电路)还有蜂鸣器电路、LED电路和RS232串口电路以及用于扩展功能的四排与I/O端口相连的插孔。利用Protel电路设计软件进行原理图设计,PCB布线,借此巩固单片机应用、模拟电路、数字电路课程及学会工程软件protel的使用。 关键词:最小系统,I/O端口,STC89C51, PCB

Abstract Recent years, with the penetration of computers in the social sphere, SCM applications are constantly deepening, while driving traditional control detects the rapidly growing updated. In the real-time detection and automatic control of microcomputer application system, the microcontroller is often used as a core component, only the microcontroller knowledge is not enough, should be based on the specific hardware architecture, as well as application-specific software features object combine to make perfect . The curriculum includes the SCM STC89C51 minimum system (including reset and clock circuit) and the buzzer circuit, eight digital tube display circuit, RS232 serial port circuitry, and used to extend the functionality of the four rows with the I / O ports are connected jack. Protel circuit design software for the use of schematic design, PCB layout, thereby consolidating microcontroller applications, analog circuits, digital circuits courses and learn to use engineering software Protel. Keyword:minimum system,I/O Port, STC89C51, PCB

基于51系列单片机最小系统的液晶显示

《创新设计报告》 基于51系列单片机最小系统的液晶显示 学院:机电与自动化学院 专业班级:电气自动化技术0802 学生姓名:刘刚 学生学号: 20082822077 指导教师:姚裕安 同组设计者:吴勇 (课程设计时间:2011年03月03日——2011年03月13日) 华中科技大学武昌分校

目录 1.设计题目 (02) 2.设计任务及要求 (02) 3.系统硬件电路设计 (02) 3.1设计电路原理图 (02) 3.2主要元器件清单 (03) 3.3 OMC12864-4(T6963c)的简介 (03) 4.系统软件设计 (05) 4.1程序流程图 (05) 4.2子程序功能介绍 (06) 4.3完整程序及其功能注释 (06) 5.系统调试故障分析 (12) 6.调试结果与设计任务分析 (13) 7.课设收获与建议 (13) 参考文献 (13)

1.设计题目 基于51单片机最小系统板实现“液晶显示汉字、数字、英文” 2.设计任务及要求 任务:最小系统板实现“液晶显示汉字、数字、英文”; 要求:错误!未找到引用源。对液晶显示操作技能训练;学会运用Protell 软件;错误!未找到引用源。绘制软件流程图、编写并调试程序、详细注释软件功能;错误!未找到引用源。对系统性能指标进行分析并提出改进方案;错误!未找到引用源。作品演示与讲解(硬件、软件、调试、改进、) 3系统硬件电路设计(含文字介绍、电路原理图) 3.1用Protell软件绘制电路原理图采用的是直接访问方式。如图(1) 直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由算机的地址总线提供,读和写操作由计算机的读写操作信号控制。 图(1) 图(1)中的引脚说明OCM12864-4与STC89C52RC接口: P0.0-0.7 <==========> D0-7 GND <==========> /CE P3.7 <==========> /RD VCC <==========> /RESET P3.6 <==========> /WR GND <==========> FG

89C51单片机最小系统设计(电子时钟,秒表,按键计数的单片机设计)

一、电子时钟、秒表和计数器的设计 1、实现的功能: 1)有key0,key1两个功能按键,复位后,数码管会默认显示时钟模式HH.MM 。 (HH表示小时,MM表示分钟), key0短按一次就进入到了秒表模式,数码管显示格式S.SS.S,(分别表示百秒,秒,毫秒) key0再短按一次就进入到了计数器模式,数码管显示格式CCCC(分别为千位百位十位个位)。 key0再短按一次,又进入到了时钟显示模式,就这样由key0控制模式的转换。 2)有RST复位键,本身电路设计有上电自动复位功能,按下RST后,电路复位。 3)有ckey0,ckey1 两个计数按键,按下ckey0,计数加一,按下ckey1,计数减一。 4) 电子时钟和秒表时间计时方法是采用89S52内部计时器0的一种工作方式(详见后面 的代码分析),通过计时器0中断来控制时间的运行。 5)计数器是采用外部中断0和外部中断1这两个外部中断实现加1和减1的操作。 (1)电子时钟模式:(以下“长按”表示按下按键的时间大于1秒,“短按”表示按下的时间小于0.7 秒)1)长按key1一次,会进入到调整分钟的模式,短按key1一次,分钟会加一。 第二次长按key1,会进入到调整小时的模式,短按key1一次,小时加一。 第三次长按key1,重新回到时钟显示模式,这时再短按key1,时间不会变化2)长按key0一次,会进入到显示秒的模式 (2)秒表模式: 1)由key0控制进入秒表模式后,短按key1一次,秒表计时开始,再短按key1一次计时结束 2)长按key1一次,秒表清零 (3)计数器模式 1)按ckey0一下,计数加一,数码管相应的显示的数值加一, 按ckey1一下,计数减一,数码管相应的显示的数值减一, 由于数码管的位数限制,最大只能显示到9999,此时按下ckey0无反应;考虑到 实际计数功能,没有设置负数,所以最小显示0000,这时按下ckey1 ,无反应。 2)长按key1一次计数器清零。 2、电路原理图

单片机-最小系统原理解析

单片机-最小系统原理解析

单 片 机 最 小 系 统原 理

一、题目:单片机最小系统 二、引言: 由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。目前,可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。 单片机最小系统是在以MCS-51单片机为

基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本课题设计主要在MCS-51单片机上扩展I/O口,扩展定时器定时范围,扩展键盘显示接口。适合于我们学生用于单片机的学习掌握和一些各种科研立项等的需求。因此,研究单片机最小系统有很大的实用意义。 三、关键字: DevKit MCS51 Lite 、AT89S51、AD/DA、RS232串口、串行EEPROM存储器、蜂鸣 器、独立按键、LED、8段数码管。 四、目的要求 4.1 目的: 通过对单片机最小系统的研究,掌握单片机各引脚功能,理解单片机工作过程及原理,以及与各种外部扩展器件的连接,能够自己运

51单片机最小系统讲解及应用

51单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系 统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典 型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的 取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的, 原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定 量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率, 用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机

特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 因此可以看出,其实要熟悉51单片机的40个引脚功能也很容易: 总共40个脚,电源用2个(Vcc和GND),晶振用2个,复位1个,EA/Vpp用1个,剩下还有34个.29脚PSEN,30脚ALE为外扩数据/程序存储器时才有特定用处,一般情况下不用考虑,这样,就只剩下32个引脚,对于初学者,这32个引脚就是要经常跟它们打交道的了.它们是: P0端口P0.0~P0.7共8个 P1端口P1.0~P1.7共8个 P2端口P02.0~P2.7共8个 P3端口P3.0~P3.7共8个 使得单片机工作的最小电路 80C51为例 首先,我们在使用protel和proteus的软件画电路图时,你会发现原先40个引脚的芯片变成了38个引脚,那是因为它把第40和第20个引脚VCC和GND隐藏了,所以要是的单片机开始工作至少需要一个VCC(电源)和GND(接地)。 其次,学习过组成原理的同学或者说学习过计算机导论的同学一定知道,计算机的冯·诺依曼体系,什么是冯·诺依曼体系。简单的说就是程序(指令)存储,顺序执行,也就是说指令是一条一条执行的,即CPU从ROM(他可以称为程序存储器,但不准确)中取出指令然后再执行。取指令并执行有严格的先后顺序,那么就需要一个时钟来准确的使CPU 稳定工作。 所以,第二个需要的就一个时钟电路。一个内部时钟电路是由两个电容(CAP)和一个石英晶振(Crystal)组成。CPU的时钟周期(震荡周期)由石英晶振决定(常用6MHZ或12MHZ),两个电容取10~30pF,并把他们接在XTAL1(输入)和XTAL2(输出)两端。

51单片机最小系统学习板的设计与制作

课程设计任务书 (指导教师填写) 课程设计名称电路板设计与制作学生姓名专业班级 设计题目51单片机最小系统学习板的设计与制作 一、课程设计的任务和目的 任务: 设计并制作51单片机最小系统电路板,包括电路原理图设计、版图规划与设计、系统单面电路板制作。 要求: 1)电路原理图准确、版图结构清晰、布局合理。 2)使用插针型元件,成品PCB板面布局合理,密度适当; 3)板上资源包括LED灯、数码管、蜂鸣器、按钮、串行通讯及USB接口; 4)电路板面积适中便于携带,长度15cm,宽8.5cm。 目的: 1)掌握并完成基本PCB板的设计与制作工艺; 2)学习并掌握实现单片机应用系统的软硬件设计、调试、实现的技能; 3)了解单片机最小系统的工作原理与系统开发方法,锻炼动手能力,为毕业设计做准备。 二、设计内容、技术条件和要求 1.设计并制作具有实际功能的单片机最小系统: 可选择实现的功能⑴.流水灯⑵.电子时钟⑶.数字温度计⑷.交通灯控制器; 2.根据所选电路功能,画出电路框图和原理总图。 3.根据电路所需元件及周边设备规划和设计电路板版图,描画版图。 4.根据版图生成gerber工艺文件,进行电路板制作,包括刻板,钻孔,覆铜等。 5.撰写设计总结报告。 三、时间进度安排 本课程设计共两周时间。 第一周:功能设计与理论学习 周一上午:布置设计任务;提出课程设计的目的和要求;明确对撰写总结报告、手工绘制原理图和电路板版图的要求;安排答疑、实验室开放时间。讲解印制电路板的制板流程,介绍PCB刻板机等制板设备的软硬件操作方法以及注意事项。 周一下午:讲解电路原理图与PCB版图设计方法。 周二至周五:学生查阅资料,确定设计题目;进行功能设计,在实验室完成电路原理图与PCB 版图的设计和绘制,导出电路总原理图及版图文件。期间安排两次答疑,指导学生设计。周五,交设计草图-原理图和版图供老师审阅。 第二周:电路板制作、撰写设计总结报告 周一至周四:分组在电子系统加工及评测实验室(225)操作刻板工具和设备进行电路板成品的加工和制作,成品需通过老师验收。 周五:撰写设计总结报告。 四、主要参考文献 1. 《单片机原理及应用》. 冯文旭等著. 第一版, 2008年8月. 机械工业出版社. 2. 《乐普科快速PCB制板系统操作使用流程》手册。 3. 单片机系统开发和PCB设计的相关参考教材; 指导教师签字:2018年9 月3 日

单片机最小系统

STC89C52单片机简介 概述 STC89C52是51系列单片机的一个型号,它是STCMEL公司生产的。 STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用STCMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。 STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 STC89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。 主要功能特性 兼容MCS51指令系统 8k可反复擦写(>1000次)Flash ROM 32个双向I/O口 ? 256x8bit内部RAM 3个16位可编程定时/计数器中断 ? 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位

低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 8051单片机的引脚功能 MCS-51系列单片机一般采用40个引脚,双列直插式封装,用HMOS工艺制造,其外部引脚排列如图所示。其中,各引脚的功能为: (a) DIP引脚图 (b) 逻辑符号 8051单片机的引脚 ⑴主电源引脚 Vcc(40脚):接+5V电源正端 Vss(20脚):接+5V电源地端 一般Vcc和Vss间应接高频去耦电容和低频滤波电容。 ⑵外接晶体或外部振荡器引脚 XTAL1(19脚):接外部晶振的一个引脚。在单片机内部,它是一个反

基于51单片机的最小系统板设计

┊ ┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中。本设计主要在51单片机上扩展I/O口,扩展定时器定时范围,扩展键盘显示接口并写好底层程序。 关键词最小系统,扩展,STC89C51, I/O接口 Abstract With the infiltration in the social field of the computer in recent years, the application of the one-chip computer is moving towards deepening constantly, drive tradition is it measure crescent benefit to upgrade day to control at the same time. In measuring in real time and automatically controlled one-chip computer application system, the one-chip computer often uses as a key part, only one-chip computer respect knowledge is not enough, should also follow the structure of the concrete hardware , and direct against and use the software of target’s characteristic to combine concretly, in order to do perfectly. The smallest system one chip computer is in expands at the base of MCS-51 one chip computer. Make it used more convient in the test system. this design mainly expands I/O in the take 51 on chip computer, expands the timer fixed time scope, expands the keyboard to demonstrate the connection and writes the

51单片机最小系统板

51单片机最小系统1.设计框图 2.硬件电路设计

3.元件清单 共阴极数码管2只(分立) 10UF电解电容2只(限压16V)30PF瓷片电容2只 220欧的电阻9只 4.7K的电阻1只 1.2K的电阻1只 4.7K的排阻1只 12MHZ的晶振1只 S8550三极管1只 单排针2排 自锁小按键1只 蜂名器1只(长音) STC89C51单片机1片 常开按钮开关1只(轻触开关)40引脚紧锁座或40引脚芯片插槽1只(前者方便单片机取下来的,但价格较贵;后者便宜,不便于拔插) 发光二极管(5MM红色)10只 电路板1张(单孔锡板,带九针串口座的焊盘) USB转串口线1根(笔记本电脑必买、台式电脑选买) USB头一个(如下一页实物图所示)双头USB线1根(两头都能插入USB 头里面) 细导线2米(单芯、铁线) 2CM铜柱8根(一头凸起,一头凹下)

104瓷片电容5片 MAX232芯片1片 串口头1个(母头、9孔式) 串口线1根(一端9孔、一端9针)****蓝色器件为台式电脑用**** 注意:有的元器件(如电阻、瓷片电容等)非常便宜,一般按10个为单位买,否则别人不卖。必备工具:万用表、电烙铁、焊锡丝、松香、吸锡器、斜口钳、镊子 相关软件:Protel 99 SE、Keil 3、单片机烧录软件 4.下载电路 STC89C52 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2、振荡电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了。 3、复位(RST,第9引脚):至于复位是何含义及为何需要复位,在单片机功能中介绍。 4、EA(31引脚):EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 5、P1口发光管电路:P1.0-P1.7(第1-8引脚)连接到8个470欧电阻驱动8个发光管。 6、单片机引脚控制连接:两排单排插连接单片机40个引脚,方便以后扩展或测试各引脚。 7、在线编程下载接口:用一个5X2(长为5的双排插)连接电源VCC、GND、P1.5(第6脚)、P1.6(第7脚)、P1.7(第8脚)和RST(第9脚),然后通过在线编程下载模块连接到电脑的并口,运行Keil编程软件可以实现在线编程和仿真,边改程序边调试电路(观看发光管的表演,当然导演就是大家自己!)

相关文档
最新文档