




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计任务书题 目键盘控制数码管显示及 LED点亮学院(部)电子与控制工程专业建筑设施智能技术班级 320601学生姓名学 号_5_月日至 _5_月_22_日指导教师 2014年5月22日目录一、摘要 2二、设计要求 2三、方案设计说明 2四、程序流程图 4五、模块介绍 41) 8051CPU 42) 数码管显示 53) 4X 4键盘输入54) 流水灯显示6六、源程序 7程序执行结果 11七、主要元器件介绍 131) 8051 132) 共阴极数码管15八、 参考书籍 17一、摘要单片机是单片微型计算机,它是针对控制与检测应用而设计的, 也称为微控制器。它具有芯片体积小、集成度高、功能强、抗
2、干扰能 力强、性价比高等特点,被广泛的应用在工业自动化、仪器仪表、航 天航空、消费电子、 电力电子、 汽车电子、计算机外设等领域。自 20 世纪80年代MCS-51系列单片机问世以来,经历了三十多年的发展, 在共享 Inter 公司 8051 内核技术的基础上,众多的半导体公司经过 不断的技术更新,推出了庞大的系列兼容产品,使MCS-51系列单片机依然在各个应用领域扮演着重要的角色。学习单片机的最有效方法就是理论与实践并重, 需要更深的去了 解单片机的很多功能, 努力的去查找资料, 当今时代是一个新技术层 出不穷的时代, 在电子领域尤其是自动化智能控制领域, 传统的分立 元件或数字逻辑电路构成
3、的控制系统, 正以前所未见的速度被单片机 智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面 广等优点,可以说,智能控制与自动控制的核心就是单片机。本课程 通过应用单片机技术完成了流程灯、数码管显示以及4X4键盘的识别等功能。二、设计要求(1)利用按键控制流水灯的显示。(2)利用3X 3或者4X4键盘,控制数码管的显示。(3)利用到定时 /计数器。4)利用到中断技术。三、方案设计说明根据要求我们所采用的方案为:主程序为4X4键盘的扫描程序,通过 P1 口输入所按键的键值, 将扫描到的键值“0F”中的一位通过P0 口在数码管上显示,并检测 按键是否为“LED- ”,如果不是,将回到程序
4、继续扫描,如果是“LED- -”,则跳到LED循环点亮。LED循环点亮:一共八盏灯,一盏灯亮,另七盏灯灭,从左到右 循环点亮,在其中运用定时器TO工作在MODEL1,对其点亮时间进行控制点亮1s,对其定时器溢出中断次数进行统计,当溢出中断次数达到10次后,返回主程序开始|XTAL1U119XTAI2P1.2LED-P1.3P1.4P12P1.780C51P1110P1.5P1.6P101P112p123/P134附45p156fP167p178P1.0P1.1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0
5、/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393735343221222325272810 P3011 P3112 P3213 P33P341415 P3516 P3617 P37P3O.7甲123568RESPA K-8-4-U2A0B0A1B1A2B2A3B3A4B4A5B5A7B7AB/BA/4LS245U3A0BOA1A2B2A3B3A5B5卒B6AB7AB/BA18 A1614*13 F1
6、1 出18 L117 L216 L32314 L513 L612 L711 L8467194678919四、程序流程图五、模块介绍(1)8051CPUU412_P5ENALEP2 I/A9田刁1P2JZJK12P2SA13P26/A14P2 715P1.01ps(/r-nP1.2p.3 z/imP1J3P3 INTlP1.4Pl 山 TOP1 5F3&niP1 Pl.?F3心口3IZ?dAL2RSI壬-4P1.3P1.0分别连接4X4键盘的第一行 到第四行;P1.7P1.4分别连接4X 4键盘的 第一列到第四列;P2 口分别接8个LED灯; P0 口接1个共阴极数码管。如图,MCS-51系列单
7、片机的40只引脚按功能能可分为四类: 电源引脚电源引脚提供芯片的工作电源,MCS-51系列单片机采用单一的直 流5V电源供电。(1)Vcc (引脚 40)+5V。(2)GND(引脚20)地。 晶体振荡器信号输入和输出引脚晶体振荡器信号输入输出引脚外接振荡器或时钟源,为单片机提 供时钟信号。(1)XTAL1 (引脚19)振荡器信号输入。(2)XTAL2 (引脚18)振荡器信号输出。 I/O 口线引脚P0 口 (3932脚):P0.0P0.7统称为P0 口。在不接片外存储器与不扩展I/O 口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O 口时,P0 口分时复用为低8位地址总线和双向 数
8、据总线。P1 口(18脚):P1.0P1.7统称为P1 口,可作为准双向I/O 口 使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用 作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/ 计数器2的外部控制端T2EX。P2 口 (2128脚):P2.0P2.7统称为P2 口,一般可作为准双向I/O 口使用;在接有片外存储器或扩展I/O 口且寻址范围超过256 字节时,P2 口用作高8位地址总线。P3 口 (1017脚):P3.0P3.7统称为P3 口。除作为准双向I/O 口使用外,还可以将每一位用于第二功能,而且 P3 口的每一条 引脚均可独立定义为第一功能的输入输
9、出或第二功能。P3 口的第二功能如表1-1所示。引脚第二功能P3.0RxD串行数据的输入端P3.1TxD串行数据的输出端P3.2INT0外部中断0的中断请求信号输入端P3.3INT1外部中断1的中断请求信号输入端P3.4T0定时器/计数器T0的外部计数信号输入端P3.5T1定时器/计数器T1的外部计数信号输入端P3.6WR外部数据存储器和外部I/O 口的写控制信号P3.7RD外部数据存储器和外部I/O 口的读控制信号表1-1控制信号线ALE(引脚30)地址锁存控信号,输出。PSEN(引脚29)外部程序存储器读选通信号,输出EA (引脚31)内、外程序存储器选择控制端,输入RESET(引脚9)复
10、位信号。(2)数码管显示! o d u Li-lb h2P 5 5 Li采用共阴极8位数码管来显示键盘输入的键值。数码管字型编码表宇符显云共萨槻敌砖共阳极段码亞示孚袴共隕极段磋共圧极袈码03IH0HcC6106EIF9HdALII5BHA4H79H66114PHE0fT1HSH4如99HP73H&2H56DJJg;H11jLHC1H67DH82Hr31HCEH707HFHy6EH91HS7FHKUH8.ttHOUM9f讣H90HOOHFFHA88Hb7 CH(3) 4X4键盘输入60C51|Fr_O|E、i 1d*白片Di-i c 、 ji .1 P13 i |d&i1 i 由01TEXT*8
11、 J=L*1Oai詢F191_1 .7 ri .L JuTEX61严5 -l=L.i Cl& i4 L ph yTEXT3ri .hTEXTa2r i 1lI .uTEXTn0E_1 P1Q /|o1L 4L匚|04 uTKCTnuTEXTnuTEXTng1! 1 1 -2化“&丄1P1盘”7键盘输入有 “ 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F” 这些键值,“A”键的 功能是流水灯循环显示。键盘所有键的特征码按键特征码键值按键特征码键值0770087D081B7019BD092D702ADD0A3E703BED0B47B04C7E0C5BB05DBE0D6DB06EDE0
12、E7EB07FEE0F(4)流水灯显示六、源程序; 键盘控制数码管显示及LED点亮程序org OOOOh流水灯显示方式:开始全部点亮,按下 “ LED-键后,点亮第一 个LED,然后从左向右依次循环点亮。ajmpmai nORG 0BHJMP TIM0main:mov dptr,#tab ; mov 30h,#0ffh ;mov 31h,#0ffh ;mov 32h,#0ffh ;mov 33h,#0ffh mov 34h,#0ffh ;mov 35h,#0ffhmov 36h,#0ffhmov 37h,#0ffh mov 39h,#0ffh ;loop: jb f0,kk1;f0mov39h
13、,#00hkk2:lcall display;lcallkeycpl a ; jzloop;mov a,38h ; cjne a,#0ah,norp ;setb f0;将表头位置送入 DPT 将 30 显示单元清零 将 30 显示单元清零 将 30 显示单元清零将 30 显示单元清零将 30 显示单元清零若等于一则跳到KK1处调用显示程序; 调用键盘描程序将 A 的值取反无键按下则返回 有键按下将键值送入 ACC若A键未按下则返回到LOOPL若A键按下则将F0值1jmp LEDmov p3,#00hIjmp loop; 返回LOOP处不断的循环LED: MOV TMOD,#00000001BM
14、OV TH0,#10000MOV TL0,#10000SETB TR0MOV IE,#10000010B ;MOV R5,#10MOV P3,#01Hjmp loopTIM0: PUSH ACCPUSH PSWMOV TH0,#10000MOV TL0,#10000DJNZ R5,LOOP1MOV R5,#10MOV A,P3RL AMOV P3,ALOOP1: POP PSWPOP ACCRETIkk1: inc 39hmov a,39h将 39H 向上加一将 39H 中的值送入 ACCcjnea,#10,kk2 ;ACC 中的值与 10 相等则跳转至 KK2mov 39h,#00h cpl
15、 00h ajmp kk2 norp: mov 37h,36hmov 36h,35h若ACG等于零则将35H清零将00H位取反跳转至KK2处mov 35h,34hmov33h,32h;将32H显示单元的内容送入33Hmov 32h,31h;将31H显示单元的内容送入32Hmov 34h,33hmov 31h,30h;将30H单元的内容送入31Hmova,38hmov30h,aljmploopdisplay: mov p2,#0ffh将键值送入 ACC将ACC的值送入30H返回主程序循环将 P2 口置高电平dd1:jnbOOh,dd1d ; 若 00H等 0 跳至 DD1Dajmp ddlb ;
16、若00H等于1则跳转至DD1Bmov r7,#100; 软件计数器赋值dd1d:mov a,30h ;将显示缓冲区30H中的值送入ACCmovc a,a+dptr; 查表取要显示的数并把查表的结果送入 ACCmov p0,a ;将要显示的数送入P0 口clr p2.7 ;开个位显示单元lcall delay100us ;延时 100USsetb p2.7 ;关个位显示单ajmp dd1cdd1b: mov a,30h;将显示缓冲区30H中的值送入ACCmovc a,a+dptr; 查表取要显示的数并把查表的结果送入 ACCmov p0,a ;将要显示的数送入P0 口setb p2.7 ;开个位
17、显示单元lcall delay100us ;延时 100USsetb p2.7 ;开个位显示单元dd1c: mov a,31h;将显示缓冲区别31H中的值送入Amovc a,a+dptr ; 查表取要显示的数并把查表的结果送入 ACCmov p0,a ;将要显示的数送入P0 口clr p2.6 ;开十位显示单元lcall delay100us ;延时 100USsetb p2.6 ;关十位显示单元mov a,32h;将显示缓冲区32H中的值送入ACCmovc a,a+dptr ; 查表取要显示的数并把查表的结果送入 ACCmov p0,a ;将要显示的数送入P0 口clr p2.5 ; lca
18、ll delay100us ; setb p2.5;mov a,33h ; movc a,a+dptr ; mov p0,a;clr p2.4 ;lcall delay100us ; setb p2.4 mov a,34h;movc a,a+dptr ; mov p0,a;clr p2.3 ; lcall delay100us ;setb p2.3mov a,35h;movc a,a+dptr ; mov p0,a;clr p2.2 ;lcall delay100us ; setb p2.2 mov a,36h;开百位显示单元延时 100US关百位显示单元将显示缓冲区33H中的值送入ACC查表
19、取要显示的数并把查表的结果送入 ACC将要显示的数送入P0 口开千位显示单元延时 100US将显示缓冲区34H中的值送入ACC 查表取要显示的数并把查表的结果送入 ACC将要显示的数送入P0 口开万位显示单元延时 100US将显示缓冲区35H中的值送入ACC 查表取要显示的数并把查表的结果送入 ACC将要显示的数送入P0 口开十万位显示单元延时 100US将显示缓冲区36H中的值送入ACCmovc a,a+dptr ; 查表取要显示的数并把查表的结果送入 ACCmov p0,a ; 将要显示的数送入 P0 口clr p2.1; 开百万位显示单元lcall delay100us ; 延时 100
20、USsetb p2.1mov a,37h;将显示缓冲区37H中的值送入ACCmovc a,a+dptr ; 查表取要显示的数并把查表的结果送入ACCmov p0,a ; clr p2.0 ;lcall delay100us ; setb p2.0 ;djnz r7,dd1 ;R7 ret;R7KEY: LCALL KSJNZ K1 ;ljmp key_exitK1: LCALL delay4msLCALL delay4msLCALL KS;JNZ K2 ;ljmpkey_exit将要显示的数送入P0 口开千万显示单元 延时 100US 关千万位显示单元不等于0返回至DD1处等于 0 子程序返回
21、调用检测按键子程序有键按下继续;无键按下退出KEY子程序返回继续检测有无按键按下有键按下继续延时去抖动再一次调用检测按键程序;无键按下退出KEY子程序K2: MOV R2,#0efH将扫描值送入 R2 暂存MOV R4,#00H;将第一列的列值00H送入R4暂存,R4用于存放列K3: MOV P1,R2L6: JB P1.0,L15;P1.0将R2的值送入P1 口等于 1 跳转到 L1MOV A,#00H5将第一行的行值00H送入ACCAJMP LK5跳转到键值处理程序L1: JB P1.1,L2;P1.1等于 1 跳转到 L2MOV A,#04H5将第二行的行值04H送入ACCAJMP LK
22、5跳转到键值理程序进行键值处理L2: JB P1.2,L3;P1.2等于 1 跳转到 L3MOV A,#08H5将第三行的行值08H送入ACCAJMP LK5跳转到键值处理程序L3: JB P1.3,NEXT;P1.3等于1跳转到NEXT处MOV A,#0cH5将第四行的行值0CH送入ACCLK: ADD A,R4;行值与列值相加后的键值送入 Amov 38h,a5将A中的值送入34h暂存K4: lcall display5调用动态显示子程序LCALL KSJNZ K45按键没有松开继续返回检测RET5按键松开返回NEXT:INC R45将列值加一MOV A,R2将R2的值送入AJNB ACC
23、.7,key_exit;扫描完成跳至KEY处进行下一回合的扫描RL A ;扫描未完成将A中的值右移一位进行下一列的扫描MOV R2,A;将ACC的值送入R2暂存AJMP K3;跳转到K3继续key_exit:mov a,#Offh ;无键按下则将A赋成OFFHretKS: MOV P1,#0FH; 将P1 口高四位置0低四位值1MOV A,P1;读 P1 口XRL A,#0FH;将A中的值与A中的值相异或RET;子程序返回delay4ms:;4ms 延时MOV R5,#08HL7:MOV R6,#0FAHL8:DJNZ R6,L8DJNZ R5,L7RETdelay100us: ;100us
24、延时mov r5,#50djnz r5,$rettab:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;0,1,2,3,4,5,6,7DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;8,9,A,B,C,D,E,FDB 3EH, 50H, 40H, 08H, 00H;U, r,,-, BLANKEND程序执行结果按键0按下显示结果D 、B4Tft- fLE&,14刘,3ET、4tW-24产-n耐丿上他1Ft/他i讯I 陀佃Ff-MCibg中斗 怦皿1rgwtiwF” 褂 2rr加F-id-點晦F-iJ砌TTpipPMFu二i f ixblauau-
25、少 -盂ttl3fij*3aKT按键LED-按下结果(输入位闪烁)HJMhJI4TP皿 Fi.UFlJ- Pi-E 附 IfinPdJflTT*M4按键D按下显示结果(d)按键B按下显示结果(b)i-vtiyjyJI叫ui-avj-ji叫WHS七、主要元器件介绍 1) 805151系列是基本型,包括8051、8751、8031、8951.这四个机种区别,仅在于片内程序储存器。8051为4KBROM8751为4KBEPRQM8031片内无程序储存器,8951为4KBEEPROlMi他性能 结构一样,有片内128B RAM 2个16位定时器/计数器,5个中断 源。其中,8031性价比较高,又易于开
26、发,目前应用面广泛。MCS-51单片机的内部组成。MCS-51单片机的引脚和内部组成如图1.1所示。通常采用DIP或PLLD封装, 其内核是8051CPU CPU勺内部集成有运算器和控制器,运算器完成运算操作(包括数据运算、逻辑运算等),控制器完成取指令、对指令译码以及执行指令。MCS-51单片机的片内资源有:9ffl-1內畴徇图1.1 MCS-51单片机的内部组成遵nr总彼-中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是 8位数据宽度的处理 器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整 个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051内部有128字节数据存储器(RAM和21个专用寄存器单元, 它们是统一编址的,专用寄存器有专门的用途,通常用于存放控制指令数据,不能用作用户数据的存放,用户能使用的RAMR有128个字节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中原科技学院《医学实验技术基础》2023-2024学年第一学期期末试卷
- 浙江特殊教育职业学院《阳台上的小花园》2023-2024学年第一学期期末试卷
- 山东工艺美术学院《高级英语1》2023-2024学年第二学期期末试卷
- 四川大学《医学遗传与优生》2023-2024学年第二学期期末试卷
- 上海师范大学《语言学概论I》2023-2024学年第二学期期末试卷
- 湖南涉外经济学院《光信息专业英语》2023-2024学年第二学期期末试卷
- 呼伦贝尔职业技术学院《中医药文化实践》2023-2024学年第一学期期末试卷
- 湖北文理学院《生物制药专业》2023-2024学年第二学期期末试卷
- 湖南省湘潭市2024-2025学年数学四下期末质量跟踪监视模拟试题含解析
- 天津轻工职业技术学院《医患沟通交流》2023-2024学年第二学期期末试卷
- 基于PLC洗车系统设计
- 低压综合配电箱二次配线工艺守则
- 中国动画的发展中国动画发展史课件
- 2023年中央企业全面风险管理报告(模本)
- 浙江省绍兴市2023年中考英语真题(附答案)
- 龙虎斗(2017广东广州中考记叙文阅读试题含答案)
- 错合畸形的预防与早期矫治-错合畸形的早期矫治(口腔正畸学课件)
- 地下铁道-中南大学中国大学mooc课后章节答案期末考试题库2023年
- 废品站劳务合同范本
- 安全生产管理规章制度评审记录
- 华为DSTE战略管理体系完整版
评论
0/150
提交评论