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、电路原理图

(1)使用片内振荡器

(2)具有上电复位与手动复位两个功能

(3)key0,key1分别接P1、0与P1、1引脚(4)由P0、0~P0、7输出到七段数码显示管

(5)由P2、0~P2、3接三极管,驱动共阳七段数码显示管

(6) ckey0,ckey1接P3、2与P3、3两个引脚,为两个外部中断4.电路焊接实物图

(1)正面

(2)反面:

由于显影、腐蚀过程做得不好,导致电路板过度腐蚀,但就是经过修改之后,电路可以正常运行,并无大碍,只就是不美观。

(4)电路板工作时。此时为显示时钟得秒

显示时钟

显示秒表

显示计数器

5、程序设计分析(1)程序代码

#include〈Reg51、h〉

sbit key0=P1^0;

sbit key1=P1^1;//定义key0,key1接口

unsigned charflag,con,mcount;//flag为计数到一秒时给时钟发得信号

unsignedcharcount=0;

unsignedchar seccount =0;//作为时钟得秒得计量单位

unsigned char hour = 0;//时钟得时

unsigned char min = 0; //时钟得分

unsigned charsec=0; //时钟得秒

unsigned char keypress0,keypress1,mode,ms,s,ss,start;

unsignedchar

Displaynum[]={0x14,0xd7,0x4c,0x45,0x87,0x25,0x24,0x57,0x04,0x05,0x10,0xd3,0x48,0x41,0x83,0x21,0x20,0x53,0x00,0x01,0xff,0xfb};

//数码管十六进制译码表

unsignedcharcontrolnum[]={0x08,0x04,0x02,0x01}; //控制四个数码管显示unsigned char DisplayBuff[]={0x00, 0x00,0x00, 0x00};//每个数码管得值

void display_state();//数码管显示子程序

void keyscan(); //键盘扫描子程序

void timer();//秒表子程序

unsigned charcount1,flag1,t_adjust=0,tm_adjust=0;

unsigned charbKey0Pressed = 0,bKey1Pressed = 0;

unsigned char ucStatus = 0;

void main()

{

TMOD = 0x01; //定时器0工作在模式1,GATE=0,C/t=0,16位模

TH0= (2^16-5000)/256;//定时器0预存值,

TL0=(2^16—5000)%256;

TR0= 1;//定时器0 启动

ET0= 1; //定时器中断0 允许

EA= 1; //开中断

ﻩIT0=1; //外部中断0下降沿触发

IT1=1;//外部中断1 下降沿触发

EX0=1; //外部中断0允许

EX1=1;//外部中断1允许

PX1=1;//外部中断1 为高优先级中断

while(1)//死循环,

{

if(flag ==1) //时钟显示

{

ﻩflag= 0;

sec++;

if(sec==60)

{sec = 0;

min++;

if(min ==60)

{min =0;

hour ++;

if(hour== 24)

hour =0;

}

}

}

display_state();

keyscan();

timer();

}

//////////////////////////////////ISR中断服务程序,每5ms产生一个定时器0 中断void Display()interrupt 1

TH0= (2^16-5000)/256;

TL0= (2^16-5000)%256;

seccount ++;

ﻩmcount++;

ﻩkeypress0++;

ﻩkeypress1++;

P2=0x00; //P2口先清零

ﻩP0= Displaynum[DisplayBuff[count]]; //P0口输出

P2 = controlnum[count];//P2口输出

count++;

if(count==4)

ﻩcount=0;

if(seccount== 200)//200*5ms=1s

{seccount =0;

flag=1; //每过1秒给时钟信号加一秒

}

///////////////////////////////////////////

void display_state()

{

if(mode == 0) //时钟模式,显示时间

DisplayBuff[0] =hour/10;

DisplayBuff[1]= (hour%10)+10; //“+10"就是为了显示加点得数字DisplayBuff[2] =min/10;

DisplayBuff[3]= min%10;

if(mode == 1)//秒表模式,显示秒表

DisplayBuff[0] =ss+10;//“+10"就是为了显示加点得数字

DisplayBuff[1]=s/10;

DisplayBuff[2]= (s%10)+10;

DisplayBuff[3]= ms;

}

if(mode== 2)//计数器模式,显示计数

DisplayBuff[0] = count1/1000;//千位

DisplayBuff[1]=(count1-(count1/1000)*1000)/100;//百位DisplayBuff[2]= (count1—(count1/100)*100)/10;//十位

DisplayBuff[3]= count1%10; //个位

ﻩif(mode==3)//显示时钟得秒,

ﻩ{

DisplayBuff[0] = 20;//第一位不显示

DisplayBuff[1]= 21; //第二位显示一个点

DisplayBuff[2] =sec/10;//显示秒得十位

DisplayBuff[3] =sec%10;//显示秒得个位

}

}

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

//键盘扫描子程序//

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

void keyscan()

{

if(!key0 && bKey0Pressed== 0)//检测到key0按下{

keypress0= 0;

ﻩbKey0Pressed=1; //防止重入此判断

while(!key0);//如果没放开,就等下去

if(key0 &&bKey0Pressed== 1)//检测到key0放开

{

ﻩbKey0Pressed= 0; //防止重入此判断

ﻩif (keypress0<120)ﻩ//如果就是短按

ﻩ{

if(ucStatus == 0x02)

ﻩ{

ﻩucStatus =0x00;

ﻩmode= 0; //时钟模式

ﻩt_adjust=0;

}

elseif(ucStatus== 0x00)

ﻩﻩ{

ucStatus= 0x01;

mode = 1; //秒表模式

ﻩﻩﻩelseif(ucStatus == 0x01)

ﻩ{

ﻩﻩucStatus=0x02;

mode = 2; //计数模式

ﻩelse if(keypress0〉200)//如果就是长按

mode=3; //显示时钟得秒得模式

ﻩ////////////////////////////////

if(mode == 0)//进入时钟模式后

{ﻩ

if(!key1 &&(bKey1Pressed == 0))

ﻩ{keypress1=0;

bKey1Pressed = 1;

while(!key1);

ﻩ}

if(key1 &&(bKey1Pressed ==1))

ﻩbKey1Pressed= 0;

if(keypress1>= 200) //如果就是长按

{

t_adjust++;

ﻩﻩif(t_adjust==3)

ﻩﻩt_adjust=0;

ﻩelse if(keypress1<120)如果就是短按ﻩswitch(t_adjust)

ﻩﻩﻩ {

ﻩcase 1:{//调整分

min++;

ﻩﻩsec= 0;

ﻩﻩﻩif(min==60)

ﻩﻩmin =0;

ﻩ}

ﻩﻩﻩﻩbreak;

ﻩcase 2:{//调整时

ﻩhour++;

ﻩﻩsec= 0;

ﻩﻩif(hour == 24)

ﻩﻩﻩhour= 0;

ﻩﻩﻩﻩ}

ﻩbreak;

ﻩdefault:break;

ﻩﻩ}

}

}

else if(mode== 1)//进入秒表模式

if(!key1 &&bKey1Pressed== 0)

keypress1= 0;

ﻩbKey1Pressed =1;

while(!key1);

}

if(key1 &&bKey1Pressed == 1)

ﻩbKey1Pressed = 0;

if(keypress1< 120) //短按

ﻩ{

ﻩif(flag1==0){ start=2;flag1=1;} //start=2代表秒表开始计时ﻩﻩﻩelse {start=0;flag1=0;}//start=0,秒表停止计时

ﻩ}

ﻩ else if(keypress1>200)//长按

start=1; //秒表清零

ﻩ}

}

}

void timer() //秒表子程序

if(mode==1)//进入秒表模式才执行

{

if(start==1) //清零

{

ms= 0;

s=0;

ﻩss=0;

mcount=0;

ﻩ}

ﻩif(start==2)//秒表开始计时

if(mcount==20) //20*5ms=0、1s

mcount=0;

ms++;

ﻩif(ms == 10) //10*0、1s=1s,s++

ﻩ{ms =0;

ﻩﻩs ++;

ﻩif(s == 100)//100s

ﻩﻩ{s =0;

ss ++;

ﻩﻩif(ss==10)

ﻩﻩ{ss = 0;

ﻩs= 0;

ﻩms = 0;

ﻩ}

ﻩﻩﻩ}

ﻩﻩﻩ}

ﻩ}

if(start==0);//秒表停止

}

//////////////////////

void it0(void)interrupt 0using 1 //外部中断0服务程序{

if(mode==2)//只有在计数模式才执行

ﻩ{

count1++;//每响应一次,计数加一

if(count1==10000)//超出四位时,不能再加

count1 =9999;

ﻩ }

voidit2(void)interrupt2using 2 //外部中断0服务程序{

if(mode==2) //只有在计数模式才执行

ﻩ{

if(count1!=0)

{count1—-;}//计数减一,不显示负数,当减到零时便不能再减

}

单片机最小系统

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

单片机最小系统课程设计

目录 摘要............................................................................................................................................................. I ABSTRACT .....................................................................................................................................................II 第1章绪论 . (1) 1.1 单片机的概述 (1) 1.2 单片机的基本结构 (1) 第2章单片机最小系统介绍 (4) 2.1单片机最小系统电路介绍 (4) 2.2电路设计方案 (4) 第3章单片机最小系统的硬件设计 (7) 3.1硬件原理图 (7) 3.2系统各组成模块介绍 (8) 3.2.1 振荡电路 (8) 3.2.2 电源电路 (7) 3.2.3 程序下载电路 (9) 3.2.4 外存储电路 (10) 3.2.5 数码管显示电路和矩阵键盘电路 (11) 3.2.6 液晶显示电路 (12) 3.2.7 复位电路 (13) 第4章安装与调试 (15) 4.1调试方法和结果 (15) 4.1.1电源部分安装调试 (15) 4.1.2 STC89C52单片机最小化系统主控制部分安装调试 (15) 4.1.3 程序下载部分电路安装调试 (16) 4.1.4 外存储电路调试 (16) 4.1.5 数码管显示电路和键盘电路调试 (16) 总结和体会 (17) 致谢 (18) 参考文献 (19) 附录 (20)

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全系

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、电路原理图

51单片机最小系统原理图

51单片机最小系统原理图

接触过单片机的朋友们都时常会听到别人提"最小系统"这个词.那到底什么是最小系统,有怎样设计称上"最小"呢?下面让依依电子来告诉大家:单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。 应用89C51(52)单片机设计并制作一个单片机最小系统,达到如下基本要求: 1、具有上电复位和手动复位功能。 2、使用单片机片内程序存储器。 3、具有基本的人机交互接口。按键输入、LED 显示功能。 4、具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。 51单片机学习想学单片机,有一段时间了,自己基础不好,在网上提了许多弱智的问题,有

一些问题网友回答了,还有一些为题许多人不屑一顾。学来学去,一年多过去了,可是还是没有入门,现在我就把我学习中遇到的一些问题和大家分享一下,希望在大虾的帮助下能快速的入门:)在学习之前我在网上打听了一下atmel公司的单片机用的人比较多,avr系列这几年在国内比较流行,但是考虑到avr还是没有51系列用的人多,51系列的许多技术在实践中都已经的到了前人的解决,遇到问题后,有许多高人可以帮助解决,所以这次学习,选用了atmel公司的at89s52,来进行学习。学习单片机是需要花费时间实践的;学之前我们先准备好所需的东西一、所需硬件at89s52一片;8m晶振一个,30pf 的瓷片电容两个;10uf电解电容一个,10k的电阻一个;万用板(多孔板)一块;其他的器件如电烙铁一把30w的,松香,焊锡若干,如果是第一次学习,不知道这些东西,没关系,以下是它们的照片:

51单片机最小系统电路图及实验

51单片机最小系统电路图及实验(含调试程序) -------------------------------------------------------------------------------- 51单片机最小系统电路图及实验 一、任务 开发单片机最小系统 二、任务分析: 该系统具有的功能: (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”。 (5)、数码管显示“1”。 (6)、数码管显示“2、……”直到“9、A、B、C、D、E、F、Y”。 (7)、蜂鸣器发出九声报警声后重复上面所有步骤。 (8)程序如下: ORG 0000H;伪指令,定义下面的程序代码(机器代码)从地址为0000H的单元存放。LJMP START;跳转到标号为START的地方去执行。 ORG 0030H;伪指令,定义下面的程序代码(机器代码)从地址为0030H的单元存放。START:MOV P1,#0FEH ;点亮第一个发光二极管。 CLR P2.7 ;送低电平到第一个数码管,开启数码管。 CLR P2.6 ;送低电平到第二个数码管,开启数码管。 MOV P0,#06H;让数码管显示“1”。 LCALL DELAY;调用延时子程序,起到延时的目的。 MOV P1,#0FDH;点亮第二个发光二极管。 MOV P0,#5bH;让数码管显示“2”。

51单片机最小系统设计

一、内容及要求 内容:设计制作一个51最小系统,用最小系统控制8个发光2极管。 要求:全部点亮,依次点亮,交换点亮;用最小系统控制蜂鸣器;用最小系统控制电机。 二、设计思路 使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机. 八个发光二极管D1-D8分别接在单片机的P2。0-P2.7接口上,当给P2。0口输出“0”时,发光二极管点亮,当输出“1"时,发光二极管熄灭。可以运用输出端口指令MOV P0,A或MOV P0,#DATA,只要给累加器值或常数值,同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现 图2-1 主程序流程图 流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的成流水灯了.在此我们还应注意一点,由于人眼的视觉暂留效应

以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。 程序启动时跳转到键盘判断模块程序中,此程序里面包含Key1~Key5的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示的花型模块,与此同时,当按键Key6有闭合时,程序中调用延时程序程序时,给延时参数赋值上另一个值,是延时程序延时时间发生改变,以达到不同快慢节奏闪烁的彩灯.具体程序流程图2-1所示。 三、硬件设计 3。1 直流稳压电源电路 对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础.电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分!本项目直流稳压电源为+5V。如下图所示: 直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。 图3-1 三端固定式集成稳压电源电路图 AT89C51单片机的工作电压范围:4。0V—5.5V,所以通常给单片机外接5V 直流电源。由于时间关系,此处用3节1。5V的干电池供电,在此不在赘述此稳压电源电路图原理。 3.2单片机最小系统 要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。单片机最小系统如下图3—2所示。

基于89c51的简易计算器的课程设计

51单片机简易计算器设计 目录 一、设计任务和要求 (2) 1、设计要求 (2) 2、设计方案的确定 (2) 二、硬件设计 (2) 1、单片机最小系统 (2) 2、键盘电路的设计 (3) 3、显示电路的设计 (3) 4、系统硬件电路图 (4) 三、软件设计 (5) 1 系统设计 (5) 2 显示电路的设计 (6) 3、程序清单 (8) 四、调试与仿真 (14) 五、试验箱实物图 (14) 六、心得体会 (15)

一、设计任务和要求 1、设计要求 利用单片机设计并制作简易计算器。具体要求如下: 1、4*4按键用于0~9的数字输入、加减乘除、等于、清零功能; 2、能实现简单的加减乘除运算; 3、输入数字及计算结果通过LED或LCD显示器显示。 2、设计方案的确定 按照设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于AT89C51芯片的I口不够多,而且为了硬件电路设计的简单化,故选择串行动态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行动态显示显示运算结果。 主程序进行初始化,采用行列扫描进行查表得出键值,每次按键后调用显示子程序。 二、硬件设计 简易数字计算器系统硬件设计主要包括:键盘电路,显示电路以及其他辅助电路。下面分别进行设计。 1.单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小部分,包括主控芯片、复位电路和晶振电路。 (1)、复位电路 复位电路 本设计采用上电与手动复位电路,电阻分别选取100和10K,电容选取10uF,系统一上电,芯片就复位,或者中途按按键也可以进行复位。

(2)、晶振电路 图三晶振电路 晶振电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。单片机的晶振选取11.0592MHz,晶振旁电容选取30pF。 2.键盘电路的设计 键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。本课题需要的是16个按键,故选择用非编码键盘。 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理:计算器的键盘布局如图五所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 具体电路连接如图所示:

单片机89C51做电梯自动控制系统设计

单片机原理与应用技术课程设计报告 基于单片机控制的电梯自动控制系统 专业班级: 姓名: 时间: 指导教师:

基于单片机控制的电梯自动控制系统 1.设计目的与要求 1.1 基本功能 (1)显示:本设计要求实现6层控制,实时显示电梯所在楼层位置。(2)升降控制:采用一台电动机的正反转来实现电梯的升降。 (3)具备不可逆响应的功能: 电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。 1.2 扩展功能 (1)可增加人性化的按键语音服务功能。 (2)可增加遥控或感应操作功能。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 - 2 -

目录 1 引言 ·······································································································- 4 - 2 电梯控制系统原理················································································- 4 - 3 总体设计方案························································································- 5 - 3.1 设计思路·······················································································- 5 - 3.1.1 方案比较··············································································- 5 - 3.1.2 方案确立··············································································- 5 - 3.2 设计方框图···················································································- 6 - 4 电梯控制系统单元电路的设计 ····························································- 6 - 4.1 单片机最小系统···········································································- 7 - 4.2 信号输入电路···············································································- 7 - 4.2.1 内外请求输入电路 ······························································- 8 - 4.2.2 厢体位置模拟输入电路·······················································- 8 - 4.3 信号模拟输出电路 ·······································································- 9 - 4.3.1 楼层显示电路 ······································································- 9 - 4.3.2 电梯外部请求显示电路·····················································- 10 - 4.3.3 电梯方向及开关门电路·····················································- 11 - 5 系统软件设计······················································································- 12 - 5.1 初始化程序·················································································- 12 - 5.2 各楼层子程序·············································································- 12 - 5.3 显示子程序·················································································- 12 - 6 结束语 .................................................................................................- 14 - 参考文献 .................................................................................................- 14 - 附录一 .....................................................................................................- 16 - 附录二 (17) - 3 -

课程设计报告(单片机最小系统及PCB板设计)

GUIZHOU UNIVERSITY 课程设计 报告 设计项目名称单片机最小系统及PCB板设计 专业班级电子信息科学与技术081班 学生姓名郎子龙 学号 080712110069 指导教师马光喜李良荣 理学院 实验时间:2011年7月12日

一、课程设计目的 1、加强实践教学环节,掌握单片机开发一个实际应用系统 的实现技能。 2、锻炼提高将所学的专业知识应用在一个实际的单片机控制应用系统设计与实现的能力。 3、熟悉单片机最小系统的基本工作原理,能利用单片机进行系统开发,为毕业设计做好铺垫。 4、掌握并完成基本PCB板的设计与制作工艺。 二、课程设计任务 1、单片机最小系统的构成设计 2、单片机最小系统的开发板的软件使用 3、单片机应用程序的编辑与汇编软件(Keil)的使用 4、单片机应用系统软硬件设计与调试 5、Protel99软件的使用学习与PCB板的设计 三、课程设计具体内容 1、安装开发板(安装之前请先熟悉电烙铁焊接技术) 2、利用开发板完成步进电机的设计,掌握开发板的使用方法。 3、用PROTEL99完成PCB板的设计 四、单片机最小系统的基本原理及制作 1、MCS-51基本结构

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD XTAL2XTAL1V SS V CC P0.0P0.1P0.2P0.3P0.4 P0.5P0.6P0.7EA/V PP ALE/PROG PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 RST P3.2/INT0GND V CC P1.7P1.6P1.5P1.4P1.3P1.2 P1.1/AIN1P1.0/AIN0P3.7 注:类似的还有Philips公司的 87LPC64,20引脚 8XC748/750/(751),24引脚 8X749(752),28引脚 8XC754,28引脚 等等 MCS-51单片机是一款非常经典的单片机,极具代表性,而且资料非常丰富。 2、A T89S52基本结构 图中,有40个引脚的就是A T89S52单片机,这是单片机家族众

单片机最小系统设计

第4章单片机最小系统设计制作训练内容提要 在电子竞赛设计中,单片机作为系统的控制核心广泛应用。本章介绍了单片机最小系统电路板、通用键盘显示电路、液晶显示模块、A/D及D/A转换等单元电路设计及其程序设计。 知识要点:单片机最小系统,可编程键盘和显示器的接口电路,MDLS点阵字符型液晶, 程序设计。A/D与D/A显示模块,点阵图形型液晶显示模块,教学建议: 本章的重点是掌握单片机最小系统与接口电路的设计与制作。建议学时数为8学时。单片机最小系统在竞赛中可以选用成品。但单片机作为竞赛作品中的核心部件,软件编程训练可以利用单片机开发系统进行培训,通过对单片机最小系统硬件的设计制作,可以使学生加深对单片机的了解。液晶显示模块采用成品,接口电路与程序设计是训练的重点。A/D与D/A等电路需要进行设计制作。设计制作的产品可以作为子系统或者模块保留备用。训练中要求学生完成电原理图、印制板图、装配图、实际制作、电路调试、设计总结报告。 4.1 单片机最小系统设计制作 4.1.1 单片机最小系统电路板硬件设计 单片机最小系统电路板可选用AT89C51、AT89C52等DIP-40封装的单片机作为MCU。系统包括时钟电路,复位电路,扩展了片外数据存储器和地址锁存器。系统还设置了8个并行键盘S1~S4,S6~S9,6个共阳极LED数码管LED1~LED6。系统无需扩展程序存储器,用户可根据系统程序大小选择片内带不同容量闪存的单片机,例如PHILIPS半导体公司推出的P89C66X Flash 单片机,其片内Flash ROM容量最大可达64KB。系统还提供基于8279的通用键盘显示电路、液晶显示模块、A/D及D/A转换等众多外围器件和设备接口。单片机最小系统原理框图如图4.1.1所示。最小系统电路原理图如图4.1.2所示。LED数码管和并行键所示。4.1.3盘电路原理图如图 图4.1.1单片机最小系统原理框图 单片机最小系统电原理图4.1.2 图

51系列单片机最小系统原理图和程序

51系列单片机最小系统原理图和程序 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

51系列单片机最小系统设计与调试实验 一、实验目的 1. 了解单片机的基本工作原理 2. 学习并掌握相关软件的使用方法(Protel、keil) 2. 掌握单片机片内程序存储器下载方法 3. 掌握单片机程序设计(汇编及C51) 二、原理 1. 什么是单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。 2. AT89C51高性能8位单片机功能 AT89C51提供以下标准功能:8K字节Falsh闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,时/计数器,串行通信口及中断系统持续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

3. AT89C51高性能8位单片机资料 请参考相关书籍 三、实训任务. (1)认识MCS-51的ROM及片外RAM空间:认识51系列单片机的程序存储器(ROM)的空间范围;汇编指令编码在ROM中存储形式;掌握指令编码和指令编码所在地址的概念;了解51系列单片机的程序存储器(ROM)固定地址的用途。认识51系列单片机的片外数据存储器(片外RAM)的地址空间范围;了解51系列单片机的片外数据存储器的用途;重点掌握片内片外访问存储器的指令。 (2)认识MCS-51片内RAM空间:认识51系列单片机片内随机存储器(片内RAM)的空间范围;认识51系列单片机片内随机存储器的区域划分;掌握字节地址和位地址的概念;了解R0~R7寄存器与字节地址的关系。重点掌握MCS-51系列单片机四个口的用法的位操作。(3)MCS-51汇编语言设计(编码转换):用MCS-51汇编指令进行程序设计。将四位BCD 码化为十六位二进制数。(或将四位十六进制数转化为BCD码)。要求:在PC机上调试,程序可正确运行并上交源程序清单及程序说明。 (4)键盘输入电路设计/动态显示电路设计:在实训过程中要求设计按键输入电路、设计显示电路,并画出电路图并编写按键输入子程序。重点掌握硬件电路的设计及通过编程对电路的控制。 (5)单片机最小系统设计:单片机最小系统的设计是单片机应用系统设计及开发的基础,通过单片机最小系统设计,使学生对所学的单片机原理及应用课程有更深的理解。要求:提供电路图和程序清单。重点掌握硬件电路的设计及过程控制。 (6)基于单片机的应用系统设计:设计出实现某控制目的的应用系统是本实训课的最终实训的结果。实训要求中包括单片机最小系统的设计,按键输入电路设计,显示电路的设计,及应用系统的软件编程。

单片机最小系统的设计

单片机最小系统的设计 以AT89C51单片机为例,设计一个单片机最小系统。 要求: 1、功能:有按键开关、键盘进行高低电平的输入。有数码管显示输出数字。有LED灯显示输出的高低电平。LCD显示输出数字和中文文字符号。有使单片机工作的最小外围电路。 2、设计采用Keil单片机开发软件进行,在该软件上设计虚拟电路并进行仿真实现键盘、按键输入数据,在数码管、LED、LCD上显示输入内容,或运算、控制结果。 3、写出完成上述工作的全部过程。包括软件选取、软件安装、每个功能硬件的选取和连接过程,软件的编写过程、源程序调试过程,最后附上全部工程文件和程序。 上述工作的目的:通过单片机的学习,学会基本的科研工作方法:构思、系统框图、详细设计、硬件设计、软件设计、研究工作中的记录、总结、归纳。正反两方面的经验都要写。 方法:先建设一个WORK文档,以后每做一步写步,做完设计工作同时文档也就写完,然后对文档总结、整理、提高,这样每做完一件事,一篇可发表的论文也应完了,而不要做完了设计才来回想、写论文,时间就浪费了,很多设计过程中遇到的问题也忘了。 下面是去年同学写的内容,仅参考,不要抄,要自己写,比这个更好。 一、软件的介绍 本文以AT89C51作为控制部件,同时利用LCD显示当前状态,从而实现依次按键控制LED灯亮灭的最简控制系统。。 1、proteus软件的使用方法 Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 Proteus是一个标准的Windows窗口程序,其启动界面如图1-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系列兼容单片机 jzz IZ RSTATD P3I/F-XD M.VTXD P3../W P3.:/iNri P3.5/TL P3 f/WF P3.7W XTAL2 XT A LI GUI) c O 1 3 t J Jn_ co s do .Dmu,o VPFP 卩 ppp 39 r VI —g 部 ROH -玄E 賞罚裡 ATSPC51 台f 专— 峙T 卜誹 亠K^LI 幵 ___njiihr.i.4 ............ J9 -0 in 12_ 匸 p p p p p p p p 4D

AT89C51单片机最小化系统

AT89C51单片机最小化系统 目录 1引言.......................................................................................1 2总设计方案 (1) 2.1 设计思路 (1) 2.2 单片机介绍 (1) 2.3 电动车介绍 (1) 2.4 方案论证 (1) 2.5 设计框图.....................................................................13设计原理 (2) 3. 1硬件设计 (2) 3.1.1最小系统 (2) 3.1.2控制电路 (3) 3.1.3驱动电路 (3) 3.1.4显示电路 (4) 3.2保护电路 (4) 3. 2. 1 过流、欠压保护电路 (4) 3. 2(2 刹车保护 (5) 3.2.3低压指示灯 (5) 3.3 软件设计 (5) 3.3.1主程序设计………………………………………………6 4结束语…………………………………………………………………6 参考文献……………………………………………………………………7 附录

1.......................................................................................8 附录2 (9) 基于单片机控制的电动车控制器 摘要:电动车成为人类生活中越来越重要的交通工具。电动车控制器主要有单片机、ADC0809、霍尔传感器、74LS164等组成。通过单片机控制电动车,使电动机转速发生变化达到对电动车的控制的目的。该设计具有结构简单、性能可靠使用方便、可实现较复杂的控制、具有防飞车保护和低压保护等重要的功能。关键词:电动车单片机 ADC0809 A44E 1 引言 单片机的出现给人类生活带来加大方便,使控制系统简单化。本设计主要是设计一个由单片机控制的电动车控制系统,操作者可通过单片机系统控制电动车的转速,其旋转速度和当前电量可以在数码管上显示出来。该设计具有结构简单、性能可靠使用方便。 2总设计方案 2.1 设计思路 根据电动车的工作原理可以知道,电动车控制器是通过霍尔转换器把采集的信号通过ADC0809数模转换器将模拟信号传给单片机,利用单片机控制、驱动电路及显示电路从而达到控制电动车的要求。 2.2 单片机介绍 单片机即单片微型计算机,是将微处理器,一定容量的RAM和ROM以及I/O 口,定时器等电路集成在一块芯片上,构成的单片微型计算机。随着科学的发展,越来越多的智能化产品都用到了单片机,由于单片机的体积小、成本低、功能强被广泛应用于智能化产品和工业自动化上,而51系列单片机是各系列单片机中最典型和最有代表性的一种。 2.3 电动车的介绍

最小单片机系统单片机

最小单片机系统 - 单片机 MCS-51系列是由INTEL公司于1980年所开发的8位单片机系列,最初的产品为带内部ROM的8051和不带内部ROM的8031。随着MCS-51系列单片机用户的增加,INTEL公司推出了带内部EPROM的8751和扩展功能的8032、8052、8752,同时其他公司也推出了在MCS-51单片机内核基础上设计的产品,如ATMEL的带FLASH MEMORY 的89C51、89C52,带在系统编程(ISP)接口的89S51、89S52。8031的内核还被集成在诸如智能IC卡一类的集成电路中。MCS-51系列的微把握器以其良好的可扩展性被广泛地应用。 MCS-51单片机具有4个8位的端口,分别为P0、P1、P2、P3。P0、P2口除具有一般I/O口的功能外,P0口在扩展外部程序、数据存储器时具有数据总线和低8位地址总线的功能,P2口在扩展外部程序、数据存储器时具有高8位地址总线的功能;P1口为一般的I/O 口;P3口具有一般I/O口和如表1所示的特殊功能。 表1 P3口的特殊功能 MCS-51集成的外围接口包括定时/计数器,串行通信接口。定时/计数器T0、T1可分别定义为定时和计数模式,计数器长度可定义为8位、13位和16位。T1还可定义为串行通信的波特率发生器。串行通信接口可实现全双工的通信,除了8个数据位的异步通信格式外,还可定义为9个数据位的1点对多点的通信模式。 MCS-51具有5个中断源,分别为:外部中断0(入口地址0003H),定时器0(入口地址000BH),外部中断1(入口地址0013H),定时器

1(入口地址001BH),串行通信(入口地址0023H)。 MCS-51的最大优点是在集成了外围接口的同时,保持了良好的可扩展性,通过P2口,可产生外部地址总线的高8位,而P0口用时分的方法产生外部地址总线的低8位和外部数据总线。8031实行了程序存储器和数据存储器独立的寻址方法,寻址范围各64K,而I/O 访问接受了存储器统一编址的方法。 MCS-51具有很大的机敏性,当内置存储器和外围设备能满足系统的需要时,仅用一个单片即可实现1个系统,当内置的资源不足以实现1个系统时,可通过P0、P2口做系统扩展。图2为89C51通过扩展方式实现的最小系统电原理图,通过P0、P2口产生8位数据总线和16位地址总线。 图2 89C51的最小系统电原理图 图中利用74LS373分别地址数据信号,此系统供应了扩展外围设备必需的8位数据总线、16位地址总线、读写信号、中断申请信号,并供应了1个并行接口(P1口)和定时器、串行通信接口所需的信号。

8951单片机毕业设计

8951单片机毕业设计是一个重要的项目,需要深入了解单片机的基本原理、应用和开发过程。以下是一个关于8951单片机毕业设计的1000字回答,包括设计背景、目的、方案、步骤和总结。 一、设计背景 89C51单片机是一种常用的微控制器,广泛应用于工业控制、智能仪表、数据采集等领域。毕业设计的目的在于深入了解89C51单片机的特性和应用,掌握基于单片机的系统开发流程和方法,为将来的实际工作或研究打下基础。 二、设计目的 本设计的目的在于通过实际开发一个基于89C51单片机的系统,掌握单片机的基本原理、应用和开发过程,提高实际动手能力和解决问题的能力。通过本设计,学生可以了解单片机在系统设计中的重要性和应用价值,为今后的工作或研究奠定基础。 三、方案设计 在方案设计方面,我们将选择一款实用的89C51单片机开发板,根据实际应用需求进行系统设计。具体方案包括: 1.硬件设计:选择合适的电源、输入输出接口、传感器等硬件设备,搭建完整的硬件系统。 2.软件设计:根据实际需求,编写相应的软件程序,包括主程序、中断服务程序等。 3.调试与测试:对系统进行调试和测试,确保系统的稳定性和可靠性。 四、实施步骤 实施步骤如下: 1.硬件搭建:根据硬件需求,选择合适的电源、输入输出接口、传感器等设备,搭建完整的硬件系统。 2.软件编写:根据软件需求,编写相应的程序,包括主程序、中断服务程序等。 3.系统测试:对系统进行测试,确保系统的稳定性和可靠性。 4.数据分析:对测试结果进行分析,找出存在的问题和不足,进行改进和优化。 五、总结与展望 通过本设计的实施,学生可以深入了解89C51单片机的特性和应用,掌握基于单片机的系统开发流程和方法。在实际开发过程中,学生需要具备较强的动手能力和解决问题的能力。

相关文档
最新文档