基于51芯片的智能计算器实现,直接烧录即可,附带电路板照片
上传时间: 2016-03-24
上传用户:zeebit
新概念51 单片机pdf 从入门到精通,再到高手的历练过程
上传时间: 2017-11-23
上传用户:zhanxiangti
一个简洁明了且有注释的汇编程序,该程序采用带着命令代码的模式调用读写I2C总线的方法,使用简单,可以嵌入任何51程序中,不需对该程序进行修改
上传时间: 2018-01-07
上传用户:duxingzhe
51单片机 SPI 从机代码
上传时间: 2019-07-23
上传用户:cxcccxxx
题目:基于51单片机的RS485从机系统设计 单片机接口资源配置: 1. 上电复位电路; 2. 晶振电路采用11.0592Mhz晶振; 3. 485接口电路(P3.7用于485芯片的收发控制,收发管脚接单片机的rxd和txd); 4. P2口通过外部跳线接相应的高低电平,配置从机地址为组号; 5. P3.6外接一发光二极管(注意串联电阻进行限流); 6. P3.2外接一按键,断开高电平,按下低电平; 7. 按键检测采用外部中断方式,下跳沿触发; 8. 单片机定时器0以模式1(16位模式)工作,产生50ms的定时中断,并在此基础上设计一单片机内部时钟(24小时制,能计数时、分、秒、50ms值); 9. 单片机串行通信采用模式1非多机通信方式,采用9600波特率以串行中断方式进行数据的收发通信,主机地址为0xF0,广播地址为0xFF。 系统功能需求: 1. 系统配置和自检功能: l 从机上电后进行初始化,通过读取P2口进行从机地址配置; l 发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒); l 检测到一次按键按下操作后,熄灭发光二极管。 2. 数据接收和按键计时功能: l 从机接收主机程序(PC机上的串口调试程序)的按键允许命令帧并进行校验; l 校验正确并且目的地址是广播地址或者本从机的地址,通过发光二极管长亮指示,并允许按键操作; l 按键按下后,尽可能准确记录按键的动作时点(定时器的低8位、定时器的高8位、50ms值、秒、分、小时); l 按键操作只能响应一次,重复按键操作不响应; l 按键的动作时点记录后,发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒)。 3. 数据发送功能: l 从机接收主机程序发来的时钟数据搜索命令帧并进行校验; l 如果校验正确并且数据帧的目的地址是本从机的地址,从机将前面记录的按键动作时点数据(定时器的低8位、定时器的高8位、50ms值、秒、分、小时)按附录中的时钟数据返回帧的帧格式回传给主机; l 时钟数据返回帧回传结束后,熄灭发光二极管。 4. 校验和生成和检测功能: l 发送数据帧时能自动生成数据帧校验和; l 每帧数据在发送帧尾前,发送一字节的当前帧数据的校验和; l 接收数据帧时能检测校验和并判断接收数据是否正确。 附录:帧定义 校验和的计算:除去帧头和帧尾后将帧中的其他数据求和并取低8位; 帧长:不计帧头、帧尾和校验和字节。 按键允许命令帧: 帧头 帧长 目的地址 源地址 命令字 校验和 帧尾 AA 04 FF F0 01 F4 66 时钟数据搜索命令帧: 帧头 帧长 目的地址 源地址 命令字 保留字 校验和 帧尾 AA 05 01 F0 03 00 F9 66 时钟数据返回帧: 帧头 帧长 目的地址 源地址 命令字 TL0 TH0 50ms 秒 分 时 校验和 帧尾 AA 0A F0 01 07 01 B6 09 03 00 00 C5 66 帧结构头文件frame.h(内容如下) //帧格式定义 #define FRAME_HEAD 0xAA //帧头 #define FRAME_FOOT 0x66 //帧尾 #define FRAME_LEN 0x00 //帧长 #define FRAME_DST_ADR 0x01 //目的地址 #define FRAME_SRC_ADR 0x02 //源地址 #define FRAME_CMD 0x03 //命令字 #define FRAME_DATA 0x04 //帧数据起始 //帧命令定义 #define READY 0x01 //按键允许命令 #define TIME_SERCH 0x03 //时钟数据轮询命令 #define TIME_BACK 0x07 //时钟数据返回命令 //地址定义 #define BROAD_ADR 0xFF //广播地址 #define MASTER_ADR 0xF0 //主机地址
上传时间: 2020-06-18
上传用户:umuo
STM32 CAN波特率计算器,输入时钟, can波特率 点击计算,就能列出此波特率的stm32的配置列表。非常方便可靠。免去查表的时间。
上传时间: 2021-06-11
上传用户:shanguiyao
100-24c02记忆开机次数101-24c02存储上次使用中状态102-DS1302 时钟原理103-DS1302可调时钟104-DS1302时钟串口自动更新时间105-1602液晶显示DS1302时钟106-字库ST7920 12864液晶基础显示107-按键 12864显示108-PCF8591 1路AD数码管显示109-PCF8591 4路AD数码管显示11-LED循环右移110-PCF8591 DA输出模拟111-PCF8591 输出锯齿波112-PCF8591 1602液晶显示113-串口通讯114-串口通讯中断应用115-RS485基本通讯原理116-红外接收原理117-红外解码数码管显示118-红外解码1602液晶显示119-红外发射原理12-查表显示LED灯120-红外收发测试121-双红外发射避障原理测试122-1个18B20 温度传感器 数码管显示123-1个18b20温度传感器1602液晶显示124-多个18b20温度传感器1602液晶显示125-超温报警测试126-温度可调上下限1602126-温度可调上下限1602显示127-PS2键盘输入1602液晶显示128-双色点阵1种颜色显示测试129-双色点阵2种颜色显示测试13-双灯左移右移闪烁130-双色点阵显示特定图形131-双色点阵交替图形显示132-双色点阵双色交替动态显示133-热敏电阻测试数码管显示134-光敏电阻测试数码管显示135-自动调光测试136-串转并数字芯片测试137-非门数字芯片测试138-电子琴139-实用99分钟倒计时器14-花样灯140-外部频率测试141-定时做普通时钟可调142-1602液晶显示的密码锁143-实用密码锁144-1602液晶显示的计算器145-秒表146-串口测温电脑显示147-交通灯测试148-点阵模拟电梯上行下行149-点阵流动广告模拟15-PWM调光150-综合测试程序151-12位AD_DS1621与12864液晶152-闪烁灯一153-闪烁灯二154-流水灯A155-51单片机12864大液晶屏proteus仿真156-流水灯B157-数码管显示158-12864LCD显示计算器键盘按键实验159-数码管显示(锁存器)16-共阳数码管静态显示160-数码管动态显示161-数码管滚动显示162-数码管字符显示163-独立按键164-矩阵键盘165-矩阵键盘(LCD)166-用DS1302与12864LCD设计的可调式中文电子日历167-定时器的使用(方式1)168-12864LCD图形滚动演示169-用PG12864LCD设计的指针式电子钟17-1个共阳数码管显示变化数字170-定时器的使用(方式2)171-外部中断的使用172-定时器和外部中断173-开关控制12864LCD串行模式显示174-点阵显示175-液晶1602显示176-12864带字库测试程序177-串行12864显示178-遥控键值解码-12864LCD显示179-液晶12864并行18-单个数码管模拟水流180-液晶12864并行2181-串口发送试验182-串口接收试验183-串口接收(1602)184-蜂鸣器发声185-直流电机调速186-蜂鸣器间断发声187-lcd-12864应用188-继电器控制189-直流电机调速19-按键控制单个数码管显示190-步进电机191-存储AT24C02192-PCF8591T AD实验193-PCF8591T芯片DA实验194-温度采集DS18B20195-EEPROM_24C02196-12864LCD显示24C08保存的开机画面197-红外解码198-12864LCD显示EPROM2764保存的开机画面199-时钟DS1302(LCD)2-IO输出-点亮1个LED灯方法220-单个数码管指示逻辑电平200-宏晶看门狗201-SD卡202-秒表203-普通定时器时钟204-彩屏控制205-彩屏图片显示206-12864+DS1302时钟+18B20温度计207-12864测试程序208-12864串行驱动演示209-12864生产厂程序21-8位数码管显示其中之一210-12864中文显示测试211-LCD12864212-12864M液晶显示(有字库)程序(汇编)213-超声波测距LCD12864显示214-红外遥控键值解码12864液晶显示(汇编语言)215-用DS1302与12864LCD设计的可调式中文电子日历216-中文12864217-中文12864LCD显示红外遥控解码实验218-IO端口输出219-IO端口输入22-8位数码管静态显示其中之二220-流水灯221-数码管显示222-数码管动态扫描演示223-独立按键224-独立按键去抖动225-定时器0226-定时器1227-定时器2228-外部中断0电平触发229-外部中断0边沿触发23-8位数码管动态扫描显示230-外部中断1231-矩阵键盘232-液晶LCM1602233-LCD1602动态显示234-EEPROM24c02235-开机次数记忆236-红外解码LCD1602液晶显示237-红外解码数码管显示238-喇叭239-液晶背光控制24-8位数码管动态扫描原理演示240-与电脑串口通信241-步进电机242-字库LCD12864液晶测试243-液晶数码综合显示244-99秒计时245-99倒计时246-抢答器247-PWM调光248-LED点阵249-直流电机调速25-数码管显示动态数据250-按键计数器251-秒表252-数码管移动253-花样灯254-红绿灯255-音乐播放256-红外收发演示257-普通定时器时钟258-继电器控制259-ps2键盘LCD1602液晶显示26-9累加260-RTC实时时钟DS1302液晶显示261-单线温度传感器18b20262-串口测温263-带停机 步进电机正反转264-步进电机正反转265-AD_DA_PCF8591266-液晶AD_DA_PCF8591267-秒手动记数268-功能感受269-流水登27-99累加270-点亮一个二极管271-用单片机控制一个灯闪烁272-将P1口状态送入P0、P2、P3273-P3口流水灯274-通过对P3口地址的操作流水点亮8位LED275-用不同数据类型控制灯闪烁时间276-用P0口、P1 口分别显示加法和减法运算结果277-用P0、P1口显示乘法运算结果278-用P1、P0口显示除法运算结果279-用自增运算控制P0口8位LED流水花样28-999累加280-用P0口显示逻辑与运算结果281-用P0口显示条件运算结果282-用P0口显示按位异或运算结果283-用P0显示左移运算结果284-万能逻辑电路实验285-用右移运算流水点亮P1口8位LED286-用if语句控制P0口8位LED的流水方向287-用swtich语句的控制P0口8位LED的点亮状态288-用for语句控制蜂鸣器鸣笛次数289-包含单片机寄存器的头文件29-9999累加290-用do-while语句控制P0口8位LED流水点亮291-用字符型数组控制P0口8位LED流水点亮292-用P0口显示字符串常量293-用P0 口显示指针运算结果294-用指针数组控制P0口8位LED流水点亮295-用数组的指针控制P0 口8 位LED流水点亮296-用P0 、P1口显示整型函数返回值297-用有参函数控制P0口8位LED流水速度298-用数组作函数参数控制流水花样299-用数组作函数参数控制流水花样3-IO输出-点亮多个LED灯方法130-9累减300-用函数型指针控制P1口灯花样31-99累减32-999累减33-9999累减34-显示小数点35-数码管消隐36-数码管递加递减带消隐37-数码管左移38-数码管右移38-数码管右移139-数码管右移24-IO输出-点亮多个LED灯方法240-数码管循环左移41-数码管循环右移41-数码管循环右移142-数码管循环右移243-数码管闪烁44-数码管局部闪烁45-定时器046-定时器147-定时器248-产生1mS方波49-产生200mS方波5-闪烁1个LED50-产生多路不同频率方波51-1个独立按键控制LED52-1个独立按键控制LED状态转换53-2按键加减操作53-2按键加减操作数码管显示54-多位数按键加减(闪烁)54-多位数按键加减(闪烁)数码管显示55-多位数按键加减(不闪烁)55-多位数按键加减(不闪烁)数码管显示56-定时器扫描数码管(不闪烁)57-按键长按短按效果58-抢答器59-独立按键依次输入数据6-不同频率闪烁1个LED灯60-按键从右至左输入61-8位端口检测8独立按键62-矩阵键盘行列扫描63-矩阵键盘反转扫描64-矩阵键盘中断扫描65-矩阵键盘密码锁66-矩阵键盘简易计算器67-外部中断0电平触发68-外部中断1电平触发69-外部中断0下降沿触发7-不同频率闪烁多个LED灯70-外部中断1下降沿触发71-T0外部计数输入72-T1外部计数输入73-看门狗溢出测试74-按键喂狗75-喇叭发声原理76-警车声音77-救护车声音78-喇叭滴答声79-报警发声8-8位LED左移80-消防车警报81-音乐播放82-步进电机转动原理83-步进电机正反转84-步进电机按键控制85-步进电机转
上传时间: 2021-11-08
上传用户:
51里,从中断开始,很多初学者就会感到很迷茫,不知道自己在学什么,特上传此资料。单片机在执行程序的过程中,暂时中断执行当前的程序,转而去执行其他的应急处理程序,称为中断。例如。你正在餐厅吃饭,有朋友喊你去接电话,于是你就收到了来自朋友的一个中断(可以叫做外部中断),当你准备去接电话时,突然肚子疼,需要上厕所(内部中断),这又是一个中断,我们把引起中断的事件叫中断源(例如接电话、上厕所等,外部引起的叫外部中断,内部引起的叫内部中断),产生中断就要去处理它,这称为中断的响应。在接电话、上厕所这些中断源中,显然上厕所更需要立刻处理,这就是中断的优先级。 51单片机的中断系统十分重要,分为外部中断和定时器中断。中断发生CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理中断响应和中断服务CPU暂时中断当前的工作,转去处理事件B中断返回待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A这一过程称为中断单片机有10个寄存器主要与中断程序的书写控制有关中断允许控制寄存器IE定时器控制寄存器TCON串口控制寄存器SCON中断优先控制寄存器IP定时器工作方式控制寄存器TMOD定时器初值赋予寄存器(TH0/TH1,TL0/TL1)
上传时间: 2022-02-16
上传用户:qdxqdxqdxqdx
单片机采用的是51系列STC12C5A60S2传感器用的是正点原子的PAJ7620手势识别模块9种手势识别串口输出,实测稳定,识别率很高分享给大家,移植也很方便需要的同学也可以改为STC89C52单片机(注意需要改一下头文件,改为“reg52.h” 波特率配置子函数也需要改,因为此处用到的是独立波特率发生器,而89C52只能用定时器来产生波特率)
上传时间: 2022-04-30
上传用户:
51单片机也能控制远程七彩灯啦!另附iot app开发教程在这里公开一下代码,自学的单片机,期望值就要太高啦~小案例很简单,通过APP点亮八个P1口的LED小灯,云平台选用机智云,一家挺完善挺稳定的云平台了,详情使用方法到机智云官网了解硬件:stc89c52+esp8266-01(最初代)两个版本:一个是只有一个C文件从头到尾,一个是分开写的~祝和我一样只懂51的朋友们成功吧~~晶振是11.0592,波特率9600
标签: 51单片机 stc89c52 esp8266-01
上传时间: 2022-07-24
上传用户: