微机原理课设报告
微机原理课程设计总结
![微机原理课程设计总结](https://img.taocdn.com/s3/m/fd483773240c844769eaeec8.png)
微机原理课程设计数据采集系统(中断法)一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数据的应用,学习掌握编程和程序调试的方法。
二、课设内容和要求:用中断法将ADC0809通道0外接0—5V电压,转换成数字量后,在七段数码管LED上显示。
以小数点后两位表示精度,显示模拟电压的十进制;0809通道0的数字量以线性控制方式DAC0832输出,当通道0的电压为5V时,0832的OUT为0V当通道0的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示。
ADC0809的采样脉冲CLK由定时器8254的OUT0提供;ADC0809的EOC信号用作8259中断请求信号。
三、总体设计:1)、ADC0809的IN0采集电位器0—5V电压,IN1采集0832输出的模拟量。
2)、DAC0832将ADC0809的IN0数字量重新转换成模拟量输出3)、8259用于检测ADC0809转换是否结束和向CPU发送INTR信号4)8255为七段LED数码管显示提供驱动信息5)、七段LED数码管显示ADC0809的IN0的值6)8254提供ADC0809的采样时钟脉冲。
四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等单元(图1:数据采集系统硬件连接示意图)六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN0 0—5V直流电压的采样和经线性控制后输出电压IN1采样,IN0的值转换成十进制后,在七段数码管LED上显示IN1的值。
CPU根据IN0的值,使八位二极管根据课设要求指示相应的范围。
1、设计思想:数据采集系统分成四个功能模块分别是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。
微机原理教学
![微机原理教学](https://img.taocdn.com/s3/m/4674e173182e453610661ed9ad51f01dc28157f5.png)
微机原理教学微机原理,作为计算机专业的一门基础课程,对于学生的计算机基本理论、硬件结构和操作系统原理等方面的学习起着重要的作用。
针对这门课程的教学内容和方法,本文将从课程设置、教学目标、教材选择以及教学方法等方面进行论述,旨在提供一种有效的微机原理教学模式。
一、课程设置微机原理课程应该合理设置,由浅入深地讲解计算机硬件结构、数字逻辑、微处理器等内容,同时要与计算机组成原理、计算机系统结构课程紧密衔接,形成知识体系的连贯性。
通过合理的课程设置,能使学生逐步掌握计算机的工作原理和基本组成,为进一步学习计算机体系结构奠定良好的基础。
二、教学目标微机原理课程的教学目标主要包括以下几个方面:1. 培养学生对计算机硬件结构的认识和理解能力;2. 培养学生进行数字逻辑设计的能力;3. 培养学生掌握微处理器的工作原理和汇编语言程序设计的能力;4. 培养学生运用专业知识解决实际问题的能力。
三、教材选择选择合适的教材对于教学的质量和效果至关重要。
微机原理教材应涵盖计算机硬件结构、数字逻辑和微处理器等内容,并且书写规范、结构清晰、讲解详细。
同时,教材中应包括一些具体的例子和实践案例,以便学生更好地理解和应用所学知识。
值得一提的是,教师可以结合自身的教学实践,根据不同年级和学生的实际情况,选用适合的辅助教材和参考资料。
四、教学方法为了提高微机原理课程的教学效果,教师可以尝试以下几种教学方法:1. 理论与实践相结合。
在讲解理论知识的同时,加强实验教学环节,让学生通过实际操作来巩固和加深理论的理解。
可以搭建一些仿真实验平台或使用开发板等硬件设备,让学生亲自实践,提高他们的动手能力和问题解决能力。
2. 课堂互动。
在教学过程中,鼓励学生提问和思考,积极参与讨论,促进师生之间的互动。
可以设计一些小组活动或者课堂演示,增加学生的参与度,激发他们的学习兴趣。
3. 多媒体辅助教学。
利用多媒体技术,结合图文并茂的教学材料,展示计算机硬件的结构和工作原理等内容,使抽象的理论知识更加形象和具体。
微机原理课程设计
![微机原理课程设计](https://img.taocdn.com/s3/m/88fc5e73905f804d2b160b4e767f5acfa1c783c8.png)
微机原理 课程设计一、课程目标知识目标:1. 让学生理解微机的基本原理和结构,掌握微处理器的工作机制。
2. 使学生掌握汇编语言的基本指令,能够阅读和编写简单的汇编程序。
3. 帮助学生了解微机系统中内存、I/O设备的基本原理及其与CPU的交互方式。
技能目标:1. 培养学生运用汇编语言进行程序设计的能力,能够实现基本的输入输出、逻辑判断和循环等操作。
2. 培养学生分析和解决微机系统常见问题的能力,如调试程序、处理硬件故障等。
3. 提高学生动手实践能力,通过课程设计项目,使学生能够独立完成一个简单的微机系统设计与实现。
情感态度价值观目标:1. 培养学生对微机原理及计算机科学的兴趣,激发他们探索精神和技术创新意识。
2. 培养学生团队协作精神,学会与他人共同分析问题、解决问题,提高沟通能力。
3. 引导学生认识到微机技术在国家经济发展和国防建设中的重要作用,增强学生的社会责任感和使命感。
课程性质:本课程为理论与实践相结合的课程,注重培养学生的实际操作能力和实际应用能力。
学生特点:学生已具备一定的电子技术和计算机基础知识,对微机原理有一定了解,但缺乏实践经验。
教学要求:教师需结合课程性质、学生特点,采用案例教学、项目驱动等教学方法,引导学生主动学习,提高学生的实践能力和综合素质。
在教学过程中,注重分解课程目标,确保学生能够达到预定的学习成果。
二、教学内容1. 微机原理概述:介绍微机的发展历程、基本结构及工作原理,重点讲解CPU、内存、I/O设备等核心组件的作用和相互关系。
相关教材章节:第一章 微机原理概述2. 汇编语言基础:讲解汇编语言的基本概念、语法和指令系统,使学生掌握汇编程序的编写和调试方法。
相关教材章节:第二章 汇编语言基础3. 微机系统编程:学习微机系统中的程序设计方法,包括顺序程序设计、分支程序设计、循环程序设计等。
相关教材章节:第三章 微机系统编程4. 内存与I/O设备:介绍内存管理、I/O设备控制原理,分析微机系统中内存、I/O设备的访问方法。
微机原理与接口技术课程设计(报告)
![微机原理与接口技术课程设计(报告)](https://img.taocdn.com/s3/m/b4857fe03968011ca2009183.png)
湖南科技大学潇湘学院信息与电气工程系《微机原理与接口技术》课程设计报告题目:基于D/A转换器DAC0832的波形发生器设计专业:通信工程班级:通信002班姓名:刘黎辉学号:0954040217指导老师:欧青立陈君宋芳课程设计任务书目录一、课程设计的目的及意义 (1)1.设计目的 (1)2.设计意义 (1)二、方案论证 (1)1.设计要求 (1)2.方案论证 (1)三、硬件电路设计 (2)1.波形产生电路 (2)2.按键控制电路 (4)3.地址译码电路 (6)四、程序设计 (7)1.波形发生原理 (7)2.程序流程图 (7)五、硬件连接及调试 (8)1.硬件连接 (8)2.电路调试 (8)六、体会与心得 (8)七、参考书目: (9)八、附录 (9)1.电路原理图............................................................................................ 错误!未定义书签。
2.程序源码................................................................................................ 错误!未定义书签。
一、课程设计的目的及意义1.设计目的(1)掌握计算机应用系统特别是微机接口系统的设计。
(2)掌握接口电路设计技术,初步掌握电子设计软件Protel99使用。
(3)掌握微机接口程序的编制与调试技术。
(4)掌握DAC0832芯片的使用方法。
(5)利用所学微机的理论知识进行软硬件整体设计,提高综合应用能力。
2.设计意义波形发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。
微机课程原理个人实训总结(二)
![微机课程原理个人实训总结(二)](https://img.taocdn.com/s3/m/b4b58aeee109581b6bd97f19227916888486b9a6.png)
1
二、体会收获
学习 Linux,应该怎样学,主要学些什么,一段生动活泼的学习经历, Linux 的风云经验,历时五天的认真学习与总结,以及获得了老师们的勉励与 肯定,以下是我学习 Linux 的一些个人经验。
1,应对 Linux 的发展历史和特点有所了解,Linux 是抢占式多任务多用 系统,操作 Linux 最大的优点在于其作为服务器的强大功能,同时支持多种应 用程序及开发工具。
3,掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一 般都能被支持,作为一名 Linux 系统管理员建议多阅读有关硬件配置文章,对 各种不支持或支持不太好的硬件有深刻的了解。
4,熟悉系统的基本操作,Linux 的图形界面直观,操作简便,多加上机练
习就可熟悉操作,在 Linux 下学习办公软件等常用软件,永中 office 2004 增强
日期 2021.6.10
综合实训记录
天次 第五天
综合实训内容与主要收获 ARM 裸板开发—PWM 驱动蜂鸣器 1、 什么是 PWM 2、 蜂鸣器的发生原理 3、 如何使用 PWM 驱动蜂鸣器 4、 程序实现 各位老师好: 参加了华清远见实训的第五天,具体情况如下: 一:今天也是实训结束的时间,由于时间的限制,老 师就尽量快的跟我们讲解了课程余下的一些内容,同 时老师今天将项目整体指导我们一起完善了一遍,y 另外也跟我们分享了很多我们计科专业今后的研究方
网络中很重要的一个设备是交换机,这节实训课说实话比较晦涩,板的线 路连接很容易,可是线路连接只是很轻松的一环,交换机的配置主要在于交换 机的设置,其中有很多命令,从登陆,设置各种参数,运行指令,到最后退出, 命令很多,需要十分用心的记忆。在为期一周的 LINUX 课程实训中,我每天跟 随老师一起做实验,与同学们一起观看 PPT 教程,对网络有了更深刻的认知, 在自己做实验中不断与老师的教学内容相比较,尽力独立完成各种实验内容。
微机原理及接口技术课程设计(步进电机)
![微机原理及接口技术课程设计(步进电机)](https://img.taocdn.com/s3/m/cf9f2cf0d0d233d4b14e6981.png)
三、硬件系统的基本原理:
1、系统硬件子系统的构成:
本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如下图及下表所示:
1
2
3
4
5
6
7
8
5
+
+
+
+
+
+
+
+
4
-
-
3
-
-
-
2
-
-
-
1
-
-
-பைடு நூலகம்
2、步进电机控制原理:
接线图:
B4区8255的PC0、PC1、PC2、PC3分别接E1区步进电机的A、B、C、D;
DEC BX
DECDX
JZ M1
LOOPA5
JMPM2
M2:MOV BX,OFFSET TAB
MOVAX,0007H
微机原理步进电机控制课程设计报告
![微机原理步进电机控制课程设计报告](https://img.taocdn.com/s3/m/00de581d02d8ce2f0066f5335a8102d276a26127.png)
河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期: 2 0 —2 0 学年第学期指导教师:2 0 年月课程设计成绩评定表目录一、设计题目……………………………………………………………….二、设计目的……………………………………………………………….三、设计原理及方案……………………………………………………….四、实现方法……………………………………………………………….五、实施结果……………………………………………………………….六、改进意见及建议……………………………………………………….七、设计体会……………………………………………………………….、一、设计题目编程实现步进电机的控制二、设计目的1.了解步进电机控制的基本原理2.掌握控制步进电机转动的编程方法3.了解8086控制外部设备的常用电路4.掌握8255的使用方法三、设计原理及方案设计原理步进电机驱动原理是通过对每相线圈中的电流的顺序切换实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化,来使电机作步进式旋转;驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速;利用 8255对四相步进电机进行控制;当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动;每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度一个步距角;当通电状态的改变完成一个循环时,转子转过一个齿距;四相步进电机可以在不同的通电方式下运行,常见的通电方式有单单相绕组通电四拍A-B-C-D-A…,双双相绕组通电四拍AB-BC-CD-DA-AB…,八拍A-AB-B-BC-C-CD-D-DA-A…等;通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动;硬件连接图四.实现方法.步进电机控制程序流图.程序代码ASTEPEQU01H BSTEPEQU02H CSTEPEQU04H DSTEPEQU08H CODESEGMENT ASSUMECS:CODESTART:MOVDX,8003H;8255控制口地址MOVAL,82H;PA口输出,B口输入OUTDX,AL;写控制字K0:MOVDX,8000H;PA口地址MOVAL,0;输出低电平OUTDX,AL;电机停止转动MOVDX,8001H;PB口地址INAL,DX;读开关状态TESTAL,01H;PB0位K0=0吗JNZK1;不是零转K1JMPSTEP8;是零转单/双八拍工作方式K1:INAL,DX;读开关状态TESTAL,02H;PB1位K1=0吗JNZK2;不是零转K2JMPSTEP4;是零转双四拍工作方式K2:INAL,DX;读开关状态TESTAL,04H;PB2位K2=0吗JZSTEP41;是零转单四拍反转工作方式JMPK0;循环;单/双八拍工作方式:A→AB→B→BC→C→CD→D→DA→A STEP8:MOVBX,9000H;设置初始延时时间MOVDX,8000H;PA口地址MOVAL,ASTEPOUTDX,ALCALLDELAYMOVAL,ASTEP+BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEP+CSTEPOUTDX,ALCALLDELAYMOVAL,CSTEPOUTDX,ALCALLDELAYMOVAL,CSTEP+DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEP+ASTEPOUTDX,ALCALLDELAYJMPK0;双四拍工作方式:AB→BC→CD→DA→AB STEP4:MOVBX,5000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,ASTEP+BSTEP;PA0PA1AB相输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP+CSTEP;BC输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP+DSTEP;CD输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,DSTEP+ASTEP;DA输出高电平OUTDX,ALCALLDELAY;调延时JMPK0;单四拍反转工作方式:D→C→B→A→D STEP41:MOVBX,1000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,DSTEP;D输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP;C输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP;B;输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,ASTEP;A输出高电平OUTDX,ALCALLDELAY;调延时JMPK0DELAYPROCNEAR;延时子程序PUSHCXMOVCX,BXDD1:NOPLOOPDD1POPCXRETDELAYENDP;延时子程序结束CODEENDS;代码段结束ENDSTART五.实施结果.操作步骤1、硬件测试WINXP步进电机2、在硬件测试通过后,要注意三个相一致1PNP地址和数据段中的端口地址;2控制字和接线;3代码段中的端口地址和接线;3、把程序代码烧进写实验箱中.运行结果1K0扳下表示启动,步进电机转动;K0扳下表示停止,步进电机停止;2K1扳下表示顺时针转,速度慢;3K2扳下表示逆时针,即倒转,速度快;六.改进意见及建议程序设计没有实现加速和减速,在步进电机的转动函数里,每次循环都改变延时的大小即可实现变速;延时时间依次变长则步进电机减速,延时时间依次变短则步进电机加速;再配合开关即可实现加速减速的任意控制;七.设计体会这次做的实验是一个比较综合的实验,实验中主要是微机原理的编程,但还涉及到步进电机的有关知识以及一些专业基础课的知识,所以要做好这次实验我们需要做的有很多;首先,在查找资料的过程中,我更加理解了8255在微型计算机中的重要作用,理解了8255的基本的编程结构和基本控制字的设计方法,也锻炼了自己的动手能力和创新意识;其次,在编写汇编程序过程中,由于早先对汇编语言学习的不扎实,我们遇到了很大的困难,但是随着对问题理解的逐渐深入,这些问题最终都一一化解了;通过这次步进电机控制代码的编写,让我有了一个更深刻的认识:要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的;在这个过程中,不仅提高了实际动手操作能力,培养了治学严谨的态度,激发了我学习此专业课程的兴趣,而且让我们深刻的体验到理论知识与实践经验的密切联系,要成为一个高技术人才,必须理论与实践两手都要硬;在设计时,对不同方案的构思、分析、比较到最后的方案确定,这些工作,可以增强了我们分析、解决问题的能力,培养了我们的创新意识;。
微机原理课程设计 8255控制交通灯
![微机原理课程设计 8255控制交通灯](https://img.taocdn.com/s3/m/0b8dbfbd0129bd64783e0912a216147917117e2f.png)
微机原理课程设计 8255控制交通灯微机原理课程设计-8255控制交通灯微机原理课程设计:8255模拟交通灯1、目的:自学8255采用方法,自学演示交通灯掌控的方法,自学双色灯的采用。
2、建议:掌控4个双色led灯(可以红肿,蓝,黄光),演示十字路口交通灯管理。
3、电路及连线pc0-pc3连dg1-dg4,pc4-pc7连dr1-dr4。
8255片选cs8255连138译码处210h。
4、说明(1)因为本实验就是演示交通灯掌控实验,所以必须先介绍实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
(2)双色led就是由一个红色led管芯和一个绿色led管芯PCB在一起,公用负端。
当红色正端提高电平,绿色正端提低电平时,红灯暗;红色正端提低电平,绿色正端提高电平时,绿灯暗;两端都提高电平时,黄灯暗。
(3)74ls240为8输入输出的逆向驱动器。
5、顺利完成的任务(1)利用计算机和微机原理试验箱,将实验6的程序tlamp_88.asm在试验箱运行和调试。
全速运行,观察整体效果。
单步运行,观察程序每条语句额执行效果,理解语句含义。
(2)修正实验连线为,pc7-pc4连dg1-dg4,pc3-pc0连dr1-dr4。
8255片挑选cs8255连138译码处为210h孔。
将tlamp_88.asm另存为jiaotong.asm。
修正jiaotong.asm,同时实现交通灯旧有功能。
(3)修改实验连线为,pb7-pb4连dg1-dg4,pb3-pb0连dr1-dr4。
8255片选cs8255连138译码处210h孔。
将jiaotong.asm另存为jiaotong2.asm。
微机原理实验报告
![微机原理实验报告](https://img.taocdn.com/s3/m/a893d58e88eb172ded630b1c59eef8c75ebf9553.png)
微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
微机原理课程设计报告-K型热电偶
![微机原理课程设计报告-K型热电偶](https://img.taocdn.com/s3/m/5ef0b3fd4afe04a1b071decb.png)
《现代控制理论》实验仿真报告时间2015.11 _学院 _专业班级 _姓名___学号成绩 _______摘要本文阐述了微机原理课程设计中,本组利用K型热电偶传感器测得温度,并将测量得到的数据显示到LCD屏幕中。
由席贝克响应,热电偶一端加热后产生回路电流,再经模拟电路采集电压信号等处理,由AD转换得到数字量,并加于LCD显示。
实验结果显示电路运行成功,LCD与LED同步显示了十六进制温度。
关键词:K型热电偶LCD显示模块AbstractThis paper describes our group let data show on the LCD screen by using K-Thermocouple measuring temperature in the Course Design of Microcomputer Principle. Because of Seed Back Effect , the thermocouple would generation loop current when one end of it heated. After analog circuit getting the data of voltage and so on,we make use of AD conversion to get digital quantity showing on the LCD screen. The experimental results show it operation successfully ,the LCD-screen and the LED-screen realize the synchronized display of hexadecimal temperatureKey Words:K-Thermocouple LCD显示模块ADC08091目录引言 (1)K型热电偶传感器实验 (2)1 实验内容 (2)2 实验设备 (2)3 实验设计原理 (2)3.1 热电偶原理 (2)3.2 AD转换电路 (4)4 设计思路 (4)4.1 AD转换采集数据 (4)4.2 数据显示到数码管上 (5)4.3 数据显示到LCD上 (5)5 程序流程 (6)5.1 主程序流程图 (6)5.2 LCD显示程序流程图 (7)5.3 数码管显示子程序流程图 (8)6 实验现象及说明 (8)6.1 实验结果 (8)6.2 结果说明 (9)7 在小组中的任务 (9)8 实验心得 (9)结论 (10)参考文献 (10)附录 (11)程序清单 (11)引言《微机原理》课程设计需综合运用所学知识针对一个较为具体的控制对象或过程进行系统设计、硬件选型及软件设计。
微机原理课程设计(电子时钟)
![微机原理课程设计(电子时钟)](https://img.taocdn.com/s3/m/0d930b347375a417866f8fba.png)
电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路1.选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
2.此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。
该程序实现了准确显示秒和分,读数准确,走时精准。
此电子钟能准确的从0时0分0秒走时到23时59分59秒,然后能自动回复到0时0分0秒循环走时。
3.基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。
以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。
在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。
微机原理报告 密码校验
![微机原理报告 密码校验](https://img.taocdn.com/s3/m/d69214d5ce2f0066f5332298.png)
河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:微型计算机原理及应用技术学年学期: 2 0 13 —2 0 14 学年第 2 学期同组人员:指导教师:2 0 13年12月课程设计成绩评定表目录一、设计目的----------------------------------------1二、设计任务与要求----------------------------------1三、设计内容----------------------------------------2四、实施效果----------------------------------------8五、设计体会----------------------------------------10六、参考资料----------------------------------------101、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3、熟悉常用的DOS功能;4、小组合作完成设计题目。
二、设计任务与要求:1、设计密码校验程序;2、程序设计基本要求:1)菜单内容包括:①输入密码(字符串);②密码校验;③退出。
2)输入字符串选择该项后,可以输入一个字符串。
该字符串作为密码校验中的已知密码。
3)密码校验输入字符串,若所输入的字符串与密码不一致则提示:“PASSWORD ERROR!”,并重新提示输入密码,当错误输入三次时退出软件返回DOS。
若所输入的字符串与密码一致则提示:“PASSWORD CORRECT!”,并返回主菜单。
4)在主菜单中选择退出项,则结束程序返回DOS。
1、使用的DOS功能:1) 显示字符串 MOV AH,09HINT 21H ;入口参数DS:DX=缓冲区2) 键盘输入一个字符 MOV AH,01HINT 21H ; AL=输入的字符3)终止当前程序并返回调用程序 MOV AH,4CHINT 21H ;AL=退出码4)输入字符串 MOV AH,0AHINT 21H ;入口参数DS:DX=缓冲区2、使用的BIOS功能:1)设置光标位置,出口参数DH=当前字符行号、DL=当前字符列号、CH=光标起始栅线: MOV AX,03H;INT 10H2) MOV AL,0AH;在光标位置显示字符INT 10H3) MOV AH,0;从键盘读字符INT 16H3、使用工具和软件:计算机和MASM汇编软件4、流程图:5、程序与分析:DATA SEGMENTMENU DB 5 DUP(0AH) ;预设5个字节单位,初始值均为0AHDB 32 DUP(' '),'MAIN MENU',0DH,0AHDB 25 DUP(' '),201,22 DUP(205),187,0DH,0AHDB 25 DUP(' '),186,' 1.SET THE PASSWORD',3 DUP (20H),186,0DH,0AHDB 25 DUP(' '),186,' 2.CHECK THE PASSWORD',1 DUP (20H),186,0DH,0AHDB 25 DUP(' '),186,' 3.RETURN TO DOS ... ',20H,186,0DH,0AH DB 25 DUP(' '),200,22 DUP(205),188,0DH,0AHDB 29 DUP(' '),'CHOICE(1,2,3):$'MESG DB 0DH,0AH,0DH,0AH,9,'PRESS ANY KEY TO EXIT ...$'PASS DB 0DH,0AH,9,'ENTER YOUR PASSWORD: $'YES DB 0DH,0AH,9,'PASSWORD CORRECT!$'NO DB 0DH,0AH,9,'PASSWORD ERROR!$'TIPS DB 0DH,0AH,9,'INPUT A STRING: $'MSG1 DB 255,0MSG2 DB 255,0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXCLD ;进位标志置0AGAIN: MOV AX,3INT 10H ;读光标位置LEA DX,MENUMOV AH,09HINT 21H ;输出字符串INPUT: MOV AH,1INT 21H ;从键盘读字符,AL=字符码,AH=扫描码 CMP AL,'1'JNZ CP2CALL SUB01 ;程序跳转JMP AGAINCP2: CMP AL,'2'JNZ CP3CALL SUB02 ;字符串左右移动JC EXITJMP AGAIN ;返回到主菜单CP3: CMP AL,'3' ;返回DOSJNZ INPUTEXIT: LEA DX,MESGMOV AH,9INT 21H ;输出字符串MOV AH,1INT 21H ;键盘输入单字符MOV AH,4CHINT 21HSUB01: MOV AX,3INT 10H ;读光标位置LEA DX,TIPSMOV AH,9INT 21H ;输出字符串LEA DX,MSG1MOV AH,0AHINT 21H ;输入字符串MOV AH,0AHINT 10H ;在光标位置显示字符 RET ;过程返回SUB02: MOV AX,3INT 10H ;读光标位置CLC ;进位标志清0PUSH DS ;压入堆栈POP ES ;弹出堆栈MOV BP,3SSS: LEA DX,PASSMOV AH,9INT 21H ;显示字符串LEA DX,MSG2MOV AH,0AHINT 21H ;输出字符串MOV CH,0MOV CL,MSG1+1CMP CL,MSG2+1JNZ CUOWUINC CXREPZ CMPSB ;当等于/为0时重复JCXZ RIGHT ;CX为0转移CUOWU: LEA DX,NOMOV AH,9INT 21HDEC BPJNZ SSSSTC ;进位标志位置1JMP OKRIGHT: LEA DX,YESMOV AH,9INT 21HOK: MOV AH,1INT 21HRETCODE ENDSEND START6、分组和自己对小组做的贡献:我与同组组员合作,主要负责编写程序的数据段设定部分,以及各自搜集相关资料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。
根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。
2、用转换的到的数字信号再经数模转换,对直流电机进行控制。
拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。
2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。
三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。
而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。
与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。
2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。
取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。
得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。
对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。
对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
对于报警电路,只要从开关量输入显示区取得相应电平变化量输送给电子音响驱动控制区的信号输入端,即完成报警电路的设计。
四、具体模块设计1、概述本系统设计以8088 微处理器作为CPU,用ADC0809 进行模数转换,DAC0832 进行数模转换,8255 进行电机选择及步进电机控制,8279 进行显示输出,即主要包括四大模块:A/D 模块,8255 控制模块,D/A 模块以及显示模块,通过中央8088 全局调制,如下图Fig.1。
每一个模块分别对应着试验箱上的相应的模块化芯片。
A/D转换模块对应芯片ADC0809控制模块对应芯片8255CPU模块对应8088D/A模块对应芯片DAC0832显示模块对应芯片82792、A/D 转换A/D 模块主要由ADC0809 芯片以及模拟电位器组成。
ADC0809 是一种8 路模拟输入,8 路数字输出的逐次逼近法A/D 器件,转换时间约为100us,转换精度为+1/512,适用于多路数据采集系统。
ADC0809 芯片片选信号接入8088 译码输出Y6,CLK 信号接入500KHz 时钟,IN0 接入0~5V 可调模拟电位器作为模拟信号输入。
具体工作过程中,只需将端口对应赋值,并将转换值输出即可,代码如下:TEST1: IN AL,DX ;初始转换开始的检测AND AL,80H ;测试0809芯片的EOC位是否为0,为0则表示上次AD转换完成则可以开始这次的AD转换JNZ TEST1ADCON:MOV AX,00MOV DX,ADPORT ;ADPORT 为ADC0809 端口地址0060H ,使0809的片选端口为低电平,则0809可以工作OUT DX,ALMOV DX,ADPORT ;将转换好的数据读入8088IN AL,DXMOV CL,AL3、8255 控制模块8255 控制模块主要包含以下功能:首先对8255进行方式控制字的初始化过程,对8255的端口地址进行复制,如下:IOCONPT EQU 0003H ;8255的控制端口地址IOAPT EQU 0000H ;8255通道A的地址写方式控制字,通过8086拓展Y0口对8255写方式控制字89H,即10001001,PA0口工作在方式1,用作数据输出,C口用作数据输入,初始化过程如下:DELAY0:MOV AL,89HMOV DX,IOCONPTOUT DX,AL ;对8255控制端口写控制字NOP ;什么也不做,暂停一下NOPNOP通过模数转换得到的数字量在数码管上进行显示之后,取出数字量,并与事先设定好的门限电压30H和0D0H做比较,其中30H和0D0H将00H-FFH分成了三段,这三段电压驱动下的直流电机的转动状态分别对应发光二极管指示灯的三个灯的亮与暗,当数字量大于0D0H时,对PA0口写入01H并输出给开关量输入显示区,驱动第一个发光二极管发光;当数字量小于30H时,对PA0口写入04H并输出给开关量输入显示区,驱动第三个二极管发光;当数字量介于30H 和0D0H之间的时候,对PA0口写入02H并输出给开关量输入显示区,驱动第二个二极管发光,实现对电机工作状态的只是,代码如下:POP AXCOUNT: CMP AL,0D0HJA TT1 ;转换后的数字量大于0D0H则转向CMP AL,30HJB TT2PUSH AXMOV DX,IOAPTMOV AL,02HOUT DX,ALPOP AXJMP CONTINUETT1:PUSH AXMOV DX,IOAPTMOV AL,01HOUT DX,ALPOP AXJMP CONTINUETT2:PUSH AXMOV DX,IOAPTMOV AL,04HOUT DX,ALPOP AXCONTINUE:MOV CL,AL4、D/A 转换模块D/A 转换模块主要由数模转换芯片DAC0832 组成,0832 片选端接入8088 译码输出Y7,同时将输出端输入直流电机输入端,这样将之前转换所得到的数字量进行二次转换,在转换为模拟量。
由于之前的A/D 模块将0~5V 的电压转换成了00H 到FFH 的数字量,而0832 会将这些数字量当成有符号数进行转换,这也就是直流电机控制过程中会出现反转的原因。
代码如下:PUSH AX ;AL 为之前转换得到的数字量MOV DX,DAPOT ;端口赋值OUT DX,AL ;端口输出POP AX5、输出显示模块输出显示模块主要由8279 以及8 个数码管组成。
对于8279,试验箱上已经将片选,时钟等引脚固化了,因此不许链接太多,只需将8279 对应位与数码管链接即可。
8179控制的数码管初始设定为“0809--00”,在后面接入A/D 信号之后最后两位随着电位器输入大小的变化而相应的从00 变化到FF。
代码中主要涉及ADCONTORL,CONVERS,LEDDISP 等部分。
对8279写控制字:MOV DX,CONTPORT ;8279的控制端口MOV AL,00HOUT DX,AL ;设置键盘显示方式,00000000代表8字符显示,左端输入,编码扫描,键盘输入。
MOV AL,2AHOUT DX,AL ;设置8279动态扫描频率,00101010代表10分频系数MOV AL,0d0hOUT DX,AL ;8279CLEARMOV AL,90hOUT DX,AL ;写显示RAM前设置的写地址命令,10010000代表RAM开始地址为0000,自动增一。
涉及的代码部分:CONVERS:MOV BH,0HAND AL,0FH ;AL是模拟量转换后的值,取AL的低四位MOV BL,ALMOV AL,CS:[BX+DATA2]MOV BX,DATA1+7 ;将AL的低四位显示到第八个数码管MOV DS:[BX],ALDEC BX ;BX为第七个数码管PUSH BXMOV AL,CLMOV CL,04HSHR AL,CLMOV BL,ALMOV BH,0HMOV AL,CS:[BX+DATA2]POP BXMOV DS:[BX],AL ;高四位显示到第七个数码管RET ;扫描最后两个数码管LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,AL ;八个数码管全亮MOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07HJA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RET ;从左到右依次扫描数码管传送这是我第一次接触8279芯片,通过学习运用,比较熟练的掌握了8279的结构和使用。
关于8279芯片:8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。
8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。
1、引脚功能DB0~DB7:双向数据总线,以便和CPU之间传递命令、数据和状态。
CLK :时钟输入线,以产生内部时钟。
RESET :复位线,高电平有效。
复位后,8279A置为16位显示左边输入,编码扫描键盘,时钟系数为31。
/CS :片选,低电平有效。
A0 :地址输入线,用以区分数据线传送的是数据还是命令。
A0=0传送的是数据;A0=1传送的是命令。
/RD :读信号线,低有效,内部缓冲器信息送DB0~DB7。
/WR :写信号线,低有效。
收数据总线上的信息写入内部缓冲区。
IRQ :中断请求输出线,高有效。
当FIFO RAM中有键输入数据时,IRQ 升为高电平,向CPU请求中断。
CPU读出FIFO RAM时,IRQ变为低电平,若RAM 中数据还有,IRQ 又返回高电平,直至RAM中为空,IRQ才保持低电平。
SL0~SL3 :输出扫描线,用以对键盘/传感器矩阵和显示器进行扫描。
RL0~RL7 :键盘/传感器矩阵的行(列)数据输入线。
其内部有拉高电阻,使之保持高电平。
SHIFT :换档输入线,内部有拉高电阻,使之保持高电平。
CNTL/STB:控制/选通输入线,内部有拉高电阻,使之保持高电平。
OUTA0~OUTA3:四位输出口。
OUTB0~ OUTB3:四位输出口。