久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2216|回復(fù): 2
收起左側(cè)

關(guān)于合并兩個程序的問題,使其可以在仿真時一起工作

[復(fù)制鏈接]
ID:731982 發(fā)表于 2020-4-24 08:53 | 顯示全部樓層 |閱讀模式
20黑幣
喇叭的代碼:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P2^0;        //定義喇叭輸出端口
uchar tick,tl,th;                //定義節(jié)拍和T0初值變量
uchar TABLE[]={        //音符節(jié)拍表
    0x82,0x01,0x81,0x94,0x84,0xB4,0xA4,0x04,
        0x82,0x01,0x81,0x94,0x84,0xC4,0xB4,0x04,
        0x82,0x01,0x81,0xF4,0xD4,0xB4,0xA4,0x94,
        0xE2,0x01,0xE1,0xD4,0xB4,0xC4,0xB4,0x04,
        0x82,0x01,0x81,0x94,0x84,0xB4,0xA4,0x04,
        0x82,0x01,0x81,0x94,0x84,0xC4,0xB4,0x04,
        0x82,0x01,0x81,0xF4,0xD4,0xB4,0xA4,0x94,
        0xE2,0x01,0xE1,0xD4,0xB4,0xC4,0xB4,0x04,
        0x00};
uchar TABLE1[]={  //定時器初值表
0xfb,0x04,0xfb,0x90,0xfc,0x09,0xfc,0x44,
0xfc,0xac,0xfd,0x09,0xfd,0x34,0xfd,0x82,
0xfd,0xc8,0xfe,0x06,0xfe,0x22,0xfe,0x56,
0xfe,0x85,0xfe,0x9a,0xfe,0xc1};
   //T0中斷服務(wù)函數(shù)
timer0()interrupt 1 using 1{
TL0=tl;TH0=th;
BEEP=~BEEP;
}
//基本單位延時函數(shù)
void delay1(){
uint i;
for(i=0;i<20000;i++);
}
//節(jié)拍延時函數(shù)
void delay(tt){
uchar i;
for(i=0;i<=tt;i++)delay1();
}
//主函數(shù)
void main(){
uchar t,t1,k=0;
while(1){
TMOD=0x01;IE=0x82;
while(TABLE[k]!=0){
tick=(TABLE[k])&0x0f;
t=(_crol_(TABLE[k],4))&0x0f;
if(t!=0){
t1=--t*2+1;
t=t*2;
tl=TL0=TABLE1[t1];
th=TH0=TABLE1[t];
TR0=1;
  }
else TR0=0;
delay(tick);
k++;
     }
TR0=0;
   }
}
=================
點陣的代碼:
#include<reg52.h>

#include<intrins.h>

//intrins.h函數(shù),一般出現(xiàn)在C51單片機編程中,一般程序中需要使用到空指令_nop_();字符循環(huán)移位指令_crol_等時使用
//OE        第13腳        輸出有效(低電平)
//MR        第10腳        主復(fù)位(低電平)


typedef unsigned char uchar;

typedef unsigned int uint;

/*
   上面引腳控制行,行共陰,即低電平選中
   下面引腳控制列,列共陽,即高電平選中
*/


sbit SER = P3^4;    //p3.4串行數(shù)據(jù)輸入   DS

sbit SCK = P3^6;    //串行輸入時鐘,上升沿有效    SHCP        第11腳        數(shù)據(jù)輸入時鐘線

sbit RCK = P3^5;    //串行寄存器時鐘,上升沿有效  STCP        第12腳        輸出存儲器鎖存時鐘線


void SendTo595(uchar Data);


char shu=0xFE;

char a[32]={0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x3e,
   0x00,0x66,0x99,0x81,0x42,0x24,0x18,0x00,
   0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x7e,
   0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08} ;//列


void delay(unsigned int n)//延時函數(shù)

{

unsigned int i=0,j=0;

   for(i=0;i<n;i++)

   for(j=0;j<123;j++);
}

void Hang()//行掃描

{

P1=shu;

shu=_crol_(shu,1);
}
void main(){
   int i=0,changeRow=0;
   RCK=0;
   while(1){
           int speed=12;          //控制速度
           while(speed--){
                   for(i=0;i<8;i++){
                           Hang();
                           SendTo595(a[i+changeRow]);        //串行,控制列.
                           delay(4);
                   }
           }
           changeRow++;        //原來的第二行,變成第一行了.
           if (changeRow>=24)        changeRow=0;        //循環(huán)開始.
   }
}

void SendTo595(uchar Data){

  int i;

for(i=0;i<8;i++){

SCK=0;

SER = 0x80&Data;

Data = _crol_(Data,1);

SCK=1;

nop_();//等待一個機器指令時間. }
   /*位移寄存器完畢,轉(zhuǎn)移到存儲寄存器*/

RCK = 1;         //上升沿,存儲寄存器變?yōu)楦唠娖?延遲兩個時鐘周期
  _nop_();
  _nop_();
RCK = 0;        //不加出錯,因為電平不變化,存儲寄存器的內(nèi)容不變,為第一次輸入的移位寄存器內(nèi)容0x00.
}
}

本人編程不好,請師傅們幫忙把他們變成一個程序,仿真時一起工作,多謝了 !



20180904165636678.png
回復(fù)

使用道具 舉報

ID:731982 發(fā)表于 2020-4-24 08:54 | 顯示全部樓層
圖片少了個喇叭,在P2.0那里
回復(fù)

使用道具 舉報

ID:731982 發(fā)表于 2020-4-25 10:34 | 顯示全部樓層
有人幫忙看一下嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区在线看 | 狠狠草视频 | 久久精品视频网站 | 国产乱码精品一区二区三区av | 99riav国产一区二区三区 | av一区二区三区在线观看 | 一级毛片大全免费播放 | 欧美一级久久 | 黄色在线观看 | 色婷婷久久久亚洲一区二区三区 | 国产视频第一页 | 久久午夜国产精品www忘忧草 | 国产一区二区三区四区 | 国产精品欧美一区喷水 | 午夜丰满少妇一级毛片 | 日本在线看 | 91麻豆产精品久久久久久夏晴子 | 欧美一级片中文字幕 | 久草新在线 | 精品九九九 | 欧洲av一区 | 中文字幕在线一区二区三区 | 欧美视频一区二区三区 | 嫩草黄色影院 | 欧美区在线 | 国产成人jvid在线播放 | 日韩在线看片 | 毛片毛片毛片毛片 | 国产女人与拘做受视频 | 人人九九| 亚洲成人免费视频 | 久久影音先锋 | 黄色片亚洲 | 欧美精品片 | 亚洲精品二区 | 黄色毛片一级 | 国产区久久| 国产成人免费一区二区60岁 | 国产美女在线播放 | 成人福利网站 | 中文字幕视频在线免费 |