Proteus软件的单片机仿真(ATM)

合集下载

基于ATMEGA128单片机压力的测量--proteus仿真

基于ATMEGA128单片机压力的测量--proteus仿真

基于ATMEGA128单片机压力的测量--proteus仿真摘要:本文以mpx4250做为压力传感器摘要:摘要:本文以mpx4250做为压力传感器,通过测量输出端电压来计算实际的压力,使用atmega128单片机作为系统的cpu,来读取电压,并进行转换。

由于做实物不仅要耗费金钱,还要耗费大量的时间用来做板子,焊接元器件。

摘要:本文以MPX4250做为压力传感器,通过测量输出端电压来计算实际的压力,使用ATMEGA128单片机作为系统的CPU,来读取电压,并进行转换。

由于做实物不仅要耗费金钱,还要耗费大量的时间用来做板子,焊接元器件。

本系统采用了Proteus仿真,只需要画画电路图就可以做出类似实物的效果。

通过测试,只要选取合适的参数,基本上能正确的读出压力值,至于参数选取不合适,误差不会太大,对于广大初学单片机,或是对压力传感器比较模糊的初学者来说具有很大的学习价值。

仿真图:程序源代码:#include#include#define F_CUP 7372800UL#define uchar unsigned char#define uint unsigned intconstuintsegcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};uint dis_seg[]={0xF3,0,0,0};//数码管显示函数void display(void){uint i=0;for(i=0;i {PORTE=~_BV(i);PORTB=dis_seg[i];_delay_us(50);}}int main(void){int AD_Result,Pressure_Value;DDRB=0xff;PORTB=0xff;DDRE=0xff;PORTE=0xff;DDRF=0x00;PORTF=0xff;//AD相关设置ADCSRA=0xE6;_delay_ms(2);ADMUX=0x07;//通道选择while(1){AD_Result=ADCL+(ADCHPressure_Value=((AD_Result*5.0/1023.0-0.11)/5.0+0.04)/0.004;dis_seg[1]=segcode[Pressure_Value/100];dis_seg[2]=segcode[Pressure_Value0/10];dis_seg[3]=segcode[Pressure_Value];if(dis_seg[1]==0x3F){dis_seg[1]=0x00;if(dis_seg[2]==0x3F)dis_seg[2]=0x00;}display;}return 0; }说明:软件用的是GCC,压力芯片资料可以在网上找到。

ATmage16点阵与proteus仿真

ATmage16点阵与proteus仿真

ATmage16 16X32点阵与proteus仿真基于A Tmage16单片机16x32点阵显示,主要有四部分构成,16x32点阵屏,74ls595(串转并)移位寄存器,74hc154四线—16线译码器,A Tmage16单片机。

一:电路搭建二:程序编写1:主函数#include "delay .h"#include <iom16v .h>#include <macros.h>#define st0 PORTD &=~BIT(0)#define st1 PORTD |=BIT(0)#define ds0 PORTD &=~BIT(1)#define ds1 PORTD |=BIT(1)#define sh0 PORTD &=~BIT(2)#define sh1 PORTD |=BIT(2)unsigned char t,temp;unsigned char i;unsigned char tab1[]={0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f, 0xff};//74HC154译码unsigned char tab[]={0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x11,0x10,0x11,0x08,0x11,0 x04,0x21,0x04,0x21,0x02,0x41,0x02,0x81,0x02,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0 x00,};//显示“小"unsigned char tab2[]= {0x00,0x80,0x00,0x80,0x79,0x00,0x49,0xFE,0x4A,0x00,0x4C,0x00,0x49,0xF8,0x48, 0x08,0x48,0x10,0x48,0x60,0x78,0x80,0x49,0x00,0x02,0x02,0x02,0x02,0x01,0xFE,0x00,0 x00};//显示“,吃”void write0(unsigned char a)//74ls595串转并{unsigned char i;st0;for (i=0;i<8;i++){if (a&0x01)ds1;elseds0;sh1;sh0;a>>=1;}}void delay1_595() //打开锁相器时间不能太长几个微妙{st0; delay8RC_us(1); st1;}void init (){DDRB=0xff;PORTB=0xff;DDRA=0xff;PORTA=0xff;DDRC=0xff;PORTC=0xff;DDRD=0xff;PORTD=0xff;}void main (){init ();//初始化write0(0);//清屏write0(0);write0(0);write0(0);while(1){for(i=0;i<16;i++){ write0(0);//关闭显示,防从影write0(0);write0(0);write0(0);write0(tab2[2*i+1]); write0(tab2[2*i]);write0(tab[2*i+1]); write0(tab[2*i]);PORTC=tab1[i];delay1_595();delay8RC_us(10); //延时不能太长几个毫秒}}}2:延时函数(.C文件)#include"delay.h"void delay8RC_us(unsigned int time){do{time--;}while(time>1);}void delay8RC_ms(unsigned int time ){while(time!=0){delay8RC_us(1000);time--;}}3:(.H文件)#ifndef __DELAY_H__#define __DELAY_H__void delay8RC_us(unsigned int time);void delay8RC_ms(unsigned int time );#endif。

基于Proteus的Atmega48单片机PWM产生正弦波仿真

基于Proteus的Atmega48单片机PWM产生正弦波仿真

基于P r o t e u s的A t m e g a48单片机P W M产生正弦波仿真(鹰击长空,l o n g s k y2007@126.c o m)1、仿真环境:u P r o t e u s P r o7.4s p3u I C C A V R6.31a2、电路原理图u外接4M晶振,熔丝位C L K D I V8无分频u外接R C复位电路u P W M经过两级低通滤波和放大电路u输出2.3V p p,1K H z正弦波3、程序u参照马潮《高档8位单片机A t m e g a128原理与开发应用指南(上)》P345/*版本:ICC A VR 6.25C,外接晶振4.00MHz,熔丝位CLKDIV8无分频*/#include <iom48v.h>#include <macros.h>/*const unsigned char auc_SinParam[128] = {128,134,140,147,153,159,165,171,177,182,188,193,199,204,209,213,218,222,226,230,234,237,240,243,245,248,250,251,253,254,254,255,255,255,254,254,253,251,250,248,245,243,240,237,234,230,226,222,218,213,209,204,199,193,188,182,177,171,165,159,153,147,140,134,128,122,116,109,103,97,91,85,79,74,68,63,57,52,47,43, 38,34,30,26,22,19,16,13,11,8,6,5,3,2,2,1, 1,1,2,2,3,5,6,8,11,13,16,19,22,26,30,34, 38,43,47,52,57,63,68,74,79,85,91,97,103,109,116,122}; // 128点正弦波样本值*/const unsigned char auc_SinParam[128] = {64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,109,111,113,115,117,118,120,121,123,124,125,126,126,127,127,127,127,127,127,127,126,126,125,124,123,121,120,118,117,115,113,111,109,106,104,102,99,96,94,91,88,85,82,79,76,73,70,67,64,60,57,54,51,48, 45,42,39,36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,25,28,31,33,36,39,42,45,48,51,54,57,60};// 马潮128点正弦波样本值unsigned char x_SW = 8,X_LUT = 0;// T/C0 溢出中断服务#pragma interrupt_handler Timer0_OVF_ISR:iv_TIMER0_OVF //17号中断void Timer0_OVF_ISR(void){//SEI();X_LUT += x_SW; // 新样点指针if (X_LUT > 127) X_LUT -= 128; // 样点指针调整OCR0A = auc_SinParam[X_LUT]; // 取样点指针到比较匹配寄存器// OCR0+=1;}void main(void){CLI();DDRD=0x40; // PD6输出方式:作为OC0A输出PWM波// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: 4000.000 kHz// Mode: Fast PWM top=FFh// OC0 output: Non-Inverted PWMTCCR0B = 0x00;//stopTCNT0 = 0xFF;//setupTCCR0A=0x83;TCCR0B=0x01; //快速pwm 比较匹配发生时OC0A清零, 计数到TOP时OC0A置位.无预分频OCR0A=128;TIMSK0=0x01; // 允许T/C0溢出中断SEI();while(1);}。

用Proteus仿真单片机的方法

用Proteus仿真单片机的方法

用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。

Protues-ATmega8仿真

Protues-ATmega8仿真

前言学习单片机也有一段时间了,从模电、数电开始,一直到51、AVR回想起来真是一个漫长的过程啊。

我大学本是学的数学,开始就喜欢电脑这个东东,自然也就慢慢开始学习编程。

大学都被考试给耽误了,什么等级考试,程序员考试,从大二一直忙到大四,毕业了才发现自己除了比别人多了三四个证书外,别的就再没什么了。

编程除了学习谭老师的C和考二级时用TC 外,大二就开始接触VC了,但直到毕业也没把它玩转。

工作了,到公司才知道别人怎样用VC,后来在网上也认识了更多的高手,才发现自己的幼稚。

工作不到半年,就去了深圳,离开了内地,我才发现写程序要和单片机结合起来才更有前途,当然,也许我的认识到现在还是错误的。

因而回来之后我就找机会学习单片机,好在在大学考三级和高程时有一点硬件的理论,要不我想学起来就更难了。

也感谢现在网络资源丰富,我就BT了些资料,开是补充自己的硬件知识。

开始学习51时,朋友推荐了Protues,哇,第一次我就爱上她了,很快我找了些例子就把学到的理论给复习了一下;接下来我就进攻Atmega8了,因为我工作也用AVR的单片机,这样会方便些。

学习的过程是漫长的,但我并感觉不到辛苦,因为网上有那么多的朋友的例子,有那么多的资料供我去学习,还有我的女友的支持,我能感觉到的只是对知识的渴望。

为了更好的学习,我也买了块开发板,对学习的投资,我还是舍得的,呵呵。

但买回来发现,基本上那上面的功能,在Protues里都能实现,现在对ATmega8也基本了解了,我就想抽时间把自己学习的过程给整理一下,也给那些经济比较困难的学弟学妹们一点帮助。

同时也希望能有更多的朋友能奉献一点自己的热心,把自己的心得和经验贡献出来。

我希望自己总结的这份资料,可以在不用开发板的情况下去学习ATmega8,在您的电脑上装上Protues和icc Avr就可以了,我用的是Protues6.9和icc AVR6.3。

还没有回头整理,里面会有很多的错误,希望您发现了能发个email给我young45@。

单片机仿真软件PROTEUS使用入门

单片机仿真软件PROTEUS使用入门

Proteus整体功能预览
Proteus软件和我们手头的其他电路设计仿真软件最大的不同即它的功能不是单一的。它的强大的元件库可以和任何电路设计软件பைடு நூலகம்媲美;它的电路仿真功能可以和Multisim相媲美,且独特的单片机仿真功能是Multisim及其他任何仿真软件都不具备的;它的PCB电路制版功能可以和Protel相媲美。它的功能不但强大,而且每种功能都毫不逊于Protel,是广大电子设计爱好者难得的一个工具软件。
符号、参数来判断是否找到了所需要的元件。双击找到的元件名,该元件便拾取到编辑界面中了。
拾取元件对话框共分四部分,左侧从上到下分别为直接查找时的名称输入、分类查找时的大类列表、子类列表和生产厂家列表。中间为查到的元件。
列表。右侧自上而下分别为元件图形和元件封装,图1-16中的元件没有显示封装。 图1-16 分类拾取元件示意图
图1-9 虚拟仿真电路与外部实际电路的双向通信
PART 1
Proteus与Keil联调 Proteus与汇编程序调试软件Keil可实现联调,在微处理器运行中,如果发现程序有问题,可直接在Proteus 的菜单中打开Keil对程序进行修改,如图1-10所示。
图1-10 Proteus与Keil的联调
调 试 工 具
←放置分析图 : 有模拟.数字.混合.频率特性.传输特性.噪声分析等. ←放置录音机: 可录/放声音文件. ←放置电源.信号源: 有直流电源,正弦信号源,脉冲信号源等. ←放置电压探针: 显示网络线上的电压. ←放置电流探针: 串联在指定的网络线上,显示电流值. ←放置虚拟仪器: 有示波器.计数器.RS232终端.SPI调试器.I2C调试器.信号发生器. 图形发生器.直流电压表.直流电流表,交流电压表.交流电流表.

Proteus软件的单片机仿真(ATM)

Proteus软件的单片机仿真(ATM)

摘要基于Proteus软件的单片机自动取款机(ATM)仿真系统设计,硬件电路需要单片机开发板和12864液晶显示器,能够实现自动取款的全部功能。

通过在在计算机上用C语言编程来将生成文件下载到单片机控制其它外围器件工作。

但是在EDA新技术的引入使得系统的开发成本降低而且灵活性增强,在Proteus软件中都可以找到上述硬件元件,通过电路图连接完全可以实现仿真功能。

在Keil软件环境下通过C语言编程,编译调试后生成单片机下载的HEX(十六进制)文件,硬件电路图是在Proteus 软件中进行建模。

通过Proteus和Keil结合建立的虚拟系统实现联合仿真,单片机实时控制12864LCD实现汉字的显示,扫描键盘从而达到用户与ATM的信息交换,使得ATM系统设计变为现实。

ATM系统,是一个有数据库组成的应用系统。

用户的初始信息通过E2PROM存放,这样免去了掉电丢失数据的弊端。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码、账户冻结、密码保护、自动存款及转账功能。

可以仿真实现最基本的银行服务。

关键词:ATM;51单片机;Proteus;Keil;12864LCD;E2PROM;虚拟仿真AbstractAutomatic Teller Machine system is based on Proteus 51-microcontroller.Hardware circuit includes microcontroller developer board and 12864LCD display. All features of ATM can be well worked on it. Programming on PC then download created file to 51-microcontroller to control outer circuit. However, with the introduction of EDA, new technology, which lower the cost of system exploration and enhance flexibility. Programing with C language, compiling and debugging under the environment of Keil software,creating a HEX file which will be downloaded by microcontroller later. Hardware schematic diagrams are established with Proteus software. According to the combination of Proteus and Keil , making a virtual system , successfully achieve united simulation. Microcontroller controls 12864LCD to display Chinese words, scans keyboard to exchange information between customer and ATM, which makes virtual ATM system becoming reality.ATM system includes databases, which are used for the storage of customers’ initial information, leading to emerge from the disadvantage of data lost when power cuts. The functions of ATM are as follows: withdraw cash, search client and remaining modify password, client freezed, password protection, automatic deposit and transfer client. This system simulates to realize the bank’s fundamental services.Keywords:ATM;51microcontroller;Proteus;Keil;12864LCD;E2PROM;virtual simulation目录引言 (1)第一章 Proteus软件的单片机ATM系统 (3)1.1 Proteus软件的ATM概述 (3)1.2 Proteus软件的ATM安全性分析 (3)1.3 Proteus软件的ATM稳定性分析 (3)1.4 Proteus软件的ATM主要功能分析 (3)第二章 Proteus软件仿真的硬件系统设计 (5)2.1 MCS-51系列单片机 (5)2.1.1 AT89C51单片机 (5)2.1.2 单片机应用系统硬件设计 (5)2.2 串行传输 (5)2.3 I2C串行总线 (6)2.4 E2PROM (8)2.5 12864液晶显示模块 (10)2.5.1引脚功能 (10)2.5.2 12864DDRAM存储器 (10)2.5.3 显示控制控制方法 (11)2.6 蜂鸣器 (12)2.7 键盘 (12)2.7.1 键的识别 (12)2.7.2 键盘扫描流程图 (13)2.8 ATM硬件原理图 (13)第三章 Proteus单片机仿真软件系统设计 (15)3.1 C-51简介 (15)3.1.1 C-51具有特点 (15)3.1.2 C-51具有优点 (15)3.1.3 C-51独特地方 (15)3.2 ATM自动取款机系统流程 (16)3.3 程序介绍 (16)3.4 PCtoLCD2002扫描软件 (17)3.5 Proteus软件 (19)3.5.1 Proteus概述 (19)3.5.2 Proteus具有特点 (19)3.5.3虚拟工具箱 (20)3.6 Keil软件 (21)3.6.1概述 (21)3.6.2创建工程 (22)第四章 Proteus软件仿真结果 (23)第五章结论 (25)参考文献 (26)附录 (27)谢辞 (34)引言随着大规模集成电路的发展,组成微型计算机的各个功能部件:中央处理器、RAM、ROM、EPROM、并行串行输入输出I/O接口电路、定时器/计数器集、中断控制等部件成到一块半导体芯片上,构成一个完整的微型计算机[8]。

用Proteus软件进行51系列单片机仿真的制作和演示教程

用Proteus软件进行51系列单片机仿真的制作和演示教程

用Proteus软件进行51系列单片机仿真的制作和演示过程教程一、ISIS界面简介假如读者的电脑上已成功安装了Proteus,则可以从电脑桌面的“开始”-“程序”-Proteus 6 Professional-ISIS 6 Professional,启动ISIS。

ISIS是仿真模拟设计SCH设计程序。

ISIS成功启动后的界面如图1所示,分为菜单栏、工具栏,工具箱、编辑窗口(显示正在编辑的电路原理图)、预览窗口(显示整个电路图的缩略图)、对象选择器,对象旋转工具和模拟调试时用的快捷调试按钮。

二、绘制仿真电路的原理图笔者以图2所示的电路为例,介绍电路原理图的绘制过程。

操作过程为,用鼠标左键点击工具箱的元器件“”按钮,使其选中,再选中ISIS对象选择器左边中间的“”按钮,出现“Pick Devices”对话框,如图3所示,在这个对话框里读者可以选择元器件和一些虚拟仪器。

在“Libraries”下面找到“MICRO”选项,找到单片机A T89C51,双击“A T89C51”,这样在左边的对象选择器就有了A T89C51这个元件了,点击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把A T89C51放到原理图区。

按照同样方法把所需的其它元器件都放到原理图编辑区。

元器件放置完后,若位置不合适,需要调整元器件的位置,可先通过鼠标右键选中对象,此时被选中的对象变成红色显示,再用鼠标左键点击被选中的对象不放并拖到合适的位置后再释放鼠标左键。

若要旋转对象,可在选中对象时按旋转按钮进行旋转。

若要编辑对象的属性,在对象被选中时,用鼠标左键点击对象,此时出现属性对话框,比如要改变电阻的属性,可右键选中电阻,再用左键点击被选中的电阻,出现如图4所示的对话框。

在这里我们可以改变电阻的标号,电阻值,PCB封装以及是否把这些东西隐藏等,修改后,点击“OK“按钮即可。

在Proteus,许多器件没有Vcc和GND引脚,其实它们被隐藏了,在使用时可以不加电源。

PROTEUS的单片机教学与应用仿真

PROTEUS的单片机教学与应用仿真

结论
它可以帮助学生们更好地理解单片机的工作原理和编程方法,同时也可以帮 助他们提高解决实际问题的能力。因此,PROTEUS单片机教学与应用仿真的实用 性和推广价值不容忽视。
结论
展望未来,随着科技的不断发展和PROTEUS软件的进一步升级和完善,相信 PROTEUS单片机教学与应用仿真将在更多的领域得到应用,同时也会为单片机人 才的培养和发展带来更多的机遇和挑战。
五、实验结果分析
实验过程: 1、在PROTEUS中搭建电路:选用AT89C51单片机芯片,连接8个LED灯和一个 按键开关,并设置相应的输入输出端口。
五、实验结果分析
2、编写程序:使用C语言编写程序,通过循环控制P1口输出高低电平,实现 LED灯的依次点亮和熄灭。同时,程序中加入按键开关的输入判断,以便手动控 制LED灯的显示状态。
四、应用场景
2、硬件开发:在单片机应用项目开发过程中,使用PROTEUS可以进行电路设 计和仿真,减少硬件调试的难度,提高开发效率。
四、应用场景
3、软件测试:通过在PROTEUS中搭建单片机外围电路,可以测试和验证单片 机的程序功能是否正确实现。
四、应用场景
4、产品设计:在产品研发阶段,使用PROTEUS进行单片机电路设计与仿真, 可以缩短产品开发周期,提高产品的可靠性和稳定性。
教学案例
教学案例
下面以一个简单的LED闪烁实验为例,介绍PROTEUS单片机教学案例的具体实 施过程:
1、实验题目:LED闪烁实验
1、实验题目:LED闪烁实验
2、实验目的:通过单片机控制LED的亮灭,实现LED的闪烁效果 3、实验原理:利用单片机的IO口控制LED的亮灭状态,通过循环实现LED的 闪烁效果
参考内容

《单片机》protues仿真实验题

《单片机》protues仿真实验题

《单⽚机》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仿真学习ATmega16定时器T0

PROTEUS仿真学习ATmega16定时器T0

PROTEUS仿真学习ATmega16定时器T0PROTEUS软件是仿真软件,在单片机学习中起到事半功倍的作用。

应用该软件掌握ATmega16定时器/计数器TC0资源,效果显著。

单片机的资源管理及控制,均是由寄存器完成的,因此我们在学习时就重视寄存器的强大功能。

ATmega16定时器T0也不例外,它是8位的定时器,我们先来认识它的一些寄存用的,可见其强大威力。

这四大功能也就是它的四个工作模式:分别是普通定时模式;相位可调PWM模式;CTC模式;快速PWM模式。

下表列出四种工作模式功能说明。

(注:匹配:TCNT0值=OCR0值;普通模式和MCS-51使用相似,这里不介绍,在PROTEUS仿真学习ATmega16一:相位可调PWM模式仿真1、说明:采用此模式,可用如下四步曲进行设置,①、WGM0[1:0]=01;COM0[1:0]=10;CS0[2:0]=100。

语句:TCCR0|=(1<<WGM00)|(1<<COM01) |(1<<CS02)实现设置,时钟采用256分频,相位可调PWM模式,升序匹配PB3/OC0清零,降序匹配PB3/OC0置位,并启动定时器T0。

②、设置TCNT0与OC0初值,语句TCNT0=0X00,OC0=100完成设置,表示高低电平占空比为100:156,③、设置端口为输出,开总中断,语句DDRB=0X08,PORTB=0X08,RSEG=0X80。

在PB3/OC0脚上产生如下波形:④、需要改变占空比改变的话,可以通过改变OCR0中值达到要求。

TCNT0计数值达到0X00时会产生溢出中断,设置中断服务程序可以更改OCR0中值,当TCNT0达到0XFF 时更新OCR0中值。

2、PROTEUS 仿真。

简易仿真图配备仿真程序段如下:完成上述功能设置。

源程序在ICC A VR 中编译成功后,生成的HEX 文件装入A Tmega16后,即可在虚拟示波器中显示出PB3/OC0脚上的波形了。

单片机Proteus仿真

单片机Proteus仿真

(3) 单击工具箱中 元件终端 图标,将元件终端放置在合 适位置,然后布线。
(4) 单击对象选择器中的 POWER 和GROUND,将元件 电源和地放置在合适位置,然后布线。
(5)左键双击各元件,设置相应元件的参数,完成电路 图的设计。
第二部分 Keil软件编程
操作步骤:1、双击桌面上的UV2快捷图 件。
单片机: AT89C51 电容: CAP 30µF 晶振: CRYSTAL 12MHZ 按钮: Button 发光二极管: LED-BIBY/BIGY 电阻: RES 排阻:Respack-8 电解电容: CAP-ELEC
例如:输入RES,点Resistors,挑选适合的电阻,将元件 放置到原理图编辑窗口的合适位置。
3、对于软件仿真,在目标’ 目标1’属性 页面 下点“Debug”(调试),再选“S 使用软件仿真 器”,同时选中“加载代码到仿真器”和“运行到 main0”,然后点击“确定”。
6、程序的编译和链接
依次点击屏幕上方左下角的编译和建造目标图标 对文件进行编译和链接,观察左下角的调试
程序信息显示,如有错可根据该栏提示的信息进行修 改,修改后要重新保存和编译,直到无错误提示。
(二)主工具栏
(三)预览窗口 1、在对象选择器单击某个元件或在工具箱中单击元件按钮、 终端按钮、子电路按钮、虚拟仪器按钮时,预览窗口会出现 对象的图形。 2、将鼠标落在此窗口内,可以改变原理图的可视范围。 (四)器件选择按钮
P: 对象选择 按钮,单击P按钮,会弹出器件选择窗口,在 Kerywords 栏中输入器件名,可在器件库中选择元件。
L:库管理 按键。
(五)工具箱 ISIS中提供了许多图标工具按钮,如图:
元件按钮
电压探针

使用软件Proteus仿真51单片机的基本方法

使用软件Proteus仿真51单片机的基本方法

使用软件Proteus仿真51单片机的基本方法初学者学习单片机的一个比较好的方法是进行实践。

可以采用单片机芯片,也可以采用软件仿真。

Proteus是比较常用的仿真软件,下面介绍如何使用Proteus 软件仿真51系列单片机。

添加最主要的仿真元件——单片机。

点击左侧工具栏中的Component Mode(元件模式)按钮,再单击Pick form Libraries(从库中选择)按钮,如下图红框所示位置。

该按钮仅显示一个字母“P”。

会弹出如下图所示对话框,在Keywords文本框(下图红框区域)输入“89C”,就可以在右侧看见大量的单片机型号。

Proteus7.8中可以仿真89C51/89C52以及89C55等多种型号的单片机。

可以根据自己仿真的单片机型号进行选择。

对于初学者,选择89C51就可以。

点击89C51后,点击上图中的OK按钮。

此时鼠标会变成一支笔的形状,在绘图区域的蓝色框内直接点击鼠标左键,鼠标会变为一个单片机的预览,此时将鼠标移动到合适的位置点击鼠标左键,就可以将单片机放置在该位置。

至此我们就已经将AT89C51单片机放置到仿真软件中了。

搭建单片机最小系统读者注意,单片机最小系统可以说是单片机可以正常运行所需要最少的元件组成的系统。

在仿真软件Proteus中,即使没有搭建单片机最小系统,单片机也可以正常仿真运行。

为了让仿真图更加规范合理,建议大家把单片机最小系统搭建出来。

添加电容、电阻以及晶振等电子元件方法类似于单片机,这里不再赘述。

绘制电路图如下图所示。

其中X1为晶振,关键词为“crystal”;C1和C2为瓷片电容,关键词为“cap”,C3为有极性电容,一般为电解质电容,关键词为“cap-elec”;R1为电阻,关键词为“res”。

在上图所示的单片机最小系统中,搭建的自动复位电路需要连接VCC以及GND。

点击左侧工具栏中Terminal Mode按钮,选择按钮右侧的POWER或GND就可以添加了,如下图所示,添加方法与添加元件方法类似。

Proteus仿真软件使用方法

Proteus仿真软件使用方法

实验八Proteus仿真软件使用方法1.实验目的:(1)了解Proteus仿真软件的使用方法。

(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。

2.实验要求:通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。

3.实验容:(1)Proteus 仿真软件介绍Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES 两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。

它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。

通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。

图8-1是Proteus ISIS的编辑窗口:图8-1 ISIS的编辑界面图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。

选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面:图8-2 元器件库选择界面在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源- Clock, 运放- CA3140等),就会在图8-2中间的大空白框列出你所需的一系列相关的元件。

此时,你可用鼠标选中你要的元件,则图8-2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图8-1左侧的“对象选择窗口”中(参见图1左侧下方框)。

史上最详细!单片机的Proteus虚拟仿真解析

史上最详细!单片机的Proteus虚拟仿真解析

史上最详细!单片机的Proteus虚拟仿真解析1.引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。

以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。

在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。

利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。

2.Proteus介绍Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS (Intelligent Schematic Input System)和虚拟系统模型VSM (Virtual Model System);另一部分是高级布线及编辑软件ARES (Adv-Ancd Routing and Editing Software)也就是PCB.2.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。

Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

可以按照设计的要求选择不同生产厂家的元器件。

此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。

除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。

支持图形化的分析功能等。

Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。

Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。

proteus单片机仿真

proteus单片机仿真

第 1 章 PROTEUS概述
图1.3.3 图表颜色设置
第 1 章 PROTEUS概述 3. 元件图形设置 选择主菜单中的Template→Set Graphics Styles,将 弹出如图1.3.4所示的对话框。通过此对话框可设置元 件(COMPONENT)、引脚(PIN)、端口(PORT)、终端 (TERMINAL)等的颜色。
第 1 章 PROTEUS概述
图1.2.8 PROTEUS 7.4 SP3版本
第 1 章 PROTEUS概述
图1.2.9 PROTEUS升级管理器
第 1 章 PROTEUS概述 目前可升级的最高版本为7.8 SP2,选中最新版本所在 行,点击Install,便可升级到7.8 SP2最新版本。升级后的界 面如图1.2.10所示,显示版本为7.8 SP2。
1.2.2 安装步骤
(1) 插入安装光盘,出现光盘自动运行界面,如图1.2.1 所示。注意:安装时请勿插入软件加密狗,直到安装完毕后 再插入加密狗。
第 1 章 PROTEUS概述
图1.2.1 PROTEUS安装界面图
第 1 章 PROTEUS概述 ● About the CD:介绍光盘内容。 ● Install Proteus:安装 PROTEUS。 ● View Documents:查看光盘中的说明文档。 ● Labcenter Website:访问Labcenter公司网站。
图1.3.5 节点设置
第 1 章 PROTEUS概述 编辑环境的设置还包括图形文本的设置(Set Graphics Text)等。如果设置完毕后,想要回到PROTEUS的初始设置, 则可选择主菜单中的Template→Apply Default Template,在 出现的对话框中点击“OK”,即可恢复到PROTEUS默认的 编辑环境。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要基于Proteus软件的单片机自动取款机(ATM)仿真系统设计,硬件电路需要单片机开发板和12864液晶显示器,能够实现自动取款的全部功能。

通过在在计算机上用C语言编程来将生成文件下载到单片机控制其它外围器件工作。

但是在EDA新技术的引入使得系统的开发成本降低而且灵活性增强,在Proteus软件中都可以找到上述硬件元件,通过电路图连接完全可以实现仿真功能。

在Keil软件环境下通过C语言编程,编译调试后生成单片机下载的HEX(十六进制)文件,硬件电路图是在Proteus 软件中进行建模。

通过Proteus和Keil结合建立的虚拟系统实现联合仿真,单片机实时控制12864LCD实现汉字的显示,扫描键盘从而达到用户与ATM的信息交换,使得ATM系统设计变为现实。

ATM系统,是一个有数据库组成的应用系统。

用户的初始信息通过E2PROM存放,这样免去了掉电丢失数据的弊端。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码、账户冻结、密码保护、自动存款及转账功能。

可以仿真实现最基本的银行服务。

关键词:ATM;51单片机;Proteus;Keil;12864LCD;E2PROM;虚拟仿真AbstractAutomatic Teller Machine system is based on Proteus 51-microcontroller.Hardware circuit includes microcontroller developer board and 12864LCD display. All features of ATM can be well worked on it. Programming on PC then download created file to 51-microcontroller to control outer circuit. However, with the introduction of EDA, new technology, which lower the cost of system exploration and enhance flexibility. Programing with C language, compiling and debugging under the environment of Keil software,creating a HEX file which will be downloaded by microcontroller later. Hardware schematic diagrams are established with Proteus software. According to the combination of Proteus and Keil , making a virtual system , successfully achieve united simulation. Microcontroller controls 12864LCD to display Chinese words, scans keyboard to exchange information between customer and ATM, which makes virtual ATM system becoming reality.ATM system includes databases, which are used for the storage of customers’ initial information, leading to emerge from the disadvantage of data lost when power cuts. The functions of ATM are as follows: withdraw cash, search client and remaining modify password, client freezed, password protection, automatic deposit and transfer client. This system simulates to realize the bank’s fundamental services.Keywords:ATM;51microcontroller;Proteus;Keil;12864LCD;E2PROM;virtual simulation目录引言 (1)第一章 Proteus软件的单片机ATM系统 (3)1.1 Proteus软件的ATM概述 (3)1.2 Proteus软件的ATM安全性分析 (3)1.3 Proteus软件的ATM稳定性分析 (3)1.4 Proteus软件的ATM主要功能分析 (3)第二章 Proteus软件仿真的硬件系统设计 (5)2.1 MCS-51系列单片机 (5)2.1.1 AT89C51单片机 (5)2.1.2 单片机应用系统硬件设计 (5)2.2 串行传输 (5)2.3 I2C串行总线 (6)2.4 E2PROM (8)2.5 12864液晶显示模块 (10)2.5.1引脚功能 (10)2.5.2 12864DDRAM存储器 (10)2.5.3 显示控制控制方法 (11)2.6 蜂鸣器 (12)2.7 键盘 (12)2.7.1 键的识别 (12)2.7.2 键盘扫描流程图 (13)2.8 ATM硬件原理图 (13)第三章 Proteus单片机仿真软件系统设计 (15)3.1 C-51简介 (15)3.1.1 C-51具有特点 (15)3.1.2 C-51具有优点 (15)3.1.3 C-51独特地方 (15)3.2 ATM自动取款机系统流程 (16)3.3 程序介绍 (16)3.4 PCtoLCD2002扫描软件 (17)3.5 Proteus软件 (19)3.5.1 Proteus概述 (19)3.5.2 Proteus具有特点 (19)3.5.3虚拟工具箱 (20)3.6 Keil软件 (21)3.6.1概述 (21)3.6.2创建工程 (22)第四章 Proteus软件仿真结果 (23)第五章结论 (25)参考文献 (26)附录 (27)谢辞 (34)引言随着大规模集成电路的发展,组成微型计算机的各个功能部件:中央处理器、RAM、ROM、EPROM、并行串行输入输出I/O接口电路、定时器/计数器集、中断控制等部件成到一块半导体芯片上,构成一个完整的微型计算机[8]。

由于它具有功能强、体积小、功耗低、价格便宜、工作可靠、使用方便灵活等特点,因此特别适合工业控制或控制类有关的数据处理系统,愈来愈广泛的应用到自动控制、智能化仪表以及家用电器等各个领域。

由于其结构及应用特点,不同于通用的微型计算机,它的执行命令时间是可以计算出时间。

目前生产单片机的厂商很多Intel、Motorola、Philips等公司,产品达上百种,虽然其名称各异但原理大同小异。

单片机在智能仪表方面的应用有,利用单片机改造原有的测量控制仪表,促进仪表像数字化、智能化方向发展。

A/D转换器的集成,通过单片机软件的编写程序来控制温度、压力、流量、浓度等的测量显示。

而且还具有复杂运算、误差修正、线性化、零点漂移处理、数字滤波等功能。

其实具有很强的灵活性和实践性。

Proteus就是一款很好的单片机仿真软件,通过学习这款软件不仅能够掌握一些硬件电路还能更深刻的理解单片机,从而达到理论与实践相结合。

增强感性认识,在仿真的同时培养动手能力,创新能力和综合知识运用。

而且仿真技术的发展带来很大的经济效益。

例如在航空工业方面,采用仿真技术使大型客机的设计和研制周期缩短20%。

现代仿真技术应用于各个工程领域,对于社会经济等系统,很难在真实的系统上进行实验。

因此,利用仿真技术来研究这些系统就具有更为重要的意义。

而51单片机又是最基础的所以要扎实掌握原理,加上EDA软件的鼎力相助,使得学习单片机变得更有意思。

Keil软件可以实现汇编和C语言的编程,刚学单片机学的是汇编语言,感受是命令比较多而且很接近硬件,可移植性差。

单片机C语言相比汇编语言是高级语言,很大提高编程速度而且对硬件了解不是很高。

编程环境接近Visual C++ 6.0,不同就是需要建立工程然后添加C文件,可以进行软件仿真,断点设置,全速运行,单步运行,程序中的延时函数是通过软件仿真调试成功。

仿真ATM自动取款机,要实现的功能是就像银行那里的功能,基本功能有存款,修改密码,查询余额,转帐和自动存款。

程序思想就是源于校园的自动取款机的流程而设计。

插卡后输入密码然后进行一系列业务处理最后退卡完成交易。

硬件电路设计有12864LCD对汉字进行显示,并且掌握了汉字编码原理,用软件生成见后边软件介绍。

IIC总线对E2PROM的数据,指令的写入和读出程序编写。

键盘扫描程序用的是C语言实现的。

总之都是利用C语言进行控制,程序设计比较大时流程图的作用就显得十分重要,将每个函数写成块这样就可以轻松调用不至于乱,例如显示子函数,键盘扫描子函数等。

51单片机掌握好有助于以后的PIC,DSP,ARM,FPGA,CPLD和嵌入式系统的学习,目前来看单片机在自动控制领域应用是非常广泛的,单片机的前景是十分光明。

第一章Proteus软件的单片机ATM系统1.1 Proteus软件的ATM概述Proteus软件仿真ATM系统,ATM是由CPU控制的持卡人自我服务型的金融专用设备。

该系统是一个较典型的银行存取款模拟系统,并采用软件仿真其效果,使用者被假定为银行信用卡用户,系统应该具有安全、稳定、功能齐全的特点。

满足银行自动取款机一般功能和服务。

ATM自动取款机系统,是一个有终端机,ATM系统,数据库组成的应用系统。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。

ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。

可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。

减少了用户办理业务的等待时间,用户可以随时随地可以随心所欲存取款,并且操作简单易懂。

当今信息时代,时间就是金钱,提高了用户的办理效率。

1.2 Proteus软件的ATM安全性分析银行存取款机的数据涉及到取款机内储存的三名用户,数据量较大且对保密性的需求很高,所以要通过设置密码等手段确保数据在用户未用正确密码登录时不能被随意的删减和修改。

相关文档
最新文档