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引脚,其实它们被隐藏了,在使用时可以不加电源。

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

相关文档
最新文档