推荐阅读最新更新时间:2024-03-16 13:28
MCU学习之按键控制LED
程序 : /** * 读IO, 用按钮控制点灯. */ #include #include // 10个LED sbit P10 = P1^0; sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; sbit P14 = P1^4; sbit P15 = P1^5; sbit P16 = P1^6; sbit P17 = P1^7; // 定义开关. 低电平有效. sbit K1 = P3^2; sbit K2 = P3^5; void main( void ) { while( 1 ) { if( !K1 ) // K1按下, 点
[电源管理]
51单片机外部中断的问题
前几天在网上看到的一个程序问题。 #include reg51.h unsigned char code a ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char i=0; void delay() { unsigned int i,j; for(i=200;i 0;i--) for(j=200; j 0;j--); } void main() { EA=1; EX0=1; IT0=1; while(1) { if(i==10) i=0; P2=~a ; delay(); i++; } } vo
[单片机]
51单片机lcd代码
#include ../delay/delay.h #include lcd.h /*==================================================== 判断写入命令/数据函数 =====================================================*/ void lcd_write(unsigned char byte, unsigned char flag) { if(flag) { RS = 1; //选择数据寄存器 } else {
[单片机]
51单片机串口的问题
想问一下:单片机串口在接收的时候是怎么接收的?如上位机一次发送一个字符串11223344,通过串口助手下发给单片机。用下面的程序 /***********************************************************/ /* 串口中断程序 */ /********************************************************/ void UART_SER () interrupt 4 { uchar Temp; // 定义临时变量 if(RI) // 判断是接收中断产生 { RI=0; // 标志位清零 Temp=SBUF; // 读入缓冲区的值 P1=Temp;
[单片机]
51单片机+74hc595芯片实现跑马灯
74HC595特点: 串进并出,移位,锁存(相当于把8位输入送到Q0-Q7,锁存前Q0-Q7为上一次的值) Q7‘为串行输出,即可以级联。 SCK(SH_CP) //串行输入时钟, 串行输入 RCK(ST_CP) //存储寄存器时钟,并行输出2、原理图如图所示 单片机源程序如下: #include reg51.h #include intrins.h typedef unsigned char uchar; typedef unsigned int uint; void delayms(uint xms); void hc595(uchar byteData); sbit SER = P3^4; //p3.4脚
[单片机]
SEPTNY256型单片机开关电源及其应用
1 TNY256的性能特点 ·内置自动重启电路,不需外接元件,一旦发生输出短路或控制环开路故障,可将占空比降低以保护芯片。 ·在输入直流高压电路中,不需要使用瞬态电压抑制器构成的钳位保护电路,仅用简单的RC吸收回路即可衰减视频噪声。 ·输入欠压检测电路仅需外接1只电阻,目的是在上电时将片内的功率MOSFET关断,直到直流输入电压VI达到欠压保护门限电压(100V)为止;正常工作后若VI突然降低,对芯片也能起到保护作用。 ·开关频率抖动可降低电磁辐射。 ·输入电压范围宽(85~265VAC或120~375VDC)且交、直流两用。效率高,265VAC输入时的空载功耗低于100mW。 ·控制方
[单片机]
电池容量测试仪电路与源码(PIC16F1938单片机+AD623实现)
分享一个由PIC16F1938单片机芯片和AD623构成的电池容量测试仪. 电路原理图如下: 电池容量测试仪的pic单片机源码: #include main.h //------------------------32MHZ---------------------------------------------- __CONFIG(FOSC_INTOSC & CLKOUTEN_OFF & BOREN_ON & PWRTE_ON & CPD_OFF &CP_ON & MCLRE_ON & LVP_OFF & WDTE_ON ); //此处有关32MHz的设置与1829不同,PLL使能位必须在寄存器OSCCON
[单片机]
轻松玩转LCD12864-基于AVR单片机的LCD12864串行显示
LCD12864是一种常用的图形液晶显示模块,顾名思义,就是可以在水平方向显示128个点,在竖直方向显示64个点。通过对控制芯片写入数据,可以控制点的亮灭,从而显示字符、数字、汉字或者自定义的图形。尽管LCD12864有各个不同厂家生产的产品,控制芯片和引脚定义也不尽相同,但是控制原理都大同小异。本文是对我个人使用LCD12864的经验做一个总结,希望能对入门者起到抛砖引玉的作用。 就以深圳市亚晶达电子有限公司生产的YJD12864C-1为例,我不想深究显示屏的内部结构,单讲讲各个引脚的作用以及数据读写时的时序。 上图是YJD12864C-1的实物图,从右往左,1脚到20脚的定义如下: 1:VSS,接地端 2:VDD,电源
[单片机]