当前位置:文档之家› 单片机课程设计报告

单片机课程设计报告

《单片机技术》课程设计实验报告专业:电子信息工程班级:07电信(本)一班姓名:李汶泽学号:200710312136指导教师:杨加国日期:20100-6-26目录一、课程设计的目的 (3)二、课程设计具体要求 (3)三、MCS-51单片机系统简介 (3)四、MCS-51单片机内部定时器/计数器中断系统简介 (4)五、键盘和LED数码管显示器简介 (5)六、实验内容基本原理 (7)七、硬件电路 (8)八、程序简介与代码 (8)九、设计制作过程 (12)十、实验总结 (17)一、课程设计的目的本课程设计是自动化专业、电子信息技术专业学生在学完单片机原理及课程之后必修课程,它的教学目的和任务是综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。

二、课程设计具体要求1、在PROTEUS中设计硬件,在KEIL51中编写软件,在PROTEUS 中运行程序仿真实现。

2、写课程设计报告,给出设计思想,原理,硬件电路图,给出相应程序,并写出设计过程。

三、MCS-51单片机系统简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

MCS-51系列之功能与总线结构四、MCS-51单片机内部定时器/计数器中断系统简介⑴定时/计数器:1、MCS-51系列中51子系列有两个16位可编程定时/计数器:定时计数器T0和定时计数器T12、每个定时/计数器即可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,这些功能都是通过编程设定实现的、3、每个定时/计数器都是多种工作方式,其中T0有四种工作方式;T1有三种工作方式;T2有三种工作方式。

通过编程可设定工作于某种方式。

4、每一个定时/计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理.㈡中断系统执行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断,实现中断的硬件系统和软件系统称为中断系统。

8051有两个外部中断源和三个内部源:两个定时器/计数器中断源和一个串行口中断源中断系统主要有中断允许控制器IE和中断优先级控制器IP等电路组成中断系统涉及了以下一个问题:1、中断源及中断请求2、中断优先权控制3、中断允许和中断屏蔽4、中断响应与中断返回五、键盘和LED数码管显示器简介键盘工作原理LED数码管显示器LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。

在单片机系统通常使用的是8段式LED数码管显示器,他有共阴极和共阳极两种结构。

LED数码管显示器具有硬件译码方式和软件译码方式LED数码管显示器具有静态显示方式和动态显示方式六、实验内容基本原理利用单片机的定时/计数器,中断系统,以及阵列键盘和LED 显示器进行设计。

在数码管显示器上实现电子时钟,并且能进行设置时间和暂停、启动控制。

用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算)。

形成定时时间为50ms。

用片内RAM的7BH单元对50ms计数,计20次产生秒计数器7BH单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。

然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。

显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。

在处理过程中加上了按键判断程序,能对按键处理。

七、硬件电路;采用8位LED软件译码动态显示程序;使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳;LED数码管,P1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。

;片内RAM的70H到77H单元为LED数码管的显示缓冲区;78H,79H,7AH分别为秒、分、小时计数单元;7BH为50ms计数器,7CH为调时按键计数器ORG 0000HLJMP STARTORG 000BH ;定时器/计数器T0中断程序入口LJMP INTT0;主程序START:MOV R0,#70HMOV R7,#0CHINIT: MOV @R0,#00HINC R0DJNZ R7,INITMOV 72H,#10MOV 75H,#10MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#03CHSETB EASETB ET0SETB TR0START1: LCALL SCANLCALL KEYSCANSJMP START1;延时1MS子程序DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1RET;延时20MS子程序DL20MS: ACALL SCANACALL SCANACALL SCANRET;数码管显示程序SCAN: MOV A,78H ;时间存入显示缓冲区相应位置MOV B,#0AHDIV ABMOV 71H,AMOV 70H,BMOV A,79HMOV B,#0AHDIV ABMOV 74H,AMOV 73H,BMOV A,7AHMOV B,#0AHDIV ABMOV 77H,AMOV 76H,BMOV R1,#70H ;循环扫描显示MOV R5,#80HMOV R3,#08HSCAN1: MOV A,R5MOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RR AMOV R5,ADJNZ R3,SCAN1MOV P2,#00HMOV P0,#0FFHRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;“0~9”,“-”的共阳极字段码;定时器/计数器T0中断服务程序INTT0: PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0MOV 7AH,#00OUTT0:SETB ET0pop pswpop accRETI;按键处理程序KEYSCAN: CLR EAJNB P1.0,KEYSCAN0JNB P1.1,KEYSCAN1JNB P1.2,KEYSCAN2 KEYOUT: SETB EARETKEYSCAN0: LCALL DL20MSJB P1.0,KEYOUT WAIT0: JNB P1.0,W AIT0INC 7CHMOV A,7CHCLR TR0CLR ET0CJNE A,#03H,KEYOUTMOV 7CH,#00SETB TR0SETB ET0SJMP KEYOUT KEYSCAN1: LCALL DL20MSJB P1.1,KEYOUT WAIT1: JNB P1.1,W AIT1MOV A,7CHCJNE A,#02H,KSCAN11INC 79HMOV A,79HCJNE A,#3CH,KEYOUTMOV 79H,#00SJMP KEYOUT KSCAN11: INC 7AHMOV A,7AHCJNE A,#18H,KEYOUTMOV 7AH,#00SJMP KEYOUTKEYSCAN2: LCALL DL20MSJB P1.2,KEYOUTWAIT2: JNB P1.2,W AIT2MOV A,7CHCJNE A,#02H,KSCAN21DEC 79HMOV A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BHSJMP KEYOUTKSCAN21: DEC 7AHMOV A,7AHCJNE A,#0FFH,KEYOUTMOV 7AH,#17HSJMP KEYOUTEND九、设计制作过程1、PROTEUS的进入与界面双击桌面上的ISIS 7.1 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图1-1所示屏幕,表明进入Proteus ISIS集成环境。

图1-1 启动时的屏幕Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。

包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

2、选择元器件将所需元器件加入到对象选择器窗口。

Picking Components into the Schematic单击对象选择器按钮,如图所示弹出“Pick Devices”页面,在“Keywords”输入AT89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。

3、器件连线并且赋值完成后为以下图片4、使用KEIL51软件处理程序首先项目文件的建立通过用Project菜单下的New Project命令建立项目文件,过程如下。

选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。

在Create New Project对话框中选择新建项目文件的位置,输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target 'Target 1'对话框,用户可以根据使用情况选择单片机型号。

Keil uVision2 IDE 几乎支持所有的51核心的单片机,并以列表的形式给出。

选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。

图3 Select Device for Target 'Target 1'对话框选择Intel公司的8051AH。

单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,然后给项目添加程序文件将编写的.ASM文件加入工程里面(1) 在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。

相关主题