LPC1114是NXP公司推出的一款 ARM Cortex-M0内核的32位单片机。它的主频最大可达50MHz,内部集成时钟产生单元,不用外部晶振也可以工作。内部集成32 KB FALSH程序存储器、8 K SRAM数据存储器、一个快速L2C接口一个RS485/IA485UART、两个带SSP特征的SPI接口、4个通用定时器、1个系统定时器、1个带窗口功能的看门狗定时器、功耗管理模块、1个ADC模块和42个GPO。截至 Ration写稿时,一片LPC1114的零售价只需59元,批量价更便宜。如此强大的处理器,如此低廉的价格,可谓是性价比无敌,其低功耗、简单易用、高能效和低成本相结合,必然会在市场中占有一席之地LPC1114是ARM入门级的单片机,使用起来非常简单,只要会51单片机就可以快速的使用LPC1114。幸运的是,即使你不会51单片机,Ration也可以带领你彻底征服这个看似复杂实则简单的单片机不管是什么单片机,本质上都一样,对外表现为N个引脚,用引脚的高低电平变化来完成各种控制通信工作。内部由若干个功能模块构成,例如串口模块ADC模块等,有些单片机集成的功能模块相对较多,有些单片机集成的功能模块相对较少。我们要学习的,即如何配置单片机内部的各个模块,来完成我们所需要的目的。不管是学习单片机,还是学习其它与单片机配合的其它硬件,学习方法都样。从大局上看,它们都是由外部引脚和内部功能模块构成的。内部功能模块会有一些寄存器,我们了解了它的每个寄存器的功能,就可以通过它的用户手册配置寄存器,达到所需的要求。例如:给51单片机中的寄存器P1写0x01,将会使得引脚P1电平为高P1.1~P1.7引脚为低。给51单片机中的寄存器TMoD写0x20,将会配置定时器0为16位模式,定时器1为8位自动重载模式
上传时间: 2022-04-02
上传用户:
更新记录2020.08.271. 添加例程“45-IO口推挽输出驱动有源蜂鸣器实验程序”;2. 修改例程“43-高级PWM4N驱动蜂鸣器实验程序”名称为“43-高级PWM4N驱动无源蜂鸣器实验程序”;3. 添加例程“46-端口模式设置”;4. 添加例程“47-SPI互为主从-SS设置主从-串口1透传”;5. 添加例程“48-SPI互为主从-主模式忽略SS-串口1透传”。2020.08.201. 例程“31-硬件SPI访问FLASH-PM25LV040-串口1监控”、“32-IO模拟SPI访问FLASH-PM25LV040-串口1监控”兼容华邦W25X40CL型号Flash,并添加W25X40CL规格书。2020.08.181. 添加例程“44-高级PWM输出两路互补SPWM”以及正弦计算表。2020.08.111. 按照8.3版本实验箱图纸修改现有例程;2. 添加例程“43-高级PWM4N驱动蜂鸣器实验程序”。2020.07.301. 在例程01添加注解“当用户使用硬件 USB 对 STC8H8K64U 系列进行 ISP 下载时不能调节内部 IRC 的频率,但用户可用选择内部预置的 16 个频率(分别是 5.5296M、 6M、 11.0592M、 12M、 18.432M、 20M、 22.1184M、 24M、27M、 30M、 33.1776M、 35M、 36.864M、 40M、 44.2368M 和 48M)。下载时用户只能从频率下拉列表中进行选择其中之一,而不能手动输入其他频率。”2. 添加例程“41-软件修改内部RC主频”;3. 添加例程“42-一线制温度传感器 DS18B20 测温”;4. 添加8.2版本实验箱的原理图跟PCB图,现有程序还是基于8.1版本图纸。2020.07.241. 例程“38-2.4寸ILI9325驱动TFT显示屏实验程序-带触摸功能”调整驱动读写代码,使正常显示时的MCU工作主频最高可调至48MHz。2. 修改ADC相关例程关于AD通道参数的注释。3. 修改EEPRO相关例程TPS擦除等待参数与设置主频一致。4. 添加例程“39-通过USB发送命令读取ADC测试程序”以及配套的上位机测试软件;5. 添加例程“40-USB键盘设备通过P0口矩阵按键模拟小键盘功能”以及键盘按键码表。2020.07.091. 添加例程“37-2.4寸ILI9341驱动TFT显示屏实验程序”以及相关工具及规格书;2. 添加例程“38-2.4寸ILI9325驱动TFT显示屏实验程序-带触摸功能”以及相关工具及规格书。2020.06.281. 添加例程“35-板上的32K xdata测试程序”;2. 添加例程“36-LCD128x64显示图形文字-ST7920”以及“ST7920规格书”。2020.06.231. 添加例程“30-红外发射程序(NEC码)-使用PWM4产生38KHz载波”;2. 添加例程“34-IO扫描键红外发射-同时接收数码管显示用户码键值程序”。2020.06.221. 添加例程“31-硬件SPI访问FLASH-PM25LV040-串口1监控”以及“PM25LV040规格书”;2. 添加例程“32-IO模拟SPI访问FLASH-PM25LV040-串口1监控”;3. 添加例程“33-P1.3做ADC-使用内部基准计算外部电压”。2020.06.191. 添加例程“28-I2C主机模式访问PCF8563-RTC时钟程序”以及“PCF8563规格书”;2. 添加例程“29-红外遥控接收程序(NEC码)-数码管显示用户地址和键值”。2020.06.181. 更改文件夹命名,使例程内容更加一目了然;2. 添加例程“04-利用T0,T1做外部计数器”;3. 添加例程“05-利用定时器测量脉冲宽度”;4. 添加例程“13-串口3中断模式与电脑收发测试”;5. 添加例程“14-串口4中断模式与电脑收发测试”;6. 添加例程“20-使用比较器检测低电压时保存数据到EEPROM”;7. 添加例程“25-高级PWM1-PWM2-PWM3-PWM4,驱动P6口呼吸灯实验程序”;8. 添加例程“26-高级PWM5-PWM6-PWM7-PWM8输出测试程序”;9. 修改串口相关例程的主时钟频率为 22.1184MHz,精确计算115200波特率;10.“17-NTC测温度数码管显示”添加“SNDT2012X103F3950FTF R-T对照表”;11.添加“实验箱8问题清单”文件。2020.06.151. 修改所有例程主时钟频率为 24MHz;2. 添加例程“08-双串口中断收发”;3. 添加例程“09-串口1中断收发”;4. 添加例程“10-串口2中断收发”;5. 添加例程“14-通过串口1命令多字节读写EEPROM测试程序”;6. 添加例程“15-内部掉电检测中断保存EEPROM”;7. 添加例程“17-P1.7输出PWM5做DAC_P1.1做ADC读入DAC输出值_串口1设置占空比”;8. 修改例程“比较器”命名为“18-比较器_P3.7做正极输入源”;9. 添加例程“19-比较器_ADC做正极输入源”;10.添加例程“20-I2C从机中断模式与IO口模拟I2C主机进行自发自收”。2020.06.081. 添加例程“16-P1.7输出PWM做DAC_P1.1做ADC读入DAC输出值_串口1设置占空比”;2. 添加例程“比较器”。2020.06.041. 初版发布;2. 发布例程“01-跑马灯”;3. 发布例程“02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序”;4. 发布例程“03-数码管”;5. 发布例程“04-外中断INT0-INT1-INT2-INT3- INT4测试”;6. 发布例程“05-睡眠-外部中断唤醒”;7. 发布例程“06-睡眠-唤醒定时器唤醒”;8. 发布例程“07-看门狗复位测试程序”;9. 发布例程“11-IO行列扫描键盘数码管显示键值和调整时间”;10.发布例程“12-ADC键盘扫描数码管显示键值和调整时间”;11.发布例程“13-NTC测温度数码管显示”;12.发布文件“STC实验箱8-使用说明书.pdf”;13.发布图纸“实验箱8.1_2020-05-11-PCB.pdf”;14.发布图纸“实验箱8.1_2020-05-11-SCH.pdf”。
标签: stc8h
上传时间: 2022-04-18
上传用户:
宏晶 STC15F2K60S2开发板配套软件源码 基础例程30例/**********************基于STC15F2K60S2系列单片机C语言编程实现使用如下头文件,不用另外再包含"REG51.H"#include <STC15F2K60S2.h>***********************/#include "STC15F2K60S2.H"//#include "REG51.H" //sfr P4 = 0xC0;#define uint unsigned int #define uchar unsigned char /**********************引脚别名定义***********************/sbit SEL=P4^3; // LED和数码管选择引脚 高:LED有效 低:数码管有效 // SEL连接的单片机引脚必须为带有上拉电阻的引脚 或将其直接连接VCC#define data P2 // 数据输入定义 /**********************函数名称:Delay_1ms功能描述:延时入口参数:unsigned int t 表示要延时t个1ms 出口参数:无备注:通过参数t,控制延时的时间长短***********************/void Delay_1ms(uint t){ uchar j; for(;t>0;t--) for(j=110;j>0;j--) ;}/**********************函数名称:Led_test功能描述:对8个二极管进行测试,依次轮流点亮8个二极管入口参数:无出口参数:无备注: ***********************/void Led_test(){ uchar G_value=0x01; // 给变量赋初值 SEL=1; //高电平LED有效 while(1) { data=G_value; Delay_1ms(10000); G_value=G_value<<1; if(G_value==0x00) { data=G_value; Delay_1ms(10000); G_value=0x01; } }}/***********************主函数************************/void main(){ ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为 // 高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用 //相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P4M1=0x00; P4M0=0x00; P2M0=0xff; P2M1=0x00; //将P2设为推挽 Led_test(); }
标签: STC15F2K60S2
上传时间: 2022-05-03
上传用户:
通电后,进水指示灯亮起,用户通过对按键的操作选择洗衣服的哪一个流程,若直接选择启动按键,则洗衣机从进水→洗衣服→泡洗→脱水→出水→结束进行整个流程。若不直接选择启动,那么用户可以根据自己的需要对菜单选择键进行操作,把洗衣机切换到自己想要的那个流程去。⑴洗涤过程:在进入洗涤过程,首先进水阀接通,开始向洗衣机供水,当到达要求水位时,进水阀断电关闭,停止进水;电机M接通,带动波轮旋转,形成洗衣水流。电机M是一个正反转电机,可以形成往返水流,有利于洗涤衣物。⑵漂洗过程:与洗涤过程操作相同,只是时间短一些。⑶脱水过程:洗涤或漂洗过程结束后,电机M停止转动,排水阀M接通,开始排水。排水阀动作的同时,电机M也接通,使电机可以带动内桶转动。当水位低到一定值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。 unsigned char as; //水位,保存sbit k1=P1^0;//进水阀控制端口sbit k2=P1^1;//排水阀控制端口sbit k3=P1^2;//电机控制继电器一号sbit k4=P1^3;//电机控制继电器2号sbit led1=P2^0;//浸泡洗指示灯sbit led2=P2^1;//速洗指示灯sbit led3=P2^2;//标准洗指示灯sbit led4=P2^3;//脱水指示灯sbit led5=P2^4;//烘干指示灯sbit s1=P3^2;//数码管显示第一位公共端sbit s2=P3^3;//数码管第二位显示控制公共端sbit k5=P3^0;//烘干电机sbit ks1=P3^4;//洗衣机电源开关sbit ks2=P3^5;//洗衣机模式选择sbit ks3=P3^6;//启动按键sbit kk1=P3^1;//洗涤完报警参考仿真图:
上传时间: 2022-05-14
上传用户:
用的是沁恒CH552e淘宝买的评估板,USB中断上传程序用的是沁恒提供的做了些修改。程序使用2个端点一个,端点1作为普通键盘,端点2作为多媒体按键,有详细注释多媒体按键报告,以下是主函数内容。/****主函数****/main(){ CfgFsys( ); //CH552时钟选择配置 mDelaymS(5); //修改主频等待内部晶振稳定,必加 ConfigT0(2); //配置2ms T0中断 USBDeviceInit(); //USB设备模式初始化 EA = 1; //允许单片机中断 UEP1_T_LEN = 0; //预使用发送长度一定要清空 UEP2_T_LEN = 0; //清空端点2发送长度 FLAG = 0; //清空USB中断传输完成标志 Ready = 0; LED_VALID = 1; //给一个默认值 P1_DIR_PU &= 0xE0; //在MOD_OC为0时 P1.5 P1.6 P1.7为推挽输出 P1_MOD_OC = P1_MOD_OC & ~0xE0; //3个口的bit4 = 0 P1.5 P1.6 P1.7设置为推挽输出 P1_DIR_PU = P1_DIR_PU | 0xE0; //3个口的bit4 = 1 P1.5 P1.6 P1.7设置为输出 key1 = 1; key2 = 1; key3 = 1; while(1) { KeyDrive(); //按键驱动 }}
上传时间: 2022-05-15
上传用户:
采用C代码编写的8位LED流水灯程序,附件是用PROTEUS设计的仿真电路工程,直接可以使用。请用Proteus 8以上版本。下面是验证好的源代码,供大家参考学习:------------------------------------------#include <reg51.h>void main(){LED;t0,t1,t2,t3,t4,t5,t6,t7;LED=P1;P1=0xFF;while(10){P1=0xFE;for(t0=10;t0<25000;t0++){;}P1=0xFD;for(t1=0;t1<25000;t1--) {;}P1=0xFB;for(t2=0;t2<25000;t2++) {;}P1=0xF7;for(t3=0;t3<25000;t3--) {;}P1=0xEF;for(t4=0;t4<25000;t4++) {;}P1=0xDF;for(t5=0;t5<25000;t5--){;}P1=0xBF;for(t6=0;t6<25000;t6++){;}P1=0x7F;for(t7=0;t7<25000;t7++){;}P1=0xBF;for(t6=0;t6<25000;t6++){;}P1=0xDF;for(t5=0;t5<25000;t5++){;}P1=0xEF;for(t4=0;t4<25000;t4++) {;}P1=0xF7;for(t3=0;t3<25000;t3++) {;}P1=0xFB;for(t2=0;t2<25000;t2++) {;}P1=0xFD;for(t1=0;t1<25000;t1++){;}P1=0xFE;}} ----------------------------------------------------
上传时间: 2022-06-09
上传用户:zhanglei193
【资源描述】:通过ARM单片机LPC1114的PWM功能实现LED呼吸灯效果,请将开发板上P1.6引脚与P2.7(LED)引脚相连,其它LPC1114开发板请将P1.6引脚外接一LED指示灯
上传时间: 2022-06-17
上传用户:qingfengchizhu
1、本课题任务如下:设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符"P.",进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。2、本课题要求如下:(1)在AT89S51的PO口和P2口外接由六个LED数码管(LED5~LEDO)构成的显示器,用PO口作LED的段码输出口(PO.0~P0.7对应于LED的a-dp),P2.5-P2.0作LED的位控输出线(P2.5~P2.0对应于LED5~LEDO),P1口外接四个按键A、B,C.D(对应于P1.0~P1.3).(2)、利用六个LED显示当前时间。(3)、四个按键的功能:A键用于电子钟启动/调整;B键用于调时,范围0-23,0为24点,每按一次时加1;C键用于调分,范围0-59,0为60分,每按一次分加1:D键用于调秒,范围0-59,0为60秒,每按一次秒加1.(4)、单片机采用AT89S51,fasc-12MHz(5)、电子钟供电电源电路的设计。
上传时间: 2022-06-19
上传用户:aben
本文对家用太阳能光伏发电系统进行了研究和设计。首先在太阳能电池工作原理的基础上对其输出特性进行了仿真。根据其输出的非线性关系,阐述了最大功率点跟踪(MPPT)的原理,并结合DC-DC变换器对常用的MPPT算法进行了仿真。通过对比几种方法的优缺点,给出了一种新型MPPT算法。接着对储能蓄电池的充放电特性进行了研究,然后根据负载的要求计算了蓄电池的容量,并采用Boost变换器对其进行充电控制。其次,考虑到蓄电池组的电压等级较低,为使输出220V的交流电,通过分析几种拓扑结构,最终采用“推挽升压电路+全桥逆变”的电源设计方案以提高整个系统的效率,设计包括硬件和软件两部分。在推挽电路中介绍了各元器件参数的选择、高频变压器的设计及其控制电路等,其中PWM驱动电路输出采用图腾柱的方式以增强其驱动能力;逆变电路同样给出了功率开关管、滤波器的选取方法,并设计了过流保护和电压采样调理电路,对滤波器传递函数的仿真验证了设计的合理性。在软件设计中,基于DSP实现了MPPT控制、SPWM驱动信号的生成和P1闭环反馈控制。最后,论文给出了相关实验电路的调试结果,从中可以看出,所设计的电路实现了各部分的功能,并验证了设计的合理性。关键词:太阳能电池;最大功率点跟踪;推挽电路:SPWM:DSP
上传时间: 2022-06-19
上传用户:trh505
摘要:通过分析三相脉宽调制(PWM)整流器在dq旋转坐标系下的数学模型,设计了具有前馈解祸控制的PWM整流器双闭环控制系统。根据系统对电流内环的控制要求设计电流比例积分(P)调节器,提出按闭环幅频特性峰值(M.)最小准则来确定调节器参数的方法;根据系统对电压外环的控制要永,采用模最佳整定法来设计电压PI调节器。最后对整个PWM整流器双闭环控制系统进行仿真,仿真结果验证了PI调节器设计的正确性。关键词:PWM整流器;双闭环;P1调节器;电流环;电压环
上传时间: 2022-06-22
上传用户: