自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bonnie-Yang的博客

在这里学习,也在这里分享,大家共同进步!

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 甲机通过传串口控制乙机的LED显示状态

一、目标单片机甲机P1端口外接8位拨码开关;乙机P0外接8只LED。要求使用单片机串行口通信,在查询状态下使单片机乙机的8只LED能够显示甲机8位拨码开关的状态。二、布线三、实现四、结语...

2021-03-25 15:05:12 5919 2

原创 速度可调流水灯控制

一、目标假设单片机晶振频率为12MHz,单片机P0口外接8只LED,P3.2按键外接K1,P3.3外接K2。编写程序,每次按下按键K1时,加快8只LED的流水显示速度;每次按下K2时,降低8只LED的流水显示速度。(该实验要求用到定时器)二、布线三、实现1、设置全局变量,定义管脚。sbit K1=P3^2;sbit K2=P3^3; uint speed_control=10;uint counter=0;uint p0=0xFE;2、两个外部中断和一个定时器中断函数。void i

2021-03-24 16:21:16 7240 2

原创 简单门铃设计

一、目标假设单片机的晶振频率为12MHz,设计1个简单门铃控制系统。要求按下按键K1时,蜂鸣器发出“叮咚”的声音。二、布线三、实现四、结语

2021-03-24 15:07:25 2245 2

原创 59s计时器设计

一、目标假设单片机的晶振频率为12MHz,设计一个59秒计时器,要求使用T0工作方式1下进行硬件延时。二、布线三、实现1、#include<reg52.h>#include <intrins.h>#define uchar unsigned char//宏定义#define uint unsigned int //宏定义uchar code Display[]={ 0x0C0,//"0" 0x0F9,//"1" 0x0A4,//"2" 0x0B0,//

2021-03-23 21:52:27 5313 1

原创 用定时器实现方波

一、目标假设单片机的晶振频率为12MHz,使用T1,在方式1下控制P1.0输出1ms的等宽方波信号。二、布线三、实现时间常数TC=65536-12000000*0.001/12=65536-1000。sbit K=P1^0;void init_T1() interrupt 3{ TH1=(65536-1000)/256; TL1=(65536-1000)%256; K=~K;} void init(){ TMOD=0x01;//工作方式1 TH1=(65536-1000)/

2021-03-23 13:45:55 8176

原创 T0简单计数器

一、目标使用AT89C51单片机的P0、P2端口作为输出端口,外接2位LED数码管,P3.4外接按键K。功能:每次按下按键K时LED数码管进行加1显示,计数范围0~99。二、布线三、实现四、结语

2021-03-22 19:26:29 3501 1

原创 采用外中断进行的计数和清零控制

一、目标使用单片机P0、P2端口作为输出口,外接一个2位LED数码管,P3.2外接按键K1,P3.3外接按键K2。编写程序,按键K1作加一计数,按键K2作为“加1/暂停/清零”控制。当按键K2没有按下时。按键K1按下后LED数码管总显示0;第一次按下K2时,每次按下K1,LED数码管进行加1显示;第二次按下K2时,暂停加1计数,按键K1按下后LED数码管显示暂停前的数值;第三次按下K2时,LED数码管显示位0;第四次按下K2时,与第一次相同。二、布线三、代码实现1、首先针对不同的功能对

2021-03-22 12:09:46 6484

原创 采用外中断控制的LED彩灯设计

一、目标P0端口作为输出口,外接条形LED。编写程序,当按键K未按下时,LED进行循环左移显示。如果第一次按下按键K后,LED进行循环右移显示。如果第二次按下按键K后,LED进行拉幕式闭幕式花样显示。如果第三次按下按键K后,又恢复左移显示。二、Proteus三、代码实现1、分析一下我们要完成的目标。默认左流水,第一次按右流水,第二次按拉闭幕式,再按恢复默认。也就是说可以用一个counter记录按下次数,初始化counter=0,然后每次按下K就令counter++,然后进行counter=

2021-03-20 21:25:38 2371 1

原创 采用外中断控制的条形LED彩灯设计

一、目标P0端口作为输出口,外接条形LED。编写程序,当按键K未按下时,LED进行循环左移显示。如果第一次按下按键K后,LED进行循环右移显示。如果第二次按下按键K后,LED进行拉幕式闭幕式花样显示。如果第三次按下按键K后,又恢复左移显示。二、Proteus## 三、代码实现1、分析一下我们要完成的目标。默认左流水,第一次按右流水,第二次按拉闭幕式,再按恢复默认。也就是说可以用一个counter记录按下次数,初始化counter=0,然后每次按下K就令counter++,然后进行counter

2021-03-20 21:14:21 874

原创 带中断控制的LED花样灯

一、目标P0端口作为输出口,外接8只LED,P3.2外接按键K。编写程序,当K未按下时,8位LED进行默认显示,其显示规律为左移流水->右移流水->隔灯闪烁三次花样显示;如果按下K键后,8只LED暂停默认显示,而进行闪烁显示,当显示5次后,继续按默认规律显示。二、proteus连线三、代码实现1、首先我们来实现默认的花样流水灯显示void Multi_Display(){ uint i=0; uint p0=0x00; //left_LED左移流水 p0=0x7F;

2021-03-20 16:45:27 1814 1

原创 用C51实现简单拨号

目标通过89C51的P1口连接4*4的矩阵键盘,P0和P2口连接八位数码管。开始运行后,按下矩阵按键后数码管上显示出对应的键值,从左向右依次排列。当数码管显示满八位数字后,再有字符输入时整体字符向左平移,输入字符从最右端挤入。Proteus布线用P0口的低四位P0.0-P0.3来连接矩阵键盘的行线,用P0口的高四位P0.4-P0.7来连接矩阵键盘的列线。我是按照下图这样来给矩阵键盘分配键值的。矩阵键盘判断按键值的原理和步骤:(1)令P0=“11110000”,当无按键按下时,P0保持不变。一旦有

2021-03-17 20:59:32 2298

原创 8位数码管动态显示字符

目标使用单片机89C51的P0和P2口显示“872AF635”。Proteus连线过程1、首先定义好数码管的字符码,我习惯采用共阴极的(使用共阳极的数码管直接取反就行了)uchar code display[]={ 0x0C0,//"0" 0x0F9,//"1" 0x0A4,//"2" 0x0B0,//"3" 0x99, //"4" 0x92, //"5" 0x82, //"6" 0x0F8,//"7" 0x80, //"8" 0x90, //"9" 0x88, //"A"

2021-03-15 10:47:43 11679 1

原创 复杂广告灯设计

89C51亮灯规律:正向流水–>反向流水 -->各灯闪烁三次 -->高四盏、低四盏闪烁两次,重复循环。##连线和前两次的一样只用P0口就够了。##代码int main(){ uint p0=0xff,ms=200; while (1) { uint i=0; p0=0x7f; for(i=0;i<7;i++) { P0=p0; p0=_cror_(p0,1); Delay(ms); } for(i=0;i<7;i++)

2021-03-14 17:03:18 345 1

原创 开闭幕式广告灯设计

标题利用89C51单片机的P0端口实现八个LED灯的开闭幕式广告灯设计。开幕式亮灯顺序:全灭–>D3,D4–>D2,D5–>D1,D6–>D0,D7闭幕式灭灯顺序:全亮–>D0,D7–>D1,D6–>D2,D5–>D3,D4Proteus连线代码int main(){ uint p0=0xff; while (1) { p0=0xff; P0=p0; Delay(100);//ms p0=~0x18; P0=p0;

2021-03-14 16:29:04 814

原创 流水广告灯的设计

流水广告灯的设计利用89c51单片机的端口控制8个LED需变换点亮,先是D0-D7依次点亮,接着D7-D0依次点亮,如此重复循环。proteus连线代码#include<reg52.h>#include <intrins.h>#define uchar unsigned char//宏定义#define uint unsigned int //宏定义 void Delay(uint ms){ uint i; while(ms--) for(i

2021-03-14 16:01:00 808

原创 空瓶换饮料问题

看到一个有趣的题目:某商店规定:三个空汽水瓶可以换一瓶汽水。小王手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?答案是5瓶。方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。问:如果你手上有n个空汽水瓶,最多可以换多少瓶汽水喝?其实。。。。。Emmmmmm求解时直接把空瓶数除以2,即可得到正解。代码:#include<iostream&gt

2021-03-09 20:44:56 1794 2

原创 基于51的八位抢答器

8位抢答器利用51单片机设计一个8位抢答器。按下按钮,倒计时10s,初始状态LED处于熄灭状态,最后5s倒计时伴随LED闪烁。有玩家抢答或者计时结束时,LED灯常亮。开始计时后的任意状态下再次按下按钮,抢答器重置。Proteus布线图代码#include<reg52.h>#include<intrins.h>#define uchar unsigned char//宏定义#define uint unsigned int //宏定义sbit LED = P3^1

2021-03-06 21:24:57 2169 1

原创 单字节的乘法指令设计汇编程序11*12

题目汇编语言编写如下程序:利用单字节的乘法指令,将(R2R3)和(R6R7)中双字节无符号整数相乘,并把结果送到R4R5R6R7中。在R2R3和R6R7中输入无符号整数 (十进制数11,22分别送R3,R7),断点或单步运行本实验程序后检查R4R5R6R7中内容(十进制数11*22=242,转成十六进制即为F2)。代码用masm运行下面代码:DATAS SEGMENT ;此处输入数据段代码 ORG 0030H R2 DW 0 R3 DW 11 R4 DW 0

2020-11-02 14:27:06 1038

原创 AD转换及单片机通信

要求用量两片单片机进行通信,其中甲机外接0809芯片进行AD转换,将AD转换结果送至P0端口用4位数码管显示,并将数据发送至乙机;乙机接收甲机发送的数据,和甲机同步显示AD转换结果。ADC0809芯片由于芯片介绍篇幅过大这里就,不做详细描述。详情请见硬件及连线甲机代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intint display[]= {0x3f,0x06,0x5b,0x4f

2020-06-25 11:04:56 2847

原创 ADC0809模数转换

目标将模拟电压通过AD转换,通过AT89C51单片机接数码管显示转换结果。代码ADC0809的芯片介绍:ADC0809的芯片简介#include "reg52.h" char code ShuMaGuan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴#define led P0 //P1端口控制数码管段选端

2020-06-25 11:02:55 3403

原创 ADC0809芯片简介

ADC0809A/D0809芯片特点ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,可根据地址码选通其中一路输入信号进行A/D转换。该芯片主要具有以下特性:8路输入通道,8位A/D转换器,即分辨率为8位;具有转换启动停止控制端;转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时);单个+5V电源供电,低功耗,约15mW;模拟输入电压范围0~+5V,不需零点和满刻度校准;工作温度范围为-40~

2020-06-25 11:01:01 13100

原创 汇编:排序子程序

要求: 在内部RAM30H开始的10个单元中连续存放着10个无符号随机数,编写一段程序,将这10个数中从大到小排列,存放在内部RAM40H开始的连续10个单元中。 将30H开头的10个单元格定义为TAB,将40H开头的10个单元格定义为TAB1。 思路是先将TAB中的数据复制到TAB1中,然后在进行冒泡排序。代码:DATAS SEGMENT ;此处输入数据段代码 ORG 0030H TAB DB 2,4,9,6,3,5,7,0,8,1 ORG 00

2020-06-25 10:19:50 1792

基于51单片机的8位抢答器源代码(.C)文件.txt

基于51单片机的8位抢答器源代码(.C)文件.txt

2021-03-06

基于51单片机的八位抢答器源代码.c

基于51单片机的八位抢答器源代码修改版(含有非法抢答判断)

2021-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除