找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4161|回复: 0
打印 上一主题 下一主题
收起左侧

单片机做的电动车测速表

[复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-27 17:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
;=================================================================
;程序编写人:兰建文 ;编写地点:湖南源点IC培训机构 ;时间:2009年7月3日上午 星期五 ;功能:本程序实现液晶显示电动车速度功能,速度范围(0-50KM/H) ;=======================开始初始化================================ CS BIT P3.4 ;设置使能口 SCLK BIT P3.3 ;设置时钟脉冲口 ADOUT BIT P3.5 ;设置数据输出口 PIANXUAN EQU P1 ;设置片选口 SHUCHU EQU P2 ;========================系统程序================================== ORG 0000H JMP MAIN ORG 30H ;=========================主程序=================================== MAIN: MOV A,#0 SETB ADOUT SETB SCLK CLR SCLK CLR CS CALL READ SETB CS CALL HBCD CALL DISPLAY JMP MAIN ;=========================读子程序=========================== ;输入条件:待转化的单字节十六进制整数在累加器A中。 ;输出信息:转化后的BCD码(十位和个位)仍在累加器A中,百位在R3中。 ;影响资源:PSW、A、B、R3 堆栈需求:2字节 ;============================================================ READ: MOV R1,#08H LL: SETB SCLK ;设置下降沿 MOV C,ADOUT RLC A CLR SCLK DJNZ R1,LL RET ;=====================BCD转化子程序========================= ;输入:"R2、R3、R6" ;输出:"P0口" ;实现的功能:把R2、R3、R6的数输出到P0口显示 ;============================================================ HBCD: MOV B,#9 DIV AB MOV R5,A CJNE R5,#28,JIXU MOV A,#50 JMP NEXT JIXU:MOV B,#7 MUL AB MOV B,#10 DIV AB ADD A,R5 NEXT:MOV B,#100 ;分离百位,放在R3中 DIV AB MOV R3,A MOV A,#10 ;继续分离十位和个位 XCH A,B DIV AB MOV R2,A MOV R6,B RET ;========================显示子程序========================== ;输入:"A" ;输出:"P0口" ;实现的功能:把A的数输出到P0口显示 ;============================================================ DISPLAY:MOV R0,#50 CC:MOV DPTR,#TAB MOV A,R2 MOVC A,@A+DPTR MOV SHUCHU,A ;显示十位 MOV PIANXUAN,#01H CALL DELAY MOV SHUCHU,#0FFH MOV A,R6 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SHUCHU,A ;显示个位 MOV PIANXUAN,#02H CALL DELAY MOV SHUCHU,#0FFH DJNZ R0,CC RET ;========================延时程序============================ ;输入;无 ;输出: 无 ;实现的功能:延时一段时间 ;============================================================ DELAY: MOV R4,#5 MOV R5,#200 D1: NOP DJNZ R5,$ DJNZ R4,D1 RET ;=======================共阳查表数据========================== TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;=========================程序结束================================= END


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表