文档库 最新最全的文档下载
当前位置:文档库 › 89C51单片机最小系统设计

89C51单片机最小系统设计

89C51单片机最小系统设计
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—-;}//计数减一,不显示负数,当减到零时便不能再减

}

AD教案实验6单片机最小系统原理图设计

实验六单片机最小系统原理图设计 1 实验目的及要求 ?熟悉Altium designer的操作 ?能够画库原件中没有的库以及封装,并能加载到库,在原理图中熟练调用 ?能够设计较为复杂的电路原理图,并输出元件清单表 2 实验设备 装有Altium designer的电脑一台 3 实验步骤 新建设计工作区:文件-新建-设计工作区 新建PCB工程:文件-新建-工程-PCB工程 新建原理图,PCB图,原理图库以及PCB图库:文件-新建-原理图/PCB/库-原理图库/PCB图库 保存PCB工程文件到以自己名字新建的文件夹里面,保存文件名为51DPJ,文件类型为默认。(实验五已经新建完的可以直接打开,不用再新建一遍了。) 然后在新建完的原理图的里面把本次实验的原理图设计出来。本次实验注重在原理图的编辑以及PCB的制作,以51单片机最小系统为例,大家做的时候可以不完全按照所给原理图画,然后很多元器件可以在网上找到PDF的文档资料,资料中会比较详细介绍元器件的信息,封装,电路图,实物图,以及检测的效果图,电路中的封装基本按照上面来做。

图3 实验原理图 输出元件清单表BOM BOM表对一个项目来说非常重要,因为这张表不仅包含了原理图上的所有元件,同事也是生成部分和采购部门的重要参考文件,因为生成部要利用BOM知道元件的位置及型号,二采购部要知道元件完整型号以及精度等级等参数从而去进行选购,因此,工程师一定要保证BOM单不能出错,否则造成的麻烦可能影响你的产品设计周期。 完整BOM单输出: ?进入BOM单输出对话框:单机菜单Reports---bill of Materials进入BOM单输出对 话框 ?设置BOM单格式并输出:All columns 表格内用于选择 BOM单要添加的栏;从 all columns 栏选中某关键字拖拽到 Grouped Columns 栏用于设置以前关键字进行整行合并;Export 区域内用于设置 BOM 单输出格式;最后单击 EXPORT 按钮导出BOM 单。 ?变量BOM单输出:按照第二部设置好BOM格式后,如果要以变量形式输出 BOM单,课单机Menu按钮,从中选择Change Variant 变量,再到处BOM单既可以变量形式输出。

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电容

4--单片机最小系统的原理图绘制

教 学环节教学容与过程 师 生 活 动 教学 方法 设计 意图 复习引入 新课教学 第一课时 一、项目描述: 通过单片机最小系统的原理图设计,对Protel DXP 2004 绘制原理图的过程有进一步的了解,掌握总线与总线入口的绘 制方法,网络标号的正确使用,原理图的报表生成、网络表、 元件库的生成。 过程: 1、新建项目:新建一个PCB项目,命名为“单片机 最小系统.PrjPCB”并保存,在项目中新建一个原 理图文件“87cs20.SchDoc”。 2、设置图纸参数:执行【设计】【文档选项】进行设 置。 3、放置元器件 4、绘制导线 教 师 指 导 学 生 上 机 操 作 练 习 项目 教学 法 任务 驱动 教学 法 让学 生学 会单 片机 最小 系统 的原 理图 设计

新课教学二、总线与总线入口的绘制方法 1、绘制总线:执行【放置】【总线】命令,按【TAB】键修改 总线属性。 2、绘制总线入口 3、放置网络标号 网络标号具有电气特性。 教 师 指 导 学 生 练 习 学会 总线 的绘 制方 法

三、放置忽略ERC检查标记 四、生成原理图报表(元件采购清单) 本软件可以提供采购清单,避免出错。 执行【报告】【bills of materials】菜单命令,打开项目元件列表对话框。 五、原理图的网络表 网络表是原理图与印制板电路的桥梁。 生成网络表的方法:执行【设计】【设计项目的网络表】【Protel】命令,系统自动生成网络表文件,后缀名为.NET。 网络表每一个[…]表示一个元件和它的主要参数,每一个学会生成原理图的各种文件如网络表等

总结 作业(…)表示一个网络,其中显示的是元件的引脚编号,同一个(…)中的引脚在电气意义上是相连的,此信息对PCB制版至关重要。 六、项目元件库的 生成 执行【设计】【建立设 计项目库】菜单命令, 生成一个与项目 同名的元件库。

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

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

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

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

单片机最小系统原理图

单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的 系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明

复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让R C组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 复位电路: 一、复位电路的用途 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 单片机复位电路如下图:

二、复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢? 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。 开机的时候为什么为复位 在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充

基于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日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

单片机最小系统设计

单片机最小系统设计 时间: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”。

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

教学】单片机最小系统制作方案(适合初学者) 在写本单片机教程前,先自我介绍一下,我今年刚28岁,从事单片机教学二年。教学经验不足,写的不好,还请谅解,但是,我一定会尽力的。同时也希望大家能把我当朋友,共同进退。 本人喜欢上网,不喜欢运动,所以比较胖。我很喜欢在房间里做自己想做的事,如做网站,并建有自己的网站:〖教师吧〗:https://www.wendangku.net/doc/e914081675.html,保证长期有效。QQ是569 43772,E-MAIL:99xsw@https://www.wendangku.net/doc/e914081675.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”。以上出现的是流水灯的效果

单片机最小系统的设计及制作

单片机最小系统的设计与制作 江西冶金职业技术学院刘昆山刘星慧 【摘要】本文通过讲解单片机的工作条件,设计并制作单片机最小系统,编写单片机C语言程序,调试单片机产品,掌握单片机产品开发的基本过程。 【关键字】单片机C语言,单片机入门,单片机最小系统 一、单片机最小系统功能介绍 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的以单片机为核心元件的可以正常工作的具有特定功能的单片机系统,是单片机产品开发的核心电路。

图1单片机最小系统成品图 本制作采用单片机C语言编程,主要能完成单灯闪烁的任务,通过AT89S51单片机控制一个LED的亮与灭,实现闪烁现象。同时应具有上电复位和手动复位,并且使用单片机片内程序存储器存放用户程序。 二、知识点讲解 1、AT89S51单片机简介 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K 的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储器技术生产,兼容标准8051指令系统及引脚。它集成的Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程。 单片机的应用可以理解为是单片机芯片通过其引脚控制各种不同的外围电路,实现各种具体功能,所以要学好单片机技术,必须先了解单片机的引脚功能。AT89S51采用了40引脚的双列直插DIP封装形式,实物图如图2所示,引脚配置图如图3图4所示。

图2 AT89S51实物图图3 AT89S51引脚图 图4 AT89S52引脚图 2、引脚功能介绍 IO口灌(流进)电流大,拉(流出)电流小。

P0:漏极开路的双向IO口,使用时,当电流流出需外加上拉电阻 外部地址数据总线,可带八个TTL负载 P1:准双向口(当作输入口用时,须将IO口置1(P1=0XFF;i=P1;)),可带四个TTL负载 P1.0:T2定时计数器2的外部脉冲输入及时钟输出 P1.1:T2EX定时计数器2的捕捉、自动重装的触发输入及减法计数控制 P1.5:MOSI,主动输出从动输入引脚,用于flash(闪存)编程 P1.6:MISO, 主动输入从动输出引脚,用于flash编程 P1.7:SCK, 同步时钟,用于flash编程 ISP编程时用 P2:准双向口,可带四个TTL负载 外部地址总线高八位 P3:准双向口,可带四个TTL负载 P3.0:RXD,串行输入 P3.1:TXD,串行输出 P3.2:INT0,外部中断0输入 P3.3:INT1,外部中断1输入 P3.4:T0,定时计数器0的外部脉冲输入

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 日

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最小系统,用最小系统控制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所示。

单片机最小系统电路图

单片机最小系统电路图

————————————————————————————————作者:————————————————————————————————日期: 2

单片机基础实践 D0D1D2D3D4D5D6D7EA ALE PSEN P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST 9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND 20 P2.0 21 P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN 29ALE 30EA 31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039Vcc 40U1 STC89C52 P10P11P12P13P14P15P16P17P20 P21P22P23P24P25P26P27P30P31P32P33P34P35P36P37X2X1 RST Vcc 图1 单片机STC89C52电路图

4 3 2 Vcc R11k D LED 4 3 123456789J1 CON9 D0D1D2D3D4D5D6D7 Vcc 5 43+ C8 1 234 B1 R2 Vcc RST 图2 电源指示灯 图3 单片机P0口上拉电阻 图4 复位电路 Y C1 C2 X1 X2 2 1 D 123 4 56K1 1234USB USB VCC 图5 晶振电路 图6 USB 供电电路

单片机最小系统

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脚):接外部晶振的一个引脚。在单片机内部,它是一个反

单片机最小系统设计

单片机最小系统设计 ?单片机最小系统部分 ●AT89C52的结构特点及引脚特 ●硬件框图 ?键盘部分 ?电源部分 ●固定电源 ●可调电源(5—12V) ?软件编程 ?单片机最小系统部分 ●AT89C52的结构特点及引脚特性: 为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通

信等。 各引脚特性: 1.P0 口 P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的 2.P1 口 P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 3.P2 口 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 4.P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻 5.RST 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 6.ALE/PROG 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 7.PSEN 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 8.EA/VPP 外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),E A 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。

单片机最小系统电路

单片机最小系统的相关知识 复位电路: 一、复位电路的用途:单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。单片机复位电路如下图: 二、复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?

在单片机系统中,系统上电启动的时候复位 一次,当按键按下的时候系统再次复位,如果释 放后再按下,系统还会复位。所以可以通过按键 的断开和闭合在运行的系统中控制其复位。 开机的时候为什么会复位:在电路图中,电 容的的大小是10uF,电阻的大小是10k。所以根 据公式,可以算出电容充电到电源电压的0.7倍 (单片机的电源是5V,所以充电到0.7倍即为 3.5V),需要的时间是10K*10UF=0.1S。也就是 说在单片机启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V 的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。 按键按下的时候为什么会复位:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。 晶振电路: 晶振电路:晶振是晶体振荡器的简称在 电气上它可以等效成一个电容和一个电阻并 联再串联一个电容的二端网络电工学上这个 网络有两个谐振点以频率的高低分其中较低 的频率是串联谐振较高的频率是并联谐振由于晶体自身的特性致使这两个频率的距离相当的接近在这个极窄的频率范围内晶振等效为一个电感所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路由于晶振等效为电感的频率范围很窄所以即使其他元件的参数变化很大这个振荡器的频率也不会有很大的变化 晶振有一个重要的参数那就是负载电容值选择与负载电容值相等的并联电容就可以得到晶振标称的谐振频率

设计并制作一个单片机最小系统

北方民族大学 电气信息工程学院总结 题目: 学生姓名: 专业: 学号:

目录目的 设计原理 硬件设计 主芯片 存储系统 电源系统 其他系统 软件设计 流程图 程序 Proteus仿真图 心得

1.目的 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。MCS-51系列单片机主要包括8031、8051和8751等通用产品。 所谓"最小"是指可以启动单片机的必要条件,也就是说没有这个条件,就无法让单片机工作了。主要是三个方面:1、Power,指单片机工作的电源部分,VCC/GND,2、Clock,指单片机工作的时钟,单片机执行各项指令/动作,都是按照时钟这个节拍来完成的,当然是必不可少的。3、Reset,复位信号,单片机执行取指等操作都是从寄存器的某一位置开始执行的,复位信号就是告诉单片机刚开始工作时的地址在哪里,好比是个入口啦! 除了硬件设施要齐全外,要做出一个实物,还必须要有软件——c语言,c 语言是一种计算机程序设计语言。它既有高级语言的特点,又有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,本次制作应用于c语言编写程序。2.设计任务 设计并制作一个单片机最小系统。要求设计正负5V电源给系统供电,系统具有4x4键盘阵列,6个LED显示器。用AT89S51的并行口P1接4x4矩阵键盘,以P1.0—P1.3作输入线,以P1.4—P1.7作输出线;在数码管上显示每个按键的“0—F”序号。所有口线均通过接插件与外界连接。 3.系统设置

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编程软件可以实现在线编程和仿真,边改程序边调试电路(观看发光管的表演,当然导演就是大家自己!)

相关文档
相关文档 最新文档