基于ARM芯片s3c2410的简易测温系统设计

合集下载

S3C2410的的特点及其软件平台综述

S3C2410的的特点及其软件平台综述

S3C2410的的特点及其软件平台综述ARM9-S3C2410 B 型开发板是基于韩国三星ARM9 嵌入式处理器S3C2410 的一款嵌入式开发平台。

系统运行在200M 的主频下更能展现极为出色的性能。

三星ARM9 S3C2410 与众不同的特点:1、提供所有硬件所有原理图和PCB(核心板、底板、JTAGWIGGLE 板以及LCD 板)2、采用核心板和底板分离的设计思想,用户可以方便的使用Core- Board 进行二次开发,核心板和底板采用稳固DIMM-144 标准PCI 插槽接口。

如图所示:3、Core-Board 集成了ARM 最小系统,包括CPU、内存、NandFlash、NorFlash、RTC 核心部件。

特别是Nor Flash 的集成使ARM 最小系统进一步完整,这一点是别的公司没有做到的。

Nor Flash 的集成让用方便地调试Vxwork 等软件。

如图所示:Bottom-Board 的把CPU 的所有功能全部引出,方便用户使用,LED 和按键的加入,可以方便用户调试程序。

SPI 和I2C 可以接入PS/2 键盘和MOUSE。

4、S3C2410 支持两种启动模式:一种是从NAND FLASH 启动;一种是从外部nGCS0 片选的Nor Flash 启动,用户可以选择同时预装两个操作系统LINUX 和UCOS 或者WINCE 和UCOS.拔下核心板上的跳线帽从NORFLASH 启动,启动UCOS 系统或者NUCLEUS 系统。

装上跳线帽以后,从NANDFLASH 启动WINCE 系统或者LINUX 系统;5、Wiggle 和JTAG 二合一调试板内置Wiggle 和JTAG 功能。

使用Wiggle 可以很快地把程序烧入Nor Flash,比如说写入三星测试程序utest(180K)只。

基于S3C2410智能家居监控系统

基于S3C2410智能家居监控系统
设 计 开 发 人 机 交 互 界 面 和 填 写C I 序 , 户 可 以通 过 W b 览 器 访 问 存 储 在 嵌 入 式We 服 务 器 上 的 冈 页 , G程 用 e洲 b 实现 互 联 网 对 家 电 的 监 控 。 关键词 : 3 2 1 T P I 协议 远程控 削 ¥C 4 0 c /P
中 图分 类 号 : U T I
文 献标 识码 : A
文 章编 号 : 6 2 3 9 ( o 0 o () o 2 一 1 1 7 - 7 1 2 1 )9 a一 o l 0
速发展, 信息 化 , 能 花 的 浪潮 正 在 席卷 世 智 界 的 每 个 角落 , 们 的 生 活 发 生 了翻 天 覆 人 地 的 变 化 。 能 化 和 信 息 化 正 成 为 人 们 最 智 基本的需求而 体现在生活 的各个层面 上。
信 息 技 术
SIC &T0 ቤተ መጻሕፍቲ ባይዱOY ONE EH LO E N
基于 S C 4 能家居监 控 系统 3 2 1 0智
方 兴
( 贵州 师范大 学机 械与 电气工 程学 院 贵阳 5 0 0 ) 5 0 2 摘 要 : 出 了 种 V¥ C 4 0 提 一  ̄ 3 2 1 微处 理嚣 为主控翻 器 , L n x  ̄ i u 为嵌入式操 作 系统 的嵌入 式信息家 电远 程控 制系统 。 X 阐述 了系统 的主要功 能和 系统的组 成部分 , 通过对L n x i u 操作 系统 的移植和嵌 入式T P I 协议 的实现 , c /P 构遣 了嵌 入式W BR务器 。 用HH P EJ L 采 T 协议和C I G 技术 ,
随 着互 联 网技 术 和 信 息 通 讯 技 术 的 飞 宜 、 用 ARM9 片 等原 因 , 以 选 用 高 实 I 协议 族 中 , 采 芯 所 P 网络协 议包 括I 协 议 ,C 协 P I MP 时 、 性 能 、 代 码开 放 、 费 下载 的L n x 议 运 输 层 : 要 为 两 台 主 机 上 的应 用 程 序 高 源 免 iu 主 操 作 系 统 。 的 移 植 主 要 包 括 建 立 交 叉 编 提 供 端 到 端 的 通信 。 TC / P 它 在 P I 协议 族 中 , 译 环境、 改内核源码 、 核剪裁 、 修 内 内核 编 有 两 个 互 不 相 同 的 传输 协 议 : P 议( TC 协 传 译等 。 输 控 制协 议 ) P 用 户数 据 报 协 议 ) UD ( 。

基于ARMS3C2410的VIVI的研究

基于ARMS3C2410的VIVI的研究
4 Ⅵ Ⅵ 启 动 过 程 分 析
通 常,OO D D R严重 地依赖 于硬件 而实 现 , B(IAE 特别是
在嵌入式世界。对移植操作 系统到开发板 的人来说 , 编写 移
植  ̄ AE D R是一个不可避免的过程 。 3 ⅥⅥ 简介
3 1 ⅥⅥ 功 能 .
ⅥⅥ 的实现依赖于 C U的体系结构 , P 它分为 SA E 和 TG1 SA E 两大部分。SA E 主要 包含 依赖 于 C U体 系结构 TG 2 TG 1 P
() 8支持了 Lg, 户可以方便地 添加 自己的 Lg; o 用 o oo
0A E ( D R 引导加 载程序 ) 是在 操作 系统 内核 运行
() 9通过串口下载程序到 F a 或者 R M。 lh s A
32 ⅥⅥ 体 系结 构 .
之前运行的第一段代码。通过这段代码 , 我们可 以初始化 硬 件设备 、 内存空 间的映射 图, 建立 从而将 系统 的软硬 件环境 带到一个合适的状态 , 以便为最终调用操作系统 内核准备好
维普资讯
第 1卷 第 3 9 期 2O O6年 9 月
文章编 号:0 9 4 1 (06 0 —01 —0 10 — 3820 )3 06 3
连云港 职业 技术 学 院学报
Ju l f i y n a gT c nc lC lg o ma a u gn eh ia ol e oL n e
理器和 N N lh A DF s 的一些寄存器 ; a
()n : 6 Ii 硬件初始化和启动 内核 ; t
内核映像从硬盘上读到 R M中, A 然后跳转到内核的入口点
去运行 , 即开始启动操 作系统 。在嵌 入式 系统 中 , 常并没 通 有像 B S I 那样 的固件程守 , O 因此在 整个 系统 的加载 启动 任

S3C2410完全开发流程

S3C2410完全开发流程

S3C2410完全开发流程作者:thisway.diy@ 一.简介 (2)二.建立开发环境 (3)(1)编译器arm-linux-gcc-3.4.1 (3)(2)Jflash-s3c2410:S3C2410芯片的JTAG工具 (3)(3)安装gdb调试工具 (3)三.S3C2410基础实验 (4)(1)实验一:LED_ON (4)(2)实验二:LED_ON_C (5)(3)实验三:I/O PORTS (7)(4)实验四:arm-linux-ld (9)(5)实验五:MEMORY CONTROLLER (10)(6)实验六:NAND FLASH CONTROLLER (13)(7)实验七:UART (15)(8)实验八:printf、scanf (18)(9)实验九:INTERRUPT CONTROLLER (19)(10)实验十:TIMER (23)(11)实验十一:MMU (25)(12)实验十二:CLOCK (33)四.Bootloader vivi (36)(1)阶段1:arch/s3c2410/head.S (36)(2)阶段2:init/main.c (37)1、Step 1:reset_handler() (38)2、Step 2:board_init() (39)3、Step 3:建立页表和启动MMU (39)4、Step 4:heap_init() (42)5、Step 5:mtd_dev_init() (44)6、Step 6:init_priv_data() (49)7、Step 7:misc()和init_builtin_cmds() (50)8、Step 8:boot_or_vivi() (51)一.简介本书面向由传统51单片机转向ARM嵌入式开发的硬件工程师、由硬件转嵌入式软件开发的工程师、没有嵌入式开发经验的软件工程师。

分9个部分:1、开发环境建立2、S3C2410功能部件介绍与实验(含实验代码)3、bootloader vivi详细注释4、linux移植5、linux驱动6、yaffs文件系统详解7、调试工具8、GUI开发简介9、UC/OS移植通过学习第二部分,即可了解基于ARM CPU的嵌入式开发所需要的外围器件及其接口。

基于S3C2410X的SIR红外通信系统设计

基于S3C2410X的SIR红外通信系统设计

・开发设计・基于S3C2410X 的SIR 红外通信系统设计张永学1 封 磊2 吴 蔚3(1.西安交通大学电子与信息工程学院 陕西西安) (2.陕西工业职业技术学院 陕西咸阳)(3.滇黔桂石油勘探局物探公司 云南昆明)摘 要:文章介绍了红外通信的原理和红外通信电路设计的基本知识,讨论了基于ARM9架构的微处理器芯片S3C2410X 的红外通信资源和集成SIR 收发器ZHX1010的主要特点,最后给出了基于S3C2410X 的SIR 红外通信系统设计的硬件框图和部分软件原代码。

关键词:ARM ;嵌入式系统;红外通信;SIR中图法分类号:T N929.1 文献标识码:B 文章编号:100429134(2006)03200092030 引 言红外通信是以红外线作为载体来传送数据信息的通信技术。

与无线电通信相比,红外通信具有性能价格比高、实现简单、抗电磁干扰能力强、空间接入灵活的特点[1]。

由于红外线的波长较短,对障碍物的衍射能力较弱,所以更适合在短距离无线通信中进行点对点的直线数据传输。

在石油仪器中,红外技术也得到广泛应用,如美国Seismic S ource 公司研发的地震勘探仪器震源同步系统BOOM BOX 应用红外通信技术来实现操作员与仪器设备之间的无线数据交互,极大地方便了野外施工。

1 红外通信的基本原理红外线是指波长在750nm ~1mm 之间的电磁波,它的频率介于微波和可见光之间,是一种人眼看不到的光线[2]。

红外通信利用波长在850nm ~900mm 之间的近红外线作为信息的载体来进行通信[3],将二进制数调制成脉冲序列并以此驱动红外线发射管向外发射红外光;而接收端则先将接收到的光脉冲信号转换成电信号,再进行放大、滤波、解调处理后还原为二进制信号。

如图1所示,典型的红外数据传输模型包括接口逻辑电路、编解码器、发送器和接收器四部分。

红外接口器件用来实现红外传输系统与微控制器、PC 机或网络系统的连接,设计中经常使用的器件有UART串行异步收发器件、USB 接口转换器件等。

基于单片机的智能体温检测系统设计

基于单片机的智能体温检测系统设计

基于单片机的智能体温检测系统设计摘要:由于新冠疫情的爆发给大众的生活带来了巨大变化,为了满足疫情条件下对温度快速测量的需求,采用无接触式测温既有效规避病毒传染风险,又可以第一时间检测疑似病例。

在此基础上添加口罩识别功能极大减轻了工作人员人工识别的负担,为防疫工作提供保障。

目前市场现有系统存在价格高以及不易携带的问题,并且目前市场应用的大部分装置都是单独的口罩识别或是无接触测温系统。

与之相比该系统将两种功能结合在同一系统中,具有体积小、便携、易操作等优点,为操作人员提供了极大便利。

此装置适用于学校、工厂、商场等人流密集场所,可以为进出人员提供检测服务。

人机交互式装置在疫情防控中发挥重要作用,节省人力物力,并且其效率远高于人工检测。

关键词:单片机;智能体温;检测系统;设计引言患新冠肺炎的主要症状是发热,因此体温检测是疫情防控的第一道防线。

以当今人流密集场所疫情防控情况为背景,设计并实现了一款基于STM32单片机的非接触式体温测量与身份识别系统。

该系统利用OPENMV对目标人脸进行快速检测,精准识别目标身份信息和口罩佩戴情况,利用MLX90614准确测量目标体表温度,实时将测量信息通过显示屏直观地展示并通过蓝牙发送到手机App上,实现系统逻辑结构的完整性与任务完成的效率最优解。

1系统的组成及其工作原理1.1系统的组成以单片机作为系统控制基础,利用传感器测量温度,通过通信和控制技术,形成温度测量控制系统。

具体可分为基于MLX90614红外测温传感器的温度检测模块、LCD12864液晶屏显示模块、4X4矩阵键盘模块、电源模块、复位模块、晶振模块、报警模块、继电器控制模块和震动传感器模块。

1.2系统工作原理该系统基于STC12C5A60S2单片机进行设计,包括电源电路、复位电路、晶振电路、红外测温传感器、震动传感器、LCD显示电路、蜂鸣器报警电路、键盘输入电路和继电器控制电路,通过MLX90614红外温度传感器实现温度数据的处理。

基于S3C2410开发板的数据采集扩展的设计与实现


0 引 言
AR 处 理 器 因 其 卓 越 的 性 能 和 显 著 的 优 点 , 成 为 高 性 M 已 能 、 功 耗 、 成 本 嵌 入 式 处 理 器 的 代 名 词 , 当 作 嵌 入 式 开 低 低 被 发 首 选 的处 理 器 , 且 绝 大 多 数 AR 处 理 器 芯 片 内部 都 提 供 而 M 8 l A/ 转 换 功 能 模 块 ,特 别 适 合 于 实 现 数 据 采 集 功 路 0位 D 能 。 n E嵌 入 式 操 作 系 统 也 因 其 与 W i o 操 作 系 统 结 合 WiC n ws d 紧 密 而 成 为 大 多 数 熟 悉 Widws 程 的 工 程 师 首 选 的 嵌 入 no 编 式 操 作 系 统 。 然 而 , 实 际 应 用 中 , 接 在 W iC 在 直 n E环 境 下 使 用 AR 处 理 器 自带 的 A D 转 换 功 能 模 块 还 存 在 着 一 些 局 限 M /
C o g i 0 0 7 hn) h n qn 4 0 6 ,C ia g
Ab t a t F rt ep o lm f h i tto f s r c : o r b e o el h t miai n o ADC e it g o e mi r p o e s ra d ma u a t r r o n t fe s r x si n t c o r c s o n n f c u e sd o n h o ru e sADC d i e r r v b s do a e nW i CEf r i e eo m e t o r . ADC e tn e n o merd v l p n b a d a n x e d dme s a e n¥ C2 1 n dW i CE a dat p c l n a b s do 3 4 0a n n y ia ADCc i s e c b d h pi d s r e i

基才S3C2410型微处理器和UDA1341型立体声音频编解码器的嵌入式音频系统设计

¥ C 41 n ODE 3 2 0a dC C UDA1 4 t I u . e e p a ai n f e ai e h r wa e d sg s a ela 3 1 I IS b s T x l n t so lt a d r e i . s w l s l h o r v n
维普资讯
基 于 ¥C 40型微 处理 器和 U A14 型 立体 声音频 编 解码 器的嵌入 式 音频 系统 设计 一5 32 1 D 31 3一
●应 用 与 设 计
基才 ¥ C 40 3 2 1 型微处 理器和 U A 31 D 14 型立体声音 频编解码 器 的嵌入 式音 频 系统设计
ห้องสมุดไป่ตู้
tek y fau e ftediesfra dod vc su d rL n xae po i e . h e trso r r o u i e ie n e iu rvd d e h v r
Ke r s 3 2 1 ; a d o s se y wo d :¥ C 4 0 u i y tm; L n x d i e ; mi r p c s o ; UDA1 4 iu ; r r v c r esr o o 3 1
本 文 利 用 S m u g公 司 的 ¥ C 4 0型 微 处 理 a sn 321
2 AI 9 0 2 T及 S C 4 0简 介 3 21
A M9 0 R 2 T是 A M 公 司 系列 微 处 理 器 核 的一 R
种 , 采 用 5阶段 管道 化 技 术 , 时 配备 了 T u 它 同 h m b
理 器 的 目标 系统 中网 。
3 基 于 Is总 线 的硬 件 框 架 实现 I
I 0 t —CSud总 线 是 P ip 司 提 出 的 I ne I on) S r hl s公 i

基于单片机实现红外测温仪设计

摘要温度的测量应用十分广泛。

测温方式一般可分为接触式和非接触式。

接触式测温优点是简单、可靠、测量精度高,但它必须让它的测温传感器和被测物体接触测量它们之间达到热平衡之后的温度,所以缺点是响应时间长。

而且在很多应用领域中要求测量温度的传感器不能与被测物体接触,这就需要一种非接触式的测温方式来满足要求。

红外测温是根据被测物体的红外辐射能量来确定物体温度的,不需和被测物体接触且具有不影响被测物体温度场、温度分辨率高、响应速度快、测温范围广、稳定性好等特点。

本论文正是应上述实际需求而设计的红外测温仪。

本文介绍了红外测温仪测温的基本原理和实现方法,提出了以STC89C51单片机为其核心控制部件的红外测温系统。

详细介绍了该系统的实现方式和构成,给出了软件的设计流程图和硬件原理图。

该系统主要红外测温传感器、时钟芯片、单片机、液晶显示、电源管理等部分组成。

红外测温传感器汇集其视场内目标的红外辐射能量并把红外能量聚焦在光电探测仪上并转变为相应的电信号。

STC89C51单片机负责控制启动接受时钟电路的时钟信号、温度测量、接收测量数据、并按照单片机中的温度值计算算法计算出目标的温度值和日期时间再通过LCD把结果显示出来。

关键词:单片机,红外测温,设计ABSTRACTTemperature measurement is widely used. Temperature measurement methods can be divided into contact and non -contact . Contact temperature advantage is simple, reliable, high accuracy, but the temperature sensor and the object it must be allowed to reach a temperature of -contact measurement after thermal equilibrium between them, so the disadvantage is that the response time is long . And in many fields of application is not required to measure a temperature sensor in contact with the measured object , which requires a non-contact temperature measuring method to meet the requirements. Infrared temperature measurement is to determine the temperature of the object based on the object 's infrared radiation energy , and the object without touching the object and has no impact on the temperature field, temperature , high resolution, fast response, wide temperature range, stable good characteristics . This paper is designed to be above the actual needs of the infrared thermometer .This paper introduces the basic principle and method of infrared thermometer temperature measurement is proposed to STC89C51 microcontroller core control components for infrared temperature measurement system . Details of the implementation and composition of the system , given the software and hardware design flow diagram . The system is mainly infrared temperature sensor , clock chip, microcontroller, LCD , composed power management section. Infrared temperature sensor brings together its field of infrared radiation energy targets and the infrared energy is focused on the photoelectric detector and converted into a corresponding electrical signal . STC89C51 SCM is responsible for controlling start accepting clock circuit clock signal , temperature measurement, receive measurement data and calculation algorithm to calculate the target temperature and the date and time according to the microcontroller temperature value then the results are displayed via LCD .Keywords: microcontroller, infrared temperature measurement, design目录摘要 (I)ABSTRACT (II)目录 (II)1绪论 (1)1.1本课题的研究背景和意义 (1)1.2本课题的研究现状与发展趋势 (1)1.3设计的目的和意义 (3)1.4本课题研究的内容 (3)1.5 本课题设计的任务 (4)2方案分析与选择 (5)2.1设计方案 (5)2.2方案论证 (6)3系统的硬件设计 (7)3.1单片机模块 (7)3.2红外测温模块 (10)3.2.1红外测温仪的原理和性能分析 (10)3.2.2MLX90614的特性 (15)3. 2 .3MLX90614引脚及其功能 (15)3.2.4 MLX90614 原理图 (16)3.3 DS1302时钟模块 (16)3.4电源模块 (18)3.5 LCD显示模块 (18)4 系统的软件设计 (22)4.1 软件的设计架构 (22)4.2 主控程序 (22)4.3应用模块 (23)4.3.1 MLX90614部分软件设计 (23)4.3 .2DS1302部分软件设计 (25)5系统仿真 (26)5.1软件介绍 (26)5.1.1 keil介绍 (26)5.1.2protues介绍 (31)5.1.3 DXP介绍 (32)5.2仿真图 (34)6、PCB板 (35)7系统调试 (36)7.1电路的组装 (36)7.1硬件调试、 (36)7.2软件调试 (37)7.3软硬件联合调试 (37)结论 ........................................................................................ 错误!未定义书签。

S3C2410使用手册


JTAG 调试接口
我们通过并口线把计算机的并口和 JTAG 下载线连接,然后把 JTAG 下载线和开发板的 JTAG 接口连接,接下来我们安装驱动(DISK1\Flash 烧写工具\驱动\安装驱动.exe)然后执行 DISK1\Flash 烧写工具“c.bat”,接下来的怎么做呢?看一下\DISK1\Flash 烧写工具\演示.exe 吧! 怎么样?很简单吧!您可能要问了“DISK1\Flash 烧写工具\sjf2410”目录下是什么呢?这就是 我们这个烧写工具的源代码,即文件 sjf2410.exe 的源代码,有兴趣可以看一看,如果您想编 译它,可以用 VC6.0,还要安装 windows 的 DDK。如果您没有这些工具,你就不用管它了(补 充一句,我们 PC 端的驱动,都需要使用 windows 的 DDK 编译)。(在此您要注意的是:您的 JTAG 要设置成 wiggler 模式,否则程序会告诉你找不到 CPU 的 ID 号)。
HFRK2410嵌入开发平台是针对S3C2410的一款高性能开发平台,硬件软件都可根据自己的 需求定制,具有高性能、低功耗、接口丰富等特点,因此你可以在此基础上开发自己的产品; 而又因为开发板布局合理,接口排列整齐,适合直接按装使用,所以HFRK2410开发板同样也 可以作为您的最终产品的一部分,可以直接把开发板整合到您的产品中。
对一的,一种是 2-3 转换的)!
USB 设备
串口 0
现在打开串口调试软件 dnw.exe(这个软件在光盘的“disk1\工具软件\dnw.exe”),首先设 置这个软件。选择[configuration options],如图:
-3-
北京恒丰锐科科技有限公司

010-63726790/63734126
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ARM芯片s3c2410的简易测温系统设计 本系统利用DS18B20进行测温,基于s3c2410开发板进行温度控制,具有硬件电路简单,控温精度高、功能强,体积小,简单灵活等优点,可以应用于控制温度在-55℃到+125℃之间的各种场合,可以实现温度的实时采集、显示功能。 温度是一种最基本的环境参数之一,日常生活和工农业生产中经常要检测温度。传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D转换环节获得数字信号后才能与s3c2410开发板等微处理器接口,使得硬件电路结果复杂,制作成本较高。美国DALLAS公司生产的DS18B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓库管理、工农业生产制造、气象观测、科学研究以及日常生活中。 本文提出用DALLAS公司生产的DS18B20数字温度传感器和89S52s3c2410开发板构成的多路测温系统,采用单总线的方式(一根数据线,在一个I/O口上),可以在单总线上挂接多个18B20,在s3c2410开发板控制下巡回检测多点温度,并可以设置高、低温度超限报警等功能

实习内容: 本次校内实习我们会用到的主要器件是51s3c2410开发板和DS18B20温度传感器以及数码管,主要就是通过温度传感器的检测,把实际测得的温度值转换成二进制,再传回s3c2410开发板处理,然后通过数码管显示出温度值。 Ds18b20 1》概述:

DS18b20是一款支持“一线总线”接口的数字化温度传感器,它通过一个单线接口发送或者接受信息,用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。

DS18B20 有三只引脚,VCC,DQ,和VDD DS18B20 的温度操作是使用16 位,也就是说分辨率是0.0625 2》开发板访问DS18B20:

DS18B20 一般都是充当从机的角色,而开发板就是主机。开发板通过一线总线访问DS18B20需要经过以下几个步骤: 1.DS18B20 复位。 2.执行ROM 指令。 3.执行DS18B20 功能指令(RAM 指令)。 DS18B20复位 DS18B20 的复位时序如下: 1.单片机拉低总线480us~950us, 然后释放总线(拉高电平)。 2.这时DS18B20 会拉低信号,大约60~240us 表示应答。 3.DS18B20 拉低电平的60~240us 之间,单片机读取总线的电平,如果是低电平,那么表示复位成功。 4.DS18B20 拉低电平60~240us 之后,会释放总线。

74ls164 器件功能作用 8 位串入,并出移位寄存器 概述 74ls164、74lsT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

功能图 应用程序 #include #include #include #include #include #include #include

int main(void) { int fd,tempa; unsigned char buf[2]; unsigned char tempH,tempL;

fd = open("/dev/ds18b20",O_RDWR); if (fd < 0) { perror("open device /dev/ds18b20"); exit(1); } while(1) {

read(fd,buf,2); tempH=buf[1]; tempL=buf[0];

if(tempH&0xfc) { tempa=((tempH*256)+tempL); tempa=((~tempa)+1); tempa*=0.625; } else { tempa=((tempH*256)+tempL)*0.625; //温度转换,扩大100返回 } 驱动程序 #include //支持printk输出 #include #include #include #include #include #include #include #include #include #include

#define DEVICE_NAME "ds18b20" #define ds18b20_MAJOR 231

static char devicecount=0; //计数器,防止被多个人多次打开 char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; char table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; unsigned char data[2]={0}; unsigned char flag=0;

/*************************************************************************************/ static int ds18b20_write(struct file *file, const char __user *buffer, size_t count, loff_t * ppos) { return 0; }

/****************************************************************/ static int ds18b20_open(struct inode *inode,struct file *file) {

if(devicecount >0) return -ERESTARTSYS; printk("device open : success\n"); devicecount++; return 0; } static int ds18b20_release(struct inode *inode, struct file *filp) { devicecount--; printk("device release\n"); return 0; }

static void Init_DS18B20(void) { s3c2410_gpio_cfgpin(S3C2410_GPE7,S3C2410_GPE7_OUTP); s3c2410_gpio_setpin(S3C2410_GPE7,0); udelay(700); s3c2410_gpio_cfgpin(S3C2410_GPE7,S3C2410_GPE7_INP); udelay(60); udelay(200); }

static char Read_bit(void) { unsigned char b; s3c2410_gpio_cfgpin(S3C2410_GPE7,S3C2410_GPE7_OUTP); s3c2410_gpio_setpin(S3C2410_GPE7,0); udelay(8); s3c2410_gpio_cfgpin(S3C2410_GPE7,S3C2410_GPE7_INP); udelay(10); // b=(s3c2410_gpio_getpin(S3C2410_GPE7)>>7); duiying b=s3c2410_gpio_getpin(S3C2410_GPE7); udelay(40); return b; }

unsigned char ReadOneChar(void) { unsigned char i,j,dat=0; for(i=0;i<8;i++) { j=Read_bit(); dat=j|(dat>>1); // dat=(j<<7)|(dat>>1); duiying } return dat; }

相关文档
最新文档