




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长江大学电信学院单片机课程设计实例一COM EQU 50H ; 指令寄存器DAT EQU 51H ; 数据寄存器RS EQU P2.1 ; LCD寄存器选择信号RW EQU P2.2 ; LCD读/写选择信号E EQU P2.3 ; LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口ORG 000BHLJMP BT0 ;T0中断入口ORG 0003HLJMP BINT0 ORG 0030H ;主程序,初始化MAIN: MOV SP,#60H CLR P1.0 MOV R4,#00H ;默认通道0 LCALL INT ;调LCD间接控制方式下的初始化子程序 LCALL MZ ;调用字符库 MOV 30H,#30H ;8051片内30H-35H为显示缓冲区,用于存放A/D转换数据 MOV 31H,#0A5H ;初始数据设为0.000v MOV 32H,#30H MOV 33H,#30H MOV 34H,#30H MOV 35H,#76H MOV R7,#30H LCALL N1 ;显示 Voltage ;*第二行显示控制* MOV COM,#0CDH ;设置DDRAM地址 LCALL PR1 MOV DPTR,#ZIFU MOV R1,#4 LCALL LOOP7 SJMP LOOPZIFU:DB 00H,01H,02H,20H;*;* 定时器初始化程序 *LOOP:MOV TMOD,#0 MOV TH0,#63H ;定时5ms MOV TL0,#18H SETB EASETB ET0SETB EX0SETB IT0 SETB TR0;* LP:MOV R7,#30H ;显示缓冲区首地址 LCALL LED ;报警LCALL KEY;查询按键LCALL DISPLY SJMP LP ;循环显示;*按键处理*KEY: JB 20H.0,KEY0 JB 20H.1,KEY1 JB 20H.2,KEY2 SJMP STKEY0: MOV R4,#02H SJMP STKEY1: MOV R4,#01H SJMP STKEY2: MOV R4,#00HST: RET;*;* 定时器中断服务程序 *BT0:PUSH ACC MOV DPTR,#0F6FFH ;0809地址,不选中液晶 MOV A,R4 ;选择通道0 MOVX DPTR,A ;启动0809 JB P3.3,$ ;判断是否转换完成 MOVX A,DPTR ;读出数据;*显示数字量处理* MOV B,#51 DIV AB ADD A,#30H MOV 30H,A LCALL TURN MOV 32H,A MOV A,71H ADD A,70H MOV B,A LCALL TURN MOV 33H,A MOV A,71H ADD A,70H MOV B,A LCALL TURN MOV 34H,A;* MOV TH0,#63H ;重装定时器初值 MOV TL0,#18H POP ACC RETI;*;*外部中断0服务程序*BINT0:JNB P1.1,LL1 SJMP L1LL1: MOV 20H,#00H SETB 20H.0 SJMP RTL1:JNB P1.3,LL2 SJMP L2LL2: MOV 20H,#00H SETB 20H.1 SJMP RTL2: JNB P1.5,LL3 SJMP RTLL3: MOV 20H,#00H SETB 20H.2RT: RETI;*;*二进制转换十进制*TURN: MOV A,#10 MUL AB MOV 70H,B MOV B,#51 DIV AB MOV 72H,A MOV 71H,B MOV A,#5 MOV B,70H MUL AB ADD A,72H ADD A,#30H RET;*;*报警(设置大于4.8v则二极管亮)*LED: MOV A,30H CJNE A,#34H,LOOP1;判断是否等于4 SJMP LOOP2LOOP1:JNC LOOP4 CLR P1.0 SJMP LOOP5LOOP2: MOV A,32H CJNE A,#38H,LOOP3 ;判断是否等于8 SJMP LOOP4LOOP3: JNC LOOP4 CLR P1.0 SJMP LOOP5LOOP4: SETB P1.0LOOP5: RET;*;*LCD显示子程序*DISPLY: MOV COM,#8AH;LCD写数据地址 LCALL PR1 MOV R1,#06H MOV R0,#30HL: MOV DAT,R0;显示0.000v LCALL PR2 INC R0 DJNZ R1,L RET;*;* 逐字依次输入显示字符程序*N1:MOV COM,#01H ;清屏 LCALL PR1 MOV COM,#06H ; 设置输入方式 LCALL PR1 MOV COM,#080H ;LCD写数据首地址 LCALL PR1 MOV DPTR,#TAB MOV R2,#10 MOV R3,#00HWRIN: MOV A,R3 MOVC A,A+DPTR ;显示Voltage = MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN RET TAB: DB Voltage = ;*;*自定义字符库*MZ:MOV COM,#40H ;CGRAM首地址 LCALL PR1 MOV R1,#24 MOV DPTR,#TABLE LOOP7:CLR A MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC DPTR DJNZ R1,LOOP7 RETTABLE: DB 00H,1FH,04H,04H,1FH,04H,1FH,00H DB 1EH,0AH,0FH,01H,0FH,03H,01H,00H DB 0CH,1FH,0DH,0BH,09H,08H,0FH,00H;*;* LCD初始化子程序*INT:LCALL DELAY ; 调延时子程序MOV COM,#38H ; 设置工作方式 LCALL PR1MOV COM,#01H ; 清屏LCALL PR1MOV COM,#06H ; 设置输入方式LCALL PR1MOV COM,#0CH ; 设置显示方式LCALL PR1RETDELAY:MOV R6,#0FH ; 延时子程序MOV R7,#00HDELAY1: NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;*;*LCD写指令代码子程序*PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1PR11:MOV P0,#0FFH; P0置位, 准备读 SETB E ; E=1 LCALL DELAY NOP MOV A,P0 ;读p0口状态 CLR E JB ACC.7,PR11;读忙信号BF=1? CLR RW; R/W=0 MOV P0,COM ;写状态命令 SETB E ; E=1 CLR E ; E=0 POP ACC RET;*;*LCD写显示数据子程序*PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR21:MOV P0,#0FFH SETB E ; E=1 LCALL DELAY MOV A,P0 ;读p0口状态 CLR E ; E=0 JB ACC.7,PR21 ;读忙信号BF=1? SETB RS ;RS=1 CLR RW ;R/W=0 MOV P0,DAT;写数据 SETB E ; E=1 CLR E; E=0 POP ACC RET;* END实例二COM EQU 50HDAT EQU 51HRS EQU P2.1RW EQU P2.2E EQU P2.3ORG 0000HLJMP MAINORG 000BHLJMP BT0;ORG 0013H;LJMP INT1ORG 0030HMAIN: MOV SP,#60H LCALL INT MOV 30H,#30H MOV 31H,#0A5H MOV 32H,#30H MOV 33H,#30H MOV 34H,#30H MOV R7,#30H LCALL N1 ;SETB EA ;SETB EX1 ;SETB IT1 ;MOV DPTR,#0FEFF ;MOV A,#00H ;MOVX DPTR,A;*定时器初始化程序*;*LP: MOV R7,#30H LCALL DISPLAYSJMP LP;*定时器中断服务子程序*BT0:RETI;*DISPLAY: MOV COM,#8AH LCALL PR1 MOV R1,#05H MOV R0,#30HL: MOV DAT,R0 LCALL PR2 INC R0 DJNZ R1,L RETN1: MOV COM,#01H LCALL PR1MOV COM,#06HLCALL PR1MOV COM ,#80HLCALL PR1MOV DPTR,#TABMOV R2,#10MOV R3,#00HWRIN: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN RETTAB: DB Voltage = INT: LCALL DELAY MOV COM,#38H LCALL PR1 MOV COM,#01H LCALL PR1 MOV COM,#06H LCALL PR1 MOV COM,#0EH LCALL PR1 RETDELAY: MOV R6,#0FH MOV R7,#00HDELAY1: NOP DJNZ R7,DELAY1 DJNZ R6,DELAY1 RETPR0: PUSH ACC MOV P0,#0FFH CLR RS SETB RW SETB E LCALL DELAY MOV COM,P0 CLR E POP ACC RETPR1: PUSH ACC CLR RS SETB RWPR11: MOV P0,#0FFH SETB E LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11 CLR RW MOV P0,COM SETB E CLR E POP ACC RETPR2: PUSH ACC CLR RS SETB RWPR21: MOV P0,#0FFH SETB E LCALL DELAY MOV A,P0 CLR E JB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市六合区2024-2025学年八年级下学期期末练习英语试卷(含答案无听力原文及音频)
- 汉字形体的演变过程
- 2025年江苏省宿迁市中考数学试卷(无答案)
- 3D打印技术基础知到智慧树答案
- 新能源科技发展影响国际市场
- 金融金融银行保险证券市场前景展望预测
- Ubuntu Linux 22.04系统管理与服务器配置 课件 项目5-9 配置常规网络与使用远程服务-配置与管理Web服务器
- 2025年出版物发行零售项目立项申请报告
- 水闸安全知识培训内容课件
- 隐蔽工程检查与验收方案
- 2025-2030中国ARM核心板行业市场现状分析及竞争格局与投资发展研究报告
- 脐灸技术操作流程图及考核标准
- 给药错误PDCA课件
- 医美注射培训
- 白内障护理课件
- 香菇多糖生产工艺创新-洞察分析
- 箱泵一体化泵站设计图集
- 三上10《公共场所文明言行》道德法治教学设计
- 《电器火灾的防范》课件
- 路灯CJJ检验批范表
- 农村厕所改造合同书完整版
评论
0/150
提交评论