




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教室管理系统 杨琳成都电子机械高等专科学校摘要:本设计为一个单片机开发的教室管理系统的应用。主要功能包括教室使用情况的显示及查询功能。本文主要是针对教室管理员而设计的,帮助管理员能迅速,方便地整理教室资源,同时也方便教师对教室使用情况的查询与使用。本系统采用单片机at89c51作为系统的控制主要芯片,利用汇编语言进行软件的编程来实现本次设计的功能。主机采用led显示,而从机则采用点阵显示,具体实施方法采用键盘对功能的转换。关键词 显示 单片机 点阵 led 目录第一章 绪论11 课题背景12 教室管理系统的技术动态第二章 方案论证 21 字库及显示方案 211 提出方案 212 解决方案 22 整机设计方案第三章 教室管理系统的硬件设计 31 主机硬件原理及应用 32 从机点阵显示33 电源设计第四章 教室管理系统软件设计 41 单片机的概述 42 程序设计流程图第五章 结束语参考文献 致谢 附录 第一章 绪论在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和信息处理中的应用,标志着一个崭新的时代“信息时代”的开始。因此,充分利用我们现有的资源和技术力量,开发一些适用的管理系统是大势所趋。11课题背景 教室作为高等学校一项重要的教学资源,除在每学期开学前已安排有指令性的教学任务(课程表)之外,也必须承担课程表之外的各项学校工作。在各项工作中合理的安排教室资源,达到充分利用,这就是教室管理工作的主要任务。当前internet的流行行为教室管理网络化,从一定程度上讲,它就是教室管理部门的网上办公室。“网”意味着它具有信息时代的快捷方便等特征。它的出现,构建了一个教室使用者和教室管理者交流的网上平台。一方面,教室使用者可以很方便的查询和使用;另一方面,教室管理者可以通过计算机实现最有效率的管理。而且人员安排会更合理,也就降低了人工成本和操作。管理人员从而也会更加轻松。12教室管理系统的技术动态计算机是人类有史以来最伟大的发明之一,人类经过几个世纪以来的努力,把计算机从古老的算盘发展到当代的计算机。当代计算机并非仅用于计算,它更广泛地运用到社会生活的各个领域,从宇宙飞船到人造卫星,从天气预报到地震预报,办公自动化到生产过程自动化,都离不开计算机的应用,计算机已成为促进现代文明进步,推动人类发展的“智能工具”。世界上第一台电子计算机是以1946年诞生的全真空管化电子数字积分器与计算机(eniac)为标志的,它是美国设计师埃克特(p.eckert)和莫克利(w.mauchly)在宾夕法尼亚大学制造成功的。随着晶体管的发明,1958年ibm公司宣布制成并投入商业化生产的全晶体管化的计算机,开始了以晶体管为逻辑元件的第二代计算机时期。集成电路的问世,又很快被应用到计算机的制造。以集成电路取代分立元件,开始了第三代计算机的发展历程。这个阶段是以1964年ibm公司宣布ibm360系列计算机问世为起点的。进入20世纪70年代,微电子技术取得了巨大的成就,大规模集成电路和微处理器应运而生。它们给计算机发展注入了新的元素,计算机开始了大规模集成电路的时代第四代计算机。大规模集成电路微处理器是以1971年美国intel公司的青年科学家霍夫(m.e.hoff)发明第一块微处理器4004为标志的。微处理器即是通常所说的cpu,它本身不是计算机,是小型的计算机或是微型计算机的控制和处理部分。微处理器自1971年问世以来,随着大规模集成电路的发展,在短短的近20年里得到了突飞猛进的发展,微处理器的集成度不断提高,性能不断增强,纵观其发展,它经历了从4位微处理器,8位微处理器,16位微处理器,到32位,64位微处理器的发展。微机是具有完整运算及控制功能的计算机。它除了包括微处理器外,还包括存储器,接口电路及输入输出设备等。目前,以微处理器为基础的微计算机系统正向着高集成度,高性能,高速度的第五代计算机方向发展。单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的ram和rom以及输入/输出接口,定时器等电路于一块芯片上构成的。1976年intel公司推出的mcs48系列8位单片机,以其体积小,功能全,价格低等特点赢得了广泛的应用。mcs48为单片机的发展奠定了基础,成为单片机发展过程中的一个重要阶段。在mcs48成功的激励下,许多半导体公司和计算机公司竞相研制和开发自己的单片机系列。其中包括motorola,zilog,philips,atmel等公司的产品。尽管目前单片机品种繁多,但其中最具有典型性的当数intel公司的mcs51系列。mcs51系列是在mcs48系列的基础上于80年代发展起来的,虽然它仍然是8位单片机,但其功能较mcs48有很大的增强。此外,它还具有品种全,兼容性强,软硬件资源丰富的特点,因此应用较为广泛,成为继mcs48之后最重要的单片机品种。直到现在,mcs51仍不失为一种单片机是主流芯片。在8位单片机之后,16位的单片机也有很大的发展。例如,1983年intel公司的mcs96系列单片机就是其中的典型代表。与mcs51相比,mcs96不但字长增加了一倍,而且还具有4路或8路的10位的a/d转换功能。此外,在其他性能方面也有一定的提高。在单片机的基础上发展起来的嵌入式系统已成功进入商业市场。嵌入式计算机系统是以应用为中心,以计算机技术为基础,软,硬件可裁减,适应应用系统对功能,可靠性,成本,体积,功耗等严格要求的专用计算机系统。1981年,ready systen开发出世界上第一个商业嵌入式实时内核,这个实时内核包含了许多传统操作系统的特征,包括任务间通信,同步与相互排斥,中断支持,内存管理等功能。此后一些公司也纷纷推出了自己的嵌入式操作系统,这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应时间短,任务执行的时间可以确定;系统内核很小,具有可裁减性。可扩充性和可移植性,可移植到各种处理器上,较强的实时性和可靠性。适合嵌入式应用。如今,实时内核逐渐发展为多任务操作系统,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。嵌入式系统由软件和硬件两大部分组成。从硬件方面来讲。嵌入式系统的核心部件是嵌入式处理器。据不完全统计,全世界嵌入式处理器的品种数量已经超过1000多种,其中8051体系占大多数。嵌入式系统的软件一般由嵌入式操作系统和应用软件组成。操作系统是连接计算机硬件与应用程序的系统程序。操作系统有两个基本功能:使计算机硬件便于使用,高效组织和正确使用计算机系统。如今,嵌入式系统主要应用于工业控制,交通管理,信息家电,家庭智能管理系统,pos网络及电子商务,环境监测,机器人等领域。第二章 方案论证2.1 字库及显示方案211提出方案:因为对于教室资源的显示需要一些汉字,所以就必须使用字库。原理如下:8*8点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。汉字显示屏非常普遍,下面就对汉字显示屏作一个简单的介绍:汉字显示屏广泛应用到汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到元器件的易购性,没有使用8*8的点阵发光二极管模块,而是直接使用了256个高亮度发光管,组成了16行16列的发光点阵。同时,为了降低制作的难度,只做了一个字的轮流显示。实际使用时可以根据这个原理自行扩充显示的字数。8x8点阵led结构如下图 图2 从图2中可以看出,8x8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。汉字显示屏非常普遍,下面就对汉字显示屏做一简单介绍:汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块, 而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。 我们以ucdos中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。我们以显示汉字“大”为例,来说明其扫描原理:在ucdos中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用 8位的at89c51单片机控制, 由于单片机的总线为8位一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由8*16 点阵组成, 下部也由8*16点阵组成。 在本例中单片机首先显示的是左上角的第一列的上半部分,即第列的p00-p07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100转换为16进制为 04h.。 上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以 列,仍为p05点亮,为00000100,即16进制04h. 这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”,它的扫描代码为:04h,00h,04h,02h,04h,02h,04h,04h 04h,08h,04h,30h,05h,0c0h,0feh,00h 05h,80h,04h,60h,04h,10h,04h,08h 04h,04h,0ch,06h,04h,04h,00h,00h 由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。212 解决方案如果通过描点来造字的话,任务量太大。现在有很多现成的汉字字模生成软件, 我们就不必自己去画表格算代码了。软件打开后输入汉字,点“生成字模”,十六进制数据的汉字代码即可自 动生成,但是我们要根据自己硬件的连接方式来在选项中选择取码方式为从上到下或从下到上的方式,然后把我们所需要的竖排数据复制到我们的程序中即可。我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89c51 。 单片机, 一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。 实际应用中我们使用4-16线译码器74ls154来完成列方向的显示。 而行方向16条线则接在 p0口p2口。22 整机设计方案主从机的设计要满足稳定性和可靠性,主机显示部分用led显示,节约成本。从机显示部分用点阵。键盘部分就用普通按键,电源就用变压器供给五伏电源。主机和从机分别做两块板子,并且独立供电,避免同电源之间的干扰。在串行通信中采用全双工通信。第三章 教室管理系统的硬件设计31主机硬件原理及应用311 led的简介 led是英文light emitting diode(发光二极管)的缩写,发光二极管的核心部分是由p型半导体和 n型半导体组成的晶片,在p型半导体和n型半导体之间有一个过度层p-n结,注入的少数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。 led在我们日常生活的电器中随处可见,极为普通也广为人知。led具有效率高、光线质量高、能耗小、寿命长等特点,主要可用于平面显示领域、便携设备显示屏、照明以及红外线led领域等下游应用产品市场。 与传统的照明工具相比,led照明产品,尤其是氮化镓基(gan)白光led照明光源体积小、重量轻、方向性好并可耐各种恶劣条件,在功耗、寿命以及环保等方面均有不可比拟的优越性。 数码管显示器由于其成本低,配置灵活,与单片机相接简单,因此广泛用于单片机应用的系统中。下面介绍其工作原理及与单片机的接口电路。312 led的显示原理数码管是由8个发光二极管构成的显示器件,如图21(a)为发光亮段,可显示09十个数字。在数码管中,若将二极管的阳极连接在一起,称为共阳极数码管;若将二极管的阴极连接在一起,称为共阴极数码管如图21(b).当发光二极管导通时,它就会发光。每个二极管就是一笔画,若干个二极管发光时,就构成了一个显示字符。 图21(b)图21(a)将单片机的i/o口与数码管的ag及h相连,高电平的位对应的发光二极管亮,这样,由i/o口输出不同的大妈,就可以控制数码管的显示不同的字符。例如:当i/o口输出的代码为0011 1111时,数码管显示的字符为0。这样形成的显示字符的代码称为显示代码或段选码。表21为十六进制数字的显示代码。表21 十六进制数字的显示代码 十六进制数h g f e d c b a显示代码 0 1 2 3 4 5 6 7 8 9 a b c d e f .0 0 1 1 1 1 1 10 0 0 0 0 1 1 00 1 0 1 1 0 1 10 1 0 0 1 1 1 10 1 1 0 0 1 1 00 1 1 0 1 1 0 10 1 1 1 1 1 0 10 0 0 0 0 1 1 10 1 1 1 1 1 1 10 1 1 0 1 1 1 10 1 1 1 0 1 1 10 1 1 1 1 1 0 00 0 1 1 1 0 0 10 1 0 1 1 1 1 00 1 1 1 1 0 0 10 1 1 1 0 0 0 11 0 0 0 0 0 0 0 3fh 06h 5bh 4fh 66h 6dh 7dh 07h 7fh 6fh 77h 7ch 39h 5eh 79h 71h 80h 数码管显示器有两种工作方式,即静态显示方式和动态显示方式。在静态显示方式下,每位数码管的ag和h端与一个8位的i/o口相连。要在某一位数码管上显示字符,只要从对应的i/o口输出并锁存其显示代码即可。其特点为:数码管中的发光二极管恒定的导通和截止,直到显示字符改变为止。动态显示方式的每位数码管都需要一个数据锁存器,因此,其硬件电路较为复杂。但它的显示程序非常简单。在动态显示方式中,各位数码管的ag和h端并连在一起,与单片机系统的一个i/o口相连,从该i/o口输出显示代码。每只数码管的共阳级或共阴极与另一i/o口相连,控制被电亮的位。动态显示的特点:每一时刻只能有一位数码管被点亮,各位依次轮流被点亮;对于每一位来说,每隔一段时间点亮一次。为了每位数码管能充分被点亮,二极管应持续发光一段时间,利用发光二极管的余辉和人眼的驻留效应,通过适当调整每位数码管被点亮的时间间隔,可以观察到稳定的显示输出。32 从机的点阵显示321 点阵的概述led点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。led点阵有44、48、57、58、88、1616、2424、4040等多种;根据像素的数目分为等,双基色、三基色等,根据像素颜色的不同所显示的文字、图象等内容的颜色也不同,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。图1-5示出几种led点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。led点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5 x 7点阵显示器用于显示西文字母58点阵显示器用于显示中西文,8 x 8点阵用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过微机或单片机控制驱动。322 点阵的显示原理 上图为一简单的led点阵显示,其中用了单片机p0、p2两个口,用三极管做点阵的驱动。还用到了4线16线译码器。323 点阵的应用点阵在本系统中的应用如图:上图为点阵的控制部分,该系统设计了一次性能显示四个字的点阵即用到了16块8*8的点阵,四个8*8点阵组成了一个16*16的点阵显示一个字,因此一共有16行和64列。jp1jp8的对应行连接在一起,jp9jp16的对应行也连在一起;jp1和jp9、jp2和jp10到jp8和jp16的对应列连在一起。而后把16行和64列接到2个40的接插件上。用两个40的接插件连接控制和点阵。用p0分时复用作为数据输出端,用两块74hc541作为行的驱动,其中分别用p3.2、p3.3接两块74hc541的片选。用p2对点阵的64列进行控制,其中用到了四块74ls1544线16线译码器。四块的4位数据端接到一起在和p2口的低四位相连,p2口的高4位分别接四块74ls154的片选。3.3 电源的设计在我们的实际生活中,家用电器如:电视机,vcd影碟机,电脑显示器等等,大都用了一个轻触电源开关,只要我们轻轻用手按一下就能开机,再按一下就关机了,使用起来相当方便。这一些都是数字电路带给我们的方便。在本系统中,我并没有用传统的数字电路来设计,而是采用了一个模拟电路的轻触开关,一个键为关机,另外一个位开机。电路图11如下:关机时,指示灯的红灯亮,继电器不工作,无电流输出。 当按下开机键,电流通过r1流进复合管而驱动继电器吸合,两个弹片打在下下边绿灯亮,整机工作,输出级输出电流,然后电流通过可变电阻维持整机工作。当按下关机键时,复合管无偏置电流而截止,继电器不工作,红灯亮,绿灯灭。整机停止工作,即进入了待机状态。第四章 系统的软件设计41 单片机的概述单片机具有以下特点:1)小巧灵活,成本低,易于产品化。它能方便的组合成各种智能化的控制设备及各种智能仪器与仪表。2)面向控制,能针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的价格性能比。3)抗干扰能力强,适应温度范围宽,在各种恶劣环境下都能可靠性工作,这是其它机种无法比拟的。4)可以很方便的实现多机和分布控制。使整个控制系统的效率和可靠性大幅度提高。 单片机具有体积小、功耗低,价格便宜等优点,近年来还还开发了一些以单片机母片为核(如80c51),在 片中嵌入更多功能的专用型单片机(或者叫专用微控制器),因此单片机在计算机控制领域中应用越来越广泛。1. 8051系列的单片机单片机(microcontroller,有称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器cpu、数据存储器ram、程序存储器rom、定时器/计数器和多种i/o接口电路。8051单片机的基本结构见图3-1。8051时mcs51系列单片机的一个产品。mcs51系列单片机是intel公司推出的通用型单片机,其结构特点如下:(1)8位cpu;(2)片内震荡及时钟电路;(3)32根i/o线;(4)外部存储器寻址范围rom、ram各64k;(5)2个16位的定时器/计数器;(6)5个中断源,2个中断优先级;(7)全双工串行接口。8051单片机系列指的是mcs51系列和其他公司的8051衍生产品。这些衍生品是在基本型基础上增强了各种功能的产品,如高级语言型、flash 型、eeprom型、a/d型、dma型、多并行口型等,这些产品给8位单片机注入了新的活力,给它的开发应用开拓了更广泛的前景。2. 8051系列单片机的内部结构8051系列的内部结构可以划分为cpu、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分。 (1)中央处理器8051的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(sfr)。算术逻辑单元alu能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。alu只能进行运算,运算的操作数可以事先存放到累加器acc或寄存器tmp中,运算结果可以送回acc或通用寄存器或存储单元中,累加器acc也可以写为a。b寄存器在乘法指令中用来存放一个乘数,在除法指令中用来存放除数,运算后b中为部分运算结果。程序状态字psw是个8位寄存器,用来寄存本次运算的特征信息,用到其中七位。psw的格式如下所示,其各位的含义是:cy:进位标志。有进位/错位时cy=1,否则cy=0。 ac:半进位标志。当d3位向d4位产生进位/错位时,ac=1,否则ac=0,常用于十进制调整运算中。f0:用户可设定的标志位,可置位/复位,也可供测试。rs1、rs0:四个通用寄存器组选择位,该两位的四种组合状态用来选择03寄存器组。见表3-1。ov:溢出标志。当带符号数运算结果超出-128+127范围时ov=1,否则ov=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时ov=1,否则ov=0。p:奇偶校验标志。每条指令执行完,若a中1的个数为奇数时p=1,否则p=0,即偶校验方式。控制逻辑主要包括定时和控制逻辑、指令寄存器 、译码器以及地址指针dptr和程序寄存器pc等。表 3-1 rs1、rs0与工作寄存器组的关系rs1rs0工作寄存器组000组(00-07h)011组(08-0fh)102组(10-17h)113组(18-1fh)单片机是程序控制式计算机,即它的运行过程是在程序控制下逐条执行程序指令的过程:从程序存储器中取出指令送指令存储器ir,然后指令译码器id进行译码,译码产生一系列符合定时要求的微操作信号,用以控制单片机的各部分动作。8051的控制器在单片机内部协调各功能部件之间的数据传送、数据运算等操作,并对单片机发出若干控制信息。这些控制信息的使用专门的控制线,诸如psen、ale、ea以及rst,也有一些是和p3口的某些端子合用,如wr和rd就是p3.6和p3.7,他们的具体功能在介绍8051引脚是一起叙述。(2)存储器组织8051单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种结构称为哈佛结构单片机。这种结构与通用微机的存储器结构不同,一般微机只有一个存储器逻辑空间,可随意安排rom或ram,访存时用同一种指令,这种结构称为普林斯顿型。8051单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。8051片内有256k数据存储器ram和4kb的程序存储器rom。除此之外,还可以在片外扩展ram和rom,并且各有64kb的寻址范围。也就是最多可以在外部扩展2*64kb存储器。8051的存储器组织结构如图3-3所示。图 2-13 8051存储器组织结构64k字节的程序存储器(rom)空间中,有4k字节地址区对于片内rom和片外rom是公用的,这4k字节地址是0000hfffh。而1000hffffh地址区为外部rom专用。cpu的控制器专门提供一个控制信号ea用来区分内部rom和外部rom的公用地址区:当ea接高电平时,单片机从片内rom的4k字节存储器区取指令,而当指令地址超过0fffh后,就自动的转向片外rom取指令。当ea接低电平时,cpu只从片外rom取指令。表3-2 8051特殊功能寄存器一览表符号地址注解*acce0h累加器*bf0h乘法寄存器*pswd0h程序状态字sp81h堆栈指针dpl82h数据存储器指针(低8位)dph83h数据存储器指针(高8位)*iea8h中断允许控制器*ipd8h中断优先控制器*p080h通道0*p190h通道1*p2a0h通道2*p3b0h通道3pcon87h电源控制及波特率选择*scon98h串行口控制器sbuf99h串行数据缓冲器*tcon88h定时器控制tmod89h定时器方式选择tl08ah定时器0低8位tl18bh定时器1低8位th08ch定时器0高8位th18dh定时器1高8位程序存储器的某些单元是保留给系统使用的:0000h0002h单元是所有执行程序的入口地址,复位以后,cpu总是丛0000h单元开始执行程序。0003h002ah单元均匀地分为五段,用做五个中断服务程序的入口。用户程序不应进入上述区域。数据存储器ram也有64kb寻址区,在地址上是和rom重叠的。8051通过不同的信号来选通rom或ram:当从外部rom取指令时用选通信号psen,而从外部ram读写数据时采用读写信号rd或wr来选通。因此不会因地址重叠而出现混乱。8051的ram虽然字节数不很多,但却起着十分重要的作用。256个字节被分为两个区域:00h7fh时真正的ram区,可以读写各种数据。而80hffh是专门用于特殊功能寄存器(sfr)的区域。对于8051安排了21个特殊功能寄存器,每个寄存器为8位,所以实际上128个字节并没有全部利用。内部ram的各个单元,都可以通过直接地址来寻找,对于工作寄存器,则一般都直接用r0r7,对特殊功能寄存器,也是直接使用其名字较为方便。8051内部特殊功能寄存器都是可以位寻址的,并可用“寄存器名.位”来表示,如acc.0,b.7等。这些寄存器分别用于以下各个功能单元:cpu:acc,b,psw,sp,dptr(由两个8位寄存器dpl和dph组成);并行口:p0,p1,p2,p3;中断系统:ie,ip;定时器/计数器:tmod,tcon,t0,t1(分别由两个8位寄存器tl0和tho,tl1和th1组成);串行口:scon,sbuf,pcon。42 程序设计流程图 软件是硬件的灵魂,没有软件,再好的硬件也只不过是一堆电子元件。所以软件的好坏才真正的决定了系统的稳定程度,好的软件才能扩展系统的功能,让商品在市场中具有有利的竞争地位。根据系统的功能要求和硬件的连接情况,软件可分为:t0定时中断模块和主程序模块。t0定时中断模块通过10ms基本时间的定时,中断100次为一秒,进而实现教室使用情况以及时间的显示。正常工作时,每秒种刷新显示。 主程序模块通过循环执行的方式实现以下功能:调用显示子程序显示当前时间以及教室使用情况,判断是否有键按下,若有键按下则调用键盘处理子程序。主程序模块的流程图如下所示: 开始系统初始化调用显示子程序按下键ny调用键盘子程序主程序流程图中断流程图如下: 现场保护t0中断程序中断返回到1s ?置t0初值 显缓内容送显示恢复现场n 键盘处理程序的流程图如下所示。如果有键按下,根据按下的键跳转到不同的程序段执行处理。若按下set键,先把setcnt单元加1,如果setcnt单元为3则将其清零,否则关闭中断t0。若按下change键,setcnt的值为零,则不处理。若为1则表明是空教室代码,若为2则表明是使用中教室。键盘处理子程序判断setcnt判断按键延时10msset键change键setcnt加1到3次0 1 2使用中教室空教室yn关t0中断setcnt清0,开中断,启动t0设置刷新标志返回 键盘处理流程图显示子程序的流程图如下。先进行led的初始化,读取显示标志,然后判断是否需要刷新显示标志。如果需要刷新显示,再判断setcnt的值,若为零则显示为时间,若不为零则显示为教室使用情况的转换代码。返回显示标题为教室使用情况缓冲区的数据送显示 显示标题为clocksetcnt为零是否显示读显示标志led初始化显示子程序nyn 显示流程图程序清单:;定义引脚set bit p0.0change bit p0.1led bit p2;ram存储区分配t0cnt equ 30h ;t0基本计时单元jscnt equ 31h ;教室存储单元dispuf equ 34h ;34h3ah为时间显示缓存区displg equ 41h ;刷新显示标志,为1时刷新显示setcnt equ 42h ;set按键次数存储单元;有关状态字和常数的标识符dg0 equ 11000000b ;“0”的七段码,hgfedcba ds9 equ 10010000b ;“9”的七段码dgbi equ 11111111b ;“空白”的七段码;程序入口 org 0000h ljmp main;t0中断入口 org 000bh ljmp it0p ;跳转到t0中断处理程序;主程序入口 org 0040hmain: mov sp,#60h ;设置堆栈指针 mov tmod,#01h ;设置t0为16位定时器方式 mov th0,#0d8h ;置t0初值 mov tl0,#0f0h mov t0cnt,#00h ;t0中断次数清0 mov ie,#89h ;t0中断允许 clr a mov t0cnt,a ;时间计数单元清零 mov setcnt,a ;set按键次数清0 setb tr0 ;启动t0mainp: lcall disp ;调用显示子程序 mov p0,#0ffh ;设置p0为输入方式 mov a,p0 ;读取键盘端口 anl a,#07h ;屏蔽p0口的高5位 cjne a,#07h,kpress ;有键按下,转键盘处理 sjmp mainlp ;无键按下,继续循环kpress: lcall keyprg sjmp mainlp;显示子程序(略);键盘子程序(略);中断处理子程序(略);延时子程序(略);教室情况送显缓子程序ma: mov r0,jshcnt ;取教室数据 mov r1,jslcnt mov dptr,#tbds ;dptr指向七段码表首址 mov a,r0 ;取教室编号 anl a,#0fh ;取bcd码低位 mov a,a+dptr ;查七段码 mov ds0,a ;七段码送显缓ds0 mov a,r0 sjmp a anl a,#0fh ;取高位bcd码 movc a,a+dptr mov ds1,a ;七段码送显缓ds1 mov a,r1 ; 取教室的楼层号 anl a,#0fh movc a,a+dptr mov ds2,a mov a,r1 swap a anl a,#0fh movc a,a+dptr mov ds3,a rettbds: db dg0 ;七段码表 db dg1 db dg2 db dg3 db dg4 db dg5 db dg6 db dg7 db dg8 db dg9 第五章 结束语 通过这半个月的努力学习和蔡老师的细心指导,我的毕业设计才得到顺利完成;实现了最基本的 功能。主机实现了时间显示功能和教室使用情况显示功能。从机初始化显示时间。正常工作情况下只显示时间和使用中教室号,待到有老师或其他人要求征用教室时,管理员只需启动该系统既能方便,快速地查找到空教室的编号。这就是本次设计的功能。由于时间仓促,还有很多不足之处。时至今日,毕业设计终于可以画上一个句号了,但是现在回想起来做毕业设计的整个过程,颇有心得,其中有苦也有甜,不过乐趣尽在其中,经过半个多月的设计和开发,其功能基本符合用户需求,没有接受任务以前觉得毕业设计只是对这几年来所学知识的单纯总结(这是我以前的一种想法),但是通过这次做毕业设计发现自己的看法有点太片面、太偏激了。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。参考文献1 曾一江 单片微机原理与接口技术.第一版.科学出版社,20062 马家辰 孙玉德 张颖.mcs-51单片机原理及接口技术.修订版.哈儿滨工业大学出版社,2004 3 胡汉才 单片机原理及其接口技术.清华大学出版社.19964 何立民 单片机应用系统设计 .北京航空航天大学出版社.19945 谢宜仁 单片机使用技术问答.人民邮电出版社.2003致谢 在此要感谢我的导师蔡方凯老师对我悉心的指导,感谢老师给我这样的机会锻炼。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个开发过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。本文作者签名: 杨琳作者简介姓名:杨琳 性别:女出生年月:1985年10月 民族:汉email :附录 元件清单:本次设计包括两块数码管,一块at89c51芯片。两个40插件。两块74hc51芯片,四块74ls154芯片,一块74ls138芯片,一块cd4511芯片。若干电容,电阻,三极管,发光二极管,晶振。还有两个轻触开关,一个变压器。下面介绍一些芯片的资料: 图 5-29 74ls138管脚图cd4511引脚图及应用资料cd4511是一个用于驱动共阴极 led (数码管)显示器的 bcd 码七段码译码器,特点如下:具有bcd转换、消隐和锁存控制、七段译码及驱动功能的cmos电路能提供较大的拉电流。可直接驱动led显示器。用cd4511实现led与单片机的并行接口方法如下图: (略)cd4511 引 脚 图其功能介绍如下: bi:4脚是消隐输入控制端,当bi=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。lt:3脚是测试输入端,当bi=1,lt=0 时,译码输出全为1,不管输入 dcba 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 le:锁定控制端,当le=0时,允许译码输出。 le=1时译码器是锁定保持状态,译
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中西医结合病例分析考核答案及解析
- 电梯安装成品保护操作措施
- (2025年标准)委托检测鉴定协议书
- 2025年急救技能演练及操作考核测试卷答案及解析
- (2025年标准)用地界线协议书
- 2025年承包温室大棚协议书
- 2025年新舞蹈培训报名协议书
- 2025年神经内科多发性硬化症临床病例分析模拟试卷答案及解析
- 2025年放射科影像学检查技术考核模拟试卷答案及解析
- 2025年精神科常见心理疾病辨识与干预模拟测试答案及解析
- 技术赋能医疗创新-深入解析数字化口腔诊所建设指南
- 眼内炎护理疑难病例讨论
- 六年级上册 道德与法治 全册公开课一等奖创新教案
- 配送车辆消毒管理制度
- 理发店消防安全制度
- 脾脏解剖学与脾切除术指导
- 工厂改善方案
- 中医治疗眼病的技巧
- 2025年职工职业技能竞赛(泵站运行工赛项)参考试指导题库(含答案)
- 2025年商业物业管理授权协议书模板
- 创建安全质量标准化示范工地实施方案
评论
0/150
提交评论