014 单片机 电子通讯录
                    联系方式 Email: lw510@qq.com      QQ: 497053418       MSN: lw510@qq.com
以下仅为该设计的基本说明介绍,若需要完整的设计和论文,建议您购买本设计.
014 单片机 电子通讯录样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
 

本系统开发工具:单片机/汇编
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
 
电子通讯录软件
1 摘   要
在电子产品设计中,人机交互显示界面是必不可少的工作,目前一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力。而LCD智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,LCD智能显示模块获得了广泛的应用。
目前,以LCD和数字键盘实现的人机交互式界面在智能终端中广泛采用。在不同的应用场合,对人机界面的要求也不同,一些情况下只要求简单参数的显示和选择,而在一些信息终端中,还要求文字的输入。
在使用高性能CPU和标准显示设备的情况下,实现友好的人机界面可采用商用嵌入式系统( 如Linux或WinCE)所支持的GUI程序。但很多情况下,智能终端使用MCU,且其显示设备是非标准接口的小型LCD。此时,必须找到占用较少资源的低成本实现方法。
关键词:LCD,汉字,单片机
2 Abstract
    In the electronic product design, human-computer interaction interface is essential to show the work It is generally used in LCD-strokes were in paragraph 107, and the figures show that only a small number of characters function are often limited, for more complicated characters or graphics were powerless.
Intelligent and LCD display module is a low-power, low-loss, low-value display, It can not only show a wide range of characters, characters and graphics, is programmable, and microcontroller interface and convenient, based on the above advantages, intelligent LCD display module was widely used. At present, LCD and digital keyboard achieve Interactive interface in Intelligent Terminal widely used. In different applications, the man-machine interface requirements, a number of parameters required only a simple display and the choice In some information terminal, also called the text input.
In the use of high-performance CPU and standard equipment of the show, Implementation friendly interface available commercial embedded systems (such as Linux or WinCE), the GUI support procedures. But in many instances, the use of intelligent terminals MCU, which showed its non-standard equipment is a small LCD interface. At this time, we must find the resources and less low-cost method.
 Keywords : LCD, Chinese, microcontroller

 
3 目录
摘   要 0
ABSTRACT 0
目录 1
第一章 绪言 1
1.1 课题背景 1
1.2 本课题的任务和要求 9
1.3系统解决的问题和拟采用的研究手段 14
1.4本文的工作 15
第二章 系统的总体设计 16
2.1工作控制程序设计 34
2.2模拟软件调试 38
第三章系统的实现和关键技术 48
3.1汇编程序与模拟软件 58
第四章 总结 84
致谢 86
参考文献 87
 
4 第一章 绪言
4.1 1.1本课题的任务和要求
单片机又称微控制器,或称嵌入式控制器。而现在的智能家电无一例外是采用微控制器来实现的,所以家用电器是单片机应用最多的领域之一。它是家用电器实现智能化的心脏和大脑。
    由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。
    单片机主要用于计算机外设、实时控制、仪器仪表、通信和家用电器等各个领域,是计算机技术和电子技术的综合性应用,在不同应用场合其技术要求各不相同,因此设计方法和研制的步骤不完全一样。
单片机应用系统由硬件和软件组成。硬件是指MCU、存储器、I/O接口和外设等物理器件的有机组合。软件是指系统监控程序的总称。在开发的过程中,它们的设计不能完全分开,二者需要互相配合、不断调整才能组成高性能的应用系统。单片机应用系统的开发包括系统总体设计、硬件设计、软件设计、系统调试等几个阶段,它们有时交叉进行。
一、 设计任务
(1)系统总体设计任务
    在进行系统设计之前,首先应根据对系统的功能要求及其应用环境等确定合理的、具体的功能和技术指标,对应用系统的可靠性、通用性、先进性、可维护性、以及成本等进行综合考虑,以尽量合理并符合相应的标准。然后根据市场上各种单片机的货源情况和单片机的性能及开发工具等因素选择合适的机型。接下来要根据系统中可能遇到的传感器、模拟电路、I/O接口、存储器和显示器等器件和设备进行器件选择,使之符合系统在精度、速度和可靠性等方面的要求。最后确定硬件和软件的功能划分。由于在系统设计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期和成本等因素具体划分软硬件功能。
(2)系统硬件设计任务
硬件设计的任务是根据总体要求,在所选的MCU和各个元器件型号的基础上设计出系统的电路原理图,做一些必要的不见实验,以及工艺结构的设计加工,印刷电路板的设计制作和样机的组装等。在硬件设计中,需要考虑系统总线的负载能力、系统扩展时的片选方式、模拟电路的速度和精度等,如需扩展存储器则尽量用一片完成,这样既降低了成本,又减小了线路板的面积,同时提高了系统的可靠性。
(3)系统软件设计任务
单片机应用系统的软件设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。在软件中一般需考虑以下几个方面:
1) 根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件的主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中,要考虑现场的保护和恢复,以及它们和主程序之间的信息交换方法。
2) 程序的结构用模块化结构,即把监控程序分解为若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。
3) 在进行程序设计时,先根据问题的定义描述出各个输入变量和输出变量之间的数学关系,即建立数学模型,然后绘制流程图,再根据流程图用汇编语言进行具体程序的编写。
4) 在程序设计完成后,利用相应的开发工具和软件进行程序的汇编,生成程序的机器码。
(4)系统的调试任务
    在系统样机的组装和软件设计完成以后,就进入系统的调试阶段。应用系统的调试步骤和方法是相同的,但具体细节与采用的开发系统(即仿真器)及选用的单片机型号有关。调试的过程就是软硬件的查错过程,分为硬件调试和软件调试。
1) 硬件调试
单片机应用系统的软硬件调试是分不开的,通常是先排除明显的硬件故障后再和软件结合起来进行调试。常见的硬件故障有逻辑错误、元器件失效、可靠性差和电源故障等。在进行硬件调试时先进行静态调试,用万用表等工具在样机加电前根据原理图和装配图仔细检查线路,核对元器件的型号、规格和安装是否正确。然后加电检查各点电位是否正常。接下来再借助仿真器进行联机调试,分别测试扩展的RAM、I/O口、I/O设备、程序存储器以及晶振和复位电路,改正其中的错误。
2)软件调试
软件调试就是检查系统软件中的错误。常见的软件错误有程序失控、中断错误(不响应中断或循环响应中断)、输入/输出错误和处理结果错误等类型。要把各个程序模块分别进行调试,调试通过后再组合到一起进行综合调试,达到预定的功能技术指标后即可将软件固化。系统的调试过程要结合具体的仿真器进行。
二、系统设计要求
硬件部分要求:
          以单片机和液晶显示等模块为平台,构建出手机通讯录模型,
          实现录入,修改,查询等基本功能。
          1,PROTEL软件绘制印刷电路板。
          2,单片机应用系统设计硬件部分
          3,制作本系统的原理图,印刷版图(系统含主机,存储器,键盘,时钟,显示等常用功能电路)
          4,焊接电路元器件
          5,调试电路,与软件联调,实现要求功能
          要求设计出所有原理图,印刷板图,焊接,调试,与软件联调实现功能
         
          软件部分要求:
          1学习单片机编程技术,掌握常用模块程序的设计
          2学习液晶显示器的编程技术
          3学习键盘等编程。
          4掌握仿真器的使用。
          5编写电子通讯录的系统程序。要求能够实现信息的录入,查询,修改,删除,并有时钟电路,显示实时的时间。
          6汉字采用五笔划输入。
          要求设计出所有功能程序。与硬件联调实现功能
4.2 1.2统解决的问题和拟采用的研究手段
1、 查阅图书资料,结合所学知识对数显多路稳压电源进行分析研究。
2、 上网进行检索,参看有关资料信息。
3、 系统功能分析和设计。
4、 定期与指导教师联系,及时订正系统设计的不足之处。
5、 使用Protel 绘制硬件原理图。
6、 对设计的电源的部分电路进行仿真测试和试验。
撰写毕业论文
4.3 1.3本文的工作
本文的工作就是介绍如何做一个IC卡煤气表,第2部分给出相关方案的研究为后面程序设计打下基础,第3部分给出了系统的总体设计,对程序的模块分析、设计思想第4部分给出详细的实现过程和重要的技术实现。最后给出了我对这个设计一个看法,这个系统有些什么特色,还有展望之类的。
 
 
 
 
 
 
 
 

5 第二章 系统的总体设计
5.1 2.1工作控制程序设计
1  汉字的内码表示
    针对不同的操作系统汉字内码表示不同,如在苹果机的OS上使用的是GB231280汉字编码,Window s系统则使用GBK汉字编码,还有Unicode编码,GB180302000,方正748编码等。由于GB 231280是最早(1980年)的、由中国国家标准局颁布的《通用汉字字符集及其交换标准码》,所以以后产生的各编码都兼容了GB2312,他共收入汉字、字母、符号等7 445个,其中汉字6 763个,包 括一级汉字3 755个,二级汉字3 008个,是中国大陆及海外使用简体中文的地区(如新加坡等)强制使用的惟一中文编码,所以也称为标准汉字库。
    每个汉字的点阵数据需要占据内存32 B,有笔划显示的地方为1,无笔划显示的地方为0。然后通过单片机的C51语言将点阵数据转换成点阵液晶可显示的点阵数据形式。
    2  汉字库的制作
    本节中论述将16×16点阵的宋体汉字库烧录到512 kB的存储器中的具体方法。
    本例中使用的存储芯片为AM29C040,该芯片是AMD公司生产的512 kB的FLASH ROM,读者也可以使用其他容量不小于256 kB的产品,但在具体电路设计时应注意引脚定义和逻辑关系,并在烧录时选择相应的型号;UCDOS软件有一个名字为HZK16DAT 的文件,这就是16×16的国标汉字点阵文件,在该文件中按汉字区位码从小到大依次存有国标区位码中的所有汉字,每个汉字占用32 B,每个区为94个汉字,其大小为262 kB,可以全部写入AM29C040,除了可以存储全部的国标汉字外还可以存储8×16的ASCII码点阵数据以及汉字语句编码数据,使用起来更加方便。
在实际操作中,硬件汉字库的制作和普通的程序存储器的编程没什么不同,注意将HZK16文件调入时要使用二进制方式打开,编程并校验成功后即可将存储器取下备用,这样一个硬件汉字库就制作好了。
汉字一般是以点阵式存储的,如16×16,24×24点阵,汉字的字模其实是汉字字形的图形化,所谓16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔划通过某网格时该网格就对应1,否则该网络对应0,这样,每一网络均对应1或0,把对应1的网格连起来看,就是这个汉字,汉字就是这样通过字节表示其点阵存储在字符字库中的,为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应,通过汉字的内码可以计算出它的点阵起始字节。现以16点阵为例来进行说明,首先,可由内码计算出他在汉字库中的区位码,其计算公式为:
       BQ=Bn1-160
       Bw=Bn2-160
       式中,BQ表示区码,Bw为表示位码,而Bn1和Bn2则分别表示内码的第一字节和内码的第二字节。
       当这些区位码被计算出来之后,就可以用区位码得到它在汉字库中字模第一个字节的位置,即:
       (BQ×94+Bw)×32
       这样,接下来就可以向连续读出由32个字节组成的该字的点阵数据。
5.2 2.2模拟软件调试
单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法时时的模拟单片机的执行时序,也就是说 ,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。为了解决软件调试的问题,第二种是硬件调试,硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样 就可以在软件里看到真实的执行情况。不仅如此,还可以通过计算机断的软件实现单步、全速、运行到光标的常规调试手段。总结一下两者的不同与相同:
相同点:
1:都可以检测单片机执行时序下的片内资源情况(如R0-R7 、PC计数器等)
2:可以实现断点、全速、单步、运行到光标等常规调试手段。
不同点:
1:软件调试无法实现直接连接硬件电路的调试,只能通过软件窗口虚拟硬件端口的电平输出情况而仿真器可以实现与单片机一样的功能的硬件连接,从某种意义上说这个时候仿真器就是一个单片机。
2:软件调试执行单片机指令的时间无法与真实的单片机执行时间画上等号,也就是说如果一个程序在单片机中要执行300us,可能在计算机中执行的时间可能会比这个长很多,而且无法预料。仿真器则是完全与单片机相同。
3:软件调试只能是一种初步的,小型工程的调试,比如一个只有几百上千行的代码的程序,软件调试能很好的完成,如果是一个协调系统,可能还需要借助几个单片机仿真器和相关的仪器才能解决。
4:软件仿真不需要额外花钱,而硬件需要,一个仿真器一般都上千元,同时可以仿真许多种单片机的工作。
Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。
这里我们仅仅介绍 Keil uVision2 的简单使用,更详细的使用方法见本光盘\单片机软件\Keil c51\Keil书籍与资料目录中的内容。  
下面将具体介绍如何使用Keil uVision 来软件调试单片机程序。
首先:打开一个已经编译通过的单片机项目(如何新建与编译单片机程序项目这里省略)
选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试
接下来看到的窗口就是调试窗口了: 下面具体说说相关子窗口的功能:
1:左侧的ProjectWorkspace
Regs是片内内存的相关情况值,Sys是系统一些累加器、计数器等。Regs很简单就不多说。具体介绍一下Sys
a    累加器ACC,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。
b    寄存器B ,主要用于乘法和除法操作
Sp  sp_max
dptr  数据指针DPTR
PC $
states 执行指令的数量
sec  执行指令的时间累计(单位 秒)
psw 程序状态标志寄存器PSW,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。
p  奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
f1
ov  溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
rs
f0
ac  辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
cy  进位标志CY(PSW7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0
    由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)
根据指令执行的不同上述值会有相应的变化,也正是为了监测这些在单片机中看不到的值而达到调试的目的。
虽然软件调试无法实现硬件调试那样的信号输出,但是可以通过软件窗口的模拟监测输出信号的高低电平以及单片机相关端口的变化。
 
上图所示,Port0,Port1,Port2,Port3就对应于单片机的四个P0,P1,P2,P3 口,共32个针脚。
 
这是全部打开后的效果。
有了输出,就应该有输入的设置:
 
这个按钮可以打开输入预设窗口,输入值窗口如下:
    选择不同的Int Source 会有不同的 Selected Interrupt的变化,通过选择与赋值达到模拟输入的目的。
接下来是串口的设置:
 
 
    这是设置串口的窗口
监测窗口数据还有一个窗口:
 

    下面是调试窗。由于我们的程序是让 P0 口8个脚隔一个输出0,隔一个输出1,所以要从菜单的“外围设备”中打开“Prot 0” P0口窗:
 
单击“单步运行”,在P0窗中就可以看到我们原先设想的效果:
 
 
014 单片机 电子通讯录
 

关闭窗口

与本站联系的时候,为了提高效率,请告诉本站您需要的设计编号与题目。如:001VBAC人事管理系统
编码说明:001VBAC人事管理系统,其中001VBAC 为该毕业设计的编号,VB代表开发语言,AC代表数据库(ACCESS)
版权所有:510计算机论文网:http://www.lw510.com/程序制作:510论文
Email: LW510@QQ.COM  QQ: 497053418   MSN: LW510@QQ.COM