微机显示程序设计(1)

合集下载

单片机实验报告动态数码显示设计

单片机实验报告动态数码显示设计

微机原理与接口技术实验报告实验题目:动态数码显示设计指导老师:朱铭琳班级:计算机科学与技术系1201班姓名:王丹(2012100141)2014年 12月3日实验十三动态数码显示设计一、实验目的1.掌握动态数码显示技术的设计方法。

2.掌握扫描在程序设计中的应用。

二、设计原理如图13.1所示,在单片机的P1端口接动态数码管的字形码笔段,在单片机的P2端口接动态数码管的数位选择端。

在单片机P3.0管脚处接一个开关,当开关连接高电平时,态数码管上显示“12345”字样;当开关连接低电平时,态数码管上显示“HELLO”字样。

三、参考电路图13.1 动态数码显示电路原理图四、电路硬件说明(1)在“单片机系统”区域中,把单片机的P1.0-P1.7端口连接到“动态数码显示”区域中的a-h端口上。

(2)在“单片机系统”区域中,把单片机的P2.0-P2.7端口通过8联拨动拨码开关JP1连接到“动态数码显示”区域中的S1-S8端口上。

(3)在“单片机系统”区域中,把单片机的P3.0端口通过8联拨动拨码开关JP2连接到拨动开关区域中的SW1端口上。

五、程序设计内容(1)动态扫描方法:动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出显示的闪烁现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

(2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,在每个显示缓冲区装有显示的不同数据即可。

(3)对于显示不同字形码的数据采用查表方法来完成。

六、程序流程图 (如图13.2所示)图13.2 动态数码显示程序流程图七、汇编源程序;;;;;;;;;;入口地址;;;;;;;;;;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI;;;;;;;;;;主程序入口;;;;;;;;;;ORG 0100H START: LCALL PANDUANLCALL XIANSHILJMP START;;;;;;;;;;判断开关的状态;;;;;;;;;;PANDUAN: JB P3.0,SWLCALL DELAY10MSJB P3.0,SWMOV DPTR,#TABLE2SJMP Q1SW: JNB P3.0,PANDUANMOV DPTR,#TABLE1 Q1: RET;;;;;;;;;;显示程序;;;;;;;;;;XIANSHI: MOV R0,#00HMOV R1,#7FH NEXT: MOV A,R0MOVC A,@A+DPTRMOV P0,AMOV A,R1MOV P2,ALCALL DELAYINC R0RR AMOV R1,ACJNE R1,#0FBH,NEXTRET;;;;;;;;;;10ms延时程序;;;;;;;;;;DELAY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RET;;;;;;;;;;200ms延时程序;;;;;;;;;;DELAY: MOV R5,#20LOOP: LCALL DELAY10MSDJNZ R5,LOOPRET;;;;;;;;;;共阴字母码表;;;;;;;;;;TABLE1: DB 76H,79H,38H,38H,3FH;;;;;;;;;;共阴数码表;;;;;;;;;;;TABLE2: DB 06H,5BH,4FH,66H,6DH;;;;;;;;;;结束标志;;;;;;;;;;;;;END八、C语言源程序#include<AT89X51.H>unsigned char code table1[]={0x06,0x5b,0x4f,0x66,0x6d};unsigned char code table2[]={0x76,0x79,0x38,0x38,0x3f};void main(void){ unsigned char i,j,k,m;while(1){ j=0x7f;for(i=0;i<5;i++) //运行5次取出表中的5个数//{ if(P3_0==0) //如果开关为0,则显示12345// { P0=table1[i]; } //送P1口显示//else //如果开关为1,显示HELLO//{ P0=table2[i]; } //送P1口显示//P2=j; //显示码送入P2口//j=0x7f; //重赋初值//k=j>>(i+1); //右移i+1位//m=j<<(7-i); //左移7-i位//j=k|m;for(k=4;k>0;k--) //每隔一段时间显示一次//for(m=248;m>0;m--);}}}九、注意事项(1)程序中要注意共阴极数码管显示和共阳极数码管显示的区别,本程序在共阴极数码管显示时,要把单排针接插件J4中的跳线帽加到OE和VCC上。

c语言程序设计课程设计选题 (1)

c语言程序设计课程设计选题 (1)

《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。

20.2、图书基本信息的查询。

21.3、对撤消图书信息的删除。

22.4、为借书人办理注册。

23.5、办理借书手续。

24.6、办理还书手续25.要求:使用文件方式存储数据。

26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。

34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。

试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。

微机-闰年判断程序设计

微机-闰年判断程序设计

学号:微机原理及接口技术课程设计题目闰年判断程序设计学院自动化学院专业电气工程及其自动化班级姓名指导教师2015 年12 月18 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:自动化学院题目: 闰年判断程序设计初始条件:该程序实现通过键盘输入一年份,然后判断该年份是否为闰年,如果是闰年,则在屏幕上显示:该年是闰年。

如果不是,则显示:该年不是闰年。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录摘要 01.设计任务及要求分析 (1)1.1课程设计的目的 (1)1.2闰年判断程序设计 (1)2.方案比较及认证说明 (2)2.1方案比较 (2)2.1.1采用汇编语言设计 (2)2.1.2采用C语言设计 (2)2.2方案论证 (2)3.系统原理阐述 (3)3.1软件思想 (3)3.2程序设计原理 (3)3.3程序设计流程图 (3)3.4汇编源程序 (4)3.4.1主模块程序 (4)3.4.2子模块程序设计 (4)4.调试记录及结果分析 (6)4.1运行界面记录 (6)4.2算法分析 (7)4.3调试过程及结果分析 (7)心得体会 (8)参考文献 (9)附录 (10)摘要本次微机原理与接口技术课程设计是要设计一个判断年份是否为闰年的显示程序。

本次课程设计用的是8086最小系统,在emu8086汇编集成环境下完成。

首先,根据课设题目要求进行分析,并选择适合要求的方案,在选定方案下设计整个设计要求的程序框架,画出流程框图,然后运用模块化的设计思想,将题设要求分成几个小的模块,一段一段的设计程序。

微机原理及程序设计

微机原理及程序设计

微机原理及程序设计微机原理及程序设计是一门结合了计算机硬件基础和软件编程技能的课程,它对于理解现代计算机系统的工作方式至关重要。

本课程旨在教授学生微机的基本组成原理、指令系统、存储结构以及程序设计的基本方法。

微机原理概述微机,即微型计算机,是一种体积小、价格低廉、功能相对单一的计算机系统。

它们广泛应用于个人计算、嵌入式系统、工业控制等领域。

1. 微机的基本组成:微机主要由中央处理器(CPU)、存储器、输入输出设备(I/O)等部分组成。

2. 中央处理器:CPU是微机的核心,负责执行程序指令。

它包括算术逻辑单元(ALU)、控制单元(CU)和寄存器组。

3. 存储器:存储器用于存储程序和数据。

主要分为随机存取存储器(RAM)和只读存储器(ROM)。

4. 输入输出设备:包括键盘、鼠标、显示器、打印机等,用于与用户进行交互。

指令系统与寻址方式1. 指令系统:是CPU可以执行的所有指令的集合。

指令系统的设计直接影响到微机的性能和功能。

2. 寻址方式:是CPU访问存储器中数据的方法。

常见的寻址方式包括直接寻址、间接寻址、基址寻址等。

存储结构1. 存储器的层次结构:通常包括高速缓存(Cache)、主存和辅助存储器。

2. 存储管理:涉及虚拟存储技术、内存分配和回收等。

程序设计基础1. 程序设计语言:包括汇编语言、高级语言等。

汇编语言与机器指令直接对应,而高级语言则更为抽象,易于编写和理解。

2. 程序结构:程序通常由数据定义、指令序列和控制结构组成。

3. 算法与数据结构:算法是解决问题的步骤,而数据结构是组织数据的方式。

程序设计方法1. 模块化设计:将程序分解为多个模块,每个模块完成特定的功能,易于管理和维护。

2. 面向对象编程:以对象和类为基础,强调数据和功能的封装、继承和多态性。

3. 程序调试:使用调试工具来查找和修复程序中的错误。

微机接口技术1. 总线接口:连接微机内部各部件的通信线路。

2. 外设接口:如串行接口、并行接口、USB接口等,用于连接外部设备。

经典教材_微机原理及应用和汇编语言程序设计课件chap_51(1)

经典教材_微机原理及应用和汇编语言程序设计课件chap_51(1)
(2)宏调用 (3)宏扩展
1.宏代换 格式:宏名 MACRO [形式参数1,形式参数1,…] … ENDM 功能:为指令序列定义一个宏名,称为宏指令.
2.局域符号定义语句 格式: LOCAL 符号[符号1,符号2,…] 功能:指出符号1,符号2,…仅在宏代换中有意义.
3.删除宏定义语句 格式: PURGE 宏定义名1[宏定义名2,…] 功能:注销程序中引用的宏指令.
6)键盘输入一个字符无回显 功能号:AH=08H 出口参数:AL=字符;
7)返回DOS系统 功能号:AH=4CH
8)清键盘缓冲区,并调用一种键盘功能 功能号:AH=0CH AL=键盘功能号(1、6、7、8、0AH)
9).从串口输入单字符 AH=03H 入口参数AL=字符
10)向串口输出单字符 AH=04H 出口参数DL=字符
11)设置时间:INT 21/2BH year:mounth:day=DX:CH:CL
12)取得时间:INT21H/2AH 13)取得日期:INT21H/2CH
5.5 汇编过程
一.汇编程序的功能
将汇编语言源程序翻译成机器语言编写的目标 程序.并可输出列表文件 检查语法并给出错误信息 展开宏指令
常用汇编程序:ASM 和MASM
SHR,右移运算符
例: 32 MOD 5
;汇编时,得到的值=2
2.逻辑运算符: AND、OR、NOT、XOR
例: 24H OR 0FH ;汇编时,得到的值=2FH
3.关系运算符:
关系运算符是逻辑判断式,为真时,结果取 0FFFFH,为假时,结果取0。
EQ(等于)、NE(不等于)、 LT(小于)、GT(大于)、 LE(小于等于)、GE(大于等于)
TABLE3 DB ‘12345678910 ‘

微机原理简单程序设计实验流程图

微机原理简单程序设计实验流程图

微机原理简单程序设计实验流程图下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 实验目的:了解微机原理和程序设计的基本概念。

掌握使用汇编语言或高级语言进行程序设计的方法。

第4章8086,8088微机汇编语言程序设计

第4章8086,8088微机汇编语言程序设计

2)段内偏移量(Offset) 它是标号与段起始地址之间相距的字节数,为一16位 无符号数。 3)类型(Type) 类型表示该标号所代表的指令的转移范围,分NEA R(近)与FAR(远)两种。NEAR类型的标号仅在 同一段内使用,用2字节指针给出转移的偏移量属性(即 只改变IP值,不改变CS值);而FAR类型的标号无此限 制,必须用4字节指针指出转移的段地址与段内偏移量。 当标号用作JMP或CALL等指令的目标操作数时,若 为段内转移或调用则采用NEAR类型;若为段间转移或 调用则应当采用FAR类型。 JMP FAR PTR LINE
第4章 8086/8088汇编语言程序设计
汇编语言程序设计是开发微机系统软件的基本 功,在程序设计中占有十分重要的地位。
由于汇编语言具有执行速度快和易于实现对硬件的控 制等独特的优点,所以至今它仍然是用户使用得较多的程 序设计语言。特别是在对于程序的空间和时间要求很高的 场合,以及需要直接控制设备的应用场合,汇编语言更是必 不可少了。 由于汇编语言本身的特点,本章将选择目前国内广泛 使用的IBM PC机作为基础机型,着重讨论8086/8088汇编 语言的基本语法规则和程序设计的基本方法,以掌握一般 汇编语言程序设计的初步技术。
(1)立即操作数 立即操作数在指令中直接给出,不需要使用 寄存器,也不涉及访问数据区的操作,只能作为 源操作数。立即操作数是整数,可以是1字节或 2字节。在汇编语言中,立即操作数用常量(包 括数值常量和符号常量)以及由常量与有关运算 符组成的数值表达式表示。 如:MOV BX,1000+5*3 (2)寄存器操作数 通用寄存器AX、BX、CX、DX、BP、 SP、DI、SI以及段寄存器CS、SS、D S、ES都可以作为操作数。如:MOV BX,AX

微机原理微型计算机的程序设计

微机原理微型计算机的程序设计
W1
2024/9/30
43
例6.2
将内存(10050)单元旳内容拆成两段,每段4位,并将它 们分别 存入内存(10051)和(10052)单元。即(10050) 单 元 中 旳 低 4 位 放 入 ( 10051 ) 单 元 中 旳 低 4 位 , 而 (10050)单元中旳高4位放入(10052)单元中旳低4位。
INT 21H
2024/9/30
42
作业8.17 编写求输入算式’加数1+加数2’旳和并送显。
(加数及其和均为4位(即指压缩)BCD数,P262)
分析:要求先有屏幕显示输出‘加数1+加 数2:’,然后从键盘输入两个4个字节旳 BCD数,加完后送显。
用到旳变量:W1和W2因为从键盘输入,均 不拟定是几位十进制,故需拟定其最大位 数不超出要用
2024/9/30
12
MOV AX, W1
;AX=0809H,W2为0607H
ADD AL, BYTE PTR W2 ;AL=10H, CF=0,AF=1
AAA ; 属于第一种情况,故
; AL为(AL+06H)&0FH=10H+06H )&0FH
;
=16H&0FH=06H=AL;
;AH加1且CF置CF=1,所以AH=08H+1=09H,则AX=0906H
2024/9/30
34
2024/9/30
35
2024/9/30
36
2024/9/30
37
2024/9/30
38
作业8.4 编写求两个4位非压缩BCD数之和,
将和送显示屏显示旳程序。(P261)
分析:两加数各要4个字节单元,可觉得DD 类型;考虑到进位,和要5个字节单元,另 外,输出到显示器旳结束符号’$’需要一 个单元存放,故共需6个字节。 所以,数据段定义为:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机实验报告
(1)
实验程序:
title draw--program to draw on screen with
read_c equ 0
key_rom equ 16h
up equ 48h
down equ 50h
right equ 4dh
left equ 4bh
block equ 0dbh
esc1 equ 1bh
video segment at 0b800h
wd_buff label word
v_buff db 25*80*2 dup(?)
video ends
pro_nam segment
main proc far
assume cs:pro_nam,es:video
start:
push ds
sub ax,ax
push ax
mov ax,video
mov es,ax
mov cx,80*25
mov bx,0
clear:
mov es:[wd_buff+bx],0700h
inc bx
inc bx
loop clear
mov ch,12d
mov cl,40d
get_char:
mov ah,read_c
int key_rom
cmp al,esc1
jz exit
mov al,ah
cmp al,up
jnz not_up
dec ch
not_up:
cmp al,down
jnz not_down
inc ch
not_down:
cmp al,right
jnz not_right
inc cl
not_right:
cmp al,left
jnz lite_it
dec cl
lite_it:
mov al,160d
mul ch
mov bl,cl
rol bl,1
mov bh,0
add bx,ax
mov al,block
mov es:[v_buff+bx],al
jmp get_char
exit:
ret
main endp
pro_nam ends
end start
思考题:
1、显示器是如何定义窗口的大小的?
答:显示器是根据显存的单元数,v_buff db 25*80*2 dup(?),定义窗口大小的。

2、在文本方式下,什么是属性值?
答:block equ 0dbh是定义的属性值,v_bluff+bx+1,是放每个单元(一共25*80个)属性值的地方,即每个单元的高字节。

3、光标轨迹运行到边界后,为什么光标会闪烁和改变颜色?若要光标不变,应如何修改程序?
答:光标移位所使用的语句是循环移位,当光标由边界移到另一边边界时方块字符的属性值发生错位相乘,所以光标会闪烁和改变颜色。

若要光标不变,应将循环移位ROL改为逻辑移位SHL。

(2)
实验程序:
stack segment
dw 64 dup(?)
stack ends
code segment
assume cs:code,ss:stack
start:
mov cx,001ah
mov bl,41h
mov ah,02h
a1: mov dl,bl
int 21h
inc bl
push cx
a2: loop a2
pop cx
dec cx
jnz a1
mov ah,4ch
int 21h
code ends
end start
结果:
修改程序:
stack SEGMENT
DW 64 DUP(?)
stack ENDS
code SEGMENT
ASSUME CS:code,SS:stack start:
MOV CX,0008h
a0: PUSH CX
MOV BL,31h
MOV CX,0009h
MOV AH,02h
a1: MOV DL,BL
INT 21h
INC BL
PUSH CX
a2: LOOP a2
POP CX
DEC CX
JNZ a1
MOV AH,02h
MOV DL,20h
INT 21h
POP CX
DEC CX
JNZ a0
MOV AH,4ch
INT 21h
code ENDS
END start
结果:。

相关文档
最新文档