et是什么| 已归档是什么意思| 什么那是什么吧| 中暑是什么症状| 吉和页念什么| 乳酪和奶酪有什么区别| 深深是什么意思| 点头之交是什么意思| 12月20日什么星座| 梦寐以求是什么意思| 测心率手表什么牌子好| 什么是鼻炎| 顺产和剖腹产有什么区别| 吃莲子有什么好处| 虚病是什么意思| 哪吒他妈叫什么名字| 五爷是什么菩萨| 蚝油是用什么做的| 什么时间量血压最准| kpi是什么| 胃胀气用什么药最好| 漪什么意思| 支付宝提现是什么意思| 知识是什么意思| 为什么手指关节会痛| 受精卵着床的时候会有什么症状| 宀与什么有关| 孕妇吃什么能马上通便| 湿温病是什么症状| 梅花象征着什么| 牙齿上白色斑块是什么| 局灶肠化是什么意思| 黄鼠狼为什么叫黄大仙| 消渴病是什么病| 假唱是什么意思| 竹外桃花三两枝的下一句是什么| 三尖瓣关闭不全是什么意思| 珍珠疹是什么| 太阳是什么星| 为什么人一瘦就会漂亮| 黑裙配什么颜色的上衣| 右手指发麻是什么原因| 令是什么生肖| 心脏24小时监测叫什么| 牙龈肿痛吃什么药最好| 穿堂风是什么意思| pms是什么| 字帖是什么| 杜甫号什么| 色是什么结构| 薄荷叶晒干后能干什么| 胃肠功能紊乱是什么意思| 为什么故宫龙椅坐不得| zbc什么意思| 上天眷顾是什么意思| 小鸟吃什么食物| 才高八斗代表什么生肖| 中央电视台台长什么级别| 梦见生小孩是什么征兆| 性功能下降吃什么药好| 什么叫专科| 口腔苦味是什么原因| 中气是什么意思| 荨麻疹能吃什么水果| 蓝眼睛的猫是什么品种| 汽化是什么意思| 靶向药有什么副作用| 脚气泡脚用什么泡最好| 假释是什么意思| 老婆的弟弟叫什么| 水痘疫苗叫什么| 有什么汤菜谱大全| 一躺下就咳嗽是什么原因| 黑色搭配什么颜色好看| 病例是什么| 办理港澳通行证需要什么材料| 口嫌体正直是什么意思| 脑宁又叫什么名字| 吃什么能提神不打瞌睡| 缺乏维生素b12的症状是什么| 四川古代叫什么| 幻肢是什么| 什么是伪娘| 哈喇味是什么味道| 女孩叫锦什么好听| 听吧新征程号角吹响是什么歌| 彷徨是什么意思| 嘴唇一圈发黑是什么原因造成的| 什么症状是怀孕了| 脱式计算是什么意思| 通马桶的工具叫什么| 什么叫出轨| shuuemura是什么牌子| 赤潮是什么意思| 胸闷心慌是什么病| 苗子是什么意思| 白芷炖肉起什么作用| 放屁臭鸡蛋味什么原因| 马蹄铁什么时候发明的| 刷牙时牙龈出血是什么原因| 做梦梦到鱼是什么意思| 珙桐属于什么植物| dq什么意思| 佛跳墙是什么菜| 包干价是什么意思| 行大运是什么意思| 鳞状上皮增生是什么病| 尿潜血是什么原因造成的| 胃体隆起是什么意思| 林彪为什么反革命| 糯米粉做什么好吃| 冲蛇煞西是什么意思| 尖斌卡引是什么意思| 沙中土是什么意思| 什么网名好听又有内涵| 艾滋病皮肤有什么症状| 气血不足补什么| 给孩子测骨龄应该挂什么科| 逆向思维是什么意思| 以纯属于什么档次| 腰疼吃什么药好| study是什么意思| 五福临门是什么意思| 什么什么千山| 肾结石检查什么项目| 吃什么祛斑| 什么东西快速补血| 禁忌是什么意思| 上焦有火吃什么中成药| ac是胎儿的什么| 女人叫床最好喊什么| 饿了么什么时候成立的| 直接胆红素偏高是什么意思| 灵芝适合什么样的人吃| 三轮体空是什么意思| 风疹病毒抗体阳性是什么意思| 意象是什么| 盐酸哌替啶是什么药| 层峦叠翠的意思是什么| 什么药治肠炎效果最好| 点卯是什么意思| 吃什么对牙齿好| 容易中暑是什么原因| 灰什么| 肌酸什么时候喝比较好| sahara是什么牌子| 目赤是什么症状| 2001年属什么生肖| 身上出汗多是什么原因| 减肥最快的运动是什么运动| 地漏什么牌子的好| 小三阳是什么意思| 肠胀气吃什么药| 嫌疑人是什么意思| 吃刺猬有什么好处| 维他命是什么| 虬角为什么要染成绿色| 牙疼吃什么饭菜比较好| 夏至为什么吃馄饨| 心脏供血不足吃什么药| 筠字五行属什么| 什么是植发| 治疗舌苔白厚用什么药| 指甲发白是什么原因| 纳囊是什么| 什么干什么燥| 身上经常出汗是什么原因| 出恭什么意思| ms是什么病| 精神障碍是什么病| 风吹动窗吹动夜声响是什么歌| 有氧运动是什么意思| 吃了虾不能吃什么水果| 处女座的幸运色是什么| 什么烟贵| 心气不足吃什么中成药| 手心发热什么原因| 宝宝发烧是什么原因引起的| 肝功能是什么| 爱的真正含义是什么| 鸡眼长什么样子| 手指甲的月牙代表什么| 画画画什么| 什么东西吃了补肾| 九重紫纪咏结局是什么| 葡萄糖阳性是什么意思| 什么光| 心慌吃什么药效果好| 成本倒挂什么意思| 什么原因导致尿酸高| 塞药塞到什么位置| mpn是什么意思| 7月一日是什么节| vpc是什么| 吃什么对胃好养胃的食物| 冬天吃什么| 骨折恢复吃什么好| 什么功高| 潘驴邓小闲什么意思| 嘤嘤嘤什么意思| 咳黄痰吃什么药好得快| 南方有什么生肖| 老公梦见蛇是什么预兆| b超什么时候做| 什么 姿势 最深| 鼻咽部淋巴组织增生是什么意思| 榴莲什么季节成熟| 什么是强迫症| 痛风反复发作什么原因| 形态欠规则是什么意思| 狮子吃什么食物| 胃痉挛是什么症状| 征兆是什么意思| 喜怒无常是什么意思| 梦见很多苍蝇是什么意思| 水垢是什么| 牛郎是什么职业| 心脏检查挂什么科| 怀孕为什么会流血| 盐酸苯海索片治什么病| AX是什么意思| 斯里兰卡说什么语言| 三点水加尺念什么| 中核集团是什么级别| 梦见自己生了个女儿是什么预兆| 1954属什么生肖| 梦见床代表什么预兆| nova是什么牌子| 殊途同归是什么意思| 髓母细胞瘤是什么病| 九月十四号是什么星座| 小孩咳嗽不能吃什么食物| 位移是什么| 高山仰止是什么意思| 今天生肖冲什么| 211是什么| 小孩吃榴莲有什么好处| 世风日下什么意思| 鳞状上皮乳头状瘤是什么| 什么展翅| 低热是什么症状| 谷氨酰基转移酶高是什么原因| 肝不好吃什么| 天秤男和什么星座最配| 孩子白细胞高是什么原因| 阑尾炎应该挂什么科| 蜈蚣吃什么食物| 家里为什么会有蜈蚣| 晚上七八点是什么时辰| 重症肌无力用什么药| 气管炎吃什么药| 骁字五行属什么| 脚背上长痣代表什么| 门槛什么意思| 为什么会有月经| 什么生水| 淋症是什么意思| 化胡为佛是什么意思| 抽动症是什么引起的| fsh是什么激素| 乳腺纤维瘤和乳腺结节有什么区别| 什么叫脂肪肝| 96100是什么电话| 奶水不足吃什么下奶多| 百度
工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

台海军又出包 “ 光华六号”导弹快艇外海擦撞观光船

发布人:dolphin 时间:2025-08-06 收藏
百度 每周计划执行航班1644架次,日均航班234架次,与去年同期相比增长20%;与2017年夏秋季比较,通航城市新增榆林,大同航点,恢复南昌航点,新增成都航空,金鹏航空、东海航空、桂林航空加盟运营。

一、设计要求

1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+” “-” “*”“/” “=”和“C”

2.设计2位LED接口电路

3.实现1位数的简单运算

二、硬件系统设计

1、LED接口电路

简易计算器需要2位8段码LED显示电路。用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。逻辑电路结构如下:

2、键盘接口电路

简易计算器需要4*4的行列式键盘。用8031单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。逻辑电路结构如下:


3、计算器逻辑电路图

将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下:


三、软件设计

1、LED显示程序设计

LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:

为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表:

0~9七段数码管共阴级字形代码

2位LED显示的程序框图如下:


2、读键输入程序设计

为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码――键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下:


3、主程序设计

(1)数值送显示缓冲程序设计

简易计算器所显示的数值最大位两位。要显示数值,先判断数值正负,如果是负值,则符号位显示“-”,然后将数值除以10,余数送显最最低位,判断商是否为0,若为0则返回,若不为0,则将商除以10,将余数送显高位。程序框图如下:


(2)运算主程序设计

首先初始化参数,送LED低位显示“0”,高位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=” ),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。运算主程序框图如下所示:


4、简易计算器源程序

OUTBIT equ 07FFDh ; 位控制口

OUTSEG equ 07FFCh ; 段控制口

IN equ 07FFEh ; 键盘读入口

data1 equ 70h

data2 equ 71h

dizhi1 equ 72h

dizhi2 equ 73h

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

DelayLoop:

djnz r7, DelayLoop

djnz r6, DelayLoop

ret

DisplayLED:

mov r0, #LEDBuf

mov r1, #2 ; 共2个八段管

mov r2, #00000010b ; 从左边开始显示

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 r0

djnz r1, Loop

ret

TestKey:

mov dptr, #OUTBIT

mov a, #0

movx @dptr, a ; 输出线置为0

mov dptr, #IN

movx a, @dptr ; 读入键状态

cpl a

anl a, #0fh ; 高四位不用

ret

KeyTable: ; 键码定义

db 0dh, 0ch, 0bh, 0ah

db 0eh, 03h, 06h, 09h

db 0fh, 02h, 05h, 08h

db 00h, 01h, 04h, 07h

GetKey:

mov dptr, #OUTBIT

mov P2, dph

mov r0, #Low(IN)

mov r1, #00100000b

mov r2, #4

KLoop:

mov a, r1 ; 找出键所在列

cpl a

movx @dptr, a

cpl a

rr a

mov r1, a ; 下一列

movx a, @r0

cpl a

anl a, #0fh

jnz Goon1 ; 该列有键入

djnz r2, KLoop

mov r2, #0ffh ; 没有键按下, 返回 0ffh

sjmp Exit

Goon1:

mov r1, a ; 键值 = 列 X 4 + 行

mov a, r2

dec a

rl a

rl a

mov r2, a ; r2 = (r2-1)*4

mov a, r1 ; r1中为读入的行值

mov r1, #4

LoopC:

rrc a ; 移位找出所在行

jc Exit

inc r2 ; r2 = r2+ 行值

djnz r1, LoopC

Exit:

mov a, r2 ; 取出键码

mov dptr, #KeyTable

movc a, @a+dptr

mov r2, a

WaitRelease:

mov dptr, #OUTBIT ; 等键释放

clr a

movx @dptr, a

mov r6, #10

call Delay

call TestKey

jnz WaitRelease

mov a, r2

ret

Start:

mov sp, #40h

mov LEDBuf+0, #0

mov LEDBuf+1, #03fh

mov dptr, #7FFFh

mov a, #89h

movx @dptr, a

MLoop:

call DisplayLED ; 显示

call TestKey ; 有键入?

jz MLoop ; 无键入, 继续显示

call GetKey ; 读入键码

Jisuan:

mov r3, a

cjne r3, #0fh, Qita ;判断是否为清零键?

mov r3, #00h ;清零

mov r4, #00h

mov r5, #00h

mov data1, #00h

mov data2, #00h

mov dizhi1, #00h

mov dizhi2, #00h

mov LEDBuf+0, #0

mov LEDBuf+1, #03fh

ljmp MLoop

Qita: clr c

cjne r3, #0ah ,follow ;判断是数字键还是功能键?

follow:

jc Shuzi

ljmp Gn

Shuzi: mov a, r4 ;判断是否已有运算符输入,没有就将数值存在

jnz Shuzi2 data1,有就将数值存在data2

mov a, r3

mov data1, a

ljmp Xs ;显示第一次输入的数值

Shuzi2:

mov a, r3

mov data2, a

ljmp Xs ;显示第二次输入的数值

Gn: mov r4, #01h ;将01h给r4,说明已有运算符输入

cjne r3, #0eh, Ja ;判断键值是否为“=”?

mov r4, #00h ;将r4清零

mov a, dizhi1 ;执行“=”

mov dph, a

mov a, dizhi2

mov dpl, a

mov a, #00h

jmp @a+dptr ;转到本次输入的算法程序

Ja: cjne r3, #0ah, Jn ;若键值为“+”则将“+”的程序首地址存在

mov dptr, #Jia dizhi1和dizhi2中

mov a, dph

mov dizhi1, a

mov a, dpl

mov dizhi2, a

ljmp MLoop

Jn: cjne r3, #0bh, Ce ;若键值为“-”则将“-”的程序首地址存

mov dptr, #Jian dizhi1和dizhi2中

mov a, dph

mov dizhi1, a

mov a, dpl

mov dizhi2, a

ljmp MLoop

Ce: cjne r3, #0ch, Cu ;若键值为“*”则将“*”的程序首地址存在

mov dptr, #Cheng dizhi1和dizhi2中

mov a, dph

mov dizhi1, a

mov a, dpl

mov dizhi2, a

ljmp MLoop

Cu: cjne r3, #0dh, Zhuan ;若键值为“/”则将“/”的程序首地址存在

mov dptr, #chu dizhi1和dizhi2中

mov a, dph

mov dizhi1, a

mov a, dpl

mov dizhi2, a

Zhuan: ljmp MLoop

Jia: mov a, data1 ;加法程序

add a, data2

ljmp Xs

Jian: mov a, data1 ;减法程序

subb a, data2

ljmp Xs

Cheng: mov a, data1 ;乘法程序

mov b, data2

mul ab

ljmp Xs

Chu: mov a, data1 ;除法程序

mov b, data2

div ab

Xs: mov b, #10 ;显示个位数字

div ab

mov r5, a

mov a, b

mov dptr,#LEDMap

movc a, @a+dptr

mov LEDBuf+1,a

mov a, r5

First:

cjne a,#0,Next

ljmp MLoop ;运算完后继续扫描键盘

Next:

mov b,#10 ;显示十位数字

div ab

mov r5, a

mov a, b

mov dptr, #LEDMap

movc a, @a+dptr

mov LEDBuf+0, a

mov a, r5

ljmp First

end

四、系统调试与存在的问题

1.在打开一个程序要进行编译运行时,要在项目中打开它,而不是单单以一个文件的形式打开。

2.打开WAVE6000后,需要对仿真器进行设置,然后才能用其对所编程序进行编译并执行。

3.试验箱上提供的6位的LED显示器和4*6的键盘,而简易计算器只用两位LED显示器和4*4键盘,所以必须用软件方法把前4位LED和键盘后2列屏蔽掉。

4. 十位上的LED显示管有数字时才显示,没有数字时不显示,而不是显示“0”,做清零操作后LED显示器个位显示“0”,而全部关闭不显示。

五、心得体会

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为电子信息工程专业的学生来说掌握单片机的开发技术是十分重要的。
我的题目是简易计算器,对于我们这些实践中的新手来说,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点?怎样让自己的业余更接近专业?怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。

这次课程设计通过我们小组的努力终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于迎刃而解,在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!


关键词: 显示 单片机 计算器

评论

技术专区

早搏什么意思 十六年是什么婚 1988年出生是什么命 妇检是检查什么 aki是什么意思
湿疹是什么病的前兆 牵强是什么意思 冷面是什么面 吃饭肚子疼是什么原因 睾丸疝气有什么症状
男人吃什么补肾 尿酸偏高是什么原因 脆皮鸭什么意思 八朵玫瑰花代表什么意思 缜密是什么意思
女性腹部彩超检查什么 糖尿病人适合喝什么茶 射手座和什么星座最配 梦见财神爷是什么预兆 做梦吃酒席什么预兆
10点是什么时辰hcv8jop5ns8r.cn 剑走偏锋是什么意思hcv9jop1ns9r.cn 蜂蜜水什么时候喝最好hcv9jop5ns0r.cn 梦见老公出轨预示什么hcv9jop6ns0r.cn 澳大利亚属于什么洲hcv8jop3ns0r.cn
直言不讳是什么意思hcv8jop8ns9r.cn 什么食物含叶黄素最多hcv8jop1ns6r.cn 梦见打死猫有什么预兆hcv8jop7ns1r.cn 身陷囹圄是什么意思hcv9jop1ns6r.cn 电镀是做什么的hcv8jop1ns6r.cn
胰腺在什么位置hcv9jop4ns9r.cn 什么叫真菌0297y7.com 焦亚硫酸钠是什么hcv8jop5ns5r.cn 什么是公主病hcv8jop5ns8r.cn gsy什么意思hcv9jop2ns7r.cn
2月19是什么星座hanqikai.com 什么植物驱蚊效果最好clwhiglsz.com 元神是什么意思hcv7jop7ns2r.cn 惊世骇俗的意思是什么hcv8jop9ns5r.cn 不来月经是什么原因hcv9jop1ns6r.cn
百度