1、2019/2/11,第1页,项目一任务,任务一、电路安装与调试任务二、系统仿真(PROTEUS 与KEIL C)任务三、流水灯控制任务四、交通灯控制,2019/2/11,第2页,任务一、电路安装与调试,本任务就是学会智能电子最小系统电路板的安装与调试 等方面的知识,为后续内容的学习奠定基础。,2019/2/11,第3页,任务一、电路安装与调试,一、 ATMEL89S52最小系统电路板,2019/2/11,第4页,任务一、电路安装与调试,二、AT89S52最小系统及其应用 1、LED显示器的显示方法及其与单片机的接口,2019/2/11,第5页,任务一、电路安装与调试,2、键盘电路,2019/2
2、/11,第6页,任务一、电路安装与调试,3、音频放大电路,2019/2/11,第7页,任务一、电路安装与调试,4、Easy Isp 编程器,拨盘开关S1右端为“ON”,左端为“OFF”,编程时把S1打到“ON”,2019/2/11,第8页,任务一、电路安装与调试,最小系统板的元件清单,2019/2/11,第9页,任务一、电路安装与调试,最小系统板的元件安装图,2019/2/11,第10页,任务一、电路安装与调试,任务实施:一、器材准备1、最小系统板的元件清单2、最小系统板的元件安装图二、操作方法1、安装注意要求2、硬件调试3、装配完成检查修整三、最小系统电路板的安装与调试,2019/2/11,
3、第11页,任务二、系统仿真(PROTEUS 与KEIL C),本任务就是学会PROTEUS仿真软件与KEIL编译环境的使用,让学生提高分析问题和解决问题的能力,最终能够胜任智能电子系统的调试。,2019/2/11,第12页,任务二、系统仿真(PROTEUS 与KEIL C),一、Proteus仿真软件 1、 PROTEUS构成原理图输入系统ISIS混合模型仿真器动态器件库高级图形分析模块处理器仿真模型VSM布线/编辑ARES,2019/2/11,第13页,任务二、系统仿真(PROTEUS 与KEIL C),2、PROTEUS ISIS 编辑环境,2019/2/11,第14页,任务二、系统仿真(
4、PROTEUS 与KEIL C),二、KEIL编译环境 1、如何建立一个项目?,图1 New Project菜单,2019/2/11,第15页,任务二、系统仿真(PROTEUS 与KEIL C),图2 文件窗口,2019/2/11,第16页,任务二、系统仿真(PROTEUS 与KEIL C),图3 选取芯片,2019/2/11,第17页,任务二、系统仿真(PROTEUS 与KEIL C),图4 新建程序文件,2019/2/11,第18页,任务二、系统仿真(PROTEUS 与KEIL C),图5 把文件加入到项目文件组中,2019/2/11,第19页,任务二、系统仿真(PROTEUS 与KEIL
5、 C),图6 编译程序,2019/2/11,第20页,任务二、系统仿真(PROTEUS 与KEIL C),图7 调试运行程序,2019/2/11,第21页,任务二、系统仿真(PROTEUS 与KEIL C),图8 项目功能菜单,2、如何设置生成HEX文件?,2019/2/11,第22页,任务二、系统仿真(PROTEUS 与KEIL C),图9 项目选项窗口,2019/2/11,第23页,任务二、系统仿真(PROTEUS 与KEIL C),图10 编译信息窗口,任务实施: 1、以AT89S51为核心组成最小系统,驱动发光二极管闪烁。 2、PROTEUS ISIS智能原理图输入练习,2019/2/
6、11,第24页,任务三、流水灯控制,本任务就是在单片机电路板上按装电路,以P1作为输出口,控制8个LED灯(可发红、绿或黄光),模拟流水灯控制。通过安装单片机电路板的扩展部分学会简单的电路设计,焊接、安装、编程、调试。,2019/2/11,第25页,任务三、流水灯控制,一、电路原理图,2019/2/11,第26页,任务三、流水灯控制,二、编程要求状态1:8个LED,从左到右逐个点亮,状态2:8个LED,从右到左逐个点亮, 状态3:8个LED,从左到右依次点亮,状态4:8个LED,从右到左依次熄灭。转至状态1循环,2019/2/11,第27页,任务三、流水灯控制,三、流程图,2019/2/11,
7、第28页,任务三、流水灯控制,四、源程序 1、汇编程序:ORG 0000HLJMP MAINORG 0040HMAIN: MOV SP,#60HLOOP1:MOV R0,#8MOV A,#0FEHLP1: MOV P1,AMOV R3,#5LCALL DELAYRL ADJNZ R0,LP1,2019/2/11,第29页,任务三、流水灯控制,LOOP2:MOV R0,#8MOV A,#7FHLP2: MOV P1,AMOV R3,#5LCALL DELAYRR ADJNZ R0,LP2LOOP3:MOV R0,#8MOV A,#0FEHLP3: MOV P1,AMOV R3,#5LCALL D
8、ELAYCLR CRLC ADJNZ R0,LP3,2019/2/11,第30页,任务三、流水灯控制,LOOP4:MOV R0,#8MOV A,#80HLP4: MOV P1,AMOV R3,#5LCALL DELAYSETB CRRC ADJNZ R0,LP4LJMP LOOP1 DELAY: MOV R2,#0FFH ; 延时子程序 DELAY1: MOV R1,#0C3HDJNZ R1,$DJNZ R2,DELAY1DJNZ R3,DELAYRETEND,2019/2/11,第31页,任务三、流水灯控制,2、Cx51程序:#include#define uint unsigned int
9、 #define uchar unsigned charvoid delay(uint n) /*1ms延时函数*/ uint k,j;for(k=0;kn;k+) for(j=0;j121;j+);,2019/2/11,第32页,任务三、流水灯控制,main() uchar i; uint aa;while(1) aa=0xfe;for(i=0;i1)|0x80; ,2019/2/11,第33页,任务三、流水灯控制,aa=0xfe;for(i=0;i1)|0x80; ,2019/2/11,第34页,任务三、流水灯控制,任务实施:1、在PROTEUS中画好电路原理图。 2、在KEIL中编写流水
10、灯控制的程序。编好后调试产生HEX文件。 3、将HEX文件写入电路图中的单片机,仿真出流水灯控制的现象。 4、在最小系统板的扩展部分按照PROTEUS中的电路原理图安装并焊接,利用Easy ISP在线下载软件将HEX文件烧入AT89S52芯片中,实物仿真流水灯控制。,2019/2/11,第35页,任务四、交通灯控制,本任务是以P1作为输出口,用74LS244驱动四个双色LED灯(可发红,绿,黄光),模拟交通灯管理。通过安装单片机电路板的扩展部分学会简单的电路设计,焊接、安装、编程、调试。,2019/2/11,第36页,任务四、交通灯控制,一、电路原理图,2019/2/11,第37页,任务四、交
11、通灯控制,二、编程要求本实验是交通灯控制实验,要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转至状态1:东西绿灯通车,南北红灯。过一段时间转至状态2:东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。再转状态3:南北绿灯通车,东西红灯。过一段时间转至状态4:南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。最后循环转至状态1。说明:.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。,2019/2/11,
12、第38页,任务四、交通灯控制,三、流程图,2019/2/11,第39页,任务四、交通灯控制,四、源程序 1、汇编程序:ORG 0000HLJMP STARTORG 0040HSTART: MOV SP,#60HSTATUS0:MOV P1,#0FH MOV R3,#30 LCALL DELAY STATUS1:MOV P1,#5AH MOV R3,#50 LCALL DELAY,2019/2/11,第40页,任务四、交通灯控制,STATUS2:MOV R0,#3 FLASH: MOV P1,#0AH MOV R3,#5 LCALL DELAY MOV P1,#5AH MOV R3,#5 LCA
13、LL DELAY DJNZ R0,FLASHMOV P1,#5FH MOV R3,#30 LCALL DELAY,2019/2/11,第41页,任务四、交通灯控制,STATUS3:MOV P1,#0A5H MOV R3,#50 LCALL DELAY STATUS4:MOV R0,#3 FLASH1:MOV P1,#05H MOV R3,#5 LCALL DELAY MOV P1,#0A5H MOV R3,#5 LCALL DELAY DJNZ R0,FLASH1MOV P1,#0AFH MOV R3,#30 LCALL DELAY LJMP STATUS1,2019/2/11,第42页,任务
14、四、交通灯控制,DELAY: MOV R2,#0FFH ; 延时子程序 DELAY1: MOV R1,#0C3HDJNZ R1,$DJNZ R2,DELAY1DJNZ R3,DELAYRETEND,2019/2/11,第43页,任务四、交通灯控制,2、Cx51程序:#include#define uint unsigned int#define uchar unsigned charvoid delay(uint n) uint k,j;for(k=0;kn;k+)for(j=0;j121;j+);,2019/2/11,第44页,任务四、交通灯控制,main() uchar i;P1=0x0f
15、;delay(3000);while(1) P1=0x5a;delay(5000);for(i=0;i3;i+) P1=0x0a;delay(500);P1=0x5a;delay(500);,2019/2/11,第45页,任务四、交通灯控制,P1=0x5f;delay(3000);P1=0xa5;delay(5000);for(i=0;i3;i+) P1=0x05;delay(500); P1=0xa5;delay(500);P1=0xaf;delay(3000);,2019/2/11,第46页,任务四、交通灯控制,任务实施:1、在PROTEUS中画好电路原理图。 2、在KEIL中编写交通灯控制的程序。编好后调试产生HEX文件。 3、将HEX文件写入电路图中的单片机,仿真出交通灯控制的现象。 4、在最小系统板的扩展部分按照PROTEUS中的电路原理图安装并焊接,利用Easy ISP在线下载软件将HEX文件烧入AT89S52芯片中,实物仿真交通灯控制。,2019/2/11,第47页,OVER!,