带键盘扫描和LED/LCD驱动显示板电路设计
上传时间: 2013-11-24
上传用户:liaocs77
汇编语言程序设计案例1—动态显示/障碍物检测/障碍物方位检测 10-1. LED数码管显示原理10-2. 案例分析1(2位学号显示)10-3. 案例分析2(简易按键抢答)10-4. CJNE、JC、JNC的应用10-5. 课后思考和实验准备11-1. 智能小车障碍检测原理11-2. 智能小车障碍检测硬件实现11-3. 智能小车障碍检测软件实现11-4. 课后思考和实验准备12-1. 智能小车障碍物方位检测原理12-2. 智能小车障碍物方位检测硬件实现12-3. 智能小车障碍物方位检测软件实现12-4. 课后思考和实验准备
上传时间: 2013-11-10
上传用户:togetsomething
摘 要:介绍了一种以单片机89C51为控制器的点阵LED显示系统。该系统采用RS-232通信标准,通过以89C51和89C2051为核心的控制电路和后续驱动电路,得到了LED显示屏多种显示方式和状态。本文详细说明了该电路的工作原理及编程思路。关键词:89C51 89C2051 RS-232 点阵LED 实时时钟1、 LED点阵显示系统简介随着图形点阵LED显示模块在各行各业的逐步使用,使得人机界面变得越来越直观形象,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力。本文所介绍的点阵LED显示屏,显示汉字和各种常见字符等信息,可广泛应用于各种场所。具有结构简单、安装方便、字型美观、图案清析。采用高性能单片机控制,性能稳定,可靠性高,具有掉电保护功能,可完全脱机运行,可以显示约2000个文字。经过一条RS-232串口线与电脑连接更换信息,操作简单,使用方便。 2、 LED点阵显示系统的硬件设计LED点阵显示系统由计算机、RS-232通讯电路、控制电路和LED点阵显示电路构成,结构框图如图1所示。
上传时间: 2013-11-29
上传用户:时代将军
16 16点阵显示汉字原理及显示程序 #include "config.h" #define DOTLED_LINE_PORT PORTB #define DOTLED_LINE_DDR DDRB #define DOTLED_LINE_PIN PINB #define DOTLED_LINE_SCKT PB1 #define DOTLED_LINE_SCKH PB5 #define DOTLED_LINE_SDA PB3 #define DOTLED_ROW_PORT PORTC #define DOTLED_ROW_DDR DDRC #define DOTLED_ROW_PIN PINC #define DOTLED_ROW_A0 PC0 #define DOTLED_ROW_A1 PC1 #define DOTLED_ROW_A2 PC2 #define DOTLED_ROW_A3 PC3 #define DOTLED_ROW_E PC4 uint8 font[] = { /*-- 调入了一幅图像:这是您新建的图像 --*/ /*-- 宽度x高度=16x16 --*/ 0x00,0x00,0x00,0x00,0x08,0x38,0x18,0x44,0x08,0x44,0x08,0x04,0x08,0x08,0x08,0x10, 0x08,0x20,0x08,0x40,0x08,0x40,0x08,0x40,0x3E,0x7C,0x00,0x00,0x00,0x00,0x00,0x00 }; static void TransmitByte(uint8 byte); static void SelectRow(uint8 row); static void FlipLatchLine(void); static void TransmitByte(uint8 byte) { uint8 i; for(i = 0 ; i < 8 ; i ++) { if(byte & (1 << i)) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); } else { DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SDA); } //__delay_cycles(100); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKH); //__delay_cycles(100); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKH); //__delay_cycles(100); } } static void SelectRow(uint8 row) { //row -= 1; row |= DOTLED_ROW_PIN & 0xe0; DOTLED_ROW_PORT = row; } static void FlipLatchLine(void) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKT); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKT); } void InitDotLedPort(void) { DOTLED_LINE_PORT &= ~(_BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH)); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); DOTLED_LINE_DDR |= _BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH) | _BV(DOTLED_LINE_SDA); DOTLED_ROW_PORT |= 0x1f; DOTLED_ROW_PORT &= 0xf0; DOTLED_ROW_DDR |= 0x1f; } void EnableRow(boolean IsEnable) { if(IsEnable) { DOTLED_ROW_PORT &= ~_BV(DOTLED_ROW_E); } else { DOTLED_ROW_PORT |= _BV(DOTLED_ROW_E); } } void PrintDotLed(uint8 * buffer) { uint8 i , tmp; for(i = 0 ; i < 16 ; i ++) { tmp = *buffer ++; TransmitByte(~tmp); tmp = *buffer ++; TransmitByte(~tmp); SelectRow(i); FlipLatchLine(); } } void main(void) { InitDotLedPort(); EnableRow(TRUE); while(1) { PrintDotLed(font); __delay_cycles(5000); } } //---------------------------------------------------- config.h文件 #ifndef _CONFIG_H #define _CONFIG_H //#define GCCAVR #define CPU_CYCLES 7372800L #ifndef GCCAVR #define _BV(bit) (1 << (bit)) #endif #define MSB 0x80 #define LSB 0x01 #define FALSE 0 #define TRUE 1 typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; typedef unsigned char boolean; #include <ioavr.h> #include <inavr.h> #include "dotled.h" #endif //-----
上传时间: 2013-11-18
上传用户:mnacyf
用单片机实现温度远程显示摘 要:文章介绍了用AT89S8252单片机的串行接口与智能温度巡回检测仪(XJ-08S)通过RS—485总线相互通讯实现热水温度远程显示的一种低成本解决方案,内容涉及RS—485总线通讯、单片机驱动数码管显示、数据转换以及键盘处理软硬件设计等内容。关键词:单片机 RS—485总线 数码管显示 数据转换 键盘处理一、前 言目前检测温度一般采用热电偶或热敏电阻作为传感器,这种传感器至仪表之间一般都要用专用的温度补偿导线,而温度补偿导线价格很贵,并且线路太长也会影响测量精度。在实际应用中往往需要对较远处(1KM左右)的温度信号进行监视。现有的解决方案有很多,例如:1、 在现场用智能仪表对温度信号进行测量,用计算机作上位机与智能仪表进行通讯来实现远程温度监测(采用这种方案要增加计算机设备及相关计算机软件)。2、 NCU+DDC实现远程温度监测。用两个DDC,一个安装在现场测量温度,另一个安装在监视地,两个DDC通过NCU进行通讯从而实现远程温度监测。但以上方案都存在成本高的问题,有没有低成本的解决方案呢?其实,在单片机应用日益广泛的今天,完全可以用单片机以极低的成本来实现远程温度监测。二、问题的提出我单位管理的锅炉房同时给两栋建筑物内的两家酒店供应蒸汽,由安装在两栋建筑物地下室的热交换器进行热交换后产生热水送给客房。从锅炉房至两个热交换站的距离分别约600米,值班人员要不停地奔波于两个热交换站与锅炉房之间进行设备巡视,检查热水温度是否控制在规定的范围,这样不仅增加了值班人员的劳动强度,同时也使锅炉房经常无人(因每班1人值班)。如果能在锅炉房显示两个热交换站内各热交换器的热水温度,则值班人员仅在热水温度异常时才需到各热交换站检查设备,这样便可解决上述问题。我公司曾就此问题找专业公司作过方案,其报价在人民币10万元左右,后因种种原因该项目未实施。经过分析,本人发现可以用单片机+智能仪表以低成本实现温度远程显示,并且经过实验取得了成功,现将设计方案简述如下:三、控制要求及解决方案选择 1、 两个热交换站分高低区共安装有8个热交换器,正常水温在45oC至65oC之间;两个热交换站与锅炉房的距离分别为500米和600米左右。2、 要求在锅炉房能以巡回及定点两种方式显示8个热交换器的热水温度,巡回方式以3秒为周期轮流更新及显示各热交换器热水温度。定点方式时每按上键或下键一次则显示上或下一个热交换器热水温度,每3秒自动更新数据一次。3、 根据控制要求选择单片机+智能仪表的解决方案:用带通讯接口的智能仪表安装在现场测量温度,设计制作一个单片机装置完成与智能仪表的通讯及数据显示。四、通讯协议、智能仪表选择及其参数介绍因热水温度信号变化较慢,因而对通信的速度要求不高,对于这种低速率远距离的通讯选用RS-485总线适宜。RS-485是EIA(美国电子工业联合会)在1983年公布的新的平衡传输标准,是工业界使用最为广泛的双向、平衡传输线标准接口,它以半双工方式通信,支持多点连接,传统驱动器允许创建多达32个节点的网络,且其具有传输距离远(最大传输距离为1200M),传输速度快(1200M时为100KBPS)等优点。其连接方法如下图所示。
上传时间: 2013-10-12
上传用户:luopoguixiong
一种基于ST62单片机的称重显示控制器A Weighing Display Controller Based on ST62 Single Chip Computer祛 FA(上海时博飞奥控制系统有限公司,上海201100)摘要在介绍了基于ST62单片机的基础上,详细描述了称重显控制器的硬件设计和软件设计思路。该控制器结构简单、操作方便、抗扰能力强等优点;具有较好的推广应用价值。关键词称重显示控制仪ST62单片机硬件设计软件设计Abstract Ont heb asiso fin torductiono fST 62s inglec hipc omputer,th ed esignc oncrptof h ardwarea nds oftwarefo rw eighingd isplayc ontorleris d escrbed.The controler features simple structure, ease operation, powerful capability of anti-interference, etc.,it is wealth to be promoted into practicalapplicationsKeywords We妙吨display0 引言ST62s inglec hip Hardwared esign Softwaer design备 份 振 荡器,振荡器保护电路,上电复位及低压检测复称 重 显 示控制器是一种具有数字显示、开关量输出、定值控制和通信功能的以微机为操作核心的称重控制装置。它是电子衡器的重要基础部件,直接影响电子衡器及电子称重系统的功能和性能。与合适的传感器及承重传力复位系统组合可组成配料秤、料斗秤、定值秤、平台秤、汽车秤等,广泛应用于电力、化工、建筑、冶金、交通运输、食品、军工等部门,是进行自动称重配料控制和生产过程自动化必不可少的重要检测、控制装置。随着 称 重 计量自动化水平的提高,对称重显示控制器的要求也越来越高。为实现低漂移、高稳定,本控制器采用低漂移、高增益放大器AD620和高分辨率的A/D转换器CS5550。为提高稳定性和可靠性,采用集成度高的、抗干扰能力强的ST62单片机。
上传时间: 2013-10-29
上传用户:钓鳌牧马
单片机汉字显示系统电路图
上传时间: 2013-11-03
上传用户:chendawei
实现动态显示效果的方法和以上几种基本类似,这里以滚动显示为例作一说明。对于需要滚动的文字,可以将其设置为位图格式,暂存于内存中,然后利用VC 提供的位图拷贝函数BitBlt将位图复制到显示位置。对于特殊字符或图形,则可以直接利用BitBlt函数调用到显示位置。然后在类CLEDDlg的 OnTimer函数中调用该函数,以实现文字的滚动显示。另外,也可以通过设定不同的响应时间间隔来改变文字的滚动速度。 程序清单: ORG 00H LOOP: MOV A,#0FFH ;开机初始化,清除画面 MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#00H ;取码指针的初值 l100: MOV R1,#100 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个码
上传时间: 2013-11-06
上传用户:zl520l
通过对LCD1602/LCD12864显示模块控制时序和指令集的对比分析,利用Verilog HDL描述语言完成了多功能LCD显示控制模块的IP核设计.所设计的LCD显示控制器具有很好的可移植性,只需通过端口的使能参数配置便可以驱动LCD1602/LCD12864模块实现字符或图形的实时显示,并且该多功能LCD控制器的可行性也在Cyclone II系列的EP2C5T144C8 FPGA芯片上得到了很好的验证.
上传时间: 2014-06-23
上传用户:hasan2015
VGA显示基础实验
上传时间: 2013-11-13
上传用户:258彼岸