触摸式LCD人机接口设计

触摸式LCD人机接口设计
触摸式LCD人机接口设计

工学院毕业设计(论文)

题目:触摸式LCD人机接口设计

专业:电子信息工程

班级:电信 072 班

姓名:陶 * 年

学号:1665070218

指导教师:* 朝胜

日期:2010 .12

目录

1触摸屏的概况及简介 (1)

1.1概况 (1)

1.2 简介 (2)

2系统器件介绍和工作原理 (3)

2.1 TFTLCD简介 (3)

2.2 XPT2046芯片 (4)

2.2.1 芯片功能 (4)

2.2.2 芯片功能特性 (5)

2.2.3 XPT管脚描述 (5)

2.2.4 XPT极限参数 (6)

2.2.5 基本原理描述 (6)

2.3压力传感器 (6)

3硬件设计 (7)

3.1 单片机最小系统模块设计 (7)

3.1.1 复位电路 (9)

3.1.2 时钟电路 (9)

3.2 触摸屏硬件设计 (10)

3.3 基于XPT2406的控制电路 (14)

4 系统软件设计 (14)

4.1触屏校准作用 (14)

4.2主程序流程图 (15)

4.3 C语言的简介 (15)

4.4关键代码 (16)

5 下载与调试 (19)

6 结论 (21)

致谢 (22)

参考文献 (23)

附录 (25)

触摸式LCD人机接口设计

工学院电信072 陶万年

指导老师:徐朝胜

摘要:本文介绍了触摸屏的软硬件实现方案,同时介绍了如何实现人机交互。系统模拟对TFTLCD(Thin Film Transistor-Liquid Crystal Display)模块的触摸屏设计,最终实现一个手写的功能。介绍了触摸屏TFTLCD的硬件设计和基于芯片xpt2406控制触摸屏的控制电路,以及软件的C 编程。

关键字:触摸屏TFTLCD xpt2406 c编程

1触摸屏的概况及简介

1.1概况

随着多媒体信息查询的与日俱增,人们越来越多地谈到触摸屏,因为触摸屏不仅适用于中国多媒体信息查询的国情,而且触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。利用这种技术,我们用户只要用手指轻轻地碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。触摸屏在我国的应用范围非常广阔,主要是公共信息的查询;如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。将来,触摸屏还要走入家庭。

随着使用电脑作为信息来源的与日俱增,触摸屏以其易于使用、坚固耐用、反应速度快、节省空间等优点,使得系统设计师们越来越多的感到使用触摸屏的确具有相当大的优越性。触摸屏出现在中国市场上至今只有短短的几年时间,这个新的多媒体设备还没有为许多人接触和了解,包括一些正打算使用触摸屏的系统设计师,还都把触摸屏当作可有可无的设备,从发达国家触摸屏的普及历程和我国多媒体信息业正处在的阶段来看,这种观念还具有一定的普遍性。事实上,触摸屏是一个使多媒体信息或控制改头换面的设备,它赋予多媒体系统以崭新的面貌,是极富吸引力的全新多媒体交互设备。发达国家的系统设计师们和我国率先使用触摸屏的系统设计师们已经清楚的知道,触摸屏对于各种应用领域的电脑已经不再是可有可无的东西,而是必不可少的设备。它极大的简化了计算机的使用,即使是对计算机一无所知的人,也照样能够信手拈来,使计算机展现出更大的魅力。解决了公共信息市场上计算

机所无法解决的问题。随着城市向信息化方向发展和电脑网络在国民生活中的渗透,信息查询都已用触摸屏实现--显示内容可触摸的形式出现。

1.2 简介

我们一般液晶所用的触摸屏,最多的就是电阻式触摸屏了(多点触摸属于电容式触摸屏,比如M8,IPhone等支持多点触摸的手机所用的屏就是电容式的触摸屏),ALIENTEK TFTLCD自带的触摸屏属于电阻式触摸屏,下面简单介绍下电阻式触摸屏的原理。

电阻式触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。

电阻屏的特点有:

1)是一种对外界完全隔离的工作环境,不怕灰尘、水汽和油污。

2)可以用任何物体来触摸,可以用来写字画画,这是它们比较大的优势。

3)电阻触摸屏的精度只取决于A/D转换的精度,因此都能轻松达到4096*4096。

从以上介绍可知,触摸屏都需要一个AD转换器,一般来说是需要一个控制器的。ALIENTEK TFTLCD模块选择的是四线电阻式触摸屏,这种触摸屏的控制芯片有很多,包括:ADS7843、ADS7846、TSC2046、XPT2046和AK4182等。这几款芯片的驱动基本上是一样的,也就是你只要写出了ADS7843的驱动,这个驱动对其他几个芯片也是有效的。而且封装也有一样的,完全PINTOPIN。所以在替换起来,很方便。

ALIENTEK TFTLCD模块自带的触摸屏控制芯片为XPT2046。XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带2.5V参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从0V到6V。XPT2046片内集成有一个温度传感器。在 2.7V的典型工作状态下,关闭参考电压,功耗可小于0.75mW。XPT2046采用微小的封装形式:TSSOP-16,QFN-16(0.75mm厚度)和VFBGA-48。工作温度范围为-40℃~+85℃。

该芯片完全是兼容ADS7843和ADS7846的,关于这个芯片的详细使用,可以参考这两个芯片的datasheet。

2系统器件介绍和工作原理

2.1 TFTLCD简介

2.1.1工作原理

随着微电子技术不断创新和发展,高性能ARM嵌入式系统已广泛应用于各个领域中。人们在可视化效果的追求方面也与日俱增,高性能rFr—LCD不仅可以显示华丽的界面和高分辨力多媒体,同时,还具有低压、低功耗、体积小、重量轻和超薄等诸多优点。所以具有高品质因数液晶屏的嵌入式系统被广泛运用于手持设备、数字机顶盒、地学核仪器中。

嵌入式开发系统是一种软件和硬件的结合体,是由硬件层、中间层、软件层和功能层有机结合实现1个或多个特定功能的功能体n 。未来嵌入式操作系统发展,软件与硬件的无缝结合是必然的趋势,尤其是本设计中用到的嵌入式Linux操作系统,它与硬件芯片的结合程度比任何其他操作系统更要紧密。

嵌入式系统中TFT液晶软硬件设计TFT.LCD的每个像素点都是由集成在自身上的TFT来控制的,每个像素点都是有源像素点。当嵌入式处理器给出像点时钟、数据使能信号和RGB 数据信号时,要经过液晶配套芯片IZ9FC22数据扫描来进行时序匹配。多路矩阵电压源MAX1664来控制TFT开启/关闭,TFT开启时,数据通过源极驱动器加载到显示电极,显示电极和公共电极间的电压差再作用于液晶,进而达到TFT—LCD显示的目的。

2.1.2 TFTLCD结构

TFT-LCD的结构如图一所示,主要元件之功能说明如下:

图2-1TFT-LCD的结构

彩色滤光片(CF。color filter)

彩色的LCD需要用到彩色滤光片(color filter),液晶面板透过驱动IC的电压改变,使液晶分子排排站立或呈扭转状,形成闸门來选择背光源光线穿透与否,穿透的光线,再经由彩色滤光片的处理,才能表现出彩色的画面。彩色滤光片之制作是于玻璃基板上,将红、绿、蓝三原色之有机材料,制作在每一个尽素之内,如图

图2-2彩色滤光片

黑色阵列

在彩色滤光片上。用来遮住R、G、B各Pixel间之空隙,可大幅减少LCD光点间彼此因光害所产生的干扰,使画面更清晰,提升了阅读上的舒适度,同时也减轻了长期使用所造成的眼部压力及疲累感。

配向膜

配向膜是用来将液晶分子做定位的工作,其前后两片光罩上的配向膜需互成九十度方能将液晶分子依序旋转,其制作方式是利用棉刷依一定方向刷过,也有使用蒸度的方式配向,不过成本较高。

偏光板

液晶显示器均须使用上下两片偏光板,其功能即在于將非偏极光转为偏极光,而液晶显示器就是利用此偏极光加上液晶扭转特性來达到控制光线的通过与否,以形成明暗。

透明电极

液晶显示器之液晶分子须有上下方之电极来感应,控制其旋转,而电极必须是透明且能导电之材质,目前使用ITO(铟锡氧化物)。

背光光源

由于液晶本身不会发光,必须在液晶显示面板后方加上背光源(大部分是冷阴极管或LED),光线穿透玻璃基板、液晶、彩色滤光片、偏光板等相关材料,进入人的眼睛形成影像。

玻璃基板

玻璃在TFT-LCD产业中扮演的角色好比是半导体产业中的晶体,因此TFT-LCD产业对玻璃基板表面精度之要求极高。TFT-LCD的制程需要真空蒸镀与蚀刻,所以基板玻璃必须要能忍受強酸強碱之腐蚀、高温的制程环境,并且必须具备比矽晶体更精密的表面平整度与平面起伏度。

2.2 XPT2046芯片

2.2.1 芯片功能

XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D 转换器。XPT2046支持从1.5V到5.25V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带2.5V参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从0V到6V。XPT2046片内集成有一个温度传感器。在2.7V的典型工作状态下,关闭参考电压,功耗可小

于0.75mW 。XPT2046采用微小的封装形式:TSSOP-16,QFN-16(0.75mm 厚度)和VFBGA -48。工作温度范围为-40℃~+85℃。 2.2.2 芯片功能特性

具有4线制触摸屏接口 具有触摸压力测量功能

能直接测量电源电压(0V ~6V ) 低功耗(260μA )

可单电源工作,工作电压范围为2.2V —5.25V 支持1.5V ~5.25V 电平的数字I/O 口 内部自带+2.5V 参考电压 具有125KHz 的转换速率

采用QSPI? 和 SPI? 3线制通信接口 具有可编程的8位或12位的分辨率 具有1路辅助模拟量输入 能够自动掉电

封装小,节约电路面积:TSSOP-16,QFN-16(0.75mm 厚度)和VFBGA -48

全兼容TSC2046,ADS7843/7846和AK4182 2.2.3 XPT 管脚描述

表2-1 管脚描述

QFN 引脚号 TSSOP 引脚号 VFBGA 引脚号 名称 说明

1 13 A5 BUSY

忙时信号线。当C — S —

为高电平时为高阻状态

2 14 A4 DIN

串行数据输入端。当C — S —为低电平时,数据在DCLK 上升沿锁存进来 3 15 A3

C — S — 片选信号。控制转换时序和使能串行输入输出寄存器,高电平时ADC 掉电

4 16 A2

DCLK 外部时钟信号输入 5 1 B1和C1 VCC 电源输入端 6 2 D1 XP XP 位置输入端 7 3 E1 YP YP 位置输入端 8 4 G2 XN XN 位置输入端 9 5 G3

YN YN 位置输入端 10

6 G4和G5

GND

接地

11 7 G6 VBAT 电池监视输入端 12 8 E7 AUX ADC 辅助输入通道 13 9 D7 VREF 参考电压输入/输出 14 10 C7 IOVDD 数字电源输入端 15 11 B7 PENIRQ 笔接触中断引脚

16 12 A6 DOUT 串行数据输出端。数据在DCLK 的

下降沿移出,当C — S —

高电平时为高阻状态

2.2.4 XPT 极限参数

表格2-2 极限参数

名称

参数 VCC 和IOVDD 电压 -0.3V 至+6V

模拟输入信号电压 -0.3V 至+VCC +0.3V 数字输入信号电压

-0.3V 至IOVDD +0.3V

功耗 250mW 最大结温 +150℃ 工作温度 -40℃~+85℃ 贮存温度

-65℃~+150℃

焊接温度(小于10秒)

+300℃

注:在极限值之外或任何其他条件下,芯片的工作性能不予保证。

2.2.5 基本原理描述

XPT2046是一种典型的逐次逼近型模数转换器(SAR ADC ),包含了采样/保持、模数转换、串口数据 输出等功能。同时芯片集成有一个2.5V 的内部参考电压源、温度检测电路,工作时使用外部时钟。XPT2046可以单电源供电,电源电压范围为2.7V ~5.5V 。参考电压值直接决定ADC 的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V ~VCC 范围内的参考电压(要求外部参考电压源输出阻抗低)。X 、Y 、Z 、V BAT 、Temp 和AUX 模拟信号经过片内的控制寄存器选择后进入ADC ,ADC 可以配置为单端或差分模式。选择V BA T 、Temp 和AUX 时应该配置为单端模式;作为触摸屏应用时,应该配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换精度。

2.3压力传感器

压力传感器是工业实践中最为常用的一种传感器,而我们通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器也称为压电传感器。我们知道,晶体是各向异性的,非晶体是各向同性的。某些晶体介质,当沿着一定方向受到机械力作用发生变形时,就产生了极化效应;当机械力撤掉之后,又会重新回到不带电的状态,也就是受到压力的时候,某些晶体可能产生出电的效应,这就是所谓的极化效应。科学家就是根据这个效应研制出了压

力传感器。压电传感器中主要使用的压电材料包括有石英、酒石酸钾钠和磷酸二氢胺。其中石英(二氧化硅)是一种天然晶体,压电效应就是在这种晶体中发现的,在一定的温度范围之内,压电性质一直存在,但温度超过这个范围之后,压电性质完全消失(这个高温就是所谓的―居里点‖)。由于随着应力的变化电场变化微小(也就说压电系数比较低),所以石英逐渐被其他的压电晶体所替代。而酒石酸钾钠具有很大的压电灵敏度和压电系数,但是它只能在室温和湿度比较低的环境下才能够应用。磷酸二氢胺属于人造晶体,能够承受高温和相当高的湿度,所以 已经得到了广泛的应用。在现在压电效应也应用在多晶体上,比如现在的压电陶瓷,包括钛酸钡压电陶瓷、PZT 、铌酸盐系压电陶瓷、铌镁酸铅压电陶瓷等等。压电效应是压电传感器的主要工作原理,压电传感器不能用于静态测量,因为经过外力作用后的电荷,只有在回路具有无限大的输入阻抗时才得到保存。实际的情况不是这样的,所以这决定了压电传感器只能够测量动态的应力。压电传感器主要应用在加速度、压力和力等的测量中。压电式加速度传感器是一种常用的加速度计。它具有结构简单、体积小、重量轻、使用寿命长等优异的特点。压电式加速度传感器在飞机、汽车、船舶、桥梁和建筑的振动和冲击测量中已经得到了广泛的应用,特别是航空和宇航领域中更有它的特殊地位。压电式传感器也可以用来测量发动机内部燃烧压力的测量与真空度的测量。也可以用于军事工业,例如用它来测量枪炮子弹在膛中击发的一瞬间的膛压的变化和炮口的冲击波压力。它既可以用来测量大的压力,也可以用来测量微小的压力。压电式传感器也广泛应用在生物医学测量中,比如说心室导管式微音器就是由压电传感器制成的,因为测量动态压力是如此普遍,所以压电传感器的应用就非常广。除了压电传感器之外,还有利用压阻效应制造出来的压阻传感器,利用应变效应的应变式传感器等,这些不同的压力传感器利用不同的效应和不同的材料,在不同的场合能够发挥它们独特的用途。

3硬件设计

总体设计框如图3-1所示:

图3-1

3.1 单片机最小系统模块设计

所谓单片机最小系统是指能维持单片机运行行的最简单配置系统。最小系统包括晶体振荡电路 、复位开关、接插口和电源部分,本系统单片机采用AT89C51或其兼容系列,如图

XPT 2046

最小系统

TFTLD 模块

3-3。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。

图3-2最小系统模块单元图

单片机为系统的主控单元,系统通过P0口将模数转换后数字信号输入CPU,由CPU比较判断温度值,运算功能是由运算部件完成的,运算部件的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。单片机中通过控制部件完成各项控制功能。控制部件是单片机的神经中枢,它包括时钟电路、复位电路、指令寄存器、译码以及信息传送控制部件。它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN。

复位电路的好坏对系统的启动、停止有极大的影响;精准的时钟电路是保证控制精度的前提。因此单片机模块中对复位电路与时钟电路的设计非常重要。

3.1.1 复位电路

图3-3单片机的复位电路

单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。本系统采用的复位方式为上电自动复位和开关复位相结合的方式。电源接通后,单片机自动复位,并且在系统运行期间,用按键手动操作也能使单片机复位。上电后电容充电,使RESET持续一段时间的高电平。当单片机已在运行当中时,按下复位按键后松开,也能使RESET为一段时间的高电平,从而实现开关复位操作。

3.1.2 时钟电路

单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。本控制器采用的是单片机外接石英晶体的内部时钟方式。因为这种方式得到的时钟信号比较稳定。在AT89C51内部有一个高增益的反向放大器,其输入端引脚XTAL1和XTAL2用于外接石英晶体和微调电容,构成振荡器,再由内部的时钟发生器对振荡信号进行二分频,向CPU提供时钟信号。图3-5中电容C1、C2对振荡频率起微调作用,同时两个电容器起稳定振荡频率、快速起振的作用。电容容量的选择范围一般为30pF±10pF,振荡器的振荡频率选择范围为1.2MHz~12MHz,典型值为6MHz或12MHz。本模块中电容C1、C2选择30pF,振荡频率选择12MHz。

图3-4单片机时钟电路

3.2 触摸屏硬件设计

本节实验功能简介:开机的时候先通过24C01的数据判断触摸屏是否已经校准过,如果没有校准,则执行校准程序,校准过后再进入手写程序。如果已经校准了,就直接进入手写程序,此时可以通过按动屏幕来实现手写输入。屏幕上会有一个清空的操作区域(RST),点击这个地方就会将输入全部清除,恢复白板状态。程序会设置一个强制校准,就是通过按KEY0来实现,只要按下KEY0就会进入强制校准程序,这个强制校准程序是必须的。

所要用到的硬件资源如下:

1)ADS7843。

2)DS0(外部LED0)。

3)KEY0。

4)TFTLCD液晶模块。

5)24C01。

原理图如下3.2-1所示:

图3-5TFTLCD模块

图3.2-1 TFTLCD模块采用2*17的2.54公排针与外部连接,接口图如下图3.2-2所示

图3-6ALIENTEK 3.2寸TFTLCD模块接口图

该接口同目前主流的几款STM32开发板的接口完全兼容,所以模块除了用在ALIENTEK MiniSTM32开发板上,也可以用在其他开发板上,当然你也可以使用其他接口一样的LCD模块放到我们的ALIENTEK MiniSTM32开发板上使用。ALIENTEK TFTLCD模块采用80并口口方与外部链接,采用16位数据线(低了速度太慢,用彩色就没什么效果了)。该模块的80并口有如下一些信号线:

CS:TFTLCD片选信号。

WR:向TFTLCD写入数据。

RD:从TFTLCD读取数据。

D[15:0]:16位双向数据线。

RST:硬复位TFTLCD。

RS:命令/数据标志(0,读写命令;1,读写数据)。

80并口在上一节我们已经有详细的介绍了,这里我们就不在介绍,需要说明的是,TFTLCD 模块的RST信号线和OLED模块一样,也是直接接到STM32的复位脚上,并不由软件控制,这样可以省下来一个IO口。另外我们还需要一个背光控制线来控制TFTLCD的背光。所以,我们总共需要的IO口数目为21个。

模块的控制器为ILI9320,该控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。模块的16位数据线与显寸的对应关系为565方式,如下图所示:

图3-7 16位数据与显存对应关系图

最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。

接下来,我们介绍一下ILI9320的几个重要命令,因为ILI9320的命令很多,我们这里不可能一一介绍,有兴趣的大家可以找到ILI9320的datasheet看看。里面对这些命令有详细的介绍。这里我们要介绍的命令列表如下:

表格3-1ILI9320常用命令表

R0,这个命令,有两个功能,如果对它写,则最低位为OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。这个命令最大的功能就是通过读它可以得到控制器的型号,而我们代码在知道了控制器的型号之后,可以针对不同型号的控制器,进行不同的初始化。因为93xx系列的初始化,其实都比较类似,我们完全可以用一个代码兼容好几个控制器。

R3,入口模式命令。我们重点关注的是I/D0、I/D1、AM这3个位,因为这3个位控制了屏幕的显示方向。

AM:控制GRAM更新方向。当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。

I/D[1:0]:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1,

其关系如下图:

图3-8 GRAM显示方向设置图

通过这几个位的设置,我们就可以控制屏幕的显示方向了。

R7,显示控制命令。该命令CL位用来控制是8位彩色,还是26万色。为0时26万色,为1时八位色。D1、D0、BASEE这三个位用来控制显示开关与否的。当全部设置为1的时候开启显示,全0是关闭。我们一般通过该命令的设置来开启或关闭显示器,以降低功耗。

R32,R33,设置GRAM的行地址和列地址。R32用于设置列地址(X坐标,0~239),R33用于设置行地址(Y坐标,0~319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到改点,然后写入颜色值就可以了。

R34,写数据到GRAM命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数。

R80~R83,行列GRAM地址位置设置。这几个命令用于设定你显示区域的大小,我们整个屏的大小为240*320,但是有时候我们只需要在其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就可以通过这几个命令,在其中开辟一个区域,然后不停的丢数据,地址计数器就会根据R3的设置自动增加/减少,这样就不需要频繁的写地址了,大大提高了刷新的速度。

命令部分,我们就为大家介绍到这里,我们接下来看看要如何才能驱动ALIENTEK TFTLCD 模块,这里TFTLCD模块的初始化和我们前面介绍的OLED模块的初始化框图是一样的,只是初始化代码部分不同。接下来我们也是将该模块用来来显示字符和数字。通过以上介绍,我们可以得出TFTLCD显示需要的相关设置步骤如下:

1)设置STM32与TFTLCD模块相连接的IO。

这一步,先将我们与TFTLCD模块相连的IO口设置为输出,具体使用哪些IO口,这里需要根据连接电路以及TFTLCD模块的设置来确定。

2)初始化TFTLCD模块。

其实这里就是上和上面OLED模块的初始化过程差不多。通过向TFTLCD写入一系列的设

置,来启动TFTLCD的显示。为后续显示字符和数字做准备。

3)通过函数将字符和数字显示到TFTLCD模块上。

这里就是通过我们设计的程序,将要显示的字符送到TFTLCD模块就可以了,这些函数将在软件设计部分向大家介绍。

通过以上三步,我们就可以使用ALIENTEK TFTLCD模块来显示字符和数字了,并且可以显示各种颜色的背景。

3.3 基于XPT2406的控制电路

XPT2046控制电路如3.3-1所示:

图3-9 xpt2046控制电路

4 系统软件设计

4.1触屏校准作用

我们传统的鼠标是一种相对定位系统,只和前一次鼠标的位置坐标有关。而触摸屏则是一种绝对坐标系统,要选哪就直接点哪,与相对定位系统有着本质的区别。绝对坐标系统的特点是每一次定位坐标与上一次定位坐标没有关系,每次触摸的数据通过校准转为屏幕上的坐标,不管在什么情况下,触摸屏这套坐标在同一点的输出数据是稳定的。不过由于技术原理的原因,并不能保证同一点触摸每一次采样数据相同,不能保证绝对坐标定位,点不准,这就是触摸屏最怕出现的问题:漂移。对于性能质量好的触摸屏来说,漂移的情况出现并不是很严重。所以很多应用触摸屏的系统启动后,进入应用程序前,先要执行校准程序。通常应用程序中使用的LCD坐标是以像素为单位的。比如说:左上角的坐标是一组非0的数值,比如(20,20),而右下角的坐标为(620,460)。这些点的坐标都是以像素为单位的,而从触摸屏中读出的是点的物理坐标,其坐标轴的方向、XY值的比例因子、偏移量、缩放因子都与LCD坐标不同,所以,可以在IAL的某个函数(比如wait_event函数)中把物理坐标首先转换

为像素坐标,然后再赋给POS结构,达到坐标转换的目的.触摸屏校正思路:在IAL的某个函数(比如wait_event函数)中加入调试信息,开发板上运行Calibrate程序,那么触摸屏上任何一点的坐标就可以在主机监视屏上回显出来。于是,就采集到了4个角的物理坐标,假设是6.4英寸屏,640X480分辨率,则它们的像素坐标分别是(20,20)、(20,460)、(620,460)和(620,20)。这样,使用待定系数法就可以算出坐标系之间的平移关系。比如:

Vx = xFactor*Px + xOffset

Vy = yFactor*Py + yOffset

4.2主程序流程图

主程序流程图如下图4-1所示

开始

硬件初始化

刷新并不断检测触摸屏状

触摸屏被触摸么

读取坐标点的坐标值

延时

获取初始值的坐标值

触摸屏仍被触

摸吗

图4-1

4.3 C语言的简介

C语是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

C 语言具有下列特点:

1)C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2)C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3)C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。

4)C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

4.4关键代码

//初始化液晶接口

void LCD_Port(void)

{

IO0SET_bit.P0_21 = 1; //WR

IO0SET_bit.P0_20 = 1; //RD

IO0DIR_bit.P0_20 = 1; //RD

IO0DIR_bit.P0_21 = 1; //WR

IO0DIR_bit.P0_30 = 1; //RS

IO0DIR_bit.P0_17 = 1; //CS

IO0DIR_bit.P0_11 = 1;

IO0DIR_bit.P0_12 = 1;

}

//延时

void DelayMs(unsigned short k)

{

unsigned short i;

unsigned int j;

for(i = k;i > 0;i--)

for(j = 1000;j > 0;j--);

}

//向HC573写入数据

void Write_HC573(unsigned short Dat)

{

unsigned char dat;

dat = (unsigned char)(Dat&0xFF);

IO1SET |= (((unsigned int)dat)<<16);

IO1CLR |= ((~(((unsigned int)dat)<<16))&((0XFF<<16))); IO0SET_bit.P0_11 = 1;IO0CLR_bit.P0_11 = 1;

dat = (unsigned char)((Dat>>8)&0xFF);

IO1SET |= (((unsigned int)dat)<<16);

IO1CLR |= ((~(((unsigned int)dat)<<16))&((0XFF<<16))); IO0SET_bit.P0_12 = 1;IO0CLR_bit.P0_12 = 1;

}

//向液晶屏写入数据

void TFTWriData(unsigned short ch)

{

LCD_RS_H(); //RS = 1

LCD_CS_L(); //CS = 0

Write_HC573(ch);

LCD_WR_L(); //WR = 0

LCD_WR_H(); //WR = 1

LCD_CS_H(); //CS = 1

}

//向液晶屏写入命令

void TFTWriCom(unsigned short ch)

{

LCD_RS_L(); //RS = 0

Write_HC573(ch);

LCD_WR_L(); //WR = 0

LCD_CS_L(); //CS = 0

LCD_WR_H(); //WR = 1

LCD_CS_H(); //CS = 1

}

//写入控制字

void write_com(unsigned short address,unsigned short num) {

TFTWriCom(address);

TFTWriData(num);

}

//液晶屏初始化

void TftInit(void)

{

LCD_RESET_L(); //低电平复位

Delayn(10000);

LCD_RESET_H();

#define DelayNS Delayn

write_com(0x0000,0x0001); DelayNS(1000); //打开晶振

write_com(0x0003,0xA8A4); DelayNS(1000); //0xA8A4

write_com(0x000C,0x0000); DelayNS(1000);

write_com(0x000D,0x080C); DelayNS(1000);

write_com(0x000E,0x2B00); DelayNS(1000);

write_com(0x001E,0x00B0); DelayNS(1000);

write_com(0x0001,0x2B3F); DelayNS(1000); //驱动输出控制320*240 0x6B3F write_com(0x0002,0x0600); DelayNS(1000);

write_com(0x0010,0x0000); DelayNS(1000);

write_com(0x0011,0x6070); DelayNS(1000); //0x4030 //定义数据格式 16位色

write_com(0x0005,0x0000); DelayNS(1000);

write_com(0x0006,0x0000); DelayNS(1000);

write_com(0x0016,0xEF1C); DelayNS(1000);

write_com(0x0017,0x0003); DelayNS(1000);

write_com(0x0007,0x0233); DelayNS(1000); //0x0233

write_com(0x000B,0x0000); DelayNS(1000);

write_com(0x000F,0x0000); DelayNS(1000); //扫描开始地址

write_com(0x0041,0x0000); DelayNS(1000);

write_com(0x0042,0x0000); DelayNS(1000);

write_com(0x0048,0x0000); DelayNS(1000);

write_com(0x0049,0x013F); DelayNS(1000);

write_com(0x004A,0x0000); DelayNS(1000);

write_com(0x004B,0x0000); DelayNS(1000);

write_com(0x0044,0xEF00); DelayNS(1000);

write_com(0x0045,0x0000); DelayNS(1000);

write_com(0x0046,0x013F); DelayNS(1000);

write_com(0x0030,0x0707); DelayNS(1000);

write_com(0x0031,0x0204); DelayNS(1000);

write_com(0x0032,0x0204); DelayNS(1000);

write_com(0x0033,0x0502); DelayNS(1000);

write_com(0x0034,0x0507); DelayNS(1000);

write_com(0x0035,0x0204); DelayNS(1000);

write_com(0x0036,0x0204); DelayNS(1000);

write_com(0x0037,0x0502); DelayNS(1000);

write_com(0x003A,0x0302); DelayNS(1000);

write_com(0x003B,0x0302); DelayNS(1000);

write_com(0x0023,0x0000); DelayNS(1000);

write_com(0x0024,0x0000); DelayNS(1000);

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

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),

微机原理课程设计报告

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

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (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点阵显示器件一片。

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

摘要 霓虹灯主要是通过8255A对LED亮灭状态的控制,和8254定时/计数器的定时功能实现霓虹灯闪烁控制系统,外设是红、绿、黄三种颜色的发光二极管,在程序自动控制下,按照不同规律闪烁同时由数码管显示相应的闪烁方式。 关键字: 8255A 8254 LED 数码管

一、设计的任务和要求 设计霓虹灯闪烁控制系统,是外设的红、绿、黄三种颜色的发光二极管,在开关的控制下或者在程序自动控制下,按照不同规律闪烁。 要求发光二极管的亮、灭变化有一定的规律;发光二极管变化规律要求有多种状态。 二、设计小组成员及分工 本次课设由冀任共同完成,在课设中遇到的问题四个人共同思考解决。 三、总体设计 1、8254用于定时:定时/计数器0与定时器/计数器1共同构成100ms的定时器,确定执行相邻闪烁方式的间隔时间。 2.8255A用于控制LED的状态和数码管显示:PA0接8254的输出,B口接数码管,显示对应的闪烁方式,C口输出控制LED的状态。 3、六种闪烁方式: 方式1:从左向右依次点亮8个LED灯,数码管显示1 方式2:从右向左依次点亮8个LED灯,数码管显示2 方式3:从左向右依次点亮4个的红灯、2个黄灯和2个绿灯,数码管显示3 方式4:从左向右两个两个的点亮8个LED灯,数码管显示4 方式5:从两边向中间依次点亮8个LED灯,数码管显示5 方式6:按红、绿、黄顺序点亮相同颜色的灯,数码管显示6 1、芯片介绍 (1)芯片8255A 8255A是具有3个8位并行I/O口3种工作方式的可编程并行接口芯片。8255共有40个引脚,采用双列直插式封装。

D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 CS:片选信号线,低电平有效,表示芯片被选中。 RD:读出信号线,低电平有效,控制数据的读出。 WR:写入信号线,低电平有效,控制数据的写入。 Vcc:+5V电源。 PA0--PA7:A口输入/输出线。 PB0--PB7:B口输入/输出线。 PC0--PC7:C口输入/输出线。 RESET:复位信号线。 A1、A0:地址线,用来选择8255内部端口。 GND:地线。 三种工作状态: 1) 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。它只完成简单的并行输入 / 输出操作, CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合。

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

《微机原理与接口技术》课程设计基本要求

《微机原理与接口技术》课程设计基本要求

《微机原理与接口技术》课程设计基本要求 一、课程设计目的 通过本课程设计,初步掌握《微机原理及接口技术》这门课程课堂所学的理论知识具体运用到实践中去的基本方法。使学生掌握INTEL8086/8088微型计算机系统的组成原理,熟练运用8086宏汇编语言进行程序设计,熟悉各种I/O接口的配套使用技术,掌握用INTEL8086/8088CPU进行一些基本的微型计算机系统的软硬件设计方法。通过对具体应用的课程设计使学生对所学知识有进一步的加深和了解,培养和提高学生的动手能力和实际应用能力。 二、课程设计要求 1.根据设计内容设计出硬件电路图并作详细的设计说明,并绘制出电路图。 2.画出程序流程框图,用汇编语言编写相应的控制程序。 3.进行系统的调试,完成加电仿真调试。 4.写出详细的设计报告。 三、基本要求 1.学生分成小组(3-4人一组),在教师指导下完成系统分析、构成、软硬件调试及系统调试的工作。指导教师应对每位学生给出课程设计任务书。对同一

小组内的不同学生,可针对具体情况提出不同的设计指标或设计要求。 2.各小组内学生应独立完成课题的硬件设计和软件编程工作。 3. 设计结束后,提交已调通的应用程序和一份完整的课程设计报告。 四、参考题目 1.交通灯控制 2.电子时钟 3.按键比赛 4. 自拟题目 要求:难易度适中 五、文档内容及规格 5.1 报告内容 ⒈封面 封页上填写题目、专业、姓名、学号、指导教师、报告提交日期。(题目:要求简洁、确切、鲜明,字数不宜超过 20字。) ⒉摘要扼要叙述本设计的主要内容、特点,文字要精练。约 300 汉字。 ⒊目录目录应将文内的章节标题依次排列,标题应该简明扼要,各级标题有较显著区别。(列出目录,

微机原理与接口技术电子表设计

… 微机原理与接口技术 课程设计报告 、 设计名称:电子表设计 专业:计算机原理与接口技术 班级: 姓名: 学号: 指导教师: |

2014年 11 月 27 日

目录 摘要 (2) 一、设计目的及要求 (3) 设计任务 (3) 设计功能 (3) 课程设计方式及基本要求 (3) 实验方式 (3) * 基本要求 (3) 设计所用元件 (4) 二、设计题目及思想 (4) 设计原理 (4) 主要模块 (5) 芯片初始化 (7) 程序流程图 (9) 硬件接线图 (11) | 三、调试结果 (13) 四、课程设计总结 (16) 遇到问题及解决方案 (16) 课程设计心得体会 (16) 参考文献 附录 `

摘要 汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。 关键词:汇编语言微机原理接口技术时钟显示

微机原理与接口技术-键盘LED显示【课程设计报告】

微机原理与接口技术-键盘LED 显示【课程设计报告】

重庆大学 课程设计报告 课程名称:微机原理与接口技术 设计题目:键盘LED显示 院系:电气信息学院 班级:2007级 设计时间:2009年12月

第一章概述 (2) 1.1学习目的 (2) 1.2 计算机的应用 (3) 1.3学习计算机的意义 (3) 1.4课程设计目的 (4) 第二章总体方案设计 (4) 2.1 设计注意问题 (4) 2.2 总体思路 (5) 第三章硬件设计 (5) 3.1 8255工作原理 (5) 3.2 键盘工作原理 (7) 3.3 键特征值的形成 (8) 3.4段值的形成 (9) 3.5 8255接线图 (11) 第四章软件设计 (12) 4.1 8255初始化 (12) 4.2 键盘扫描的处理方法 (12) 4.2.1. 判断是否有键被按下的方法 (12) 4.2.2. 判断是否有键被按下的源程序 (13) 4.2.3 防抖动 (13) 4.2.4.防抖动的延时子程序 (14)

4.3 程序核心部分 (14) 4.3.1 逐行扫描 (14) 4.3.2逐行扫描的源程序 (15) 第五章源程序代码 (15) 5.1 根据整体思路以及软件设计得到的代码. 15 5.2 以上代码存在问题分析 (19) 第六章难点分析 (20) 第七章体会感慨建议 (25) 第八章参考文献 (26) 第一章概述 1.1学习目的 “微机原理与接口技术”是电气工程及其自动化专业的一门重要

的专业基础课程。我们通过该门课的学习,知道了微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计,为后续的课程的学习和今后的工作打下坚实的基础。通过实验可以培养学生利用计算机技术和编程手段分析,解决专业领域的各种问题的能力和意识,并进一步感受微机发展的微机发展的新技术和新方法。 1.2 计算机的应用 目前计算机的应用已经遍布各个行业,如科学计算、数据处理、过程控制、人工智能、网络应用等。 科学和工程计算:科学和工程计算的特点是计算量大,而逻辑关系相对简单,它是计算机重要应用领域之一。 数据和信息处理:数据处理是指对数据的收集、存储、加工、分析和传送的全过程。这些数据处理应用的特点是数据量很大,但计算相对简单。多媒体技术的发展,为数据处理增加了新鲜内容,都涉及更广泛的数据类型,这些数据处理过程不仅数据量大,而且还会带来大量的运算和复杂的运算过程。 过程控制:过程控制是生产自动化的重要技术内容和手段,它是由计算机对所采集到的数据按一定方法经过计算,然后输出到指定执行机构去控制生产的过程。 人工智能:人们把计算机模拟人脑力劳动的过程成为人工智能。人工智能是利用计算机来模拟人的思维过程,并利用计算机程序来实现这些过程。 1.3学习计算机的意义 电子计算机是一种能自动高速地进行大量运算的电子机器。电子计算机的出现和发展,是科学技术和生产力的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。

《微机原理与接口技术》课程设计-交通灯

信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日 院 系: 专 业: 年级班级: 学 号: 姓 名:指导教师: 设计日期:

目录 一.课程设计目的 (3) 二.课程设计任务 (3) 三.总体设计方案 (3) 五.程序设计流程图 (4) 六. 程序连接图 (5) 七.程序清单 (5) 八.实验结果 (8) 九.课程设计总结和体会 (8)

一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。 三.总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。 2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出 3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

人机交互设计

人机交互设计 交互设计在于定义人造物的行为方式相关的界面。交互设计作为一门关注交互体验的新学科在二十世纪八十年代产生了。交互设计起源于网站设计和图形设计,但现在已经成长为一个独立的领域。现在的交互设计师远非仅仅负责文字和图片,而是负责创建在屏幕上的所有元素,所有用户可能会触摸,点按或者输入的东西:简而言之,产品体验中的所有交互。 交互设计是定义、设计人造系统行为的设计领域,它定义了两个或多个互动的个体之间交流的内容和结构,使之互相配合,共同达成某种目的。交互设计努力去创造和建立的是人与产品及服务之间有意义的关系,以“在充满社会复杂性的物质世界中嵌入信息技术”为中心。交互系统设计的目标可以从“可用性”和”用户体验“两个层面上进行分析,关注以人为本的用户需求。 随着现代交互技术的不断推进,人机交互、人人交互乃至人与环境的交互,都在被不断强调。从人机交互的方式来看,十年前,正是按键交互盛行之期,如今,触屏的交互方式以绝对优势地位占据了市场份额,我们在生活中习惯了从一块小屏幕到另一块小屏幕的触屏操作方式。 在使用网站、软件、消费产品、各种服务的时候(实际上是在同它们

交互),使用过程中的感觉就是一种交互体验。随着网络和新技术的发展,各种新产品和交互方式越来越多,人们也越来越重视对交互的体验。当大型计算机刚刚研制出来的时候,可能认为当初的使用者本身就是该行业的专家,没有人去关注使用者的感觉;相反,一切都围绕机器的需要来组织,程序员通过打孔卡片来输入机器语言,输出结果也是机器语言,那个时候同计算机交互的重心是机器本身。当计算机系统的用户越来越由普通大众组成的时候,对交互体验的关注也越来越迫切了。

微机原理步进电机控制课程设计报告

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 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的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

微机接口技术课程设计目的及要求

微机接口技术课程设计目的及要求 一、课程设计题 目的:结合一个实际的接口技术问题在实验台上 编程模拟实现。 题目要求:1.由一个主控机(上位机)和若干个下 位机组成,上位机与下位机利用串行 通讯接口进行连接,构成一个完整系 统。主控机负责数据处理,下位机负 责接口访问。 2.必须有通过FPGA设计的接口电路, 并应用于该系统。 选题:每组可选择一个题目,鼓励自立题目。各 组的题目不可相同。 题目举例: 远程数据采集系统/远程步进电机控制系统 点歌播放系统/路口交通灯控制系统 车流采集系统/食堂购饭系统 商场存包系统/电梯控制系统 远程电表抄表系统/远程XXXXXX系统 。。。。。。。 二、设计要求:

结合实际应用,设计一微机应用系统,要求该系统 综合应用并行接口、串行接口、其它接口(定时器接 口、中断接口、模拟接口可选)、编制对应的程序, 实现主控中心微机与下位机远距离传送以及远程控 制或监测功能。 主控机:在显示屏上用数字、图形、表格、曲线等 直观数据处理的过程。 下位机:在显示屏上或用实验台的声光器件描述当 前监控的工作状态。 三、设计内容 根据以上任务,系统总体结构如下图: 1.系统硬件由主控机(其中一台微机)、下位机(另一台位 微机)和 执行部件组成。主控机与下位机通过串行通信线连接。

2. 执行部件:由接口电路等组成,将接收的数据送 入到下位机或将下位机输出的数据送到执行部 件。 3. 下位机:与主控机通信,控制执行部件。 4.主控机:与所有下位机进行数据交换,必要时需建数据库,进行数据处理等。 5.主控机程序:串行(RS232)通信程序,数据处理程序等。6.下位机程序:串行(RS232)通信程序,执行部件控制程序。 四、使用的接口和接口地址 1.输入接口 ADC0809接口、拨码开关 可接到8255接口芯片中,使用8255接口地址。 2. 输出接口 LED接口、步进电机接口 可接到8255接口芯片中,使用8255接口地址。 扬声器接口 可接到8254接口芯片中,使用8254接口地址。 3.微机串行接口 微机8250/COM1端口地址:3F8H~3FFH 4. 8253/8254端口地址

(完整版)微机原理与接口技术 毕业课程设计

上海工程技术大学Shanghai University of Engineering Science 《微机原理与接口技术》 课程设计 姓名:郭扬 学院:电子电气工程学院 专业:自动化

授课教师:戎自强 班级: 0 2 1 2 1 0 2 学号: 0 2 1 2 1 0 2 2 2 学年:2012—2013学期:第一学期 20 12 年12月15日 目录 一、课程设计的目的 (3) 二、设计题目1的分析 (3) 三、设计题目2的分析 (9) 四、附加内容的分析 (17) 五、设计总结 (27) 六、参考文献 (28) 一、课程设计的目的: 1.通过《微机原理与接口》课程设计,使我们能够进一步了解微型计 算机工作原理, 微型计算机的硬件结构及微型计算机软件编程。 2.要求我们根据接口电路的硬件要求进行计算机的汇编语言程序设 计,使我们的软件编程能力得到加强,对接口电路的综合应用能力有较大

提高。 3. 课程设计有利于基础知识的理解和逻辑思维的锻炼。本课程设计是培养和锻炼我们综合应用所学理论知识解决实际问题能力、进行工程实训的重要教学环节,也能培养我们理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力。 4. 微机原理与接口技术是一门实践性较强的课程,我们在学完该课程之后,进行一次课程设计,是非常必要的。这能使我们将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。通过设计实践,培养我们查阅专业资料、工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。在设计中不但要培养和提高学生解决工程具体问题、动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。 二、设计题目1的分析: ⑴.设计目的: 1.熟练掌握8088汇编语言程序各种结构的设计及编程方法; 2.熟练掌握DOS中断功能调用的方法。 ⑵.设计要求: 编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于RESULT中,否则显示“overflow”。

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

《微机原理与接口技术》 课程设计 报告书 课题:利用DAC设计波形发生器 学院:计算机科学与技术 班级:计 091 班 姓名:王骏(0913022030) 沈志轩(0913022033) 徐晓龙(0913022029) 指导教师:顾辉 提交日间:2012年6月17日

目录 一、引言 (3) 二、设计目的 (3) 三、设计内容及要求 (3) 四、选用器材 (4) 五、设计原理及方案 (4) 六、硬件设计 (5) 七、软件设计 (9) 八、调试方法与结果 (15) 九、收获、体会 (17) 十、参考文献 (18)

一.引言 波形发生器是一种常用的信号源,广泛的应用于电子电路、自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最为广泛的一类电子仪器。它可以产生多种波形信号,如锯齿波、三角波、梯形波等,因而广泛应用于通信、雷达、导航、宇航等领域。 本设计正是基于数模转换原理,采用8086最小系统经数模转换芯片DAC0832设计并制作出了多功能信号发生器。用该方法设计的多功能信号发生器具有频率稳定、幅值稳定、波形失真度低、原理简单等特点。 二、设计目的 (1)掌握方波,三角波,锯齿波,正弦波函数发生器的原理及设计方法。 (2)掌握8086的工作原理,电路连接以及其最小系统的设计。 (3)了解数模转换芯片的的工作方式和使用。 (4)学会用proteus 画电路原理图。 三、设计内容及要求 3.1、设计要求 利用DAC设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,要求自行设计输出波形的切换方式。 3.2、设计内容 ⑴以8086为CPU。利用D|A转换器,编程产生锯齿波,正弦波,三角波,方波信号。输出上述四种波形。 ⑵波形的控制由接在8255上的开关的实现:设计四个开关,KEY1,KEY2,KEY3,KEY4,分别控制输出正弦波、方波、三角波和锯齿波波形。 ⑶接在8255上的数码管显示4个数1、2、3、4分别代表三角波、正弦波、锯齿波、方波。 ⑷由接在8253上的扬声器产生四种声音do、ri、mi、fa分别代表三角波、正弦波、锯齿波、方波。

《微机原理与通信接口》课程设计说明书

《微机原理与通信接口》课程设计说明书

1.系统需求分析 1.1DOS中断及功能调用简介 目前DOS常用的9类中断(20H-27H和2FH)分为两种:DOS专用中断和DOS可调用中断。 (1)DOS专用中断。DOS专用中断是指INT 22H、INT 23H 和INT 24H三个中断,属DOS操作时专用,用户不要直接使用。 (2)DOS可调用中断。DOS可调用中断是指INT 20H、INT 21H、INT 25H、INT 26H、INT 27H和INT 2FH六个中断。这六个 中断都供用户直接调用,但都必须要满足一定的入口条件。 1)磁盘读/写中断。INT 25H和INT 26H分别用来读和写磁盘上的若干扇区,这实际上是两条BIOS调用。 2)程序退出中断。“INT 20H”和“INT 27H”都为程序的退出命令。其中“INT 20H”为正常退出命令,当用户程序执行完后, 可用该命令退回操作系统; “INT 27H”为驻留退出命令,采用该退出命令时,留下的程序被DOS视为自身的一部分,不会被其他程序覆盖。在其他用户程序中,可通过使用软中断调用这部分驻留程序。 3)假脱机打印文件中断。“INT 2FH”用来实现假脱机打印文件命令PRINT。该命令的功能是,当用户在机器上执行其他任务 时,打印机仍可打印处在打印队列中的数据文件。一个打印队列可 容纳多至32个文件。 4)系统功能调用。系统功能调用是指“INT 21H”中断。它是可供系统程序和应用程序调用的一个极其重要的中断,内含近百 个系统子功能。操作系统的内核主要由它构成。系统功能调用的近 百个系统子功能已经标准化,调用它们时完全不依赖于任何硬件设 备,因此,用这些子功能编写研制成的所有系统软件或应用程序可 在任何支持DOS的机器上运行。

新型人机交互接口电路的设计

摘要主要介绍了TI公司的新型的16位超低功耗Flash型h6N30F44X系列单片机的结构、特性和功能及液晶显示器LCD的发光原理和类型,讨论了该系列单片机与ILD及键盘的人机接口电路的设计方案和相应的软件的实现方法,最后给出它在体内电刺激器的应用实例。 关键词单片机;MSP430;LCD;人机交互接口 1引言 在当今的各种实时自动控制和智能化仪器仪表中,人机交互是不可缺少的一部分。一般而言,人机交互是由系统配置的外部设备来完成,但其实现方式有两种:一种是由MCU力口驱动芯片实现,如键盘显示控制芯片SK5279A,串行数据传输数码显示驱动芯片MAX7219等等,这时显然MCU没有LCD的驱动功能。另一种就是MCU本身具有驱动功能,它通过数据总线与控制信号直接采用存储器访问形式或I/O设备访问形式控制键盘和LCD实现人机对话。这里的MCU主要有世界各大单片机生产厂商开发的各种单片机,其中TI公司的MSP430系列因其许多独特的特性引起许多研究人员的特别关注,在国内外的发展应用正逐步走向成熟。 2LCD简介 LCD(Liquid Crystal Display),即液晶显示器。液晶显示是通过环境光来显示信息的,它本身并不发光,因而功耗很低,只要求液晶周围有足够的光强。LCD是人与机器沟通的重要界面,早期以显像管(CRT/C athode Ray Tube)显示器为主,但随着科技不断进步,各种显示技术如雨后春笋般诞生。LCD由于具有轻薄短小、低耗电量、无辐射危险、平面直角显示以 及影像稳定不闪烁等优势,逐渐占据显示的主流地位。 LCD的类型,根据其分类方式的不同而不同。如根据LCD显示内容的不同可以分为段式LCD和点阵L CD。根据LCD驱动方式的不同可以分为静态驱动和多路驱动。 3MSP430F44X简介 MSP430F44X系列是TI公司最新推出的具有超低功耗特性的Flash型16位RISC指令集单片机[2]。该系列单片机性价比相当高,在系统设计、开发调试及实际应用上都表现出较明显的优势。它主要应用在各种要求极低功率消耗的场合,特别适合用于智能测量仪器、各种医疗器械、智能化家用电器和电池供电便携设备产品之中。 3.1系统结构 MSP430F44X的系统结构,主要包括:CPU、程序存储器(ROM)、数据存储器(RAM)、FLL+时钟系统(片内DCO+晶体振荡器)、看门狗定时器/通用目的定时器(WatchDog)、ADCl2(12位A/D)、比较器A(精确的模拟比较器,常用于斜边(Slope)A/D转换)、复位电压控制/电源电压管理、基本定时器(Basic Timerl)、定时器(Timer-a和Timer-B)、LCD控制器/比较器(多达160段)、硬件乘法器、I/O口和串行口[4]。系列中各种具体的型号稍有差别。在本次设计中,具体选择MSP430F449作为人机接口电路的设计具有许多独到的优势。这一点,读者可以根据TI公司相关的数据手册进行比较。 3.2片内外模块特性 MSP430F44X具有丰富的片内外围模块,其明显的特点是:具有48条I/0口线的6个并行口P1-P6,其中P1、p2具有中断能力,同时具有2个可用于UART/SPI模式选择的串行口(USART0和USARTl);内含12位的A/D转换器ADCl2,快速执行8×8、8×16、16×16乘法操作并立即得到结果的硬件乘法器;多达160段的LCD控制器/比较器,可以实现多种方式的驱动显示;可以实现UART、PWM、斜坡ADC 的16位Timer-A和16位Timer-B;非常灵活的时钟系统,既可用32768Hz的钟表晶振产生低频时钟,也可以用450kHz-8MHz的晶体产生高频时钟,同时还可以使用外部时钟源或者用不同控制频率的DCO;多达几十kB的Flash空间,这样数据既可以保存在片内的Flash信息存储器,也可保存在程序的Hash中的剩余空间。 4接口电路设计 4.1接口电路简图及说明 典型应用电路示意图。在该图中,LCD类型和键盘种类及数目的选择、下拉电阻的数值大小都必须认真

微机原理课程设计报告

— 微机原理 课程设计报告 ——电子表程序设计 ^ 。

(一)设计任务: 用汇编语言设计一电子表程序,要求: ! (1)实现秒、分、时的计时,并显示于屏幕中央 (2)能够校时 (3)能够半点、整点报时 (二)设计原理 该程序主要由三部分构成:时间设置、延时程序和时钟显示。 (1)时间设置 … ①输入初始时间 先调用DOS操作系统模块2,在显示屏上显示‘:’,再调用DOS操作系统模块10,提示输入初始时间。由键盘输入的时间以字符串形式存放在已定义的存储器缓冲区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓冲区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。 ②暂停计时 按Pause Break键即可暂停计时,再按下任意键恢复计时 ③重新输入时间 在程序运行时,可按下Esc键重新输入初始时间,此时程序检测到Esc(ASCII码为1BH)被按下,返回①步提示重新输入时间。 以上两步可实现校时的功能。

④半点、整点报时 《 程序运行时,分钟值每次改变都需要与30、60比较,若相等,则调用DOS操作系统模块7使计算机响铃并在时间后显示‘ ------’。同时若分、秒值为60则需进位,时为24时进位,保证时钟程序的正确性。 (2)延时程序 计算机在执行指令时,各种操作都按指令执行,但在像程序控制器那样由计算机发出指令控制外部设备是,由于外部设备所具有的机械惯性或其他原因,需要在计算机发出指令后有规律地延迟或等待一段时间。这类延时,可以用硬件延时来完成,单用软件来实现也是一种方便和常用的方法。 计算机执行每一条指令,虽然很快,但还是需要一段时间的。因此从理论上讲,可在程序中加一些与程序无关的指令去完成,要计算指令执行的时间,又不能过多的为了延时而增加编制程序的工作量。因此,编制延时程序,应尽量采用较少的指令,节约存储器,并且不能对主程序造成影响。 每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。当CPU采用的时钟频率一定时,时钟周期也为定值。因此可根据时钟周期的多少来计算执行指令所需的时间。完成本设计任务使用的计算机采用Intel Pentium 4处理器,主频为,时钟周期约为。 通过时间约1s的长延时累加,并以时、分、秒的形式显示出来,就可以编写出一个时钟程序。 (3)时钟显示 … ①设置光标位置子程序IOSET

微机原理与接口技术课程设计-----交通灯设计

中南大学 微机课程设计报告 题目交通灯设计 专业班级 姓名 学号 指导老师林立新老师

目录 1.课程设计题目、功能、目的 (2) 2.系统分析与设计 (3) 2.1系统所用芯片分析 (3) 2.2所选用芯片的简要介绍 (4) 2.3系统框图 (6) 3.程序设计 (7) 3.1十字路口交通灯状态转换表 (7) 3.2主程序流程图 (7) 3.3 中断子程序流程图 (8) 3.4 数码管码表 (8) 3.5 各芯片初始化说明 (9) 4.运行情况 (10) 5.具体源代码及注释 (11) 6.心得体会 (16)

一、课程设计题目、功能、目的 1.课程设计题目--------------交通灯设计 2.本设计所实现功能 1)实现十字路口交通灯各种状态的转换; 2)各种状态转换的时间可进行灵活设置; 3)采用中断的方法对状态转换进行控制,提高处理器效率; 4)在各个状态转换的同时实现倒计时提醒。 3.本次课程设计目的 1)通过《微机原理与接口》课程设计,使学生能够进一步了解 微型计算机工作原理, 微型计算机的硬件结构及微型计算机 软件编程。 2)要求学生根据接口电路的硬件要求进行计算机的汇编语言 程序设计,使学生的软件编程能力得到加强,对接口电路的 综合应用能力有较大提高。

二、系统分析与设计 1.系统所用芯片分析 1)首先本个系统需要一个中央处理器来负责对整个系统进行控 制管理,因为《微机原理与接口技术》这门课上介绍了8086 芯片,所以可以采用8086作为本系统的中央处理器。 2)由于本次的课程设计的题目是交通灯,而根据十字路口处的交 通灯南北和东西方向各有红、绿、黄三种颜色的灯,因此可 用8255来控制6个LED灯的实现模拟的南北和东西方向上的 交通灯。 3)而交通灯的状态转换时间要由中断方式来控制,所以很容易想 到了可以用8259作为中断芯片,与8086芯片相连。 4)交通灯的状态转换时间可灵活设置,于是想到了可以采用一块 8253或8254芯片和一个脉冲源相连,8253对脉冲源送来的 脉冲进行分频,然后将输出送到8259作为中断源,而8253 采用不用的计数初值其输出脉冲的频率就不一样,因此实现 了交通类状态转换时间的灵活设置。 5)最后关于交通灯状态转换的倒计时功能,可由一个七段数码管 来显示倒计时,而本次课程设计的实验箱没有提供单个数码 管,而是提供了一个八位一体七段数码管,所以还需一块 8279芯片来对数码管进行控制。

相关文档
最新文档