ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:219.76KB ,
资源ID:2944282      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2944282.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机.docx

1、单片机一、设计目的学习单片机的目的是能把它应用到实时控制系统以及仪器仪表和家用电器等各个领域,单片机应用技术这门课程的实验课、综合设计和毕业设计是既相互联系又有区别的三大实践性教学环节,而且是循序渐进的。实验课是穿插在讲课过程中进行的,每讲完一部分内容,跟上一个实验,及时巩固加深学过的理论知识;综合设计是针对单片机应用技术课程结束后的一个总结,让学生自己设计出一个简单的单片机应用系统,用PROTUES完成系统仿真,然后独立搭出硬件线路,编写出相应的软件应用程序,经过调试,运行出结果。目的是初步培养学生综合运用所学单片机理论知识的能力和应用学过的单片机理论知识解决实际问题的能力,也为最后的毕业设

2、计打下一定的基础。学生应提交相应的电子和打印规范文档,实验结果、程序源代码和原理图等。通过综合设计的训练,培养学生实际分析问题、编程和动手能力,最终目标是想通过综合设计的形式,帮助系统掌握该门课程的主要内容。二、设计内容1 基本电路:交流电供电2 基本电路:电池、可调电阻、直流电流表、直流电压表3 逻辑测试4 使用ADC、示波器和仿真表5 LED显示器的选通并显示字符6 基于PROTEUS的多功能数字电子钟3、设计步骤 例1基本电路:交流电供电1. 点击 Pick Devices按钮,打开标题为Pick Devices的对话框。2. 在Category列表框中 , 找到Simulator Pr

3、imitives,这是会在Results中列出该类的所有元件,ALTERNATOR就是我们要找的交流电电源3. 在Results中双击 ALTERNATOR 会在The Object Selector(元件列表框)列出ALTERNATOR。- 同样的方法添加LAMP,在CategoryOptoelectronics- LAMP。- 单击 Pick Devices 对话框的OK按钮结束添加元件。- 在The Object Selector(元件列表框)单击选择ALTERNATOR。- 接着在位于主窗口左下角的角度调整工具条中设置在原理图窗口中ALTERNATOR的方。4.放置ALTERNATOR

4、到原理图窗口中,- 用同样的方法放置 LAMP。- 配置元件参数。5.单击 Pick Devices 对话框的OK按钮结束添加元件。6.在The Object Selector(元件列表框)单击选择ALTERNATOR7.- 接着在位于主窗口左下角的角度调整工具条中设置在原理图窗口中ALTERNATOR的方向(这一步也可以在放置元件后再设置)8. 放置ALTERNATOR到原理图窗口中9. 用同样的方法放置 LAMP。10. 配置元件参数。a- 在原理图窗口中先右击再左击 ALTERNATOR,出现Edit Component对话框,参数设置(第一、二个参数与仿真无关,起到标识作用)b- 单击

5、 OK完成。c.- 同样方法设置LAMP的参数。例2基本电路:电池、可调电阻、直流电流表、直流电压表1.- 新建一个文档2.- 使用Pick Devices添加以下元件BATTERY LAMP POT-LIN3.- 添加直流电流表和直流电压表 a.- 找到这个工具条,红色圈的那个就是INSTRUMENTS了。 b.- 单击这个按钮,会在The Object Selector列出所有仪表,其中的DC AMMETER和DC VOLTMETER是我们要用到的,选中DC AMMETER并在原理图的适当位置单击左键,这样DC AMMETER就被放置到原理图中了。同理放置DC VOLTMETER。最终电路

6、:c.- 设置DC AMMETER和DC VOLTMETER,DC AMMETER和DC VOLTMETER 不会根据电路的实际电流、电压值来自动改变量程,需要手动修改。操作跟修改一般元件一样。例3逻辑测试添加以下元件: A-INPUT = LOGICSTATEB-INPUT = LOGICSTATEQ-OUTPUT = LOGICPROBE(BIG)AND = AND例4.- 使用ADC、示波器和仿真表格.1. 添加以下元件:ADC0808 555 POT-LIN LED-BLUE 电阻添加GROUND、POWER添加示波器单击绿色的那个按钮,在元件列表中会有OSCILLOSCOPE添加仿真

7、图表单击蓝色的那个按钮,在元件列表中会有ANALOGUE放置仿真图表的方法:选中ANALOGUE后,在原理图中单击左键,并按住左键拖动,这是你会看到一个虚线方框,释放左键后就可以看到ANALOGUE了。2. 按照上图连接好元件3. 设置参数,这里主要介绍一下示波器和仿真表格的设置 a. 示波器设置,示波器需要运行仿真后才可以对其参数进行设计 b.设置仿真图表,使用仿真图表前,我们要在需要观测的信号线上添加一个电压探针,要观测的信号是555输出的波形,找到这条连接线,点击了电压探针符号后再在这条连接线的某一个位置上单击一下左键,这样就添加了一个电压探针,接着为这探针起个名字(A)。将这个电压探针

8、跟仿真图表关联起来。 C 配置仿真表格ANALOGUE,默认ANALOGUE的仿真时间是0S1S,这个时间对本例来说我们需要0S2mS。开始仿真ANALOGUE了,到菜单Graph,单击Simulate Graph,等待仿真完成后就会看到图例5 LED显示器的选通并显示字符1、将所需元器件加入到对象选择器窗口。 2、经过以上操作,在对象选择器窗口中,已有了7SEG-MPX6-CA-BLUE、AT89C51、RES三个元器件对象,若单击AT89C51,在预览窗口中,见到AT89C51的实物图,若单击RES或7SEG-MPX6-CA-BLUE,在预览窗口中,见到RES和7SEG-MPX6-CA-B

9、LUE的实物图。此时,我们已注意到在绘图工具栏中的元器件按钮处于选中状态。3、放置元器件至图形编辑窗口4、放置总线至图形编辑窗口单击绘图工具栏中的总线按钮,使之处于选中状态。将鼠标置于图形编辑窗口,单击鼠标左键,确定总线的起始位置;移动鼠标,屏幕出现粉红色细直线,找到总线的终了位置,单击鼠标左键,再单击鼠标右键,以表示确认并结束画总线操作。此后,粉红色细直线被蓝色的粗直线所替代。5、元器件之间的连线6、元器件与总线的连线7、给与总线连接的导线贴标签例6 基于PROTEUS的多功能数字电子钟1、编辑硬件图2、写入代码3、校验完成4、硬件图例1例2例3 例4例5例6五、软件程序例5#define

10、LEDS 6#include reg51.h/led灯选通信号unsigned char code Select=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char code LED_CODES= 0xc0,0xF9,0xA4,0xB0,0x99,/0-4 0x92,0x82,0xF8,0x80,0x90,/5-9 0x88,0x83,0xC6,0xA1,0x86,/A,b,C,d,E 0x8E,0xFF,0x0C,0x89,0x7F,0xBF;void main() char i=0; long int j; while(1) P2=0; P1=LED_C

11、ODESi; P2=Selecti; for(j=3000;j0;j-); /该LED模型靠脉冲点亮,第i位靠脉冲点亮后,会自动熄来头。/修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。 i+; if(i5) i=0; 例6#include #define uchar unsigned char #define uint unsigned int#define ON 1 /定义1为打开#define OFF 0 /定义0为关闭#define LEDBus P1 /定义p1口为数码管段码口sbit MIAO =P12; /秒点sbit HOU_S=P30; /时十位位选sbit H

12、OU_G=P31; /时个位位选sbit MIN_S=P32; /分十位位选sbit MIN_G=P33; /分个位位选sbit H_KEY=P35; /时调整键sbit M_KEY=P37; /分调整键sbit f=P34;bit SHAN; /闪烁标志位uchar second,minute,hour; /定义秒、分、时寄存器uchar code LEDTab=0x14,0xd7,0x4c, /数码管段码表0-90x45,0x87,0x25,0x24,0x57,0x04,0x05;void delay(uchar t); /延时函数void init(); /初始化函数void displ

13、ay(); /显示函数void min_tiao(); /分调整函数void hou_tiao(); /时调整函数void main() init(); /调用初始化函数 while(1) /主程序循环 if(!H_KEY) hou_tiao(); /如果时调整键按下(为0),调用时调整函数 if(!M_KEY) min_tiao(); /如果分调整键按下(为0),调用分调整函数 display(); /调用显示函数 if(minute=0) if(second=5) f=!f; void init() TMOD=1;TH0=0X3C;TL0=0XB0; /定时器0模式1,50毫秒 ET0=1

14、;TR0=1;EA=1; /开定时器0中断、启动定时器0、开总中断void display() LEDBus=LEDTabminute%10; /分个位送数码管显示 MIAO=SHAN; /秒点闪烁 MIN_G=ON; /打开分个位位选 delay(1); /显示1毫秒 MIN_G=OFF; /关闭分个位位选 LEDBus=LEDTabminute/10; /分十位送数码管显示 MIAO=SHAN; /秒点闪烁 MIN_S=ON; /打开分十位位选 delay(1); /显示1毫秒 MIN_S=OFF; /关闭分十位位选 LEDBus=LEDTabhour%10; /时个位送数码管显示 HOU_G=ON; /打开时个位位选 delay(1); /显示1毫秒 HOU_G=OFF; /关闭时个位位选 LEDBus=LEDTabhour

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1