版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二九 二一 学年第 一 学期 信息科学与工程学院 课程设计报告书课程名称: 计算机控制系统课程设计 班 级: 自动化2006级2班 学 号: 2006041340XX 姓 名: ZLI 指导教师: XXX 二九 年 十二 月键控数据采集电路设计设计任务设定输入模拟量在05V范围内,按不同的数字键0、1、2、3、4、5、6、7依次采集0809相应数据通道的模拟量,并在LED数码管上显示出来。设计要求1.画出连接线路图或功能模块引脚连接图,对工作原理及各芯片地址应有说明。2.采用51系列单片机作主控制器,0809作A/D转换器,扩展接口至少应包括按键电路、显示电路、数据采集电路等,I/O口假设不够
2、用可采用8255芯片进行扩展。3.采用3个共阴极型LED动态显示,显示按1位整数和2位小数的形式显示,小数点需显示出来。4.进行程序设计,对各功能模块进行详细说明,画出主、子程序流程图,写出程序清单并加必要注释。设计方案一、主要思路及工作原理采用模拟输入端0-5V电压信号、8051单片机、ADC0809A/D转换器、8255A并行口、共阴极LED显示、键盘接口等模块,用单片机控制运行。模拟输入端的可控电压由键盘模块不同数字键0、1、27选择输入通道将采集的信号送入0809A/D转换器,0809那么将模拟量转换成对应数字量(相应的二进制代码),然后通过单片机调用相关程序,将这些代码送入LED显示
3、模块显示成我们可识别的字符。具体做法是,在3X3矩阵式键盘上按下不同的数字键0、1、27,有一,行线通过上拉电阻加到+5V上。当无键按下时,行线处于高电平状态,当有键按下时,行、列线将导通,此时,行线电平与此行线相连接的列线电平共同决定按键是否按下。本设计识别按键采用扫描法,首先使某条列线为低电平,如果这条列线上没有闭合键,那么各行线的状态都为高电平;如果列线上有键闭合,那么相应的那条行线即变为低电平。于是就可以根据行线号与列线号计算出闭合键的键码。扫描时由第一列开始,然后由输入线输入行线状态,判断哪一行有键闭合,假设无键闭合,再检测下一列各行键闭合状态,由此一直扫描下去。输入端可控电压的变化
4、范围为05V,采用 ADC0809 做 A/D 转换,转换输出范围为0255。ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为1/512。ADC0809片内无时钟,可利用单片机提供的地址锁存允许信号ALE经D触发器二分频后获得。由于ADC具有输出三态锁存器,其8位数据输出引脚可直接与数据总线相连,地址译码引脚A、B、C分别与地址总线的低三位相连,以选通IN0IN7八个通道中的一个进行转换。作为片选信号。在启动A/D转换时,由单片机的写信号和控制ADC的地址锁存和转换来启动,由于ALE和START连在一起,因此ADC0809在锁存通道地址的
5、同时启动并进行转换。在读取转换结果时,用低电平的读信号和引脚信号经过一级或非门后,产生正脉冲作为OE信号,用以翻开三态输出锁存器。用查询方式等待A/D转换结束,ADC0809的通道号选择线ADDA、ADDB、ADDC 接系统数据线的低3位,因此ADC0809的8个通道地址分别为00H、01H、02H、03H、04H、05H 、 06H、07H。并行接口8255A是一款多功能的I/O器件,可作为CPU总线与外围的接口,它有24个可编程设置的I/O口,3组8位的I/O口为PA口,PB口和PC口. PA0PA7:端口A输入输出线。 PB0PB7:端口B输入输出线。PC0PC7:端口C输入输出线,一个
6、8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。该设计主要用到PA和PB口,D0D7依次与7条数据总线连接,RD与WR依次接8086的读写信号端口, PA和PB口接LED显示电路,在本电路中,8255A的地址为8000H,其中PA口地址为8000H,PB口地址为8001H,工作方式控制字地址为8003H。LED动态显示是一位一位的轮流点亮各位数码管,各位数码管的段选线相应并联在一起,各位的位选线公共阴极或阳极由另外的I/O口线控制。
7、动态显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此循环即可使数码管显示将要显示的字符,利用人眼的“视觉暂留效应,就可以实现连续动态的多个数码管显示。二、芯片管脚图 ADC0809模数转换器的引脚功能说明:IN7IN0模拟量输入通道ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。A、B、C地址线。 通
8、道端口选择线,A为低地址,C为高地址。LK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。D7D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。Vcc +5V电源。 Vref参考电源参考电压用来与输入的模拟信号进行比拟,作
9、为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V).8255A引脚说明:RESET:复位输入线,当该输入端外于高电平时,所有内部存放器包括控制存放器均被去除,所有I/O口均被置成输入方式。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位数据输出锁存器/缓冲器, 一个8位数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位端口, 每个4位端口包含一个4位的锁存器,分别与端口A和端口B
10、配合使用,可作为控制信号输出或状态信号输入端口。 CS:片选信号线,当输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。三、硬件接线图(见附页)四、程序流程图见上图五、程序代码;* ; 主程序和中断程序入口 ;*
11、ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETISTART: LCALL MEMPRO ;初始化 LCALL KEY_CHECK ;调用数字键按键扫描程序 MAIN: LCALL TEST ;测量一次 LCALL LED_DISPLAY ;显示数据一次 AJMP MAIN LJMP STARTMEMPRO: CLR A : 初始化程序中的各变量 MOV P2,A MOV R0,#70H MOV R2,#0DHLOOPMEM:
12、 MOV R0,A INC R0 DJNZ R2,LOOPMEM MOV 20H,#00H MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,A RET;* 按键检测程序 *;*KEY_CHECK:KCS: MOV P1,#0FFH ; 按键闭合测试程序,检查是否有键闭合 MOV A,P1 CPL A ANL A,#0FH ;假设有键闭合,那么A0, 假设无键闭合,那么A=0 RETKEY: ACALL KCS ;检查有键闭合否 JNZ LK1 ;有键按下那么转移至防抖子程序 AJMP KEY ;无键按下那么返回LK1: ACALL DELAY ;16ms延时消除抖动
13、ACALL KCS ;再查有键闭合否 JZ KEY ;有键闭合那么进行键扫描计算键码 MOV R2,#0FEH ;置第一列扫描值 MOV R4,#00H ;置初始列号SCAN: JB ACC.0,LINE1 ;第一行无键闭合,转查第二行 MOV A,#00H ;第一行有键闭全,置第一行首键值 AJMP KJS ;转到计算键码LINE1: JB ACC.1,LINE2 ;第二行无键闭合,转查第三行 MOV A,#08H ;第二行有键闭全,置第二行首键值 AJMP KJS ;转到计算键码LINE2: JB ACC.2,LINE3 ;第三行无键闭合,转查第四行 MOV A,#10H ;第三行有键闭全
14、,置第三行首键值 AJMP KJS ;转到计算键码KJS: ADD A,R4 ;计算键码 PUSH ACC ;保存键码KSF: ACALL DELAY ACALL KCS ;键释放否,假设仍闭合那么延时等待 JNZ KSF POP ACC ;假设键已释放,那么键码送A RETNEXT: INC R4 ;列扫描号加1 MOV A,R2 JNB ACC.2,KEY ;第3列已扫描完那么进行下一循环扫描 RL A ;置下一列列扫描值 MOV R2,A AJMP SCAN ;扫描下一列 ;此程序执行后,键码保存在累加器A中DELAY: MOV R7,#40 ;16ms延时程序(2usXR7XR7) D
15、1: MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET ; 电压测量模/数转换程序 ;*TEST: MOV P0,A ;传送由按键选择得到的转换通道控制地址 CLR A ;采集电压值存放在70H-77H单元中 MOV R0,#70H ;转换值存放首址 LCALL TEST_START ;启动电压检测WAIT: JB P1.7,ADEND ;等待A/D转换结束信号EOC AJMP WAITTEST_START: SETB P1.6 ;电压检测启动 NOP NOP NOP RET ADEND: MOV A,P0 ;取A/D转换数据 MOV R0,A INC R0 ;数据存放
16、地址加1TESTEND: JC TESTCON CLR A ;结束恢复端口 MOV P2,A MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,A RETTESTCON: LCALL TEST_START LJMP WAIT; 共阴极LED动态显示程序 ;*LED_DISPLAY: MOV DPTR 8003H MOV A,80H ;设定8255A工作方式 MOV R0,#10H MOV R1,#1HDISPLAY_LOOP: LCALL TRUN_BCD ;显示数据转为三位BCD码存入7AH、79H、78H(最大5.00v) ACALL DELAY_10MS ;调用1
17、0ms延时程序 MOV A,RO MOV DPTR,#LED_TABLE MOVC A,A+DPTR ;查表得显示码 MOV DPTR,8001H MOVX DPTR,A ;将显示码送入数据口PB口 MOV A,R1 MOV DPTR,#8000H MOVX DPTR,A ;将显示位选数据送入位选口PA口 ACALL DELAY_10MS ;延时10ms RL R1 INC R0 CJNZ R0,#3,LED_DISPLAY ;判断3个LED显示屏是否完成显示 RETLED_TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H
18、,5EH,79H,71H DELAY_10MS: MOV R6,#0D0H ;10MS延时子程序DL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET;显示数据转为三位BCD码存入7AH、79H、78H(最大值5.00v)TURN_BCD: MOV B,#51 DIV AB MOV 7AH,A ;个位数放入7AH MOV A,B ;余数大于19H,F0为1,乘法溢出,结果加5 CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP2 ADD A,#5LOOP2:
19、MOV 79H,A ;小数后第一位放入79H MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP3 ADD A,#5LOOP3: MOV 78H,A ;小数后第二位放入78H RET END 设计总结本次课程设计是键控数据采集电路的设计,是有关计算机控制系统软硬件的综合应用。使用到的芯片主要有8051单片机、ADC0809A/D转换器、8255A并行接口、LED显示模块、键盘接口模块等。通过此次设计,使我对单片机应用有了更深刻的认识,对ADC0809芯片的控制方式有了较清楚的理解,对键盘及LED显示模块的功能设计有了不同程度的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康膳食推广示范企业承诺书9篇范文
- 物流配送与仓储管理操作手册
- 2026年进口元器件合同(1篇)
- 2026年融资合同和借款合同(1篇)
- 预算编制与执行管理标准模板
- 产品研发与交付期限承诺书5篇范文
- 健康饮食类商品责任承诺书9篇
- 分享快乐传递爱小学主题班会课件
- 企业运营财务风险控制预案
- 项目管理效果实现承诺书(6篇)
- 室内装修拆除施工方案 最终
- 鲁班奖机电安装工程实施手册
- 教育培训合作项目策划书范文
- 舞蹈团财务管理制度内容
- 职业卫生与职业医学 教案
- 机械识图全套课件
- 2025年江苏省南通市中考生物试卷(含答案解析)
- GB/T 3487-2024乘用车轮辋规格系列
- 管理心理学 权利与政治
- 2020国家工程设计收费标准
- 油漆作业风险和隐患辨识、评估分级与控制措施一览表
评论
0/150
提交评论