Proteus仿真单片机实验
基于Proteus的单片机设计仿真
![基于Proteus的单片机设计仿真](https://img.taocdn.com/s3/m/d7215ed326fff705cc170a00.png)
第三, 实例的难度要由浅入深、 循序渐进, 并呈
础。 教学实践证明, VB 是一 门 集 知 识 和 技 能 于 一 体 、 现出一定的梯度。
逻辑分析和实践操作都很强的课程, 且由于教学内容
总之, 实例要以教学的内容为依据, 以现实的对
枯燥、 难懂, 学生学起来非常困难, 甚至会产生放弃 象为材料, 既要包含基本的教学知识点, 又要调动学
·职 业 教 育
2009年1月 总第138期
149
览对象方位控制按钮、 仿真进程控制按钮、 预览窗口、 对象选择器窗口、 图形编辑窗口等。
标 (不用拖动), 将鼠标的指针靠近另一个元件的连接 点时, 接着鼠标的指针就会又出现一个 “×” 号, 表明 找到了该元件的连接点, 同时屏幕上出现了粉红色的 连接, 单击鼠标左键, 粉红色的连接线就变成了深绿 色, 该条连线绘制完成。 再用同样的方法绘制其他连 接线, 电路原理图的编辑就完成了。 如图 4 所示。
图 3 元件选择窗口 在 “Results” 的列表项中 , 双击 “AT89C51”, 则 可 将 “AT89C51” 添 加 至 对 象 选 择 器 的 窗 口 中 。 用 同 样的方法将 “CD4094” 和 “led-bargraph-red” 添加至 对象选择器窗口, 单击 “OK” 按钮, 结束对象选择。 经过以上操作, 在对象选择器窗口中, 已有了 CD4094、 AT89C51、 led-bargraph-red 这三个元器件对 象。 在对象选择器的窗口中, 选中 CD4094, 将鼠标置 于图形编辑窗口该对象的欲放位置、 单击鼠标左键, 从而完成放置。 同理, 将 AT89C51 和 led-bargraph-red 放置到图形编辑窗口中。 接下来, 用导线连接各接点: Proteus 的 智 能 化 可 以在你想要画线的时候进行自动检测。 当鼠标的指针 靠近元件的连接点时, 跟着鼠标的指针就会出现一个 “×” 号, 表明找到了连接点; 单击鼠标左键, 移动鼠
proteus单片机实验报告
![proteus单片机实验报告](https://img.taocdn.com/s3/m/a8a0be6a905f804d2b160b4e767f5acfa1c783f4.png)
proteus单片机实验报告
Proteus单片机实验报告
一、实验目的
本次实验旨在通过Proteus单片机仿真软件,探索单片机的基本原理和应用,加深对单片机工作原理的理解,提高对单片机编程的熟练程度。
二、实验内容
1. 搭建单片机电路
在Proteus中选择合适的单片机模型,搭建基本的单片机电路,包括单片机、晶振、电源等。
2. 编写程序
利用Proteus提供的编程环境,编写简单的单片机程序,如LED灯闪烁、数码管显示等。
3. 仿真调试
通过Proteus的仿真功能,调试程序,观察单片机在仿真环境下的运行情况,检查程序是否正常运行。
三、实验步骤
1. 打开Proteus软件,选择合适的单片机模型,搭建单片机电路。
2. 编写简单的单片机程序,如让LED灯交替闪烁。
3. 在Proteus中进行仿真调试,观察程序运行情况。
四、实验结果
通过实验,我们成功搭建了单片机电路,并编写了简单的程序。
在Proteus的仿真环境下,LED灯按照设定的程序交替闪烁,证明程序正常运行。
五、实验总结
通过本次实验,我们加深了对单片机的理解,掌握了在Proteus中搭建单片机电路、编写程序并进行仿真调试的基本方法。
同时,也提高了对单片机编程的熟练程度。
总之,Proteus单片机实验为我们提供了一个良好的学习平台,使我们能够更好地理解单片机的工作原理和应用,为以后的学习和实践打下了坚实的基础。
希望通过不断地实践和探索,能够更深入地理解单片机的原理,并在实际应用中发挥其巨大的作用。
单片机Proteus仿真实验指导书
![单片机Proteus仿真实验指导书](https://img.taocdn.com/s3/m/2d4bbef8f61fb7360b4c659f.png)
单片机Proteus仿真实验指导书目录1、Proteus软件使用方法 (3)2、实验一LED闪烁电路实验 (8)3、实验二数码管静态显示实验 (11)4、实验三数码管动态显示实验 (13)5、实验四外部中断实验 (15)6、实验五T0波形发生器实验 (17)7、实验六计数器实验 (19)8、实验七串口通信实验 (22)9、实验八I2C读写实验 (25)10、实验九AD转换实验 (30)Proteus软件使用方法Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。
通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。
本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS 模块。
在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。
这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。
下面我们首先来熟悉一下Proteus的界面。
Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:如图中所示,区域①为菜单及工具栏,区域②为预览区,区域③为元器件浏览区,区域④为编辑窗口,区域⑤为对象拾取区,区域⑥为元器件调整工具栏,区域⑦为运行工具条。
下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。
Proteus仿真51单片机
![Proteus仿真51单片机](https://img.taocdn.com/s3/m/bec57fc908a1284ac8504324.png)
一 概述
Proteus软件是英国Labcenter electronics公司出版的 EDA工具软件。它不仅具有其它EDA工具软件的仿真功
能,还能仿真单片机及外围器件。它是目前最好的仿真单
片机及外围器件的工具。
第一个实验
用proteus实 现这个实验
用 开关K0 控制 灯L0 的亮/灭。 取一根连接线连接P10和L0,另取一根连接线连接P11和K0,打 开实验箱电源。
4. 仿真并查看结果
单击
开始仿真,单击
19
停止仿真。
U1
XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
(3)放置电源和地
切换到“终端模式”下,选择电源和接地,POWER、 GROUND,放置到原理图编辑窗口中了,并右键编辑属性,
标号栏选择为VCC、GND。
(4)元器件之间的连线
单击鼠标左键,移动鼠标,靠近连接点时,可以完成自动连
线。ESC键或者单击鼠标的右键来放弃画线。
U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
用Proteus仿真单片机的方法
![用Proteus仿真单片机的方法](https://img.taocdn.com/s3/m/fb98ce2edd36a32d73758133.png)
用PROTEUS对单片机进行仿真实例Proteus软件是英国Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB 的设计; ISIS模块用来完成电路原理图的布图和仿真。
它可以进行模拟电路仿真、数字电路仿真,也可以进行单片机及其外围电路组成的系统的仿真;软件提供了各种虚拟仪器,如示波器、逻辑分析仪、信号发生器、电压表、电流表等。
和其它仿真软件相比,Proteus ISIS最大特色是对单片机系统的仿真,目前支持的单片机类型有: 68000系列、8051系列、ARM系列、AVR系列、PIC系列、Z80系列、HC11系列等。
本文主要介绍Proteus软件在单片机方面的仿真功能,即ISIS模块的用法。
在单片机学习开发的过程中,程序的调试是一个很重要的环节,要安装电路进行实验,而且电路在调试过程中往往要进行调整和改变,这不紧增加了费用和难度,而且也影响了学习和开发的进度,这也成了一些初学者学习的障碍。
如果使用Proteus 软件就可以大大节省时间和开发费用,可以在软件仿真通过后再制作印刷电路板进行电路实验。
一、Proteus ISIS软件的工作环境和一些基本使用方法下面通过一个流水灯的实例来说明Proteus的基本使用方法,使用的软件版本是Proteus.Professional 7.1 SP2。
流水灯使用AT89C51单片机,用P2口作输出口。
先在Keil uVision编译器中输入下列程序:#include <reg51.h>void Delay1ms(unsigned int count)//延时子程序{unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}main() //主程序{unsigned char LEDIndex = 0;bit LEDDirection = 1;while(1){if(LEDDirection)P2 = ~(0x01<<LEDIndex);elseP2 = ~(0x80>>LEDIndex);if(LEDIndex==7)LEDDirection = !LEDDirection;LEDIndex = (LEDIndex+1)%8;Delay1ms(200);}}将上述程序编译生成目标文件LED.hex。
单片机PROTEUS仿真100实例
![单片机PROTEUS仿真100实例](https://img.taocdn.com/s3/m/b6654097d4d8d15abe234e7b.png)
《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第01 篇基础程序设计01 闪烁的LED/* 名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}03 8只LED左右来回点亮/* 名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){uchar i;P2=0x01;while(1){for(i=0;i<7;i++){P2=_crol_(P2,1); //P2的值向左循环移动DelayMS(150);}for(i=0;i<7;i++){P2=_cror_(P2,1); //P2的值向右循环移动DelayMS(150);}}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};uchar code Pattern_P2[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){uchar i;while(1){ //从数组中读取数据送至P0和P2口显示for(i=0;i<136;i++){P0=Pattern_P0[i];P2=Pattern_P2[i];DelayMS(100);}}}05 LED模拟交通灯/* 名称:LED模拟交通灯说明:东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。
基于Proteus软件的单片机仿真实验
![基于Proteus软件的单片机仿真实验](https://img.taocdn.com/s3/m/8d4f5c826529647d27285248.png)
该方案 目前在 国内高校具有较高的推广利用价值 。 关键词 :rt s 单片机 ; 真 ; Poe ; u 仿 实验 中图分类号 : P381 T 6 . 文献标志码 :A 文章编号 : 6 22 3 (0 1 0 -0 90 1 7 - 4 2 1 )302 - 4 4
第l O卷
第 3期
常
州
信
息
职
业
技
术
学
院
学
报
VO .O NO 1 3 1 Jm. 01 t 2 1
21 0 1年 6月
பைடு நூலகம்
J t l l o a g h u Vo a in lCo lg fI f r to c n lg: o t l fCh n z o c to a l e o n o ma i n Te h oo ra e
单片机技术是现代电子工业 中不可缺少的一项
技术 , 掌握 单 片机技 术 是 电子类 专 业 学 生 就业 的 一
计算机仿 真技术 , 是在计算机平台上使用电子 仿真软件进行 电路设计 、 仿真、 调试 , 完成通 常在相 应硬件实验室才可以完成的实验 。伴随着计算机软 件和硬件技术 的飞速发展 , 在各个领域都 出现 了各
基 于 Poes软件 的 单 片 机 仿真 实验 rtu
高立 新
( 广东机 电职业技术学 院 广东广 州 501) 15 5
摘
要 : 电子类 专业 教学中 , 在 单片机 的实验和实训 常规采用 硬件实验箱或实验 板方式 , 此硬件 实验平 台不 仅投资成本 高 , 而 且局 限于固有 的硬件电路 , 不便于更改 电路 。提 出一种基于 Po u 软件仿真 的单片机 虚拟实验方 案 , 案不需采 r es t 该方 购大量 的硬件 设备 , 而是使用 Poes rt 软件仿真 , u 完成单 片机的实验 和实训 。同时 , 使用 Po u 软件 的单片机 虚拟实 r es t
单片机定时器的应用proteus仿真实验报告总结
![单片机定时器的应用proteus仿真实验报告总结](https://img.taocdn.com/s3/m/6a322a51f4335a8102d276a20029bd64783e6205.png)
单片机定时器的应用proteus仿真实验报告总结一、实验目的
本次实验旨在通过使用Proteus仿真软件,掌握单片机定时器的应用,了解定时器的工作原理和使用方法。
二、实验原理
单片机定时器是一种常用的计时和延时控制器,它可以在特定时间内
产生一个周期性的信号。
单片机定时器通常由一个计数器和一个比较
器组成。
计数器会不断计数,当计数值达到设定值后,比较器会发出
一个触发信号。
通过对比较器输出信号进行处理,可以实现各种延时
和周期性控制。
三、实验材料
1. Proteus仿真软件
2. 单片机模块
3. LED灯
4. 电阻
5. 电容
四、实验步骤
1. 打开Proteus软件,并新建一个电路图。
2. 在电路图中添加单片机模块、LED灯、电阻和电容等元件。
3. 连接电路图中各元件之间的线路。
4. 设置单片机定时器参数,并编写程序代码。
5. 进行仿真测试,并记录测试结果。
五、实验结果分析
在本次实验中,我们成功地使用了Proteus仿真软件进行了单片机定
时器的应用测试。
通过设置单片机定时器参数和编写程序代码,我们
成功地实现了对LED灯的周期性控制,达到了预期的效果。
六、实验总结
通过本次实验,我们深入了解了单片机定时器的工作原理和应用方法,并掌握了使用Proteus仿真软件进行单片机定时器测试的技能。
这对
于我们今后的学习和工作都具有很大的帮助。
基于Proteus的Arduino单片机仿真设计实践
![基于Proteus的Arduino单片机仿真设计实践](https://img.taocdn.com/s3/m/a211fec233687e21af45a9e6.png)
• 19•研究了在Proteus 8.5电路仿真平台上进行Arduino单片机仿真设计的四种方法,并通过具体实例介绍了仿真中需要注意的问题。
其中两种方法是在Proteus中设计好仿真电路后,加载运行已有的HEX程序文件。
另外两种方法是在Proteus的同一个工程中实现电路的仿真设计和控制程序编写。
仿真电路中采用的Arduino单片机模型分原理图模块和仿真元件两种。
控制程序编写有C语言和可视化两种方式。
Proteus8.5具有仿真多款Arduino 单片机的功能,其中包括了Arduino Nano 3.x 、Arduino Nano 2.x 、Arduino Mega 2560、Arduino 328、Arduino 168以及Arduino UNO 等。
如果我们手头有一款Arduino UNO R3开发板用于学习单片机控制系统开发,那么结合Proteus 的Arduino 单片机仿真技术,可以帮助我们更快、更好地掌握Arduino 单片机开发技术。
下面以Arduino 328或Arduino UNO 为例介绍在Proteus 8.5中进行Arduino 单片机仿真设计的方法,并结合具体仿真实例介绍仿真中需要注意的问题(伍冯洁,Proteus 与Arduino 的整合在单片机系统开发中的应用:电子世界,2013)。
1 在Proteus8.5中进行Arduino单片机仿真设计的方法1.1 基于开发板或者固件创建项目如果想要直接在Proteus8.5中采用C 语言编写控制程序,并进行程序的编译和仿真运行,可以基于开发板或者固件创建仿真设计项目。
基于开发板创建仿真项目的方法是:选择File 菜单或者快捷工具栏中的New Project 命令,在New Project Wizard 窗口中选择From Development Board 选项,然后在出现的Development Board 列表中选择Arduino 328,设置好项目文件名称和保存路径后点击Finish 按钮,就创建了一个基于Arduino 328开发板的仿真设计项目。
Proteus单片机仿真实验内容
![Proteus单片机仿真实验内容](https://img.taocdn.com/s3/m/6cdcbbb1caaedd3382c4d32b.png)
实验1 PROTUES环境及LED闪烁实验1.实验任务做一个闪烁灯:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒,重复循环。
2.电路原理图3.程序设计内容(1)延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大多是微秒级。
实验要求的闪烁时间间隔为0.2秒,所以在执行某一指令时,需要插入延时程序,来达到实验的要求。
延时子程序如下:DELAY: MOV R5, #20D1: MOV R6, #20D2: MOV R7, #248DJNZ R7, $DJNZ R6, D2DJNZ R5, D1RET(2)输出控制如上图所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。
实验2 外部中断实验1.实验任务设计一个交通灯正常工作程序,并在有意外情况发生的情况下,能自动中断进入到中断服务程序运行,进行紧急事故处理,处理完成后能回到正常工作程序继续运行。
如原理图所示,P1接一位数码管用于显示时间,P2端口接东西方向和南北方向红绿灯,P3.2接一个按钮用于模拟一个外部中断源,当正常工作时,东西方向绿灯亮8秒,然后南北方向绿灯亮9秒;当模拟中断源发出中断信号时,东西和南北红灯亮5秒后返回正常工作程序。
(注:这里数码管选用了共阳极的数码管)数码管的段选码如下表所示:2.电路原理图3.程序设计内容(1)从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、电解电容CAP-ELEC,晶振CRYSTAL、电阻RES、数码管7SEG-COM-CAT-GRN,按钮BUTTON,发光二极管等。
(2)设计延时程序。
实验3 T0波形发生器实验1.实验任务(1)首先用AT89C51单片机定时器/计数器0的定时功能构成一方波发生器,实现周期为400us的方波输出,如图所示,P3.5,p3.7是两个波形输出端,分别输出反相波形,两路波形输入虚拟示波器的A通道和B通道,用示波器观察方波的周期是否是400us。
基于Proteus和Keil的单片机仿真实验系统设计
![基于Proteus和Keil的单片机仿真实验系统设计](https://img.taocdn.com/s3/m/4384a726bd64783e09122b30.png)
河北建筑工程学院本科毕业设计(论文)学科专业机械电子工程班级机电102班姓名冯立岗指导教师张东辉摘要本设计是基于51系列的单片机进行的单片机实验仿真系统设计,可以进行键盘输入显示、计数器、流水灯、LCD显示字符、抢答器等八个实验的仿真。
单片机实验仿真系统的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,4×4键盘阵列,七段数码管显示,8×8LED显示模块,16×16LED点阵显示模块,流水灯模块,LCD液晶模块,以及抢答器按键电路等组成,系统通过LED及LCD显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
由于本设计实验项目有多个,考虑到汇编语言并不适于比较繁琐的程序的编写,故本系统以单片机的C 语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现实验的选取及显示功能。
所有程序在Keil软件编写完成后调试编译最后生成hex格式的文件导入到Proteus 软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:AT89C51;流水灯;抢答器;键盘ABSTRACTIt is a design of single chip experimental simulation system based on the 51 series single chip. It can perform eight experimental simulations including the keyboard input display, counter, water lights, LCD display character, responder.This design’s process is designed to synchronize the hardware and software aspects. The hardware part is mainly composed of AT89C51 microcontroller,4*4 keyboard array, seven segment LED display, 8*8 LED display module, 16*16 dot matrix display module, water light module, LCD liquid crystal module and responder key circuit and other components. The system displays the data via LED and LCD, so it has humanized operation and intuitive display effect. The software includes a clock procedure, the keyboard procedure and the display procedure. Since there are many experimental projects in this design, assembly language does not take into account the relatively cumbersome procedures for the preparation, and the system is designed of the microcontroller C language. In order to facilitate the expansion and change, the software is designed with modular structure, so that the logic programming is more concise and easier to realize the experimental selection and display. All the programs are debugged and compiled after the completion of the written of the keil software. And the final completed files of hex form are debugged in the Proteus software. When there is no problem, embedded the microcontroller into the Proteus software to simulate.Key words: AT89C51;water lights;responder;keyboard目录第1章前言 (1)1.1 单片机现状及发展概述 (1)1.2 单片机的性能特点 (2)1.3 AT89系列单片机简介 (2)1.4 单片机实验仿真系统 (3)第2章 Proteus和Keil软件 (4)2.1 Proteus与Keil的历史及联合仿真 (4)2.2 Proteus与Keil的联合仿真的优势 (5)2.3 Proteus与Keil的使用 (6)2.3.1 Keil C软件的使用 (6)2.3.2 Proteus仿真软件的使用 (9)第3章系统总体设计及方案的确定 (10)3.1 单片机实验仿真系统实验项目的设计 (10)3.2 系统总体设计 (11)3.3 系统总线的设计 (11)3.3 系统设计用到的元件 (12)第4章硬件及电路原理图的设计 (12)4.1 单片机最小系统设计 (12)4.2 流水灯的设计 (14)4.3 4×4矩阵键盘扫描与显示 (14)4.3.1键盘处理 (14)4.3.2 LED显示 (16)4.4 INT0中断三位计数器演示实验 (18)4.5 LCD液晶屏的字符显示实验 (19)4.5.1 液晶显示简介 (20)4.5.2 1602字符型LCD简介 (21)4.5.3 1602LCD的指令说明及时序 (21)4.5.4 1602LCD的指令说明及时序 (23)4.5.5 1602LCD的RAM地址映射及标准字库表 (25)4.5.6 1602LCD的一般初始化(复位)过程 (26)4.6 点阵显示字符实验 (27)4.6.1 LED简介 (28)4.6.2 LED点阵 (29)4.6.3点阵显示原理 (29)4.6.4 显示屏的原理图及结构 (30)4.6.5 显示屏的实验内容 (31)4.7 数码管动态显示实验 (32)4.8 8位计数器实验 (33)第5章系统的软件设计 (34)5.1 系统软件设计流程图 (34)5.2 单片机实验仿真系统原理图 (35)5.3 系统主程序 (36)第6章单片机实验仿真系统的仿真与调试 (38)6.1 利用Keil进行源程序的编译及调试 (38)6.2 利用Proteus调试电路检查系统的运行情况 (39)6.3 单片机实验仿真系统的运行及调试结果 (40)第7章毕业设计小结 (44)参考文献 (46)附录 (47)附:英文原文英文翻译毕业实习报告指导教师:张东辉设计项目计算与说明结果2.3.1 KeilC软件的使用创建工程: Keil C 把用户的每个工程都当作一个项目。
《单片机Proteus仿真C51参考程序实验》
![《单片机Proteus仿真C51参考程序实验》](https://img.taocdn.com/s3/m/1ace359e83d049649b6658fe.png)
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C51 CLOCK=12MHz
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
void delay_ms(uint x) {
uchar t;while(x--)for(t=0;t<120;t++); }
班级:
学号:
姓名
void main() {
uchar i,j=0x01; while(1) {
P2=j; j=_crol_(j,1); delay_ms(100); } } 将以上程序补充完整,流水时间间隔为 100ms。 3.将.HEX 文件导入仿真图,运行并观察结果;
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h>
班级:
学号:
姓名
#include<intrins.h> #define uchar unsigned char #define uint unsigned int void delay_ms(uint x) {
单片机仿真软件Proteus使用操作题自己设计用
![单片机仿真软件Proteus使用操作题自己设计用](https://img.taocdn.com/s3/m/1883e0d1ad51f01dc281f1eb.png)
单片机仿真软件Proteus使用操作题
适用班级:12级电子高考班
一、启动Proteus仿真软件原理图绘制软件ISIS 7 professional
二、制作单片机用+5V电源
1、原理图如图
2、元件清单
瓷片电容 CAP 2只
C1 0.1uF
C2 1uF
三端稳压器78L05 1只
U1 7805 9V电池BATTERY 1只
BAT1 9V
2、仿真测试
在“虚拟设备模式”找到直流电压表DC VOLTMETER测试电源输出
三、在同一原理图编辑器中制作闪光灯电路仿真测试
1、原理图如图所示
2、元件清单
电阻RES
R1,R6 200 R3,R5 27K
三极管MPS5179 2只
电解电容CAP-ELEC 1微法2只
四、使用设计好的+5V电源给闪光灯电路供电,仿真测试,并且用示波器测试三极管集
电极信号波形
信号波形测试,结果如图所示:。
《单片机》protues仿真实验题
![《单片机》protues仿真实验题](https://img.taocdn.com/s3/m/c341752766ec102de2bd960590c69ec3d5bbdb7e.png)
《单⽚机》protues仿真实验题PROTEUS仿真设计题⽬仿真题⽬分为A类题和B类题,A类是基本设计题,较为简单,其分值也较低。
B类题是综合设计题,相对难度⼤⼀些,分值也较⾼。
每个同学可以⾃选⼀题进⾏仿真,根据所选题和仿真情况综合评分。
A类题(基本实验设计题)1.开关状态检测实验(70分)⽤AT89C51的两个并⼝控制检测开关状态并显⽰。
例如P0⼝接⼊8个开关,P1⼝输出接8个LED灯。
开关闭合,相应灯亮,开关断开,相应灯灭。
2.发光⼆极管流⽔灯实验(75分)⽤AT89C51的并⼝(如P1⼝)输出连接8个LED灯,控制其循环点亮,每个灯亮的时间为0.5秒。
要求使⽤T0定时器,定时中断控制时间。
参考电路如下图。
3.单⽚机⽤开关控制数码管显⽰实验(75分)⽤AT89C51的P1⼝低4位接⼊4个开关,P2⼝输出连接⼀个8段LED数码管。
要求数码管显⽰16进制数反映4个开关闭合,断开的状态。
如P1⼝低4位的开关状态为0111(设闭合为0,断开为1),则数码管显⽰为“7”。
参考电路如下图4.产⽣时序信号(70分)⽤AT89C51产⽣连续波形。
从P1.0端⼝输出如图的时序信号;先输出频率为1KHZ⽅波,持续时间0.2秒;接着输出低电平信号,持续时间0.2秒,周⽽复始输出。
在输出端接⼀个LED灯,观测电平状态;并接⼀个虚拟⽰波器观察波形。
5.单⽚机外中断演⽰1(75分)设计中断实验,⽤AT89C51的INT0接⼀个按键,P1⼝连接⼀个8段LED数码管。
初始,数码管显⽰“0”,当按键按下,产⽣中断,数码管显⽰中断次数(即加1显⽰),显⽰到“9”,则返回显⽰“0”,这样不断循环显⽰。
参考电路如下图。
6.单⽚机外中断演⽰2(75分)基本电路同上题,程序运⾏后,当未单击按键时,P1⼝接的数码管上亮点以a~g的顺序循环流动;当单击按键时,触发外中断0,主程序暂停,亮点暂停流动,外中断服务程序控制数码管闪烁显⽰“8”,显⽰8次后熄灭,中断返回,主程序使亮点继续流动。
Proteus硬件仿真(单片机控制流水灯)实 验 报 告
![Proteus硬件仿真(单片机控制流水灯)实 验 报 告](https://img.taocdn.com/s3/m/717ad51c6bd97f192279e97e.png)
湖州师院Proteus硬件仿真(单片机控制流水灯)实验报告姓名汪健雷班级092833学号07083438一、实验目的1、了解proteus软件,掌握Proteus在单片机仿真中的应用,为开发、调试单片机应用系统做准备。
2、熟练掌握isis环境电路图的建立(流水灯电路图)二、实验仪器1、PC机2、proteus仿真软件三、实验内容1、选择元器件,画出电路图,学会硬件的设计2、在仿真软件上实现相应的功能四、实验步骤1、软件打开2、双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图所示界面,随后就进入了Proteus ISIS集成环境。
2、Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
3、添加元器件将所需元器件加入到对象选择器窗口。
Picking Components into the Schematic单击对象选择器按钮,根据元件预览区域的显示,双击你所需要的元件,则所选元件出现在原理图编辑环境的元件列表区中,如图所示。
用同样的方法找出原理图中需要的所有元件。
4、放置元器件放置元器件至图形编辑窗口Placing Components onto the Schematic 在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。
其他元器件放置方法相同。
基于Proteus的单片机仿真实验系统设计与应用
![基于Proteus的单片机仿真实验系统设计与应用](https://img.taocdn.com/s3/m/0e399842c850ad02de8041a5.png)
能力及技能的培养 。为此 , 实验设备 , 尤其是开放
性 的实 验设 备是 不可 缺少 的 。但 是 , 多 的课 程 都 众 建相应 的实验 室 , 然 是 不 太 可 能 的 , 买 大 量 的 显 购
于 85 0 1的 , 如 今应用 普遍 的 AVR、I AR 不 像 PC、 M
行 比较 , 这样更 利 于培养 学生 的动 手 能力 和 电路设
计 能力 。
件 的投资 成本相 对较 高 。
另一 个很重 要 的原 因就是 , 目前 单 片机 的课程 除 了主要 开设 8 5 0 1系 列 单 片机 课 程 之 外 , 开设 还
5 )提供 丰 富 的虚 拟仪 器 在 仿真 过程 中可 以利用 虚 拟 仪 器 测 量 外 围电 路 的特 性 , 培养学 生实 际硬件 的调 试能力 。 6 有强 大 的原 理 图绘制 功能 。 )具
以在计 算机 构成 的虚 拟环境 中设 计 电路 , 可 以对 还
*
收稿 日期 :0 1年 5月 1 21 2日, 回 日期 :0 1 6月 1 修 21 年 8日 作者简介 : 吴政 南 , , 士 , 女 硕 讲师 , 研究方 向 : 网络信息安全 。程远胜 , , 男 工程师 , 研究方 向: 算机 网络 与系统集成 。 计
实 际工作 。在 学生 训练 时 , 以选 择不 同的方 案进 可
片机 的仿真 却无 能为力 , 因此仍 然需 要建 立 单 片机
实验 室 。单 片机 实 验 室 的建设 中 基本 都 是 采 用 硬 件仿 真系统 , 以为 了保 证 实验 的顺 利 开 设 , 所 同一 类型 的硬件 仿真 开发 系统 就需要 采 购 多套设 备 , 硬
Proteus仿真单片机实验
![Proteus仿真单片机实验](https://img.taocdn.com/s3/m/0ead7bc09ec3d5bbfd0a74aa.png)
目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。
1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。
1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
proteus仿真实验【精选】
![proteus仿真实验【精选】](https://img.taocdn.com/s3/m/f71f292c590216fc700abb68a98271fe910eafe4.png)
Proteus仿真实验一、实验目的1、通过实例熟悉proteus软件使用方法。
2、掌握具体电路proteus和keil仿真二、实验要求1、独立完成。
2、设计步骤符合标准规范。
三、实验设备计算机,proteus软件四、内容及步骤一)、实验内容:根据下图所示的电路图使用805l控制共阳七段显示器的显示:先搭建一个“8051基本IO实验”的仿真电路,使用8051的Port 1连接到一个共阳的七段显示器,然后让8051轮流显示0~9。
当您连接好电路,并且完成程序之后,您将看到七段显示器依次显示0~9二)、实习步骤:1、在Protues中,绘制电路图,并调试。
2、编写程序并调试(在Keil c 或实验箱编译系统下均可)。
附录一Keil Vison2使用入门Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,该软件提供丰富的库函数和功能强大的集成开发调试工具。
按下面的步骤建立第一个项目:1、点击Project--- New Project,在“文件名”中输入一个C程序项目名称。
“保存”后的文件扩展名为uv2,这是KEIL uVision2 项目文件扩展名,以后可以直接点击此文件以打开先前做的项目。
2、选择所要的单片机,这里选择常用的Ateml公司的A T89C51。
完成上面步骤后,就可以进行程序的编写了。
3、首先要在项目中创建新的程序文件或加入旧程序文件。
点击File—New按钮,或快捷键Ctrl+N。
出现一个新的文字编辑窗口,4、保存源文件,扩展名为.C。
并将该文件加入到刚才建立的项目中。
5、编译源文件。
点击Build target或Rebuild all target files,查看编译结果是否有错,若有错,则修改源程序。
否则,则可以进行调试。
6、进入调试模式如图2,调试程序。
点击Debug---Start/stop Debug session,进入调试模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。
1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。
1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
支持图形化的分析功能等。
Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。
Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY, Keil, MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。
1.2 Proteus PCBProteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。
2. 一个基于Protesus的单片机实例2.1 软件的编写本例题采用8个LED,编写程序使之闪烁起来。
软件的编写是采用汇编语言,芯片的型号选择AT89C51, 编写LED.ASM文件,利用Proteus本身的51汇编功能进行编译,编译成功后生成LED.hex文件。
2.2 绘制电路图运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。
主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。
图1 ISIS启动界面通过左侧的工具栏区的P(从库中选择元件)命令,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。
本例所需主要元器件有:AT89C51芯片,电阻、电容、石英晶振和发光二极管,详见表1。
表1 元器件清单选择元器件后连接图2所示电路。
图2 电路原理图Microproccessor ICs类的芯片的引脚与实际的芯片基本相同,唯一的差别是隐去了GND 和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。
故在电路连线时可以不考虑电源和地的连接。
电路连接完成后,选中A T89C51单击鼠标左键,打开“Edit Component”对话窗口如图3所示,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。
在“Add/remove source file”栏中选择已经编好的LED.asm文件,然后单击“OK”按钮保存设计。
至此,就可以进行单片机的仿真。
图 3 单片机属性的设定2.3 Proteus仿真结果单片机的仿真结果图如图4,模拟信号经A/D转换后,结果送入单片机,再在数码管上显示;通过调节可调电阻的阻值,可以得到不同的显示结果。
仿真结果表明,系统达到了预先的设计要求。
在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。
通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图4 仿真结果3.总结本文结合一个LED闪烁的单片机电路详细说明了Proteus在单片机开发中的应用。
可以看出,Proteus功能十分强大,能仿真各种数字模拟电路,且操作简单,使用方便。
能快速地进行单片机仿真,加快系统开发的过程,降低开发成本。
实验1 PROTUES环境及LED闪烁综合实验1.实验任务做单一灯的左移右移,硬件电路如图所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
2.电路原理图图13.程序设计内容我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示:P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 说明L8 L7 L6 L5 L4 L3 L2 L11 1 1 1 1 1 1 0 L1亮1 1 1 1 1 1 0 1 L2亮1 1 1 1 1 0 1 1 L3亮1 1 1 1 0 1 1 1 L4亮1 1 1 0 1 1 1 1 L5亮1 1 0 1 1 1 1 1 L6亮1 0 1 1 1 1 1 1 L7亮0 1 1 1 1 1 1 1 L8亮4.程序框图图25.汇编源程序ORG 0START: MOV R2,#8MOV A,#0FEHSETB CLOOP: MOV P1,ALCALL DELAYRLC ADJNZ R2,LOOPMOV R2,#8LOOP1: MOV P1,ALCALL DELAYRRC ADJNZ R2,LOOP1LJMP STARTDELAY: MOV R5,#20 ;D1: MOV R6,#20D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RETEND实验2 多路开关状态指示1.实验任务如图1所示,A T89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。
(开关闭合,对应的灯亮,开关断开,对应的灯灭)。
2.电路原理图图13.程序设计内容3.1 开关状态检测对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JB P1.X,REL或JNB P1.X,REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV A,P1指令一次把P1端口的状态全部读入,然后取高4位的状态来指示。
3.2 输出控制根据开关的状态,由发光二极管L1-L4来指示,我们可以用SETB P1.X和CLR P1.X指令来完成,也可以采用MOV P1,#1111XXXXB方法一次指示。
4.程序框图读P1口数据到A CC中A CC内容右移4次A CC内容与F0H相或A CC内容送入P1口图25.解决方案方法一(汇编源程序)ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP STARTEND方法二(汇编源程序)ORG 00HSTART: JB P1.4,NEXT1CLR P1.0SJMP NEX1NEXT1: SETB P1.0NEX1: JB P1.5,NEXT2CLR P1.1SJMP NEX2NEXT2: S ETB P1.1NEX2: JB P1.6,NEXT3CLR P1.2SJMP NEX3NEXT3: S ETB P1.2NEX3: JB P1.7,NEXT4CLR P1.3SJMP NEX4NEXT4: S ETB P1.3NEX4: SJMP STARTEND实验3 报警产生器1.实验任务用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
2.电路原理图图13.程序设计内容3.1 信号产生的方法500Hz信号周期为2ms,信号电平为每1ms变反1次,1KHz的信号周期为1ms,信号电平每500us变反1次;4.程序框图图2 5.汇编源程序FLAG BIT 00HORG 00HSTART: JB P1.7,STARTJNB FLAG,NEXTMOV R2,#200DV: CPL P1.0LCALL DEL Y500LCALL DEL Y500DJNZ R2,DVCPL FLAGNEXT: MOV R2,#200DV1: CPL P1.0LCALL DEL Y500DJNZ R2,DV1CPL FLAGSJMP START DELY500: MOV R7,#250 LOOP: NOPDJNZ R7,LOOPRETEND实验4 I/O并行口直接驱动LED显示1. 实验任务如图1所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,时间间隔0.2秒。
2. 电路原理图图13 程序设计内容(1) LED数码显示原理七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表2 “0”3FH “8”7FH“1”06H “9”6FH“2”5BH “A”77H“3”4FH “b”7CH“4”66H “C”39H“5”6DH “d”5EH“6”7DH “E”79H“7”07H “F”71H(2)由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。