推荐阅读最新更新时间:2024-11-08 07:59
51单片机基础之DS1302
代码: main.c 文件 /* DS1302时钟 */ #include smg.h #include ds1302.h void main() { u8 time_buf ; //这个数组用来存储需要现实的内容 ds1302_init();//初始化DS1302 while(1) { ds1302_read_time(); //虽然不知道这个是干嘛的,但是知道怎么改。 time_buf =gsmg_code /16]; time_buf =gsmg_code &0x0f]; time_buf =0x40; //显示一杠 time_buf =gs
[单片机]
CH375_CH376 U盘读写模块在51单片机上的应用
电路原理图如下: ch375资料手册: 本程序的接线图: 单片机源程序如下(host.c文件): /* **************************************** ** Copyright (C) W.ch 1999-2004 ** **************************************** ** USB Host File Interface for CH375 ** ** TC2.0@PC, KC7.0@MCS51 ** **************************************** */ /* CH375 主机文件系统接口 */ /* 支
[单片机]
51单片机4X4矩阵键盘驱动与应用程序(C语言)
1、keydrive.c #include reg52.h #include stdio.h /* 程序功能: 本程序用于测试4X4矩阵键盘驱动; 程序算法: 每2MS检测一次按键的状态,若连续8次检测都为相同, 说明现在是一个稳定的状态,否就是干扰不与理采 ; 按键有三种状态:1、按下 2、松开 3、干扰或抖动; 其中前两种都是稳态,后一种为抖动。 接着若判断按键的状态是否改变, 若改变--》判断原来的状态是否为松开---是--说明 现在按键为按下,那么就把键值算出来;---返回0; 若改变--》判断原来的状态是否为松开---否--说明 现在按键为松开,那么就把键值返
[单片机]
基于51单片机的定时器
在这里,小编带你一起 从零开始学51 单片机 定时器。基于单片机的定时器 电路 原理图如下所示: 我们学单片机是首先学的就是 LED 闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机只能这样工作吗?当然不是,我们能用定时器来实现灯的闪烁的功能。 例 1:查询方式 ORG 0000H AJMP START ORG 30H START: MOV P1,#0FFH ;关所 灯 MOV TMOD,#00000001B ;定时/计数器 0 工作于方式 1 MOV TH0,#15H
[单片机]
图形点阵式液晶显示模块与51单片机的接口设计与应用
引 言 液晶作为一种显示器件,以其特有的优势正广泛应用于仪器、仪表、电子设备等低功耗产品中。以往的测控仪器的显示部分大都采用LED式液晶显示屏进行参数设定和结果显示,其显示信息量少、形式单一、人机交互性差、操作人员要求较高。而液晶显示器(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线、及汉字,并且可实现屏幕上下左右滚动、动画、闪烁、文本特征显示等功能;人机界面更加友好,使用操作也更加灵活、方便,使其日益成为智能仪器仪表和测试设备的首选显示器件。本文在介绍以ST7920为驱动器的WGM-12832液晶显示模块的引脚、结构、功能的基础上,详述了与AT
[单片机]
51单片机汇编内部RAM数据传送类指令举例介绍
(1)以累加器A为目的地址 MOV A,Rn ;(A) (Rn)以下类似。 MOV A,direct MOV A,@Ri MOV A,#data (2)以寄存器Rn为目的地址 MOV Rn,A MOV Rn,direct MOV Rn,#data (3)以直接存储单元为目的地址 MOV direct,A MOV direct,Rn MOV direct,direct MOV direct,@Ri MOV direct,#data (4)以间接地址为目的地址 MOV @Ri,A MOV @Ri, direct MOV @Ri,#data (5)以DPTR为目的地址 MOV
[单片机]
基于51单片机实现模拟IIC总线时序
最近用到测量光线的模块BH1750FVI时需要用到IIC总线操作, 于是就又费功夫学习了下, 基本上算是了解了, 所以呢, 就用51的IO口, 模拟出了总线时序, 并能正确操纵需要用IIC总线访问地一系列模块. 本来想写篇文章简单介绍下我对IIC总线的理解的, 但, 发现没工夫, 所以, 放在以后有时候再来弄吧. 今天我还是只给出一个范例程序, 它能在我的51单片机机系统上工作得很好. iic.h 列出了所有IIC总线的操作函数. 下面给出源代码: //iic.h - 实现相关的头文件 //女孩不哭 2013-01-18 #ifndef __IIC_H__ #define __IIC_H__ void iic_start(
[单片机]
基于51单片机的汉字LCD智能显示模块设计
引言 在电子产品设计中,人机交互显示界面是必不可少的工作,目前一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力。而LCD智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,LCD智能显示模块获得了广泛的应用。 系统组成 本系统主要由三部分组成,分别为单片机,LCD模块和FLASH字库,图1所示是该系统的硬件原理框图,由于显示所需要占用的资源过多(本设计采用的是16×16点阵,每个汉字存储需要32个字节),而单片机内部RAM资源及其有限,所以系统设计时有必要扩展—FL
[电源管理]