文档库 最新最全的文档下载
当前位置:文档库 › 微机课程设计

微机课程设计

微机课程设计
微机课程设计

合肥工业大学

计算机与信息学院

课程设计

课程:微机原理与接口技术设计

专业班级:

学号:

姓名:

一、设计题目及要求:

设置十字路口的南北东西向的四组红黄绿灯的亮灯规律符合实际的十字路口交通灯亮灭的规律。

要求:

1、一路(如南北向)按相同时间从红转绿、从绿转红,在绿转红时要求黄灯闪烁三次。

2、一路(如东西向)按车辆到达数量转换,红灯时等待一段时间转绿灯,绿灯时通过6辆车后黄灯闪烁3次然后转为红灯,车辆通过统计可以用脉冲记数实现。

二、设计思想:

总体思想:不用通过8253计数,直接把脉冲信号作为中断,按一次脉冲信号产生一次中断,产生六次后即可执行下一步黄灯闪三次的程序。通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。按照题目要求一路(如南北向)按相同时间从红转绿、从绿转红,在绿转红时要求黄灯闪烁三次。在绿灯时过一段时间(自动)黄灯闪三次,可以通过软件延时,再转换为绿灯。一路(如东西向)按车辆到达数量转换,红灯时等待一段时间转绿灯,绿灯时通过6辆车后黄灯闪烁3次然后转为红灯,车辆通过统计可以用脉冲记数实现。本实验直接通过控制脉冲来表示通过几辆车,即通过8259(中断控制器)的中断服务程序,按几次脉冲表示通过几辆车。反复循环即可实现题目要求。

程序设计思想:因为要求过六辆车,所以设置一个变量STA13,然后声明8255的A、B、C、控制口,再声明8259的奇地址端口与偶地址端口,开中断。8255初始化,PA0-PA7对应右边八个灯,PA0-PA3对应左边四个灯,MOV AL,0B6H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL表示红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,

MOV DX,PA

MOV AL,75H

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

8259偏移地址送入BX

MOV AX,OFFSET INT8259

MOV BX,0038H

MOV [BX],AX

MOV BX,003AH

MOV AX,0000H

MOV [BX],AX

CALL FOR8259

把8259的偏移地址给AX,根据中断类型码与ICW2及引脚序号的关系,初始化8259时设置ICW2为08H,所以前五位为00001,后面根据选择引脚的序号,来确定BX,MOV BX,0038H。

中断服务程序为:

INT8259:cli

DEC STA13 ;由六减为零时,黄灯闪三次

JNZ NNN

TRANS13: MOV CX,03H;1、3路口黄灯闪三次

CHG13: MOV DX,PA

MOV AL,0F3H;1、3路口绿灯灭,黄灯亮

OUT DX,AL

INC DX

MOV AL,0CH

OUT DX,AL

CALL DELAY2

MOV DX,PA;1、3路口黄灯灭

MOV AL,0F7H;

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

CALL DELAY2

LOOP CHG13

MOV DX,PA; 1、3路口红灯亮,而同时2、4路口的绿灯亮

MOV AL,0AEH

OUT DX,AL

INC DX

MOV AL,0BH

OUT DX,AL

MOV STA13,06H

STI

CALL FOR8259

CALL DELAY1;通过软件延时来控制时间

TRANS24: MOV CX,03H;2、4路口的黄灯闪烁

CHG24: MOV DX,PA

MOV AL,9EH

OUT DX,AL

INC DX

MOV AL,07H

OUT DX,AL

CALL DELAY2

MOV DX,PA

MOV AL,0BEH

OUT DX,AL

INC DX

MOV AL,0FH

OUT DX,AL

CALL DELAY2

LOOP CHG24

MOV DX,PA; ; 2、4路口红灯亮,而同时1、3路口的绿灯亮

MOV AL,75H

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

NNN: STI

CALL FOR8259

IRET

一路(如东西向)按车辆到达数量转换,红灯时等待一段时间转绿灯,绿灯时通过6辆车后黄灯闪烁3次然后转为红灯,车辆通过统计可以用脉冲记数实现。通过按脉冲来产生中断请求,按六次则表示通过六辆车。

三、功能流程图:

四、结果讨论:

本次实验是通过人工控制脉冲来模拟通过车的数量,车与车时间间隔可长可短,比较符合实际情况,如果通过8253来控制则不符合实际情况,所以本次实验没有选择8253。黄灯的闪烁次数可以改变,黄灯闪烁的间隔可以改长一点,这样可以更加明显的看到黄灯闪烁。刚开始时由于没有设置软件延时,所以导致黄灯闪的太快,肉眼无法看见,经过单步运行,发现了这个问题,所以加了软件延时。本来是两条路都是通过脉冲(按脉冲信号)实现,开始设置两个变量,一个为六,一个为十二,当六减为零时,执行1、3路口,此时十二减为六,再把另外一个变量改为十二,执行第二次时,六减为零,执行2、4路口,如此循环往复。后来石雷老师说只要一路通过控制通过车辆的次数,另一路自动转换(通过软件延时),程序已经改为符合题目要求了。石雷老师验收的时候提问如果把IR7,换成IR6怎么办,即通过ICW2判断前五位为00001,后边三位改为110,再左移两位即可得到偏移地址。程序已改为IR6。即通过这两段程序MOV BX,0038H MOV [BX],AX。

附录:实验代码:(完整的源程序)

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE

ORG 3400H

H8: JMP P8259

STA13 DB 06H

Port0 EQU 0FFE0H

Port1 EQU 0FFE1H

PA EQU 0FFD8H

PB EQU 0FFD9H

PC EQU 0FFDAH

PCTL EQU 0FFDBH

P8259: CLI

H3: MOV AL,88H;设置8255控制字,三个端口均工作在方式0,并处于输出状态MOV DX,PCTL

OUT DX,AL

MOV DX,PA

MOV AL,0B6H; 红灯全亮

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

CALL DELAY1

MOV DX,PA; 1、3路口的绿灯亮,2、4路口的红灯亮

MOV AL,75H

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

MOV AX,OFFSET INT8259

MOV BX,0038H;前五位为00001,选定IR6,因为是偏移地址,所以左移两位。

MOV [BX],AX

MOV BX,003AH

MOV AX,0000H

MOV [BX],AX

CALL FOR8259

mov si,0000h

STI

CON8: CALL DIS

JMP CON8

;------------------------------------

INT8259:cli

DEC STA13 ;由六减为零时,黄灯闪三次

JNZ NNN

TRANS13: MOV CX,03H;1、3路口黄灯闪三次

CHG13: MOV DX,PA

MOV AL,0F3H;1、3路口绿灯灭,黄灯亮

INC DX

MOV AL,0CH

OUT DX,AL

CALL DELAY2

MOV DX,PA;1、3路口黄灯灭

MOV AL,0F7H;

OUT DX,AL

INC DX

MOV AL,0DH

OUT DX,AL

CALL DELAY2

LOOP CHG13

MOV DX,PA; 1、3路口红灯亮,而同时2、4路口的绿灯亮

MOV AL,0AEH

OUT DX,AL

INC DX

MOV AL,0BH

OUT DX,AL

MOV STA13,06H

STI

CALL FOR8259

CALL DELAY1;通过软件延时来控制时间

TRANS24: MOV CX,03H;2、4路口的黄灯闪烁

CHG24: MOV DX,PA

MOV AL,9EH

OUT DX,AL

INC DX

MOV AL,07H

OUT DX,AL

CALL DELAY2

MOV DX,PA

MOV AL,0BEH

OUT DX,AL

INC DX

MOV AL,0FH

OUT DX,AL

CALL DELAY2

LOOP CHG24

MOV DX,PA; 2、4路口红灯亮,而同时1、3路口的绿灯亮

MOV AL,75H

INC DX

MOV AL,0DH

OUT DX,AL

NNN: STI

CALL FOR8259

IRET

;--------------------------

DIS: PUSH CX

MOV CX,0100H

DELAY: LOOP $

POP CX

JMP DIS

;==============================

FOR8259:MOV AL,13H;设置ICW1

MOV DX,Port0

OUT DX,AL;设置ICW2

MOV AL,08H

MOV DX,Port1

OUT DX,AL

MOV AL,09H;设置ICW4

OUT DX,AL

MOV AL,0BFH ;选定IRQ6,10111111

OUT DX,AL

RET

;--------------------------

DELAY1: PUSH AX

PUSH CX

MOV CX,0030H

DELY2: CALL DELAY2

LOOP DEL Y2

POP CX

POP AX

RET

DELAY2: PUSH CX

MOV CX,4000H

LOOP $

POP CX

RET

CODE ENDS

END H8

计算机控制课设.

计算机控制技术课程设计 评语: 考勤(10)守纪(10)过程(30)设计报告(30)答辩(20)总成绩(100) 专业:自动化 班级:动201302 姓名:完新龙 学号:201309314 指导教师:侯涛 兰州交通大学自动化与电气工程学院 2016年07月15日

基于温度传感器的水温控制系统 1.设计要求 1升水加热,要求水温可以在20~100摄氏度范围内进行人工控制,并能在环境温度变化时实现自动调整,以保证在设计的温度。要求最小分辨率率为1摄氏度,温度控制的稳态误差小于0.2摄氏度,能够显示当前的温度。 2.设计方案 设计采用220V交流供电的150W加热器,利用DS18B20进行周期性检测,并将数据传递给单片机。上位机通过单片机传递的实时温度与给定温度进行比较得到误差,通过PID算法得到控制量,送给单片机通过单片机I/O口输出高电平占空比进行控制,实现对加热器控制。 2.1设计原理图 设计原理图如图1所示。 图1 设计原理图 2.2硬件选型 (1)控制器分为上位机和下位机。上位机为控制计算机,通过检测的温度与设定的温度进行比较,由设定的算法计算出控制量u;下位机为AT89C51即单片机,接收由上位机所给出的控制量,对执行机构进行控制。AT89C51具有如下特点:4kB Flash片内内存储器,128 byte RAM,32个外部双向输入输出口,5个中断优先级,2个16位可编程计数器,2个全双工串行通信口。 (2)D/A转换器采用DAC0832,8位D/A转换器,与微处理器完全兼容。DAC0832由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。主要参数:分辨率为0.0039;电流稳定时间1微秒;可单缓冲、双缓冲或直接数字输入;可单一电源供电(5V-15V);低功耗,20mW。 (3)执行机构采用交流加热器。根据相关资料对于加热一杯水,加热器可以迅速反应,提高动态响应速度。 (4)传感器采用DS18B20数字温度传感器。DS18B20具有体积小,硬件开销低,

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

中南大学微机课程设计报告交通灯课案

微机课程设计报告

目录 一、需求分析 1、系统设计的意义 (3) 2、设计内容 (3) 3、设计目的 (3) 4、设计要求 (3) 5、系统功能 (4) 二、总体设计 1、交通灯工作过程 (4) 三、设计仿真图、设计流程图 1、系统仿真图 (5) 2、流程图 (6) 3、8253、8255A结构及功能 (8) 四、系统程序分析 (10) 五、总结与体会 (13) 六、参考文献 (13)

一、需求分析 1系统设计的意义: 随着社会经济的发展,城市问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏通的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 随着城市机动车量的不断增加,组多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速通道,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速通道,缓解主干道与匝道、城市同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通灯的控制方式很多,本系统采用可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现本系统的各种功能。同时,本系统实用性强,操作简单。 2、设计内容 采用8255A设计交通灯控制的接口方案,根据设计的方案搭建电路,画出程序流程图,并编写程序进行调试 3、设计目的 综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。针对此次课程设计主要是运用本课程的理论知识进行交通灯控制分析及设计,掌握8255A方式0的使用与编程方法,通从而复习巩固了课堂所学的理论知识,提高了对所学知识的综合应用能力。 4、设计要求: (1)、分别用C语言和汇编语言编程完成硬件接口功能设计; (2)、硬件电路基于80x86微机接口;

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

计算机控制技术课程设计报告

《计算机控制技术》课程设计单闭环直流电机调速系统

1 设计目的 计算机控制技术课程是集微机原理、计算机技术、控制理论、电子电路、自动控制系统、工业控制过程等课程基础知识一体的应用性课程,具有很强的实践性,通过这次课程设计进一步加深对计算机控制技术课程的理解,掌握计算机控制系统硬件和软件的设计思路,以及对相关课程理论知识的理解和融会贯通,提高运用已有的专业理论知识分析实际应用问题的能力和解决实际问题的技能,培养独立自主、综合分析与创新性应用的能力。 2 设计任务 2.1 设计题目 单闭环直流电机调速系统 实现一个单闭环直流电机调压调速控制,用键盘实现对直流电机的起/停、正/反转控制,速度调节要求既可用键盘数字量设定也可用电位器连续调节,需要有速度显示电路。扩展要求能够利用串口通信方式在PC上设置和显示速度曲线并且进行数据保存和查看。 2.2 设计要求 2.2.1 基本设计要求 (1)根据系统控制要求设计控制整体方案;包括微处理芯片选用,系统构成框图,确定参数测围等; (2)选用参数检测元件及变送器;系统硬件电路设计,包括输入接口电路、逻辑电路、操作键盘、输出电路、显示电路; (3)建立数学模型,确定控制算法; (4)设计功率驱动电路; (5)制作电路板,搭建系统,调试。 2.2.2 扩展设计要求 (1)在已能正常运行的微计算机控制系统的基础上,通过串口与PC连接; (2)编写人机界面控制和显示程序;编写微机通信程序;实现人机实时交互。

3方案比较 方案一:采用继电器对电动机的开或关进行控制。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。 方案二:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。 方案三:采用由电力电子器件组成的H 型PWM 电路。用单片机控制电力电子器件使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在电力电子器件的饱和截止模式下,效率非常高;H 型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM 调速技术。 兼于方案三调速特性优良、调整平滑、调整围广、过载能力大,因此本设计采用方案三。 4单闭环直流电机调速系统设计 4.1单闭环调速原理 4.1.1 闭环系统框图 4.1.2 调速原理 直流电机转速有: 常数Ke Ka 不变,Ra 比较小。 所以调节Ua 就能调节n 。 n n I K R K U K R I U n d d a e e d ?-=Φ -Φ=-=0φa a a U I U ≈-

C语言课程设计 简单计算器程序

课程设计名称:C语言课程设计课程设计题目:简单计算器程序

目录 第1章需求分析 (1) 1.1设计要求 (1) 1.2任务 (1) 第2章总体设计 (2) 2.1设计简介及设计方案论述 (2) 2.2功能模块层次图 (2) 第3章详细设计 (3) 3.3由(后缀)逆波兰表达式计算中缀表达式原理 (8) 3.3.1算法描述 (8) 第4章调试分析 (10) 4.1程序设计中所遇到的错误及犯错的原因 (10) 4.2错误的解决方法 (10) 第5章用户手册 (11) 总结 (15) 参考文献 (16) 附录(程序清单) (17)

第1章需求分析 1.1 设计要求 (1)用 C 语言数据结构实现程序设计; (2)利用结构体、栈、进行相关信息处理; (2)系统的各个功能模块要求用函数的形式实现; (4)界面简单,可操作性高。 1.2任务 (1)定义一个结构体类型数组,输入0~9 及+、--、*等符号的信息,将其信息存储起来; (2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果; (3)编写代码; (4)程序分析与调试。 说明: 本课程设计将实现一个简单计算器。在功能上尽量模仿windows 的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

第2章 总体设计 2.1设计简介及设计方案论述 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相 关的两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家 J.Lukasiewicz 于 1929 年提出了另一种表示表达式的方法。按此方法,每一运算符都置 于其运算对象之后,故称为后缀表达式。 后缀表达式的优点是显而易见的, 编译器在处理时候按照从左至右的顺序读取逆波 兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实 际编程的时候就会体会到它的好处了。 逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转 换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运 算级别的特殊处理。 2.2功能模块层次图 将算术表达式转化为逆波兰表达式 计算逆波兰表达式的值 简单计算器 表 达 式 格 式 转 换 系统 求 值 计 算 系 统

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

计算机控制系统课程设计

《计算机控制》课程设计报告 题目: 超前滞后矫正控制器设计 姓名: 学号: 10级自动化 2013年12月2日

《计算机控制》课程设计任务书 指导教师签字:系(教研室)主任签字: 2013年11 月25 日

1.控制系统分析和设计 1.1实验要求 设单位反馈系统的开环传递函数为) 101.0)(11.0(100 )(++= s s s s G ,采用模拟设 计法设计数字控制器,使校正后的系统满足:速度误差系数不小于100,相角裕度不小于40度,截止角频率不小于20。 1.2系统分析 (1)使系统满足速度误差系数的要求: ()() s 0 s 0100 lim ()lim 100 0.1s 10.011V K s G s s →→=?==++ (2)用MATLAB 画出100 ()(0.11)(0.011) G s s s s = ++的Bode 图为: -150-100-50050 100M a g n i t u d e (d B )10 -1 10 10 1 10 2 10 3 10 4 P h a s e (d e g ) Bode Diagram Gm = 0.828 dB (at 31.6 rad/s) , P m = 1.58 deg (at 30.1 rad/s) Frequency (rad/s) 由图可以得到未校正系统的性能参数为: 相角裕度0 1.58γ=?, 幅值裕度00.828g K dB dB =, 剪切频率为:030.1/c rad s ω=, 截止频率为031.6/g rad s ω=

(3)未校正系统的阶跃响应曲线 024******** 0.20.40.60.811.2 1.41.61.8 2Step Response Time (seconds) A m p l i t u d e 可以看出系统产生衰减震荡。 (4)性能分析及方法选择 系统的幅值裕度和相角裕度都很小,很容易不稳定。在剪切频率处对数幅值特性以-40dB/dec 穿过0dB 线。如果只加入一个超前校正网络来校正其相角,超前量不足以满足相位裕度的要求,可以先缴入滞后,使中频段衰减,再用超前校正发挥作用,则有可能满足要求。故使用超前滞后校正。 1.3模拟控制器设计 (1)确定剪切频率c ω c ω过大会增加超前校正的负担,过小会使带宽过窄,影响响应的快速性。 首先求出幅值裕度为零时对应的频率,约为30/g ra d s ω=,令 30/c g rad s ωω==。 (2)确定滞后校正的参数 2211 3/10 c ra d s T ωω= ==, 20.33T s =,并且取得10β=

微机原理课程设计题目

计算机科学与技术04级 微机原理课程设计 一、课程设计的目的 课程设计是实验的提高和综合。通常,学习知识是由浅入深、由此及彼,一点点的学习和积累的,而应用知识则是综合运用所积累的知识来分析和解决实际问题、从知识的系统性来检验对各层次知识的掌握程度。 ?课程设计的目的是让学生把理论学习和实验教学阶段所掌握的知识通过一个设计实例,经历一次理论和实践结合、软件和硬件结合的综合训练,也是一次工程实践能力的检验。这次课程设计大家应当把它作为毕业设计的预演。 ?锻炼通过各种媒体和途径主动获取知识的能力。 二、课程设计的要求 ?课程设计要求独立完成、严禁抄袭; ?较大的题目可以多人合作完成,但每个人都应有自己所承担的任务,并在自己的报告中客观如实地反映; ?课程设计既是综合能力的锻炼,也是协作精神和科学诚信品质的锻炼。如果做相同的题目,要保证各自的独立性,实现方法的多样性。 ?微机原理是一门硬件技术为主、软硬件结合的课程,因此要求,所有的选题都要描述清楚硬件设计的原理和软件设计的逻辑思路。设计尽量在实验箱上完成。 ?在功能设计上尽量完善、贴近实用、有人机交互(人机交互可实用实验箱上的键盘重新定义) ?登录本系的网页,查阅毕业设计的相关文件和设计规范,学习设计报告撰写的各个环节,并在课程设计中认真实践。 ?要珍惜这次课程设计,这是一次总结复习、知识拓展、能力锻炼的大好机会。 ?课题完成后要有一分规范的设计报告。 三、课程设计的时间安排 课程设计的时间为2个完整的教学周。每天的上午一班,下午二班实验室开放,为大家提供调试、辅导的时间。 四、课程设计报告要求 ?为锻炼学生的论文写作能力,为今后的毕业设计(毕业论文)做准备,对设计报告的完成尝试做较高的要求。

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

微机课程设计心得体会范文

微机原理与系统设计作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以下是整理的微机课程设计心得体会范文。 微机课程设计心得体会范文一 微机原理与系统设计作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 微机课程设计心得体会范文二 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

计算机控制技术课程设计

计算机控制技术课程设 计 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

目录 1 引言 (1) 2 课程设计任务和要求 (2) 3 直流伺服电机控制系统概述 (2) 直流伺服系统的构成 (2) 伺服系统的定义 (2) 伺服系统的组成 (2) 伺服系统的控制器的分类 (3) 直流伺服系统的工作过程 (4) 4 直流伺服电机控制系统的设计 (5) 方案设计步骤 (5) 总体方案的设计 (5) 控制系统的建模和数字控制器设计 (7) 数字PID工作原理 (8) 数字PID算法的simulink仿真 (8) 5 硬件的设计和实现 (9) 选择计算机机型(采用51内核的单片机) (9) 80C51电源 (10) 80C51时钟 (10) 80C51 控制线 (10) 80C51 I/O接口 (11) 设计支持计算机工作的外围电路(键盘、显示接口电路等) (11) 数据锁存器 (11) 键盘 (11) 显示器 (12) 数模转换器ADC0808 (12) 其它相关电路的设计或方案 (13) 供电电源设计 (13) 检测电路设计 (13)

功率驱动电路 (14) 仿真原理图 (14) 6软件设计 (14) 程序设计思想 (14) 主程序模块框图 (15) 编写主程序 (15) 7 总结 (16) 附录1 ADC0808程序 (17) 附录2 数字控制算法程序 (18) 参考文献 (19)

1 引言 半个世纪来,直流伺服控制系统己经得到了广泛的应用。随着伺服电动机技术、电力电子技术、计算机控制技术的发展,使得伺服控制系统朝着控制电路数字化和功率器件的模块化的方向发展。 本文介绍直流伺服电机实验台的硬件、软件设计方案。通过传感器对电机位移进行测量,控制器将实际位移量与给定位移量进行比较,控制信号驱动伺服电机控制电源工作,实现伺服电机的位置控制。其电机位置随动系统硬件设计主要包括:总体方案设计、单片机应用系统设计、驱动电路设计和测量电路设计。软件编制采用模块化的设计方式,通过系统的整体设计,完成了系统的基本要求,系统可以稳定的运行。 本次设计说明书主要包括主要包括主程序设计、模数转换器ADC0809程序及数字控制算法程序的设计等内容。 通过本次设计,加深在计算机控制系统课程中所学的知识的理解,提高电气设计与分析的能力,为今后的工作打下基础。

简易计算器课程设计

基于单片机的计算器的设计 摘要:本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 关键词:LED接口;键盘接口;8255A;汇编语言 一、概述 1.1设计要求及任务: (1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、“/”、“=”、和“C”键; (2)设计两位LED接口电路; (3)实现1位数的简单运算 1.2设计原理 (1)LED显示器接口技术 LED动态显示接口技术 (2)键盘显示技术 逐行(逐列扫描法) 二、系统总体方案和硬件设计 2.1计算器总体思想 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。 图1 系统设计框图

2.2硬件的选择与连接 图二硬件连接总图 2.2.1硬件选择 (1)由于本设计比较简单,因此选用内部含有4KBE2PROM的89C51单片机作为系统的核心。 (2)扩展输入/输出端口 在扩展输入/输出端口时,要求输入口能够缓冲,,输出口能够锁存。常用小规模集成电路芯片74LS244或74LS245等扩展输入端口,用74LS273、74LS373、 74LS377扩展输出端口。这种扩展方法的特点是电路简单,但功能单一、灵活性差。因而常采用中规模的可编程并行接口芯片8255A扩展输入/输出端口。 (3)锁存电路采用74LS373 2.2.2接口设计 (1)单片机与8255A的接口设计 8255A中的数据总线缓冲器为三态双向数据缓冲存储器,用于将8255A的数据线 D0~D7和单片机的数据总线(P0口)连接,实现单片机和接口间的数据传送。 读写控制部件的接口设计 1、/CS为片选信号,接成低电平表示8255A 被选中。/CS与P2.7相连,用P2口的最高位控制8255A是否工作。即将P2.7控制为低电平。 2、RESET-复位信号,高电平有效,接在单片机的RST端。 3、/RD和/WR为读写控制信号,低电平有效。分别将两个端口接单片机的/RD和/WR 4、A1和A0-端口选择信号,分别与单片机的低两位地址线P1.1和P1.0相连。用于选择不同端口。采用74LS373三态锁存器,用于分离P0口第八位地址线,将它的Q0和Q1口接至8255A的地址输入端A0和A1。

微机课设简易计算器

微机课程设计报告 题目简易计算器仿真 学院(部)信息学院 专业通信工程 班级2011240401 学生姓名张静 学号33 12 月14 日至12 月27 日共2 周 指导教师(签字)吴向东宋蓓蓓

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C52芯片、汇编语言、数码管、加减乘除

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

硬件课程设计简易计算器设计

中国矿业大学徐海学院 单片机课程设计 姓名:XXX学号: 22090XXX 专业:计算机09-4班 题目:硬件课程设计 专题:简易计算器设计 指导教师: XXX 设计地点:嘉园时间: 2011-12-23 20011年12月

单片机课程设计任务书 专业年级计算机09-4 学号22090XXX 学生姓名XXX 任务下达日期:2011年12 月15日 设计日期:2011 年12 月15 日至2011 年12 月23日 设计题目:硬件课程设计 设计专题题目:简易计算器设计 设计主要内容和要求: 摘要: 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个计算器。 主要能实现 1.加法:能够计算四位以内的数的加法。 2减法:能计算四位数以内的减法。 3乘法:能够计算两位数以内的乘法。 4除法:能够计算四位数的乘法 5有清零功能,能随时对运算结果和数字输入进行清零。 关键词:单片机; 计算器 ; 加减乘除 指导教师签字:

目录 1 系统概述 (1) 1.1硬件知识概述 (1) 1.1.1 单片机 (1) 1.1.2 C语言 (1) 1.1.3 ISP (1) 1.2设计基本思想 (1) 2硬件电路设计 (2) 2.1 单片机最小系统 (2) 2.2键盘接口电路 (2) 2.3数码管显示电路 (3) 3 软件设计 (4) 3.1 复位电路 (4) 4.系统调试 (5) 4.1 软件流程图 (5) 4.1.1系统软件系统流程图 (5) 5.结束语 (6) 参考文献 (7) 附录 (8)

1 系统概述 1.1硬件知识概述 1.1.1 单片机 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 1.1.2 C语言 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。 1.1.3 ISP ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP 方式擦除或再编程。本次课程设计便使用ISP 方式,直接将编写好的程序下载到连接好的单片机中进行调试 1.2设计基本思想 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个计算器,用四位一体数码管显示计算数值及结果。要求用Protel 画出系统的电路原理图,绘出程序流程图,并给出程序清单。 主要能实现 1.加法:能够计算四位以内的数的加法。 2减法:能计算四位数以内的减法。 3乘法:能够计算两位数以内的乘法。 4除法:能够计算四位数的乘法 5有清零功能,能随时对运算结果和数字输入进行清零。

相关文档
相关文档 最新文档