版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘 要1abstract21 设计目的与任务要求31.1 设计目的31.2 设计任务31.3 设计要求32 方案设计43基本原理43.1键盘电路基本原理43.2 atc89c52基本原理53.3 lcd液晶显示基本原理73.3.1 lm061l液晶模块73.3.2 lm016l的指令说明及时序94 系统设计114.1业务调度控制规则设计114.2 前端排队子系统设计114.3 银行业务调度系统设计134.4 业务提示子系统设计144.4.1 液晶显示电路144.4.2 声音提示电路154.5 系统总设计165 仿真结果及分析176 心得体会21参考文献:22附录:源程序23本科生课程设计
2、成绩评定表33 摘 要随着现代技术的不断发展特别是计算机技术的应用,使排队技术的发展也突飞猛进。智能排队机或称智能排队系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯控制技术的高新技术产品。它完全模拟了人群排队过程,通过取号、进队、排队等待、叫号服务等功能,取代各类服务性窗口传统的由顾客站立排队的方式,实现了计算机系统代替客户进行排队的过程。适用于各类窗口服务行业,目前在国外已经广泛应用于金融、医院、电信、以及各级政府对外服务窗口等行业。银行自动叫号系统就是电子排队管理统的一种 ,是针对银行服务窗口的特点而设计的.这里以atmel 公司的at89c52单片机为核心, 设计了一个简单的把
3、客户与服务机构相结合的排队叫号系统。模拟排队叫号管理,科学地处理各种排队情况,操作简便,控制灵活,显示清晰,制作成本低,性价比较高。关键词:排队技术 智能排队系统 银行排队叫号系统 at89c52abstractwith the development of modern technology, especially the application of computer technology, the queuing technology also develops by leaps and bounds. intelligent automatic call distributor or
4、intelligent queuing system is a kind of high and new technology products of the comprehensive use of computer technology, network technology, multimedia technology and communication control technology. it completely simulates the crowd queue process.through the functions of taking number, into the t
5、eam, waiting for the queue, calling the number and so on ,it replaces all kinds of service window of the traditional way by the customer to stand in line, and realizing the computer system instead of the process of the customers line up . it is suitable for all kinds of window service industry, and
6、at present it has been widely used in foreign financial, hospital, telecommunications, and governments foreign service windowat all levels , etc. bank automatic station system is electronic queuing management system which is designed according to the characteristics of the bank service window. here
7、taking atmel companys at89c52 single-chip microcomputer as the core, i design a simple calling the number system which combine the customers with the facilitating agency .it simulates the queue station management and scientificly processes all kinds of queuing situation. it is simple to operate ,sma
8、rt to control , and the display is clear, and the production is of low cost, high cost performance.keywords: queuing technology intelligent automatic call distributor bank queuing station system at89c521 设计目的与任务要求1.1 设计目的通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手
9、独立开展电路实验的机会,锻炼分析解决电子电路问题的实际本领,实现由课本知识向实际能力的转化。1.2 设计任务银行叫号调度系统:1.银行门口有一个叫号机,在客户操作下可打印出一个顺序号;客户按照顺序号依次到银行窗口办理业务;2.叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金业务和非现金业务;3.非现金业务优先级高,综合业务窗口只有在没有非现金业务情况下,才能办理现金业务; 4.银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统安排其下一个办理业务的顺序号;顺序号在窗口前
10、的led屏上显示的同时进行语音播音,提示客户前来办理业务; 设计一个叫号调度系统,实现对办理银行业务的排队和调度。1.3 设计要求1.制定出业务调度控制规则;2.进行系统总体设计,画出系统构成框架图;3.进行银行业务前端排队子系统的详细设计;4.进行银行业务调度系统的详细设计;5.进行业务提示子系统(led屏显示、语音提示)的详细设计;5.设计调度系统与排队子系统、提示子系统的通信方式和通信协议;6.总结整个系统的设计,形成文档,作为课程设计的结果提交。7.鼓励进行完整的理论设计编程仿真过程。2 方案设计由于在上课过程中接触到了单片机的有关知识,对单片机的使用及编程都比较熟悉,而嵌入式arm板
11、没有接触过,因此不太熟悉它的原理及使用,因此本次课程设计采用单片机来实现,即用at89c52单片机作为整个系统的控制核心,分别设计叫号电路、取号电路、显示电路及声音提示等外围电路与单片机的对应引脚相连接,然后编写程序下载到单片机中通过单片机来控制外围电路的功能,从而实现整个系统的功能仿真本次课程设计以单片机at89c52为主体的模拟仿真系统。叫号部分和业务处理部分选择键盘电路模式,显示部分选择lm016l液晶显示模块。3基本原理3.1键盘电路基本原理键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生按键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为
12、非编码键盘,在单片机组成的各种系统中,用的最多的是非编码键盘。非编码键盘又分为矩阵键盘和独立键盘,分别如图3.1(a)(b)所示。 图3.1(a)矩阵键盘 图3.2(b)独立键盘键盘扫描原理:在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。首先判断有无按键按下。方法是:向行线输出全扫描字00h,把全部行线置为低电平,然后将列线的电平状态读入到累加器a中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线
13、状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。 在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码。在本次课程设计中,由于只需采用两个取号键盘和五个服务窗口键盘,所以我采用了独立键盘来实现,在程序中直接对连接键盘的单片机引脚进行扫描,若引脚为0且延时去抖动之后仍为低电平则说明该键盘按下了。3.2 atc89c52基本原理单片机atc89c52 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用12mhz
14、。其芯片管脚图如图3.2所示。图3.2 atc89c52单片机vcc:电源。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作 输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flas
15、h编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器 的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可
16、接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下:p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周
17、期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次
18、/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。ea/vpp:当/ea保持低电平时,则在此期间外部程序存储(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时, /ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源。3.3 lcd液晶显示基本原理3.3.1 lm061l液晶模块lm016l液晶模块采用hd44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,lm016l与单片机mcu通讯可采用8位或4位并行传输两种方式,hd44780控制
19、器由两个8位寄存器,指令寄存器(ir)和数据寄存器(dr)忙标志(bf),显示数ram(ddram),字符发生器roma(cgorom)字符发生器ram(cgram),地址计数器ram(ac)。ir用于寄存指令码,只能写入不能读出,dr用于寄存数据,数据由内部操作自动写入ddram和cgram,或者暂存从ddram和cgram读出的数据,bf为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,ddtam用来存储显示的字符,能存储80个字符码。cgram是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,ac可以存储ddram和cgram
20、的地址,如果地址码随指令写入ir,则ir自动把地址码装入ac,同时选择ddram或cgram,lm016l液晶模块如图3.3.1-1所示,其引脚功能如表3.3.1-1所示:图3.3.1-1 lm016l液晶表3.3.1-1 lm016l液晶引脚功能引脚符号功能说明1vss一般接地2vdd接电源(+5v)3v0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度)。4rsrs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5r/wr/w为读写信号线,高电平(1)时进行读操作,低电平(0)时进行
21、写操作。6ee(或en)端为使能(enable)端,下降沿使能。7db0底4位三态、 双向数据总线 0位(最低位)8db1底4位三态、 双向数据总线 1位9db2底4位三态、 双向数据总线 2位10db3底4位三态、 双向数据总线 3位11db4高4位三态、 双向数据总线 4位12db5高4位三态、 双向数据总线 5位13db6高4位三态、 双向数据总线 6位14db7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)3.3.2 lm016l的指令说明及时序lm016l液晶模块内部的控制器共有11条控制指令,如表3.3.2-1所示:表3.3.2-1 控制命令表序号指令rsr
22、/wd7d6d5d4d3d2d1d0功能1复位显示器0000000001清屏,光标归位2光标返回000000001*设置地址计数器清零,ddram数据不变,光标移到左上角3字符进入模式00000001i/ds设置字符进入时的屏幕移位方式4显示开/关控制0000001dcb设置显示开关,光标开关,闪烁开关5光标或字符移位000001s/cr/l*设置字符与光标移动6功能设置00001lnf*设置dl,显示行数,字体7设置字符发生存贮器地址0001字符发生存贮器地址设置6位的cgram地址以读/写数据8设置数据存贮器地址001显示数据存贮器地址设置7位的ddram地址以读/写数据9读忙标志或地址0
23、1bf计数器地址读忙标志及地址计数器10写数据到cgram或ddram)10写入一字节数据,需要先设置ram地址向cgram/ddram写入一字节的数据11从cgram或ddram读数据11读取入一字节数据,需要先设置ram地址从cgram/ddram读取一字节的数据i/d =1 递增,i/d=0 递减。s=0 时显示屏不移动,s=1时,如果i/d =1且有字符写入时显示屏左移,否则右移。d=1 显示屏开,d=0 显示屏关。c=1 时光标出现在地址计数器所指的位置,c=0时光标不出现。b=1 时光标出现闪烁,b=0时光标不闪烁。s/c=0 时,rl=0则光标左移,否则右移。s/c=1 时,rl
24、=0则字符和光标左移,否则右移。dl=1 时数据长度为8位,dl=0 时为使用d7-d4共4位,分两次送一字节。n=0为单行显示,n=1时为双行显示。f=1 时为510点阵字体,f=0 时为57点阵字体。bf=1 时lcd忙,bf=0 时lcd就绪。lm016l液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01h,光标复位到地址00h位置。指令2:光标复位,光标返回到地址00h。指令3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:
25、显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 dl:高电平时为4位总线,低电平时为8位总线 n:低电平时为单行显示,高电平时双行显示 f: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器ram地址设置。指令8:ddram地址设置。指令9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平
26、表示不忙。指令10:写数据。指令11:读数据。与hd44780相兼容的芯片时序表如表3.3.2-2: 表3.3.2-2 基本操作时序表读状态输入rs=l,r/w=h,e=h输出d0d7=状态字写指令输入rs=l,r/w=l,d0d7=指令码,e=高脉冲输出无读数据输入rs=h,r/w=h,e=h输出d0d7=数据写数据输入rs=h,r/w=l,d0d7=数据,e=高脉冲输出无4 系统设计4.1业务调度控制规则设计由于本次课设要求是叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金
27、业务和非现金业务;非现金业务优先级高,综合业务窗口只有在没有非现金业务情况下,才能办理现金业务;银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统安排其下一个办理业务的顺序号;顺序号在窗口前的led屏上显示的同时进行语音播音,提示客户前来办理业务。因此,本次我设计的银行叫号系统其业务调度规则如下:银行设置两个取号机,分别是现金业务取号机和非现金业务取号机,顾客根据自身办理业务来选择对应叫取号机打印自己的号码;银行共设置五个叫号机,其中2个非现金业务叫号机和3个现金业务叫号机来分别对应5个服务窗口;现金业务窗口只能处理现金业务;非现金业务窗口能处理两种业务,但若有非现金业务,非现金业务窗
28、口优先处理非现金业务,完成后才处理现金业务。非现金业务和现金业务待处理的堆积量分别均为20人,以免引起取号过多等待服务的人数过多导致超负荷服务。4.2 前端排队子系统设计前端排队子系统我主要是靠2个按键来模拟两个取号机,以lm016l液晶显示来模拟打印机显示客户的号码,然后通过程序来控制顾客取号排队的过程。其电路图如图4.2-1所示,取号排队流程图如图4.2-2所示。 图4.2-1 取号排队电路图开始非现金业务取号键按下?现金业务取号键按下?延时去抖非现金业务取号键按下?1.排队总人数(排队号码)加12.非现金业务排队人数加13.排队号码赋给非现金业务队排队号码送显示结束1.排队总人数(排队号
29、码)加12.现金业务排队人数加13.排队号码赋给现金业务队现金业务取号键按下?延时去抖非现金业务排队人数超20?非现金业务排队人数超20?是是是是否否是是显示队列已满图4.2-2 排队取号流程图4.3 银行业务调度系统设计银行业务调度系统主要实现的就是对顾客业务的处理,5个处理窗口共分为2个非现金业务和3个现金业务的处理窗口,在仿真中我采用了5个按键来模拟着5个处理窗口,然后通过程序来控制单片机实现整个业务的分类处理和优先级处理的问题。其流程图如下图所示,电路图如图4.3-1所示 开 始现金业务窗口按下?非现金业务窗口按下?非现金业务处理窗口按下? 延时去抖 延时去抖 是 是 结束被排队号码送
30、及对应处理窗口显示蜂鸣器语音提示蜂鸣器语音提示非现金业务排队人数为0?现金业务排队人数为0?现金业务处理窗口按下?显示队列已空 是 是 是 是 否 否 图4.3-1 业务调度电路图4.4 业务提示子系统设计4.4.1 液晶显示电路本次课设我采用了lm016l液晶来模拟显示,主要对排队取号的号码进行显示(模拟实际系统中的打印机)以及对服务窗口叫号的显示,其电路如图4.4.1-1所示,单片机p1口接lm016l的8个双向数据线接口,p3.4接lm016l的数据/命令选择端,p3.5接lm016l的使能信号。通过对rs以及e的高低电平进行写指令和写数据操作来控制lm016l的显示。图4.4.1-1
31、显示系统4.4.2 声音提示电路实际银行排队叫号系统中,当服务窗口可以服务时,会有广播播报对应的“请某某号顾客到某某号窗口”的提示音,但是由于protues里面没有语音芯片,没办法进行录音仿真,于是本课设里面我采用了简单的蜂鸣器发声电路来模拟实际的语音电路,以简单的蜂鸣器发声来达到声音提示的效果,其电路图如图4.4.2-1所示。图4.4.2-1 蜂鸣器声音提示电路4.5 系统总设计整个银行排队叫号系统的原理电路图如图4.5-1所示,其程序流程图如图4.5-2所示。图4.5-1 系统总原理图初始化分类队伍号码累加排队总数累加1602显示信息分类队伍号码递减信息处理队伍空显示器初始化、清零声音提示
32、客户分类取号窗口分类消号结束开始图4.5-2 系统总流程图5 仿真结果及分析首先,我将非现金业务取号键按两次,结果如图5-1显示,说明非现金业务取号正常。图5-1 非现金业务取号然后分别按下现金业务的叫号窗口1、2、3的对应键,结果均如图5-2所示,说明现金业务窗口不能处理非现金业务,且无现金业务排队时其窗口显示队列空。图5-3 现金业务窗口的限制然后依次按下非现金业务处理窗口1、2对应键,结果如图5-3所示,同时蜂鸣器发声,说明非现金业务能正常处理非现金业务。图5-4 非现金业务处理然后,我按下四次现金业务取号键,其结果如图5-4显示,说明现金业务取号正常。图5-4 现金业务取号然后,我一次
33、按下了现金业务处理窗口3、4、5,结果如5-5所示,同时蜂鸣器发声,说明现金业务处理正常.图5-5 现金业务处理然后,我又按下一次非现金业务取号键,结果如5-6显示,说明现金和非现金业务共同取号正常。图5-6 综合取号然后,我按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务的优先级在现金业务之前。图5-6 非现金业务的优先权 然后,我再次按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务处理窗口在处理完非现金业务之后也能处理现金业务。图5-7 非现金业务窗口处理现金业务然后,我将现金业务和非现金业务取号窗口各按21次,其显示均如图5-8所示
34、,说明非现金业务和现金业务都能限制待处理人数在20人以内。图5-8 排队队列已满 综上所述,所设计的银行排队叫号系统能够正确实现所需的功能,性能优良。6 心得体会通过这几天的单片机的课设设计,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我更熟悉掌握了keil uvision3, proteus isis, protel 99 se这些应用程序的运用,让我懂得了如何编
35、写一些简单的程序,学会了如何制作单片机应用程序,这几天我经过同学的耐心的讲解和指导通过自己认真的动手操作,终于将一个完整的能完成实习要求的单片机原理图制作出来了。但在实训中间暴露出很多问题:对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还得请教老师和同学,在编程和画图的时候不能持之以恒,怕麻烦和容易否定自己。这些问题的发现,有助于提高我在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。严谨求实、踏实务实,是我这次实训的深刻总结。 参考文献:1 谢自美.电子线路设计实验测试(第三版).武汉:华中科技大学出版社2 李群芳. 单片微型计算机与接口技术(第3版).电子工业出版社
36、,20083 刘教瑜. 单片机原理及应用.武汉理工大学出版社,20114 张东亮. 单片机原理与应用.人民邮电出版社,20095 郭天祥. 51单片机c语言教程入门、提高、开发、拓展全攻略.电子工 业出版社,20096 章工荣.计算机高级应用.高等教育出版社, 20047 李文成.计算机程序设计基础.科学出版社,20078 张锦程.c语言高级程序设计及其讲解.机械工业出版社,2000附录:源程序#include#define uchar unsigned char#define uint unsigned intsbit rs=p34;sbit e=p35;sbit rs2=p32;sbit
37、e2=p33;sbit key1=p10;/非现金业务取号sbit key2=p11;sbit key3=p12;sbit sounder=p37;sbit key4=p13; sbit key5=p14;sbit key6=p15;sbit key7=p16;/现金业务取号uchar prompt1=your no.is 00!; uchar prompt2=no.00 go to win.0; uchar prompt3=queue is full ; uchar prompt4=queue is empty !; uchar prompt5=welcome!;static uint nu
38、m_count=0; /现金业务排队取的号码static uint idata rank_number20=0; /排队叫号存储的数组static uint num=0; /窗口消的现金号码static int rankflag=0; /现金取号的标志static int clearnumflag=0; /消号的标志static uint lengthflag=0; /现金业务队列长度 取一次号时+1,消一次号时-1static uint idata rank_number120=0; /非现金业务排队叫号存储的数组static uint num1=0; /窗口消的非现金号码static in
39、t rankflag1=0; /非现金取号的标志static int clearnumflag1=0; /消号的标志static uint lengthflag1=0; /非现金业务队列长度 取一次号时+1,消一次号时-1 uint idata* data q1=rank_number1;uint idata* data q2=rank_number ;/*延时函数*/void delay(uint n) while (n-); /*lcd1602 *显示屏命令写入函数*/void lcd_write_com(uchar com) e=0; rs=0; p0= com; delay(1000)
40、; e=1; delay(1000); e=0; void lcd_write_com2(uchar com) e2=0; rs2=0; p2=com; delay(1000); e2=1; delay(1000); e2=0; /*lcd1602 *显示屏数据写入函数*/void lcd_write_data(uchar dat) e=0; rs=1; p0 = dat; delay(1000); e=1; delay(1000); e=0;void lcd_write_data2(uchar dat) e2=0; rs2=1; p2=dat; delay(1000); e2=1; dela
41、y(1000); e2=0;/*lcd1602 *显示屏清空显示*/void lcd_clear(void) lcd_write_com(0x01); delay(1000);void lcd_clear2(void) lcd_write_com2(0x01); delay(1000);/*lcd1602 显示屏初始化函数*/void lcd_init(void) lcd_write_com(0x38); /*显示模式设置*/ delay(100); lcd_write_com(0x38); delay(100); lcd_write_com(0x38); delay(100); lcd_wr
42、ite_com(0x38); /设置16x2显示,5x7点阵,8位数据接口 lcd_write_com(0x08); /*显示关闭*/ lcd_write_com(0x01); /*显示清屏,指针清零*/ lcd_write_com(0x06); /*写一个字符后地址指针自动加1*/ delay(100); lcd_write_com(0x0c); /*显示开及不显示光标*/void lcd_init2() lcd_write_com2(0x38); /设置16x2显示,5x7点阵,8位数据接口 lcd_write_com2(0x08); /*显示关闭*/ lcd_write_com2(0x01); /*显示清屏,指针清零*/ lcd_write_com2(0x06); /*写一个字符后地址指针自动加1*/ delay(100); lcd_write_com2(0x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计类毕业实习报告范文锦集六篇
- 下学期工作学习计划合集八篇
- DB12T 472-2012 贵金属与珠宝玉石饰品 标识
- 业务员工作心得体会
- 三国演义读书笔记及启发范文
- 个人篮球训练计划书(12篇)
- 课件高血压教学课件
- 探究实验设计之二氧化碳性质的探究
- 慢性持续期哮喘患者的治疗和管理
- 高等数学教程 试卷3-答案
- 新能源智能充电桩商业计划书
- 纤支镜的清洗消毒与维护程序
- 世界经济概论(南开大学)智慧树知到答案章节测试2023年
- 拟与用工单位签订的劳务派遣协议文本
- 2023年高中学业水平合格考试英语词汇表完整版(复习必背)
- 《英语大字典》word版
- 询价单模板模板
- GB/T 14074-2017木材工业用胶粘剂及其树脂检验方法
- 钢栈桥工程安全检查和验收
- FDS软件介绍及实例应用
- 强基计划解读系列课件
评论
0/150
提交评论