微机综合实践课程设计_第1页
微机综合实践课程设计_第2页
微机综合实践课程设计_第3页
微机综合实践课程设计_第4页
微机综合实践课程设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、桂 林 电 子 科 技 大 学微机综合实践课程设计 设 计 报 告 指导老师: 吴兆华 学 生: 刘芯豪 学 号: 桂林电子科技大学机电工程学院微机综合实践课程设计设计报告目录一、设计题目2二、设计内容与要求2三、设计目的意义2四、系统硬件电路图34.1系统框图34.2电路设计软件Altium Designer34.3元器件清单44.4 电路的设计及注意事项44.4.1电路原理图和PCB的设计44.4.2 注意事项64.5 电路原理图74.6 图形显示PCB8五、程序流程图与源程序95.1 程序流程图95.1.1主程序流程图95.1.2 中断子程序流程图105.2 源程序清单115.2.1 汇

2、编语言程序115.2.2 C语言程序15六、系统功能分析与说明196.1 STC89C52RC单片机介绍196.1.1 STC89C52RC单片机引脚功能206.1.2 STC89C52RC单片机中断系统236.2 复位电路266.3 晶振电路276.4 按键电路286.5 8×8点阵LED显示286.5.1 点阵显示效果29七、设计体会31八、参考文献31一、设计题目步进电机控制系统设计二、设计内容与要求用8051单片机设计一个控制系统,控制8*8点阵式LED循环显示“”、“”和心形图,要求通过按键来选择要显示的图形。显示时间可调。三、设计目的意义随着社会的发展,单片机因其高可靠性

3、和高性价比,在工业控制系统、 智能化仪器仪表和智能接口等诸多领域内得到了极为广泛的应用。LED电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。由于采用单元模块化结构,屏体大小可按用户要求灵活拼制;它的超高亮度,使它在户内外显示中具有不可替代的作用。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体

4、育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。因此,本设计具有很强的现实应用性,且是对我们所学知识应用的一个很好的检验。 1、通过学习单片机原理,初步了解如何用汇编语言实现对51单片机系统进行控制。通过简单图形显示控制的设计,将所学的知识融会贯通,锻炼独立设计、制作和调试单片机应用系统的能力,为进一步的科研实践活动打下一定的基础。 2、通过单片机最小系统的应用,掌握单片机内部定时/计数器应用与编程、及硬件调试、设计方法。 3、在这次的动手设计之后,领会单片机的应用系统的软硬件调试的方法,掌握单片

5、机编程方法,及软件keil C51的使用方法,熟悉软件调试过程及方法,对单片机系统和LED显示技术有了进一步的理解。4、课程设计中让我们对点阵的工作原理有了了解,知道其点亮方式和扫描显示图形,当我们在做扩展屏幕的时候会有一些直接的参考,为下一次可能用到而积累知识。5、制作电路板需要动手使用电烙铁,焊锡,培养自己动手操作能力。6、本次做硬件电路使用Altium Designer电路设计软件,让我们对这个软件有一定的了解并掌握其软件的基本功能,如何导入软件库,如何添加元器件的封装,如何使用原理图库绘制原理图,如何使用PCB封装库绘制元器件封装,如何在PCB中摆放元器件,如何选择我们需要的

6、线宽等等。7、根据课题要求,从提出并选择设计方案、查找确定所用元器件、设计并搭制硬件电路、编程写入并调试等一系列过程,锻炼了分析、解决问题的能力及相互学习的精神。8、在制作电路板之前,还是用了proteus仿真软件对电路图进行仿真,验证我们所设计的原理图是否合理,功能能否按照要去实现,最重要的还是学会了一个电路仿真软件,当我们身边没有单片机开发板时也可以通过仿真软件来设计我们的电路,验证我们的程序。9、为我们以后的工作积累经验,培养团队的合作精神和分工协调能力,为今后能独立承担起电路设计、能进行微机单片机应用系统的开发与设计工作打下一定的基础。10、本次课程设计我们三个人一个小组,每个人设计一

7、个方案,最终经过讨论分析得到了我们小组最终的一个整体方案,培养我们对方案分析,解决问题和团队合作的能力。四、系统硬件电路图4.1系统框图硬件电路的设计框图如图1所示。8051单片机电源震荡电路复位电路按键电路8×8点阵电路图1 硬件电路的设计框图4.2电路设计软件Altium Designer我们在制作硬件,得到我们所需要的成品,需要运用各种软件,工具来实现我们的目的。首先知道我们需要什么元器件,运用什么样的电路图,得到我们所需要的电路图如何将电路放到我们的铜板上面,焊接元器件,调试电路等等各种步骤,都需要我们了解,并亲自动手操作。右图是我们的小组制作的硬件电路。我们采用的软件是Al

8、tium Designer电路设计软件,Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,其主要功能有:1. 原理图设计;2. 印刷电路板设计;3. FPGA的开发;4. 嵌入式开发;5. 3D PCB设计。基于这些优点,Altium Designer可以为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,使用这款软件将使电路设计的质量和效率大大提高。我们的本次课设只需使用其前面的两点便

9、可,有助于我们比较成功的完成课程设计任务。4.3元器件清单FootprintCommentLibRefDesignatorDescriptionQuantityRAD0.130PFCAPC1, C22RB.1/.2CAP-2CAP-2C31XTAL-1CRYCRYCY11RB.1/.2LEDLEDD11SIP2CON2CON2J1SouresConnector1SIP-8*2点阵CON8*2J21sip-4CON4CON4J5Connector1SW1SW4SW4KEY1, KEY2,KEY3, KEY4, S15AXIAL0.41kRESR1, R32AXIAL0.410kRESR21SIP

10、-910k排阻R41DIP-405151U11184.4 电路的设计及注意事项4.4.1电路原理图和PCB的设计第一步:新建一个工程绘制一个完整的电路图,我们的第一步是建立一个工程文件,我们的后续工作都在这个工程文件下面进行,建立工程的步骤为:FileNewProjectPCB Project。如下图所示步骤:然后得到我们的工程文件,但这只是一个空的工程,里面什么都没有,只是给我们开辟了一个空间,我们需要在这个空间里面加入我们的原理图。第二步:新建一个原理图建立完工程之后接下来我们需要建立一个能够画电路图的原理图,步骤为:FileNewSchematic。如下图所示步骤第三步:新建一个PCB原

11、理图只是给我们提供绘制理论电路的地方,只是一个简单的物理电路图,最终需要制作刻录电路图形在电路板上面的是PCB,建立好工程和电路图之后我们还需要建立一个PCB,它是联系理论电路与实物电路的桥梁,步骤为:FileNewPCB。如下图所示步骤最后得到有一个完整的工程文件,里面包含我们的“.SchDoc”和“.PcbDoc”两个文件,在这个工程文件中根据我们的方案绘制电路图和PCB。4.4.2 注意事项绘制原理图的注意事项:1、 我们要保证所需要的原理图元器件在我们的原理图库中存在,如果没有,我们建立一个原理图库,绘制我们需要的元器件,步骤为:FileNewLibrarySchematic Libr

12、ary。绘制好元器件之后并对元器件添加封装和设置器件的参数;2、 放置每一种元器件的第一个时,按下TAB键,修改元器件的属性,则再次放下该器件时已经具有封装、参数值以及顺序编号;3、 连线不方便或者距离较远时,利用网络标号来表示电器链接;4、 使用ERC来检查我们的电路原理图连线是否有问题,从而消除电路漏连,重复编号等错误,提高我们电路原理图设计的可靠性;5、 放置电路原理图之前,有些器件可能是没有添加有封装,或者封装错误,所以当我们选择元器件的时候先按下TAB键来添加或者修改我们元器件合适的封装,防止我们使用了错误的封装无法安插元器件,减少错误的发生。绘制PCB的注意事项:1、 绘制PCB的

13、第一步是元器件的布局,根据PCB走线最短原则,按照电路图将电路划分成不同的功能模块,如电源部分,驱动部分,CPU部分的放置,然后根据PCB的尺寸和安装整体移动各相关模块,这样就能保证相同模块内的走线最短,各个模块之间的连接最合理;2、 布局时充分利用CrossProbe工具图标迅速找到PCB和Sch中对应的元器件,方便布局;3、 可以从Sch通过CrossProbe工具图迅速找到PCB中对应的元器件,也可以从PCB中通过CrossProbe工具图迅速调到原理中相应元器件或网络标号相应的位置;4、 在进行布线时,很多同学都喜欢使用自动布线功能,方便,节省时间。我们最好不要使用自动布线,采用模块化

14、布局,然后边调整边走线的方式,使我们的电路图形看起来更加简洁美观。5、 导线宽度设计,布线之前我们需要设计我们的线性规则,导线的宽度至少为28mil,防止导线宽度过小,在腐蚀电路图形时导线断开,有些同学在腐蚀电路板的时候因为导线宽度设计不合理,制作电路板时导线被腐蚀掉;6、 线间距设计,至少为10mil,防止导线挨得过近,产生短路,或者在信号流通时产生信号干扰;7、 焊盘设计,焊盘用于焊锡与元器件的连接,我们的焊盘大小设计要合理,按照手工焊接的话,我们的焊盘直径为75mil,孔的大小约为40mil,设计合理的焊盘大小,防止在钻孔的时候把焊盘钻掉。4.5 电路原理图4.6 图形显示PCB五、程序

15、流程图与源程序5.1 程序流程图5.1.1主程序流程图5.1.2 中断子程序流程图外中断0子程序流程图 定时器0中断子程序流程图5.2 源程序清单5.2.1 汇编语言程序CNTA EQU 30H COUNT EQU 31HORG 00H ;程序起始地址 LJMP STARTORG 03H;外中断0程序入口LJMP INIT0 ORG 0BH ;定时器0中断程序入口地址 LJMP T0X ORG 30H START: MOV CNTA,#00H ;初始化 MOV COUNT,#00HMOV R0,#20 MOV TMOD,#01H ;T0工作模式1 MOV TH0,#(65536-50000)

16、/ 256 ;设置初值 MOV TL0,#(65536-50000) MOD 256 MOV IP,#01HCLR C SETB TR0 ;启动定时器0 SETB ET0 ;定时器0中断允许SETB EX0SETB IT0 SETB EA ;开总中断 WT1: MOV R6,#5 ;消抖 MOV R7,#248 D1: DJNZ R7,$ ;R7减1不为0则继续减,直至为零 DJNZ R6,D1 ;R6减1不为0则转到D1处 JB P1.0,WT2 ;辨别按键状态,若按键没按下,则转到WT2处 MOV COUNT,#00H ; 显示第一个图形 WT2: MOV R6,#5 MOV R7,#24

17、8D2: DJNZ R7,$ DJNZ R6,D2 JB P1.1,WT3 MOV COUNT,#01H ; 显示第二个图形WT3: MOV R6,#5 MOV R7,#248D3: DJNZ R7,$ DJNZ R6,D3 JB P1.2, WT4 ; 显示第三个图形 MOV COUNT,#02H WT4: MOV R6,#5 MOV R7,#248 D4: DJNZ R7,$ DJNZ R6,D4 JB P1.1,NEXT L1: LCALL DELAY NEXT: SJMP WT1; DELAY: MOV R6,#250 L2: NOP NOP DJNZ R6,L2 RETLOOP: N

18、OP MOV DPTR,#TAB ;TAB表首地址送DPDR MOV A,CNTA ; MOVC A,A+DPTR ;查表TAB MOV P2,A MOV DPTR,#GRAPH ;GRAPH表首地址送DPDR MOV A,COUNT MOV B,#8 MUL AB ADD A,CNTA MOVC A,A+DPTR ;查表GRAPH MOV P0,A INC CNTA MOV A,CNTA CJNE A,#8,NEX MOV CNTA,#00H LJMP LOOP INIT0: CLR EX0 MOV A,R0 ADDC A,#20 MOV R0,A CJNE R0,#100,NEX MOV

19、R0,#20 SETB EX0T0X: NOP MOV TH0,#(65536-50000) / 256 ;重置初值 MOV TL0,#(65536-50000) MOD 256 DJNZ R0,NEX INC COUNT MOV R1,COUNT CJNE R1,#02H,NEX MOV COUNT,#00H NEX: RETI TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH GRAPH: DB 00H,08H,78H,3CH,3CH,78H,08H,00H;"",0 DB 00H,3CH,7EH,7EH,7EH,7EH,3

20、CH,00H;"",1 DB 00H,0CH,1H,3H,7CH,3EH,1EH,0CH ; "心形",2* END5.2.2 C语言程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar table8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/列扫描数组uchar Figure38= /字模取模方式 阴码 逆向 逐列式0x00,0x08,0x78,0x2C,0x2C,0x78,0x08,0x00,/*&q

21、uot;",0*/0x00,0x3C,0x7E,0x7E,0x7E,0x7E,0x3C,0x00,/*"",1*/0x00,0x0C,0x1E,0x3E,0x7C,0x3E,0x1E,0x0C,/*"心形",2*/;uchar lie;/列扫描uchar hang;/行扫描uchar time;/定时时间uchar temp;/暂存P1口状态uint count=20;/*/* 函数功能:延时函数 */* void delay(uint z) */* 入口参数:z */* 出口参数:无 */*/void delay(uint n) uint i

22、,j; for(i=n;i>0;i-) for(j=110;j>0;j-);/*/* 函数功能:检查P1口哪个按键按下 */* void check() */* 入口参数:无 */* 出口参数:无 */*/void check() temp=P1; temp=temp&0x1f; if(temp!=0x1f) delay(5); temp=P1; temp=temp&0x1f; if(temp!=0x1f) switch(temp) case 0x1e: hang=0; break; case 0x1d: hang=1; break; case 0x1b: hang

23、=2; break; default :break; /*/* 函数功能:主函数 */* void main() */* 入口参数:无 */* 出口参数:无 */*/void main() TMOD=0x01;/选择T0工作模式1 TH0=(65536-50000)/256; /定时时间为50ms TL0=(65536-50000)%256; EA=1;/打开总中断 EX0=1;/打开外部中断0 ET0=1;/打开定时器0中断 IT0=1; /外中断0下降沿触发 TR0=1;/打开定时器0 IP=0x01; /设置外中断0为高优先级 while(1) check(); for(lie=0;li

24、e<8;lie+) P0=Figurehanglie; P2=tablelie; delay(1); /*/* 函数功能:外部中断0调整图形显示时间 */* void Init0() interrupt 0 */* 入口参数:无 */* 出口参数:无 */*/void Init0() interrupt 0 count=count+20; if(count=200)/1180 count=20;/*/* 函数功能:对图形显示进行定时 */* void T_0() interrupt 1 */* 入口参数:无 */* 出口参数:无 */*/void T_0() interrupt 1 TH

25、0=(65536-50000)/256; TL0=(65536-50000)%256; time+; if(time=count) time=0; hang+; if(hang=3) hang=0;六、系统功能分析与说明6.1 STC89C52RC单片机介绍本次课程设计的单片机采用STC89C52RC,它是一种低功耗、高性能的8位CMOS微控制器。片内含有8KB的存储器(EPROM),与8031引脚和指令系统完全兼容。主要特性如下: 1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意 选择,指令代码完全兼容传统8051; 2. 工作电压:5.5V3.3V(5V单片机)/3

26、.8V2.0V(3V单片机);3. 工作频率范围:040MHz,相当于普通8051的080MHz,实际工作 频率可达48MHz; 4. 用户应用程序空间为8K字节 5. 片上集成512字节RAM;6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;8. 具有EEPROM功能;9. 具有看门狗功能;10. 共

27、3个16位定时器/计数器。即定时器T0、T1、T2;11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可 由外部中断低电平触发中断方式唤醒;12. 通用异步串行口(UART),还可用定时器软件实现多个UART;13. 工作温度范围:-40+85(工业级)/075(商业级);14. PDIP封装和PLCC封装。6.1.1 STC89C52RC单片机引脚功能STC89C52RC的PDIP和PLCC引脚图·VCC(40引脚):电源电压;·VSS(20引脚):接地;·P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口

28、。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。 ·P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚

29、会输出一个电流(IL)。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体功能如下表: 在对Flash ROM编程和程序校验时,P1接收低8位地址。P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)·P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口

30、拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IL)。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。·P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输

31、出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(IL)。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。 P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:P3口的引脚复用功能端口引脚第二功能P3.0RXD(串行输入口P3.1TXD(串行输出口P3.2INTO(外中断0P3.3INTO(外中断l)P3.4TO(定时计数器0)P3.5Tl(定时计数器l)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)·R

32、ST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。 ·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC 指令ALE

33、 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。·PSEN:程序存储允许输出是外部程序存储器的读选通型号,当89C51 由外部存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。 ·EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为 0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash

34、 存储器编程时,该引脚加上+12v 的编程允许电源Vpp,当然这必须是该器件使用12v 编程电压Vpp。 ·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 ·XTAL2:振荡器反相放大器的输出端。89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5。外接石英晶体或陶瓷谐振器及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2 虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器

35、工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf±10 Pf,而如使用陶瓷谐振器建议选择40Pf±10Pf。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端XTAL2 则悬空。6.1.2 STC89C52RC单片机中断系统1.中断的类别52系列有6个中断源(比S51多一个T2):(1).2个外部中断请求:INT0,INT1;(2).3个片内定时器/计数器T0和T1中断请求:TF0,TF1,(TF2);(3).1个串行口中断请求:TI/RI。2.中断允许寄存器IE (0A8H)EAET2ESET1

36、EX1ET0EX0EX0/EX1/ET1/ET0/ES 位: 分别是INT0/1,Timer0/1,串行口的中断允许控制位: =0 时禁止中断; =1 时允许中断。ET2:T2中断允许控制位(仅52系列有) =0 时禁止中断; =1 时允许中断。EA:总的中断允许控制位(总开关): =0 时禁止全部中断;=1 时允许中断。3. 外部中断(INT0,INT1)申请过程TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0在CPU已经开放了外部中断允许的前提下:a·在INT0/INT1引脚输入一个负脉冲或低电平; a·TCON寄存器中的IE0/IE1标志位自动变“1

37、”;a·检测到IE0/IE1变“1”后,将产生指令:执行中断服务程序;a·并将IE0/IE1标志位自动清“0”,以备下次申请。IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位: =0:在INT0/INT1端申请中断的信号低电平触发; =1:在INT0/INT1端申请中断的信号负跳变触发.4.定时器/计数器T0和T1中断TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0ET0/ET1:定时器/计数器中断申请标志位: =0:没有定时/计数中断申请; =1:有定时/计数中断申请。TR

38、0/TR1:定时器运行启停控制位: =0:定时器停止运行; =1:定时器启动运行。TF0/TF1:定时器0/定时器1溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。5. 中断优先级控制寄存器IP(0B8H)PT2PSPT1PX1PT0PX0PX0/PX1:INT0/1优先级控制位: =0 时属低优先级; =1 时属高优先级。PT0/PT1/PT2:T0/1/2中断优先级控制位: =0 时属低优先级; =1 时属高优先级。PS1:串行口中断优先级控制位: =0 时属低优先级; =1 时属高优先级。6.单片机的中断矢量与优先级中断源申请标志中断矢量中断优先级

39、外部中断0( INT0)IE00003H最高优先级最低优先级定时/计数器0(T0)TF0000BH外部中断1( INT1)IE10013H定时/计数器1(T1)TF1001BH串行口接收/发送RI/TI0023H定时/计数器2(T2)TF2002BH7. 定时器方式寄存器TMOD (89H)GATEC / TM1M0GATEC / TM1M0T1T0M1,M0:工作方式定义位 ( 定义4 种方式 ):0 0:13位 定时器几乎不用0 1:16位 定时器经常用到1 0:可自动重装的 8位 定时器经常用到1 1:T0 分为2个8位 Timer;T1 此时不工作 几乎不用C/T :计数器/定时器选择

40、位 = 1 外部事件计数器。对T0/T1引脚的负脉冲计数; = 0 片内时钟定时器。对机器周期脉冲计数定时6.2 复位电路复位电路如下图所示51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个复位过程是如何实现的,我们进一步解释。在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。在电路图中,电容的的大小是30uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=

41、0.3S。也就是说在电脑启动的0.3S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.3S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.3S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.3S左右)。按键按下的时候为什么会复位:在单片机启动0.3S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时

42、候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.3S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。6.3 晶振电路51单片机振荡电路连接图如下:AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放外石英晶体或陶瓷诺振器一起构成自激振荡器,给单片机计时器提供晶振周期。外接石英晶体(或陶瓷诺振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对 的大小会轻微影响振荡频率的高低、振荡器不作的稳定性、起振的难易程序及温度稳定性,如使用陶瓷诺振器建议选择4PF士10PF 。6.4 按键电路KEY1,KEY2,KEY3,KEY4的作用分别是选择显示“五角星”,“圆形”,“心形”,和调整显示时间,其电路如下图所示:KEY1,KEY2,KEY3,KEY4分别于单片机的P1.0,P1.1,P1.2,P3.2引脚相连,当KEY1,KEY2,KEY3其中一个按键按下时,单片机的I/O口读取到低电平,通过函数编程从而选择某个图形进行显示在8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论