湖南工业大学单片机实验报告 3定时中断实验
- 格式:doc
- 大小:284.00 KB
- 文档页数:5
实验三单片机定时器及中断实验(1)实验要求1)由于实验学时很少,请提前预习和思考实验内容,将流程图及程序准备好,到实验室进行调试和验证。
2)由于实验室计算机C盘和D盘被保护,所以开始实验前在计算机E盘建立自己的文件夹,文件夹最好为英文名称。
实验中及时保存自己的源文件。
(2)实验内容1)使用单片机定时器资源,在P1.0口上输出一个周期为1s的方波,占空比为50%。
采用查询和中断的方式分别实现。
思考并回答以下问题:定时器工作在什么模式?定时器工作方式?定时器初值如何确定?使用T0还是T1?如何用定时器得到较长的延时时间?中断还是查询方式?两种方法在设计时有何区别?给出设计思路并画出程序流程图。
2)单片机P1口接8个LED,有一个LED点亮;P2.0接一个按键,首先采用查询的方式实现:每按一次按键,LED向左或向右移位一次。
如初始时L0亮,按一次按键,则L0熄灭,L1点亮;再按一次按键,L1熄灭,L2点亮,……给出设计思路并画出程序流程图。
3)采用单片机外部中断实现同样的功能。
思考并回答以下问题:电路应该如何连接?如何设置中断控制寄存器?中断方式选择?采用INT0还是INT1?如何中断使能?中断入口地址在哪里?中断服务程序要做哪些工作?如何中断返回?主程序结构如何?给出设计思路并画出程序流程图。
思考查询方式和中断方式实现同样功能在程序设计上有和不同?(3)实验目的1)学习单片机的定时器的使用方法;2)学习中断的使用及中断服务程序的编写;3)学习查询方式和中断方式进行信息传递的不同;(4)(5)1)仔细阅读定时器及中断控制寄存器设置部分内容,理解每一位的意义,再根据程序设计确定相关控制字。
2)中断服务程序的设计要注意现场保护以保证退出中断后程序的状态不发生变化。
3)按键连接单脉冲电路单脉冲电路由按键(PULSE)和去抖动处理组成,每按一次(PULSE)键产生一个单脉冲。
板上有单脉冲的输出信号插孔,图为“”和“”,分别为正脉冲和负脉冲。
实验三运用定时中断方法控制P1口亮灯实验报告一、实验目的1学习内部定时/计数器的使用2学习定时中断处理程序的编程方法二、实验预备知识1.P1口是准双向口,可以定义为输入,也可以定义为输出2.本实验中延时子程序采用指令循环来实现。
3.延时时间的计算:延时时间=机器周期×指令所需机器周期数×循环次数其中循环次数可以采用多重循环来实现三、实验内容程序如下:一、外部中断选择边沿触发方式控制灯的状态ORG 00HLJMP MAINORG 03HLJMP INTERRUPTORG 30HMAIN: SETB EX0SETB IT0SETB EAMOV A,#00HMOV P1,ASJMP $INTERRUPT: INC AMOV P1,ARETI二、用定时器定时方式控制灯的状态 ORG 0000HLJMP MAINORG 000BHLJMP DISPLAYORG 0030HMAIN:MOV IE,#82HMOV TMOD,#01HMOV P1,#01HMOV TH0,#9EHMOV TL0,#58HMOV R7,#10SETB TR0SJMP$DISPLAY:MOV TH0,#9EHMOV TL0,#58HDJNZ R7,LOOPMOV A,P1RL AMOV P1,AMOV R7,#10LOOP:RETI三、实验心得及体会对于中断的设置用到P3口的第二功能,第一个实验中,我所设置的触发方式为边沿触发,中断输入的管脚应该为P3.2即外部中断0输入,因此给外加脉冲时应该给到P3.2。
第一次因未分清触发所给管脚导致脉冲加入时无反应。
编写中断及初始化程序时,中断地址的开辟要提前在主程序之前给出,以实现执行中断时指针的转移。
做有关定时程序之前要首先弄清楚晶振的大小,以确定一个机器周期的时间,在这次试验中,试验箱所用晶振为6MHZ,一个机器周期的时间为2us,总计数时间可以达到131ms,但是无法满足0.5s的时间要求,所以用R7预置循环次数,显得尤为重要。
实验三定时与中断实验一、实验目的1.通过实验掌握51单片机的定时/计数器的应用。
2.掌握51单片机的中断原理及应用。
3. 进一步学习系统应用程序的设计和调试方法二、实验设备PC机一台、实验教学板一块。
图2-1三、实验内容实验线路如图2-1, 通过定时器的定时,产生一定频率的波形信号,经P2.5输出,驱动蜂鸣器,便可发出某一频率的音调,若按乐曲的音调连续发出,并使其按节拍变化,便可演奏一首乐曲。
实验要求:编程实现演奏一首乐曲C调常用音频及其对应频率如下表:定时器初值计算方法:由于软件是通过定时器溢出后对P2.5取反产生方波,故定时器溢出时间为1//2f,则计数器计数初值为:X = 65536 —n = 65536—(1/2f)/12/fosc = 65536—fosc/24f电路板上的晶振频率为11.0593MHZ,根据不同音调的频率值,就可以计算出上表的初值。
用乐曲最短的1/4拍为一个基本节拍时间,定为0.5秒,基本节拍时间由另一个定时器产生,设此定时器定时时间为50ms,定时时间常数(计数器初值)= 65536 —(50000*12/11.0593)=02C13H,可以分别通过该定时中断10、20、40、80次满足1/4拍、1/2拍、1拍、2拍的定时要求。
软件编程时,要先将乐谱转换成包含有音符和音长信息的代码,然后,以查表方式通过乐谱代码控制喇叭演奏出乐曲。
具体方法如下:(1)乐谱代码用字节结构,字节高4位代表音符,从SI到RE分别用0到9表示;字节低4位代表该音符的节拍,用1、2、3、、、8分别表示1/4拍、1/2拍、1拍、、、4拍,按照这样的规则,将整段音乐变换成相应的代码数据表,最后一个字节内容为00H,代表数据表的结束。
(2)在程序执行时按顺序查表,从字节数据中取出音符代码和节拍代码,查频率表得该音符对应频率的定时初值,再根据节拍代码控制音长,启动两个定时器后,即可发出要求的音,这样就控制演奏出完整的乐曲。
单片机实验报告学生姓名刘宝雨班级测控1002班学号10401600244电气与信息工程学院2012年12 月20 日软件实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作;3、学习简单程序的基本调试方法。
二、实验内容:将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中.程序清单如下:ORG 0000H;伪指令,程序入口SJMP START;段转移指令,转移到START执行ORG 0030H;伪指令,START的入口START: MOV R1,10H ;一共16个数据MOV R0,#70H ;原数据首地址MOV DPTR,#2000H; 片外存储单元首地址MOV 70H,#00H;送入原始数据,把70H-71H中分别送入00H-0FHMOV 71H,#01HMOV 72H,#02HMOV 73H,#03HMOV 74H,#04HMOV 75H,#05HMOV 76H,#06HMOV 77H,#07H;MOV 78H,#08HMOV 79H,#09HMOV 7AH,#0AHMOV 7BH,#0BHMOV 7CH,#0CHMOV 7DH,#0DHMOV 7EH,#0EHMOV 7FH,#0FHLOOP: MOV A,@R0;循环送入2000H-200FHMOVX @DPTR,A;执行片外将累加器A中的数据送到数据指针DPTRINC R0;R0中的数据自加一INC DPTR;DPTR中的数据自加一DJNZ R1,LOOP;R1=1,程序继续执行,R1不等于0,程序转移到LOOPEND;程序结束MOV R1,#10H;将立即数10H送到间接锁存器R1MOV R0,#70H;将立即数70H送到间接锁存器R0MOV DPTR,#2000H;将立即数2000H送到数据锁存器DPTR三、上机运行结果软件实验二数据排序实验一、实验目的熟悉单片机汇编指令系统,掌握汇编程序设计方法。
一、实验背景随着电子技术的飞速发展,单片机因其体积小、成本低、功能强大等优点,在各个领域得到了广泛应用。
中断技术是单片机设计中非常重要的一部分,它允许单片机在执行程序的过程中,能够及时响应外部事件,从而提高系统的实时性和效率。
本实训旨在通过实验,加深对单片机中断系统的理解,掌握中断系统的使用方法,并学会在实际应用中灵活运用中断技术。
二、实验目的1. 熟悉单片机中断系统的基本概念和原理。
2. 掌握中断源、中断优先级、中断服务程序等基本概念。
3. 学会使用单片机的中断系统实现实时响应外部事件。
4. 培养动手实践能力和问题解决能力。
三、实验器材1. 单片机实验板2. 示波器3. 电源4. 连接线5. 逻辑分析仪(可选)四、实验内容1. 实验一:外部中断实验(1)实验目的:验证外部中断功能,实现按键控制LED灯的点亮和熄灭。
(2)实验步骤:a. 将外部中断0(INT0)引脚连接到按键,按键按下时产生低电平信号。
b. 编写中断服务程序,实现按键按下时点亮LED灯,按键释放时熄灭LED灯。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的点亮和熄灭情况。
2. 实验二:定时器中断实验(1)实验目的:验证定时器中断功能,实现LED灯的定时闪烁。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断,编写定时器中断服务程序,实现LED灯的定时闪烁。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的闪烁情况。
3. 实验三:中断嵌套实验(1)实验目的:验证中断嵌套功能,实现定时器中断和外部中断的嵌套。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断和外部中断,设置中断优先级。
c. 编写定时器中断服务程序和外部中断服务程序,实现中断嵌套。
d. 编译程序,下载到单片机实验板上。
人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想------- 屠呦呦实验三定时器中断实验一、实验目的1、掌握51单片机定时器基本知识;2、掌握定时器的基本编程方法;3、学会使用定时器中断。
二、实验内容1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。
三、实验设备PC 机一台、单片机实验箱主要器件:AT89C52、7SEG-BCD、四、实验步骤1、使用Proteus设计仿真原理图;2、使用Keil设计程序;3、联合调试仿真。
五、实验流程图六、实验程序与结果#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit F=P2^1;void timer1_init(){TMOD=0x10;//将定时器1设置为工作方式1TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500//(1/500)s/(1/3000000)s=6000TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1;ET1=1;TR1=1;}void main(){timer1_init();while(1);}void timer1() interrupt 3{TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256;F=~F;//每次进入中断P1.1口取反}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit F=P2^1;void timer0_init(){TMOD=0x01;//将定时器0设置为工作方式1TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us//500us/6us=83.3333TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83EA=1;ET0=1;TR0=1;}void main(){timer0_init();while(1);}void timer0() interrupt 1{TH0=(65536-83)/256;//每次进入中断,重装初值TL0=(65536-83)%256;F=~F;//每次进入中断P1.1口取反,表示定时时间到}#include<reg51.h> // 包含51单片机寄存器定义的头文件#define seg_data P1#define seg_data2 P3#define uint unsigned intsbit D1=P2^0; //将D1位定义为P2.0引脚uint counter=0;unsigned int unit=0,decade=0,avs=0;//time=0;/************************************************************** 函数功能:主函数**************************************************************/ void main(void){uint time,time1,temp1,temp2,temp3;seg_data=0;seg_data2=0;TMOD=0x11; //使用定时器T0的模式2TH0=0xFC; //定时器T0的高8位赋初值 1000-500TL0=0x18; //定时器T0的低8位赋初值TH1=(65536-50000)/256; //定时器T1的高8位赋初值TL1=(65536-50000)%256; //定时器T1的低8位赋初值EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1;TR0=1; //启动定时器T0TR1=1;while(1)//无限循环等待中断{temp1=(decade&0x0F)<<4;temp2=unit&0x0F;time=temp2|temp1;seg_data=time;temp3=avs&0x0F;time1=temp3;seg_data2=time1;}}{D1=~D1; //按位取反操作,将P2.0引脚输出电平取反TH0=0xFF; //定时器T0的高8位赋初值 1000-500TL0=0x06; //定时器T0的低8位赋初值}void Time1(void) interrupt 3{counter++;if(counter>19){unit++;counter=0;}if(unit>9){decade++;unit=0;}if(decade>5){avs++;decade=0;}if(avs>9){avs=0;}TH1=(65536-50000)/256; //定时器T1的高8位赋初值TL1=(65536-50000)%256; //定时器T1的低8位赋初值TF1=0;}七、实验心得通过本次课程设计使我感受到它是一门综合性、实践性较强的课程,使我体会到要想综合运用所学的理论知识,提高我的设计能力,必须增加实际操作的环节。
一、实验目的1. 理解中断和定时器的基本概念及工作原理。
2. 掌握51单片机中断系统和定时器的配置方法。
3. 学会使用中断和定时器实现特定功能,如延时、计数等。
4. 培养动手实践能力和问题解决能力。
二、实验原理中断是计算机系统中的一种机制,允许CPU在执行程序过程中,暂停当前程序,转去执行另一个具有更高优先级的程序。
51单片机具有5个中断源,包括两个外部中断(INT0、INT1)、两个定时器中断(定时器0、定时器1)和一个串行口中断。
定时器是51单片机内部的一种计数器,可以用于产生定时中断或实现定时功能。
51单片机有两个定时器,即定时器0和定时器1。
定时器可以工作在模式0、模式1、模式2和模式3。
三、实验内容及步骤1. 实验内容一:外部中断实验(1)实验目的:掌握外部中断的使用方法,实现按键控制LED灯的亮灭。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置外部中断,实现按键控制LED灯的亮灭。
2. 实验内容二:定时器中断实验(1)实验目的:掌握定时器中断的使用方法,实现LED灯闪烁。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置定时器中断,实现LED灯闪烁。
3. 实验内容三:定时器与外部中断结合实验(1)实验目的:掌握定时器与外部中断结合使用的方法,实现按键控制LED灯闪烁频率。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置定时器中断和外部中断,实现按键控制LED灯闪烁频率。
四、实验结果与分析1. 外部中断实验:成功实现了按键控制LED灯的亮灭。
当按下按键时,LED灯亮;松开按键时,LED灯灭。
2. 定时器中断实验:成功实现了LED灯闪烁。
LED灯每隔一定时间闪烁一次,闪烁频率可调。
3. 定时器与外部中断结合实验:成功实现了按键控制LED灯闪烁频率。
第1篇一、实验目的1. 理解中断的概念和作用。
2. 掌握单片机中断系统的基本原理和配置方法。
3. 学会编写中断服务程序,实现外部中断和定时器中断的应用。
4. 通过实验加深对中断系统在实际应用中的理解。
二、实验原理中断是计算机系统中一种重要的机制,它允许CPU在执行程序过程中,响应某些外部或内部事件,从而暂停当前程序的执行,转而处理这些事件。
单片机的中断系统主要包括外部中断和定时器中断两种类型。
三、实验环境1. 单片机:80C512. 开发环境:Keil for 80513. 仿真软件:Proteus4. 实验电路:外部按钮电路、LED灯电路、定时器电路四、实验内容1. 外部中断实验(1)实验目的:学习外部中断的工作原理,掌握外部中断的配置和编程方法。
(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。
b. 配置外部中断源,设置中断优先级。
c. 编写外部中断服务程序,实现LED灯的闪烁。
d. 在Proteus中搭建实验电路,并进行仿真测试。
(3)实验结果:当按下按钮时,LED灯闪烁,松开按钮后LED灯熄灭。
2. 定时器中断实验(1)实验目的:学习定时器中断的工作原理,掌握定时器中断的配置和编程方法。
(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。
b. 配置定时器工作模式,设置定时时间。
c. 编写定时器中断服务程序,实现LED灯的闪烁。
d. 在Proteus中搭建实验电路,并进行仿真测试。
(3)实验结果:定时器中断触发后,LED灯闪烁,达到设定时间后停止闪烁。
五、实验分析1. 外部中断实验分析通过外部中断实验,我们了解了外部中断的工作原理和配置方法。
在实验中,我们设置了外部中断源,并编写了中断服务程序,实现了LED灯的闪烁。
这表明外部中断可以有效地响应外部事件,并执行相应的操作。
2. 定时器中断实验分析通过定时器中断实验,我们掌握了定时器中断的配置和编程方法。
ab cd efg h(dp) 中断、定时器实验实验目的:学习外部中断和定时器二、实验说明本实验1通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED 数码管指示出计数值,从而观察中断的请求、响应的过程。
实验2通过单片机的定时器产生延时,控制LED 闪烁的方法。
通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试。
三、实验内容1、开关S0—S1连接P3口做输入,P0输出接LED ,通过S2产生外部中断请求(/INT0)信号,在中断服务程序中完成十进制递增计数,并将计数值显示在LED 数码管上,要求分别采用电平触发和边沿触发。
按上述要求完成S3产生外部中断请求。
编写初始化程序和中断服务程序。
(注意开关抖动处理)2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,要求发光二极管(LED )按亮0.5秒、暗0.5秒闪烁,LED 亮的同时,从P2.0送出1kHz 的音频信号到音频驱动电路发声(持续0.5秒),将开关编号(0—7)显示在LED 数码管上。
要求延时采用内部定时器T0,音频的产生采用内部定时器T1。
编写初始化程序和中断服务程序。
四、实验电路连线P0.0 ---- LED0 P3.2(/INT0)----- S2P0.1 ---- LED1 P3.3(/INT1)----- S3P0.2 ---- LED2P0.3 ---- LED3P0.4 ---- LED4P0.5 ---- LED5P0.6 ---- LED6P0.7 ---- LED7LED 连接 外部中断请求输入a b c d e f g h(dp)P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 五、实验仪器和设备PC机、WA VE软件、仿真器+仿真头、实验板、电源等。
实验三:中断及定时器实验一、实验目的:1、弄清中断的概念、基本原理,掌握中断技术的应用2、了解中断初始化的方法,中断向量安装和中断服务子程序的设计方法。
3、了解定时/计数器的工作原理及MCS51单片机的定时器内部结构4、掌握时间常数计算方法5、掌握定时器初始化方法和定时中断程序设计方法二、实验内容:定时器实验1、这个是一个电子钟走时程序,利用定时器T0产生50ms中断,中断计数器中断20次为1秒,利用秒信号进行电子钟计时。
先读懂下面程序段,然后编辑、编译程序,并在伟福仿真器上模拟调试该程序。
程序清单如下:COUNT EQU 7FHCOUNT1 EQU 7EHS_MEM EQU 73HM_MEM EQU 72HH_MEM EQU 71HORG 0000HLJMP MAINORG 000BHLJMP INT_T0 ;“*1”MAIN: MOV SP,#2FHMOV TMOD,#BMOV TH0,#03CH ;50毫秒中断时间常数MOV TL0,#0BHMOV IE,#B ;开放T0MOV IP,#0MOV S_MEM,#0MOV M_MEM,#0MOV H_MEM,#0MOV COUNT,#20SETB TR0;______________________________________________________ W AIT:NOPSJMP W AITINT_T0: MOV TL0,#0BHMOV TH0,#3CHDJNZ COUNT,EXT_T0MOV COUNT,#20 ;恢复中断计数器INC S_MEM ;“*2”MOV A,S_MEMCJNE A,60,EXT_T0MOV S_MEM,#0INC M_MEMMOV A,M_MEMCJNE A,#60,EXT_T0MOV M_MEM,#0INC H_MEMMOV A,H_MEMCJNE A,#13,EXT_T0MOV H_MEM,#0EXT_T0: RETI2、按下列要求修改程序或回答问题。
实验三、定时中断实验一、实验目的1、熟悉单片机定时器工作原理;2、掌握定时器定时控制的编程方法。
二、实验设备PC机、Keil 软件、Proteus软件。
三、实验内容1、用PROTEU在Proteus中绘制下图电路,加载给定目标代码文件进行调试。
四、实验程序解析;中断控制的P2.0小灯。
采用11.0592/12MHZ晶振。
* ;连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来*;******************************************************************************** ; * ;******************************************************************************** ORG 0000hAJMP mainORG 000bhAJMP int_timerORG 0030h中断INT1引脚GATET1main: MOV tmod,#01h ;设置定时器工作方式寄存器。
MOV th0,#high(65536-10000) ;MOV tl0,#low(65536-10000) ;设10MS 初始值。
MOV ie,#82h ;设置中断允许寄存器 MOV 30h,#10 ;MOV 31h,#6 ;30H 和31H 是两个软件计数器。
SETB tr0 ;启动定时 AJMP $ ;原地踏步int_timer: ;定时器0中断服务程序。
MOV th0,#high(65536-10000) ;MOV tl0,#low(65536-10000) ;重设10MS 定时。
DJNZ 30h,l1 ; MOV 30h,#10 ; DJNZ 31h,l1 ; MOV 31h,#6 ;软件计数CPL p2.0 ;10*6*10MS=600MS 时间到,P2.0取反 l1: RETI ;中断返回 END五、 实验原理1.定时/计数器工作原理(1例:设单片机晶振频率为12MHZ,定时时间为1ms,求时间常数?定时器计数周期=12/fosc=1us,1ms/1us=1000,因此,计数初值=65535+1-1000=64536=FC18H(2)定时/计数器初始化2.Proteus软件介绍(1)新建设计文件运行ISIS,它会自动打开一个空白文件,或者选择工具栏中的新建文件按钮,也可以执行菜单命令:“File”→“New Design”,单击“OK”按钮,创建一个空白文件。
不管哪种方式新建的设计文件,其默认文件名都是UNTITLED.DSN,其图纸样式都是基于系统的默认设置,如果图纸样式有特殊要求,用户可以从System菜单进行相应的设置。
单击保存按钮,弹出“Save ISIS Design File”对话框,选择好设计文件的保存地址后,在文件名框中输入设计文件名,再单击“保存”按钮,则完成新建设计文件操作,其扩展名自动为.DSN。
(2)选取元器件并添加到对象选择器中选择主模式工具栏中的按钮,并选择对象选择器中的P按钮,或者直接单击编辑工具栏中的按钮,也可以使用快捷键P(ISIS系统默认的快捷键,表示Pick),会出现如图1所示的选择元器件对话框。
图1选择元器件对话框以选择AT89C52为例,在选择元器件对话框左上“Keywords”(关键字)一栏中输入元器件名称“AT89C52”,则会出现与关键字匹配的元器件列表,选中并双击AT89C52所在行或单击AT89C52所在行后,再单击“OK”按钮,便将器件AT89C52加入到ISIS对象选择器中。
按此操作方法可以完成其他元器件的选取,将设计中所用的元器件都加入到ISIS对象选择器中,如图2所示。
图2 加入到ISIS对象选择器中的元器件(3)图纸栅格设置在ISIS编辑区内有点状的栅格,可以通过View菜单的Grid命令在打开和关闭间切换。
点与点之间的间距由当前的捕捉设置决定,捕捉的尺度也是移动元器件的步长单位,可根据需要改变这一单位。
单击菜单View后,在其下拉菜单中单击所需要的捕捉栅格单位即可。
(4)元器件放置与布局单击ISIS对象选择器中的元器件名,蓝色条出现在该元器件名上。
把鼠标移动到编辑区某位置后,单击就可放置元器件于该位置,每单击一次,就放置一个元器件。
在ISIS中,鼠标操作与传统的发生不同,右键选取、左键编辑或移动:① 右键单击——选中对象,此时对象呈红色;再次右击已选中的对象,即可删除对象。
② 右键拖拽——框选一个块的对象。
③ 左键单击——放置对象或对选中的对象编辑属性。
④ 左键拖拽——移动对象。
⑤ 按住鼠标中心键滚动——以鼠标停留点为中心,缩放电路。
(5)放置电源和地单击模式选择工具栏中的连接端子按钮,在ISIS对象选择器中单击POWER(电源),在编辑区要放置电源的位置单击即可,放置GROUND(地)的操作类似。
(6)设置、修改元器件属性Ptoteus库中的元器件都有相应的属性,可右击放置在ISIS编辑区中的元器件(显示高亮度)后,在弹出的对话框中选择“Edit Properties”,打开编辑元器件属性窗口。
或直接左键双击目标元器件,打开编辑元器件属性窗口。
在属性窗口中设置、修改其属性,包括名称、参数值等。
(7)电路图连线ISIS编辑环境,没有提供专门的连线工具,省去了用户选择连线模式的麻烦。
Proteus具有实时捕捉功能,即当鼠标指针指向管脚末端或者导线时,鼠标指针将会被捕捉到自动出现一个绿色笔,表示从此点可以单击画线。
该功能可以方便实现导线和管脚的连接。
① 自动连线:直接单击两个元器件的连接点,ISIS即可自动定出走线路径并完成两连接点的连线操作。
② 手工调整线形:如果想自己决定走线路径,只需单击第一个元器件的连接点,然后在希望放置拐点的地方单击,最后单击另一个元器件的连接点即可,放置拐点的地方会呈“×”样式。
③ 移动连线:左键单击选中连线,鼠标指针变为双箭头,表示可沿垂直于该线的方向移动,此时拖动鼠标,选中的画线会跟随移动。
④ 改变连线形状:只要按住拐点或斜线上任意一点,鼠标指针变为四向箭头,表示可以任意角度拖动连线。
⑤ 取消画线:在画线的过程中,若要取消画线,直接右键单击或按键盘上的“Esc”键。
⑥ 删除连线:若要删除某段连线,可以右键单击选中该连线,在弹出的菜单中选择“Delete Wire”或者直接右键双击。
(8)总线应用为了简化电路原理图,我们可以用一条导线代表数条并行的导线,这就是所谓的总线。
当电路中多根数据线、地址线、控制线并行时,使用总线较为方便。
① 画总线:点击左边主模式工具栏中的总线按钮,即可在Proteus ISIS编辑窗口中画总线。
初次使用者,会感觉在编辑窗口中画不上,记住一定要先在要画线的地方点击一下,然后总线便随着鼠标的移动开始画出,需要拐弯时,在拐角处点击一下,想要结束画总线时要先点击一下表示总线结束点,然后再点击即可画完总线。
② 总线标注:当总线画完后,要给总线标注,总线的标注名可以与单片机的总线名相同,也可不同。
总线标注时可以点击左边主模式工具栏中的总线放置标号按钮,鼠标移动到所画的总线上变成“×”状后单击,或右键单击总线,在弹出的对话框中选择“Place Wire Lable”即可进行标注。
③ 画总线分支线:总线分支线是用来连接总线和元器件管脚的,与画一般的导线方法相同。
画总线分支线的简便方法是采用Proteus提供的重复布线(Wire Repeat)技术。
假设要把单片机的P2口和总线相连,先画P2.0口与总线相连的分支线,再画P2口的其他分支线时,只需在引脚出双击,此时重复布线功能被激活,自动在引脚和总线之间完成连线。
重复布线完全复制了上一根线的路径,如果上一根线已经是自动重复布线将仍旧自动复制该路径。
如果上一根线是手工布线,那么将精确复制于新的线。
④ 分支线标注:右键点击分支线选中它,在弹出的对话框中选择“Place Wire Lable”即可进行标注。
(9)连接端子应用在电路设计时,有时需要从某一端口接多条连线,直接连线会显得很乱,这时可以采用添加连接端子的方式。
添加连接端子的操作是:点击左侧小型配件按钮中的连接端子按钮,在选择元器件对话框出现不同端子可供选择。
单击需要的连接端子,在对象预览器会有连接端子的预览,在Proteus ISIS编辑窗口中单击即可放置连接端子,选中放置的连接端子单击后,弹出编辑连接端子标号“Edit Terminal Label”对话框,输入相应的标号即可。
(10)加载目标代码文件双击编辑窗口的单片机器件,在弹出属性编辑对话框Program File一栏中单击打开按钮,出现文件浏览对话框,找到hex文件,单击“打开”按钮,完成添加文件。
六、实验观察和记录当开始进行仿真时,数码管显示程序预置的时间,随后数码管时间开始计时,完成简单的数字时钟显示。
七、实验心得本次实验有点难,有好多地方不懂,除了要不停翻书还要问老师和同学,才慢慢把原理和程序搞懂,但搞懂了原理和程序之后很多问题都解决了。
通过本次实验,平常学习中的不足全都暴露出来了,我们平时接触的都是理论知识,当把它运用到实验中去的时候就会发现很多问题都了解的不透彻,但如果通过实践就可以事半功倍。