北方民族大学电气信息工程学院总结题目:学生姓名:专业:学号:目录目的设计原理硬件设计主芯片存储系统电源系统其他系统软件设计流程图程序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.系统设置3.1框图设计框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。
通过框图设计,让设计者从整体上把握系统的开发。
3.2电路原理图123456ABCD654321DCBATitleNumber R evi s ionSi z e B Date:24-Dec-2010Sheet ofFi l e:D:\PROTEL99ZHONGWEN\PROTEL99ZHONGWEN\PROTEL99SE 汉化版\EXAMPLES \B AC KUP~15.DDBDrawn By:EA/VP 31X119X218R ES ET 9R D 17WR 16INT012INT113T014T115P10/T 1P11/T 2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11R XD 10U3AT89S 51XTAL 11.059212345678910IS P12345678161514131211109R P11k1SW-PB 7SW-PB 2SW-PB 3SW-PB 5SW-PB E SW-PBB SW-PB 6SW-PB 4SW-PB 9SW-PB A SW-PB 8SW-PB D SW-PBSW-PB F SW-PBC SW-PBR ST复位按键R 19R ES 2R 20R ES 2C 230pF C 130pF abfc gdeV C C1234567a b c d efg 8d pd p 9DS3AMB ERC Aabfc gdeV C C1234567a b c d efg 8d pd p 9DS4AMB ERC Aabfc gdeV C C1234567a b c d efg 8d pd p 9DS5AMB ERC Aabfc gdeV C C1234567a b c d efg 8d pd p 9DS2AMB ERC Aabf c gde V C C1234567a b c d ef g 8d p d p 9DS6AMB ERC Aabfc gdeV C C1234567ab c d efg 8d pd p 9DS1AMB ERC AOC 1C 111D 31Q 22D 42Q 53D 73Q 64D 84Q 95D 135Q 126D 146Q 157D 177Q 168D 188Q19U174LS 373OC 1C 111D 31Q 22D 42Q 53D 73Q 64D 84Q 95D 135Q 126D 146Q 157D 177Q 168D 188Q19U274LS 373VCCVCCR 11R ES 2R 9R ES 2R 7R ES 2R 5R ES 2R 10R ES 2R 12510R 6R ES 2R 8R ES 2R 14R ES 2R 15R ES 2R 16R ES 2R 13R ES 2R 17R ES 2R 18510VCCVCCVCCVCC+C 3C APACITOR POLC 7220uf/16v2Vin 1+5v37805C 41000uf/25v1234B RIDGE1C 5104C 61043。
.3电源电路3。
.4复位电路3。
.5晶振电路晶振是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
3.3.3按键电路按键用于控制数码显示模块的工作。
通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进行工作。
设计中使用单个按键实现单个功能,属于较为简单的控制方式。
在多功能系统设计的试验中我们使用十六个按键分别与单片机的p1.0-p1.7相连。
通过按下相应的按键来处理相应的程序。
3.3元件清单AT89S51 1片74LS373 2片共阴极数码管6个按键17个ISP 1个八脚电阻排1个二极管4个510欧姆电阻14个1K电阻2个10K电阻1个10uf 1个220uf 2个30pf 2个12M晶振1个1uf 2个3.3.1 AT89S51芯片AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
②主要特性:与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。
3.3.2 74LS373芯片Vcc 8Q 8D 7Q 7D 6Q 6D 5D 5Q G74LS373芯片图4.软件设置4。
.1程序流程图4。
.2程序#include"reg51.h"#define uchar unsigned charchar code tab[4][4]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0到F的16个键植void delay(unsigned char a){unsigned char i;while(a--)for(i=10;i>0;i--);}char kbscan() //键盘扫描{uchar hang,lie,key;if(P1!=0xf0)delay(80);if(P1!=0xf0){switch(P1&0xf0){case 0x70:hang=0;break;case 0xb0:hang=1;break;case 0xd0:hang=2;break;case 0xe0:hang=3;break;}P1=0xf0;P1=0x0f;switch(P1&0x0f){case 0x0e:lie=0;break;case 0x0d:lie=1;break;case 0x0b:lie=2;break;case 0x07:lie=3;break;}P1=0xf0;while(P1!=0xf0);key=tab[lie][hang];}elsekey=0;return (key);}void main(){P1=0xf0;P0=0xff;{uchar temp;uchar a1,a2,a3,a4,a5,a6;a1=0x00;a2=0x00;a3=0x00;a4=0x00;a5=0x00;a6=0x00;while(1){temp=kbscan();if(temp!=0){a1=a2;a2=a3;a3=a4;a4=a5;a5=a6;a6=temp;}P2=0xfe;P0=a1;delay(2);P2=0xff;delay(2);P2=0xfd;P0=a2;delay(2);P2=0xff;delay(2);P2=0xfb;P0=a3;delay(2);P2=0xff;delay(2);P2=0xf7;P0=a4;delay(2);P2=0xff;delay(2);P2=0xef;P0=a5;delay(2);P2=0xff;delay(2);P2=0xdf;P0=a6;delay(2);P2=0xff;delay(2);}}}5.Proteus仿真图6.心得此次设计,从编写程序、制作电路到制作电路板都是由我们自己来完成,通过这次制作,让我们知道了制作一个电子产品应该从何着手,着重注意哪些问题,让我们知道并学会操作keil,client99se,proteus。