下载此文档

基于51单片机的计算器设计.docx


文档分类:通信/电子 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
基于51单片机的计算器设计.docx基于51单片机的计算器设计
一、实验要求
实现99以内的加减乘除的运算并将运算结果显示出来,硬件部分由一个51 单片机芯片,共阴极数码管,译码器等组成。
二、实验目的
1、 掌握键盘和显示器的接口方法和编程方法。
2、 掌握键盘扫描和八段码显示器的工作原理。
3、 灵活运用键盘显示程序实现其它功能。
、实验电路及连线
1、实验接线
连线
连线孔1
连线2
1
KEY/LED_CS
COS
2、LED电平显示电路
实验仪上装有8只发光二极管及相应驱动电路。见下图,LO- L7为相应发光二极管驱 动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。我们可以通过P1 口对其 直接进行控制,点亮或者熄灭发光二极管。
LED电平显示电路
3、键盘及LED显示电路
键盘和LED显示的地址译码见下图,做键盘和LED实验时,需要将KEY/LED CS接 到相应的地址译码上。位码输出的地址为0X002H,段码输出的地址为0X004H,键盘彳亍码 读回的地 址为0X001H,此处X是由KEY/LED CS决定,参见地址译码。例如KEY/LED CS接到地址译码的CS0上,那么位码输出的地址就为08002H,段码输出的地址就是 08004H,键盘行码读回的地址为0800lHo
DATA BUS
OUTGrr
(岸 CX002H}
KEY'a
US
OUTlaG (岸 OXOMH)
2SSE5R2S gg
s £ 2 s 2 as s
3
assEsass gg
ee-Q-2««-9®
I 53 =|—
'''l 7 oo si 55 —
3
四、实验说明
本实验使用lap2000实验箱上的一个4*6的小键盘,实验中用到该键盘中的0〜9数字键 以及A、B、C、D、E、F共十六个键,0〜9对应计算器中的10个数字,A、B、C、D、E、
F分别对应'+'、'一'、'*'、’/' 、* = \ '归零'功能。程序将键盘上输入的数字转换成
十进制数字显示并进行简单运算,将结果以十进制的方式通过LED灯显示出来。
五、实验框图
读键输入子程序框图
计算器主程序框图
程序代码:
OUTBIT
equ 08002h
;位控制口
OUTSEG
equ 08004h
;段控制口
IN
equ 0800 lh ;
键盘读入口
numl
equ 5 Oh
;键盘输入的第一个数字
num2
equ 55h
;键盘输入的第个数字
sign2
equ 72h
;运算符号
onenum
equ 73h
;进行运算的第一个数
twonum
equ 74h
;进行运算的第二个数
LEDBuf equ 60h
;显示缓冲
ljmp Start
LEDMAP: ;八段管显示码
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
Delay: ;延时子程序
mov r7, #0
Delay Loop:
djnz r7, DelayLoop
djnz r6, DelayLoop
ret
Display LED:
mov
rO, #LEDBuf
mov
rl, #6
;共6个八段管
mov
r2, #00100000b
;从左边开始显示
Loop:
mov
dptr, #OUTBIT
mov
a,#0
movx
***@dptr, a
;关所有八段管
mov
a, ***@r0
mov
dptr, #OUTSEG
movx
***@dptr, a
mov
dptr, #OUTBIT
mov
a, r2
movx
***@dptr, a
;显示一位八段管
mov
r6, #1
call
Delay
mov
a, r2
;显示下一位
rr
a
mov
r2, a
inc
rO
djnz
rl, Loop
ret
TestKey:
mov
dptr, #OUTBIT
mov
a,#0
movx
***@dptr, a

基于51单片机的计算器设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小雄
  • 文件大小153 KB
  • 时间2021-02-19