汽电13班单片机实训指导书

上传人:灯火****19 文档编号:124536318 上传时间:2020-03-12 格式:DOC 页数:16 大小:469.51KB
返回 下载 相关 举报
汽电13班单片机实训指导书_第1页
第1页 / 共16页
汽电13班单片机实训指导书_第2页
第2页 / 共16页
汽电13班单片机实训指导书_第3页
第3页 / 共16页
汽电13班单片机实训指导书_第4页
第4页 / 共16页
汽电13班单片机实训指导书_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《汽电13班单片机实训指导书》由会员分享,可在线阅读,更多相关《汽电13班单片机实训指导书(16页珍藏版)》请在金锄头文库上搜索。

1、 单片机原理与接口技术实训指导书适用班级: 汽电13-1、2班 指导教师: 李 萍实习时间: 2014/6/30 2014/7/4 浙江水利水电学院机汽分院单片机原理与接口技术实训任务书 一、实训目的、要求单片机原理与接口技术实训是汽电专业学生学习该课程后,进行的一次全面的综合训练,以达到以下的目标要求:1 进一步熟悉和掌握AT89C51单片机的结构、工作原理、指令系统、中断系统及定时系统等。2 掌握AT89C51单片机的接口技术及相关外围芯片的外特性,控制方法。3 掌握以单片机核心的电路设计的基本方法和技术。4 利用开发软件Proteus与Keil软件,完成相应的硬件电路原理图、C语言软件程

2、序流程图及程序清单,并进行系统调试,逐步掌握模块化程序设计方法和调试技术。5 使学生了解开发单片机应用系统的全过程,为今后从事汽电产品的开发、生产、管理及维护工作打下一定的基础。二、计划安排 地点:工训中心313 日期汽电13-1班汽电13-2班时间及任务安排630(一)8:1010:40 ,12:00 14:00 14:0016:30 ,18:00 20:00 课题一设计与调试7. 1(二)8:1010:40 ,12:00 14:00 14:0016:30 ,18:00 20:00课题二设计与调试7. 2(三)8:1010:4014:3017:00课题三设计与调试7. 3(四)14:0016

3、:30 ,18:00 20:008:1010:40 ,12:00 14:00 课题四设计与调试7. 4(五)14:0016:30 ,18:00 20:008:1010:40 ,12:00 14:00 答辩,撰写报告三、课题名称及设计要求:详见指导书。五、实训成果及要求设计说明书一份,包括:功能、硬件电路原理图、软件设计思路、程序清单。设计说明书要求:步骤清楚 、层次分明。设计图纸要求:铅笔绘制,画面整洁,线条、字体清晰,符合工程制图要求。六、考核方法根据实训成果(30%)、答辩表现(40%)和平时表现(20%)分别按优、良、中、及格、不及格五级记分评定。七、参考资料单片机应用技术(C语言版)

4、王静霞 电子工业出版社单片机应用技术 李秀忠 人民邮电出版社单片机课程设计 蔡明文 华中科技大学出版社 指导老师:李萍 2014年5月单片机原理与接口技术实训指导书课题一 0999计数器的设计1、预备知识:数码管的显示方法1)数码管的工作原理 数码管由8个发光二极管构成,通过不同的组 合可用来显示数字0 9、字符A F、H、L、P、U及小数点“.”。数码管显示器根据公共端的连接方式,可分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(所有阳极连在一起)。以共阳极数码管为例,8个发光二极管的阳极连接在一起,其共阳极接高电平(+5V),其它引脚接段驱动电路输出端。当某段为低电平时,

5、该端所连接的字段导通并点亮,根据发光段的不同组合显示数字或字符。 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“1”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。 2)数码管的字形编码要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。共阴极和共阳极数码管的字形编码各不相同,见下表: 3) LED数码管的静态显示方式 静态显示就是显示驱动电路具有输出锁存功能,单片机要将所显示的数据送出去后,数码管始终显示该数据(不变),CPU不再控制LED。到下一次显示时,再传送一次新的显示数据。静态显示的优点:显示的

6、数据稳定,无闪烁,占用CPU时间少。并行接口电路中每一个数码管需要由一个8位输出接口控制,数码管的公共端按共阴或共阳极分别接地或VCC。静态显示的缺点:当显示位数较多时需要并行I/O接口较多。2、功能:功能1:使用单片机外部中断实现099的加法计数,并采用两个共阴极LED 组成的显示屏将其显示出来。其中P0、P1口的8个引脚分别接到加法计数器的个位和十位LED数码管的ag及dp端。每按一次K1(接到外部中断0)进行加法计数,当加到99时,再按加数按钮无效,数据仍显示为99。清零键接P3.6,按下清零键实现计数清零。功能2:在功能1的基础上,实现099的加减计数。硬件上增加一个按键 K2(接到外

7、部中断1)进行减数,当减到00时,减数按钮无效,数据仍显示00。功能3:在功能2的基础上,实现0999的加减计数。硬件上增加P2口接到计数器的百位显示数码管输出端。3、设计分析(功能一):8段LED数码管输出采用静态显示方式。硬件上将AT89C51的P0、P1口与共阴极LED数码管的8个引脚相连。软件上通过Show_Count_On_DSY()子程序可实现计数值个位和十位的数据分离与独立显示。电路中接按键K1到外部中断0作为加数控制。硬件上按键输入时要并联一个10K欧的上拉电阻才能接至输入端。软件上要注意对数据的判断。当计数值已为最大值99时,则计数值不变,返回主程序。此外,单片机正常工作必须

8、具备时钟电路和复位电路。其中时钟电路为单片机提供其工作时所必须的时钟脉冲作为基本时序信号,复位电路可实现单片机上电时从初始状态开始工作。 图1 电路仿真图所用元件如下:共阴极数码管:7SEG-COM-CAT-GRN 电容:CAP路径下晶振:CRYSTAL单片机:AT89C51电阻:RES路径下按钮:BUTTON+5V电源:Terminal Mode中的Power地:Terminal Mode中的Ground开始外部中断设置显示十位、个位计数值十位、个位分离清零键按下?计数值清零YN Int_0:加1子程序加1计数值为100?返回Y计数值赋值99N 图2 099加法计数器程序流程 (功能一)#i

9、nclude #define uchar unsigned char #define uint unsigned int /09的共阴极数字编码,最后一位为黑屏uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;uchar Display_Buffer2=0,0; /计数值分解后各位待显示计数值uint Count=0; /计数值sbit Clear_Key=P36; /清零键void Show_Count_On_DSY( ) /子程序:在数码管上显示计数值 Display_Buffer1=Cou

10、nt/10; /获取2个数位 Display_Buffer0=Count%10;if(Display_Buffer1=0) /十位为零时不显示 Display_Buffer1=0x0a;P0=DSY_CODEDisplay_Buffer0; /两位数码管独立显示P1=DSY_CODEDisplay_Buffer1;void main( ) /主程序 P0=0xff; /P0、P1口设为输出方式P1=0xff;IT0=1; /INT0为下降沿触发方式EA=1;EX0=1; /允许总中断、允许外部中断1中断while (1) if(Clear_Key=0) / 清零 Count=0; Show_C

11、ount_On_DSY( ); /持续刷新显示 void int_0( ) interrupt 0 /外部中断0服务程序,中断号为interrupt 0 Count+; /加一计数 if(Count=100) Count=99; /如原计数值为99则不变 注:在功能2中,外部中断1服务程序的中断号为interrupt 215 课题二 闪烁灯的设计1、 某单片机控制系统要求如下: 功能1:1) 在正常情况下,8个发光二极管常亮。2)按下K1时,第1个和第8个发光二极管闪烁,闪烁5次;3) 按下K2时,8个发光二极管变暗。4)发光二极管由P0口控制,要求P0输出低电平时驱动发光二极管亮,二极管接至

12、+5V电源时需串联一个100欧姆的电阻。 功能2:在功能1基础上,增加以下功能:按下K3时,8个发光二极管闪烁10次,闪烁时间间隔为1s。 功能3:在功能1、2基础上,增加以下功能:按下K4时,8个发光二极管轮流点亮,循环5次,闪烁时间间隔为1s。 提示:功能2中1S时间间隔的实现可参考书本P95任务7中程序中的delay1s( )子程序,此时注意主程序需要增加定时器T1工作方式TMOD值的设置。2、硬件设计:在PROTEUS中有四种不同颜色的发光二极管,为显示不同颜色可使用4种发光二极管。由P0口内部结构可知,作为I/O口使用时,需要加上拉电阻,在此可采用排阻。开关K1、K2和K3可接至P1

13、口某3个未用的引脚上。单片机 AT89C51电阻 RES路径下开关 SWITCH发光二极管 LED-排阻 RESPACK-83、 程序设计:功能一的程序参考流程图如下图所示。开始K1按下?P0.0、P0.7闪烁5次NP0、P1口置为I/O方式(0xFF)K2按下?8个二极管暗YY8个二极管亮liang N3、功能一的参考程序如下:#include #define uchar unsigned char #define uint unsigned int sbit Key_1=P10; /定义位变量Key_1和Key_2sbit Key_2=P11;sbit P00=P00; /定义位变量P00和P07sbit P07=P07;void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned int j,k;/定义无符号字符型变量j和k for(k=0;ki;k+)/双重for循环语句实现软件延时 for(j=0;j

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号