p1口控制转弯灯剖析.docx
《p1口控制转弯灯剖析.docx》由会员分享,可在线阅读,更多相关《p1口控制转弯灯剖析.docx(12页珍藏版)》请在冰豆网上搜索。
p1口控制转弯灯剖析
-------------------------装订线---------------------------
专业方向论文
题目:
单片机p1口控制转弯灯实验
院系电子信息工程学院
专业光电信息工程
学号1208451063
姓名胡章志
2015年6月15日
摘要
1)摘要正文
本设计基于Protuse自动设计能力、高速有效的编辑功能、简捷方便的设计过程管理PDM,并且可以完整地实现单片机的仿真,从单片机概念设计到生成物理生产数据的全过程,以及这中间的所有分析、仿真和验证功能详细阐述了电路原理图的绘制、实现功能。
本设计还基于keil软件的使用编写程序,生成可被protuse软件识别的.hex文件,实现自己设计想要的功能。
以及在自学过程和制作过程中所遇到的种种问题。
并且给了相应的解决方法。
2)关键词:
Protuse软件;keil软件;仿真;程序;
目录
1、单片机1
1.1、单片机介绍1
1.2、单片机分类1
1.3、单片机应用:
1
1.4、AT8951系列优点:
2
1.7单片机类型3
1.8、中国主要应用51单片机的总类4
2、Proteus软件5
2.2、独有特点5
2.3功能模块5
2.5、丰富资源7
3、Keil8
3.1、系统概述8
3.2、KeilC51单片机软件开发系统的整体结构9
4、本组设计10
4.1、以下是本人利用protuse软件的绘图10
总结11
参考文献12
附录13
附录A13
附录B13
1、单片机
1.1、单片机介绍
单片机在一块半导体材料上集成了CPU、存储器、I/O接口等各种功能部件,具有体积小、功耗低、价格便宜、功能强、可靠性好和使用方便灵活的特点,使单片机在工业控制、数据采集、智能化仪表、办公自动化以及家用电器方等各个领域中得到了越来越广泛的应用。
将单片机技术与测量控制技术相结合,可以使工业自动控制变得更方便、控制效果更佳。
在机电一体化方面,单片机也发挥了它的特殊作用,使许多传统产业发生了巨大的变化,使许多工业产品体积缩小,能耗降低,功能增加,操作方便。
由于单片机在如此广泛的领域里获得了应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,其中,MCS-51系列单片机以其优越的性能、成熟的技术和高可靠性,占领了工业控制的主要市场。
特别是在我国,MCS-51系列单片机,成为单片机应用领域的主流。
1.2、单片机分类
目前的单片机分通用型和专用型两种。
MCS-51系列单片机是属于通用型的单片机,通用型的单片机把开发资源全部公开,用户可以根据自己的应用系统进行设计,适用面广,应用灵活。
制造单片机的材料也从TTL材料发展到CMOS材料,通常工作电压是5V,如5V±5%或5V±10%,也有3V/3.3V电压的产品,更低的可在1.5V工作。
现在单片机又出现了宽电压范围型,在2.5~6.5V内都可正常工作。
低功耗是单片机所追求的一个指标,目前低功耗单片机的静态电流可以低至μA或nA级。
有的单片机还有等待、关断、睡眠等多种工作模式以降低功耗。
单片机的低功耗在智能化仪表中有重要的应用。
封装有双列直插和贴片系列,体积变得更小,另外,单片机的时钟频率也达到20MHz以上。
单片机的种类很多,在工业中应用最广泛的是MCS-51系列单片机,MCS-51系列的片内程序存储器分掩膜ROM、EPROM和无ROM存储器三种。
一般情况下,片内有掩膜ROM的芯片用于程序已经固定的大批量生产场合。
片内带EPROM的适合于做样机,便于修改程序,做试验。
而外接EPROM的适用于做小批量产品或用于ROM大于8K的场合。
1.3、单片机应用:
1、单片机在数据处理中的应用
单片机在应用中的数据处理有数制转换的处理、查表计算、函数计算等多种运算。
可以利用单片机进行函数计算来处理数据,可以进行矩阵运算和微积分之类的复杂运算。
2、单片机在工业控制中的应用
在工业控制中的控制器,可以应用软件的方法,实现复杂的控制过程,改变控制算法方便。
有丰富的逻辑判断和位操作指令,可以在开关量控制、顺序控制、逻辑控制中发挥作用。
目前,在加热控制、电机控制、锅炉控制、汽车电器、数控机床等各个领域,单片机得到了广泛的使用,并取得了很好的效果。
3、智能化仪器
在仪表中引入单片机后,可以利用单片机完成数据的采集、处理、零位校正、数字显示、报警、记录打印等工作。
使仪表具有智能化的功能,有温度计、流量计、气体分析仪、转速表、电子秤、血压计、万用表、电度表等。
4、家用电器
在家电产品中,为了改善产品的性能,使操作使用更人性化,在电冰箱、微波炉、空调、电视机、音响设备、洗衣机、玩具中,大量使用了单片机技术。
单片机正在迅速渗透到各个方面,改变了原有产品的现状。
1.4、AT8951系列优点:
1、AT89C51系列:
内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。
它的处理对象不是字或字节而是位。
虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。
2、AT89C51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00H~7FH),使用极为灵活。
这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。
而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。
3、AT89C51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。
八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。
而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。
作乘法时,只需一条指令就行了,即MULAB(两个乘数分别在累加器A和寄存器B中。
积的低位字节在累加器A中,高位字节在寄存器B中)。
很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
4、AT89C51系列中,还有一条二进制-十进制调整指令DA,能将二进制变为BCD码,这对于十进制的计量十分方便。
而在其他的单片机中,则也需调用专用的子程序才行。
5、AT89C51系列I/O口特点:
AT89C51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。
当该脚作输出脚使用时,则为高电平或低电平均可。
低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十μA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力。
其原因是高电平时該脚也同时作输入脚使用,而输入脚必须具有高的输入阻抗,因而上拉的电流必须很小才行。
作输出脚使用,欲进行高电平驱动时,得利用外电路来实现,如上拉电阻,I/O脚不通,电流经R驱动LED发光;低电平时,I/O脚导通,电流由该脚入地,LED灭(I/O脚导通时对地的电压降小于1V,LED的域值1.5~1.8V)。
1.7单片机类型
STC单片机:
STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强.
PIC单片机:
是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片.
EMC单片机:
是台湾义隆公司的产品,有很大一部分与PIC8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差.
ATMEL单片机(51单片机):
ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机.
PHLIPIS51PLC系列单片机(51单片机):
PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求.
HOLTEK单片机:
台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品.
TI公司单片机(51单片机):
德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合
松翰单片机(SONIX):
是台湾松翰公司的单片,大多为8位机,有一部分与PIC8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMWADC内振内部杂讯滤波。
缺点RAM空间过小,抗干扰较好。
1.8、中国主要应用51单片机的总类
自从单片机诞生至今,已经发展到70多个系列近500个机种。
目前国内外比较有名,而且影响较大的公司和它们的产品如下:
Intel公司的MCS-48,MCS-51,MCS-96系列产品;
Motorla公司的6801、6802、6803、6805、68HCC11系列产品;
Zilog公司的Z8、super-8系列产品;
仙童公司和Mostek公司的F8、3870系列产品;
NEC公司的μCOM-87系列产品;
Rockwell工地的6500、6501系列产品。
由于它们各具特色,因而在国际市场上都有一定的地位。
据国外资料,Intel公司的单片机在市场上占有量约为67%,其中MCS-51系列产品又占54%。
在我国所应用的单片机中仍然以MCS-48,MCS-51,MCS-96为主要系列。
如下图1-1
图1-1AT89C51
2、Proteus软件
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
2.1、功能介绍
Proteus软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
(1)原理布图
(2)PCB自动或人工布线
(3)SPICE电路仿真
2.2、独有特点
(1)互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
2.3功能模块
(1)智能原理图设计(ISIS)
丰富的器件库:
超过27000种元器件,可方便地创建新元件;
智能的器件搜索:
通过模糊搜索可以快速定位所需要的器件;
智能化的连线功能:
自动连线功能使连接导线简单快捷,大大缩短绘图时间;
支持总线结构:
使用总线器件和总线布线使电路设计简明清晰;
可输出高质量图纸:
通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。
(2)完善的电路仿真功能(Prospice)
ProSPICE混合仿真:
基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;
超过27000个仿真器件:
可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;
多样的激励源:
包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;
丰富的虚拟仪器:
13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;
生动的仿真显示:
用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;
高级图形仿真功能(ASF):
基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。
(3)独特的单片机协同仿真功能(VSM)
支持主流的CPU类型:
如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;
支持通用外设模型:
如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信
实时仿真:
支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;
编译及调试:
支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。
(4)实用的PCB设计平台
原理图到PCB的快速通道:
原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;
先进的自动布局/布线功能:
支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;
完整的PCB设计功能:
最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览;
多种输出格式的支持:
可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。
2.5、丰富资源
(1)Proteus可提供的仿真元器件资源:
仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。
(2)Proteus可提供的仿真仪表资源:
示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。
理论上同一种仪器可以在一个电路中随意的调用。
(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。
这些都尽可能减少了仪器对测量结果的影响。
(4)Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
仿真功能
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
3、Keil
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilC51开发系统基本知识KeilC51开发系统基本知识
3.1、系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
3.2、KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,如图
(1)所示,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项
*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
*仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
4、本组设计
我们这个小组的设计为单片机机控制开光的LED灯
4.1、以下是本人利用protuse软件的绘图
图4-9整体布局
总结
通过1周的单片机实训,我学习了Proteus软件和keil软件的基础知识,学习了运用Proteus软件进行绘图、仿真和运用keil软件编写程序。
在这个过程中巩固了已学过的单片机的基础知识,为以后基础课和专业课程的学习建立初步基础并提高自己的实践能力。
通过这次一个综合设计训练的机会,我学到了很多的知识,掌握了Proteus软件和keil软件系统的相关知识,按自己步骤完成了设计,画出了原理图和仿真图,掌握了有关电路的画图方法,对它的原理和作用有了进一步的了解,虽然在这次设计中遇到了很多困难,但是经过我们组成员之间的相互配合,相互讨论,在图书馆借一些与有关设计相关的书籍,不懂的方面向其老师同学等周围的人组请教,得到了他们的大力指导与帮助。
这都经过我们小组的团结合作、相互配合、使我们克服了每次遇到的困难。
这次设计,锻炼了解决实际问题的本领。
虽说我们设计的时间上有些短暂,但我们并没有因为这些困难而不认真做,相反我们都在利用课余时间做这个设计竟自己最大的努力去完成设计,去查找相关的资料。
同时我们还能很好的分工,也体现了我们的团队精神。
但这其中也有不足之处因为时间仓促我们设计的电路不是很专业,由于时间有限,在设计过程中难免出现一些疏漏和错误,望各位老师和同学给予指导,在以后的设计中争取做的更好。
再有由于我们欠缺很多专业知识,设计上出现了很多问题,但经过努力和探讨请教还是得到了一定的解决,做出了我们的产品“单片机开光控制LED”。
总之经过共同努力还是完成了预期的实训任务。
参考文献
[1]主编,邓木生,《电子技能训练》机业出版社械。
[2]主编,孙余凯,吴鸣山等,《555时基电路识图》电子工业出版社。
[3]主编,王安成,《模拟电子技术实践》大连理工大学出版社。
[4]主编,顾永杰,《电工电子技术实训教程》上海交通大学出版社。
[5]主编,周国运,《单片机原理及应用》中国水利水电出版社出版社。
附录
附录A
程序清单
//==时间:
2011年06月01日
//==地点:
新疆工业高等专科学校仓校
//==作者:
杨佳
//==实现功能
#include
//====定义接口====
sbitSw1=P1^0;
sbitSw2=P1^1;
sbitLED1=P1^5;
sbitLED2=P1^6;
//====主程序====
voidmain()
{
while
(1)
{
LED1=S1;
LED2=S2;
}
}
附录B
元件清单
AT89C51一个
电阻若干
LED灯两个
开关两个
晶振(12MHz)
电容两个