- 博客(15)
- 收藏
- 关注
原创 外部中断控制led
/ 外部中断1的中断服务程序,简单地取反 P0 的值。// 设置外部中断1为边沿触发方式(高电平触发)P0 = 0xFE;// 初始化 P0 的值。// 使能外部中断1。
2024-06-18 12:19:10
222
原创 一排流水灯
/led = 11111110B,即P0.0上LED亮,其余口线上LED灭。//做20000次空循环,以进行延时。a = led>>7;//将led最高位先放到a中的最低位中,a中其它位全为0。//定义无符号整数,最大取值范围65535。#include<reg51.h> //包含单片机定义寄存器的头文件。//将led状态赋给P0口寄存器,实现LED亮灭。b = led<<1;//将led左移一位,最低位补零。void delay(void) //延时函数。int main(void ) //主函数。
2024-06-18 12:18:23
153
原创 波形发生器
rd=0;wr=0;void SIN()do{i=i+1;void FB()EA=1;ET1=1;TMOD=0x10;TR1=1;void SJ()P2=0x00;do{P2=P2+1;do{P2=P2-1;P2=0x00;void JC()P2=0x00;do{P2=P2+1;void TXB()
2024-06-18 12:17:30
1413
原创 PC发送单片机
单片机#include <reg51.h>#define uchar unsigned char #define uint unsigned int void main( ){ uchar temp = 0; TMOD = 0x20; TH1 = 0x9c;TL1 = 0x9c; SCON = 0x50; PCON = 0x00; TR1 = 1; while(1){while(RI == 0); RI = 0;temp = SBUF; P1 = te
2024-06-18 12:16:26
195
原创 8个数码管
uchar i;while(t--)for(i=0;i<200;i++);while(1)for(i=0;i<=8;i++)P2=j;delay(190);
2024-06-18 12:14:58
210
原创 定时器制作蜂鸣器
void int_T1(void) interrupt 3 using 0 // 中断函数定义,使用中断号 1。// 设置 Timer1 初始值的高字节。// 设置 Timer1 初始值的低字节。// 设置定时器初值高字节。// 设置定时器初值低字节。// 设置 Timer1 工作模式。// 允许 Timer1 中断。// 停止 Timer1。// 启动 Timer1。// 启动 Timer1。
2024-06-18 12:13:55
383
原创 串口方式0
void Serial_Port( ) interrupt 4 using 0 //串行口中断服务程序。// 点亮数据初始为0000 0001送入nSendByte。if(nSendByte==0x00) //左移8次则重新送点亮数据。if(TI) { // 如果TI=1,1个字节串行发送完毕。void delay(unsigned int i) //延时子程序。// 设置串行口为方式0。main( ) //主程序。
2024-06-18 12:12:43
369
原创 两排流水灯
uchar i,j;for(i=0;i<255;i++)for(j=0;j<255;j++);while(1){uchar i,j;for(i=0;i<8;++i){P0=tab1[i];delay();P0=0xff;for(j=0;j<8;++j){P2=tab2[j];delay();P2=0xff;
2024-06-18 12:11:44
263
原创 定时器产生方波
/以12mhz配置一次中断1000us。//以12mhz配置一次中断1000us。TMOD=0x01;//定时器T0方式1 --- 01。
2024-06-18 12:10:08
305
原创 单片机数字电压表
if(addata>=0x31) //当大于1V时,则使用led和蜂鸣器报警。} //存在高低电平翻转蜂鸣器会发出声音。//根据时序图启动ADC0808的AD程序。} //转换结束允许输出。else //否则取消报警。
2024-06-18 11:38:21
322
原创 外部中断控制数码管
TMOD=0x60;TH1=256-1;TL1=256-1;P2 = 0x00;EA=1;ET1=1;TR1=1;while (1);P2=cut[i];i++;if(i==5){P2=cut[4];i=0;
2024-06-18 11:34:06
336
原创 51常用寄存器
/ 设置定时器0为工作方式0,13位定时器/计数器,使用TH0和TL0寄存器。// 设置定时器1为工作方式0,13位定时器/计数器,使用TH1和TL1寄存器。// 设置定时器1为工作方式0,13位定时器/计数器,使用TH1和TL1寄存器。// 设置定时器0为工作方式1,16位定时器/计数器,使用TH0和TL0寄存器。// 将定时器0的初值设为5000的高5位。// 将定时器0的初值设为5000的低5位。// 将定时器1初值设为5000的高5位。// 设置定时器0为模式1:16位定时器模式,自动重载。
2024-06-18 11:31:24
861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人