1189基于8086简易电子琴系统仿真设计-设计资料
编写一实现电子琴的程序,并实现若干扩展功能。
基本功能:用键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;
扩展功能:
1、在程序中可预设多首曲目,按一键可以进入预设子菜单,对要播放的曲目进行选择,并实现播放该曲目。
2、程序运行时有友好的用户介面。
3. 当弹奏不同音阶时,双色点阵LED显示器显示不同的图案
CODE SEGMENT
ASSUME CS:CODE
A8255 equ 0DC00h
B8255 equ 0DC04h
C8255 equ 0DC08h
M8255 equ 0DC0Ch
PORT_0 equ 0DC40h
PORT_1 equ 0DC44h
PORT_2 equ 0DC48h
PORT_CTR equ 0DC4Ch
START:
INPUT: MOV DX, M8255
MOV AL, 10010000B
OUT DX, AL
MOV AL, 30H
MOV DX,PORT_CTR
OUT DX, AL
MOV DX,A8255
IN AL,DX
CMP AL,11111110B
JZ K0
CMP AL,11111101B
1185基于8086红外自动门控制系统设计
2.1 红外检测有人门开启,无人关闭
功能:通过红外检测开门或者红外检测关门按钮启动直流门控制电机。
2.2 红外检测,门限位值,停止电机
功能:通过红外检测门到位,停止直流门控制电机。
2.3降低直流门控制电机的转速
功能:通过减速按钮降低直流门控制电机的转速,并显示大写“L”
2.4使直流门控制电机红外检测开门
功能:通过红外检测开门按钮控制直流门控制电机红外检测开门,并显示小
STACK SEGMENT 'STACK'
STA DB 100 DUP
TOP EQU LENGTH STA
STACK ENDS
DATA SEGMENT 'DATA'
DATA ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE,SS:STACK,DS:DATA
IOCON EQU 06H
IOA EQU 00H
IOB EQU 02H
IOC EQU 04H
START:
MOV AX, DATA
MOV DS, AX
MOV AX, STACK
MOV SS, AX
1263基于单片机8x8矩阵键盘两机串口通信设计-毕设课设资料
/*--------------------------------------------------------------------------------------------------------------------------------
说明: 发送端单片机1程序:
8*8矩阵键盘读取数码管显示,再由串口与单片机2进行通信;
把单片机1读取的按键值发送给单片机2进行显示。
MCU: AT89S52
晶振: 11.0592MHZ
---------------------------------------------------------------------------------------------------------------------------------*/
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P3^6; //数码管十位com1
sbit D2=P3^7; //数码管个位com2
uchar shi,ge,num;
uchar temp;
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(uint z);//延时函数
void display(); //显示函数
void keyscan(); //8*8_64矩阵键盘
void InitUART (void); //串口初始化
/*----------------------------------------------------------------------------------
main()_程序入口
----------------------------------------------------------------------------------*/
void main()
{
InitUART();//串口初始化
1264基于单片机8层电梯控制系统仿真设计-毕设课设资料
/*******************电梯主程序**********************/
#include "reg51.h"
#include "intrins.h"
/******************移植部分代码*************************/
sbit DOOR=P3^5;
sbit DlevMotor_P=P3^6; //电梯电机正极
sbit DlevMotor_N=P3^7; //电梯电机负极
#define SEGPort P0
#define KeyPort_X P1
#define KeyPort_Y P2
/******************************************************/
#define u8 unsigned char
#define u16 unsigned int
#define MaxFloor 8
#define FloorStayTime 40 //单位:50ms
#define DoorStayTime 2 //单位:S
#define TRUE 1
#define FALSE 0
#define Null 0
#define STOP 1
#define UP 2
#define DOWN 3
#define Dlev_UP DlevMotor_P=0;DlevMotor_N=1 //低电平有效
#define Dlev_DOWN DlevMotor_P=1;DlevMotor_N=0 //低电平有效
#define Dlev_STOP DlevMotor_P=1;DlevMotor_N=1 //低电平有效
1268基于单片机ADC0809和DAC0832模数和数模设计-毕设课设资料
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code7[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uint temp=0;
uchar wela=1;
sbit start=P2^0;
sbit oe=P2^6;
sbit clock=P2^7;
uint TH,TL;
sbit wela1=P2^2;
sbit wela2=P2^3;
sbit wela3=P2^4;
sbit wela4=P2^5;
void wel()
{
switch(wela)
{
case 1:wela4=wela3=wela2=1;
P1=code7[temp/1000];wela1=0;break;
case 2: wela1=wela3=wela4=1;
P1=code7[temp/100%10];wela2=0;break;
case 3: wela2=wela1=wela4=1;
P1=code7[temp/10%10];wela3=0;break;
case 4: wela3=wela2=wela1=1;
P1=code7[temp%10];wela4=0; break;
}
}
void disp()
文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html
目录
1263基于单片机8x8矩阵键盘两机串口通信设计-毕设课设资料
1268基于单片机ADC0809和DAC0832模数和数模设计-毕设课设资料