freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)正弦波信號(hào)發(fā)生器設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-27 19:58本頁(yè)面
  

【正文】 NFIG_PAGE。 // Set SFR Page OSCXCN = 0x66。 // start external oscillator with 10MHz crystal (XFCN = 6) for (i=0。 i 255。 i++) //Delayms(100)。 // XTLVLD blanking interval (1ms) while (!(OSCXCN amp。 0x80))。 // Wait for crystal osc. to settle SFRPAGE = LEGACY_PAGE。 RSTSRC = 0x04。 // enable missing clock detector SFRPAGE = CONFIG_PAGE。 CLKSEL = 0x01。 // select external oscillator as SYSCLK source OSCICN = 0x00。 // disable internal oscillator SFRPAGE = SFRPAGE_SAVE。 // Restore SFR page}/******************端口初始化 *******************/void PORT_init(void){ SFRPAGE = CONFIG_PAGE。 XBR0 =0x09。 //SDA=,SCL=,CEX0= XBR1 =0x20。 //T2 配置到 XBR2 =0xC0。 //弱上拉禁止,功能選擇開(kāi)關(guān)允許 P0MDOUT = 0x0C。 //, 為開(kāi)漏輸出,, 為推挽輸出 P0 =0xff。 P1MDIN = 0xff。 //ditigal input of P1 P1MDOUT = 0x00。 P1 = 0xff。 P2MDOUT = 0x07。 P2 = 0xFF。 P3MDOUT = 0x00。 P3 = 0xff。 }/******************向 AD9835 寫(xiě)入 16bit 數(shù)據(jù)**********************/void byte_shift (unsigned int data_16) {河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)30 unsigned int temp。 FSYNC=0。 AD9835_SCLK=1。 for(temp=0x8000。temp。 temp=1,AD9835_SCLK=1) { AD9835_SDATA=data_16amp。temp。 //先發(fā)送最高位數(shù)據(jù) AD9835_SCLK=0。 } FSYNC=1。}/******************計(jì)算頻率寄存器參數(shù) *************************/void Freq_Process1 (unsigned char FREQ1_LSBs_L, unsigned char FREQ1_LSBs_H, unsigned char FREQ1_MSBs_L, unsigned char FREQ1_MSBs_H){ byte_shift(0xF800)。 //byte_shift(0xA000)。 //SNYC=1,同步方式;SELSRC=0,用 pins 選擇頻率寄存器 byte_shift(0x3400+FREQ1_LSBs_L)。 byte_shift(0x2500+FREQ1_LSBs_H)。 byte_shift(0x3600+FREQ1_MSBs_L)。 byte_shift(0x2700+FREQ1_MSBs_H)。 byte_shift(0xC000)。}void Freq_Process0 (unsigned char FREQ0_LSBs_L, unsigned char FREQ0_LSBs_H, unsigned char FREQ0_MSBs_L, unsigned char FREQ0_MSBs_H){ byte_shift(0xF800)。 byte_shift(0x3000+FREQ0_LSBs_L)。 byte_shift(0x2100+FREQ0_LSBs_H)。 byte_shift(0x3200+FREQ0_MSBs_L)。 byte_shift(0x2300+FREQ0_MSBs_H)。河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)31 byte_shift(0xC000)。}/******************產(chǎn)生任意指定頻率的正弦波 ******************/void Freq_Adjust1(float value_Freq1) { float x。 unsigned long Freq_reg1。 unsigned char L_L1, L_H1, H_L1, H_H1。 x=。 Freq_reg1=value_Freq1*x。//x=2exp32/1M(選用 1M 晶振) L_L1=Freq_reg1amp。0x000000FF。 L_H1=(Freq_reg18)amp。0x000000FF。 H_L1=(Freq_reg116)amp。0x000000FF。 H_H1=(Freq_reg124)amp。0x000000FF。 Freq_Process1(L_L1,L_H1,H_L1,H_H1)。}void Freq_Adjust0(float value_Freq0) { float z。 unsigned long Freq_reg0。 unsigned char L_L0, L_H0, H_L0, H_H0。 z=。 Freq_reg0=value_Freq0*z。 //z=2exp32/1M(選用 1M 晶振) L_L0=Freq_reg0amp。0x000000FF。 L_H0=(Freq_reg08)amp。0x000000FF。 H_L0=(Freq_reg016)amp。0x000000FF。 H_H0=(Freq_reg024)amp。0x000000FF。 Freq_Process0(L_L0,L_H0,H_L0,H_H0)。}/************延遲 N 個(gè) MCLK 節(jié)拍***************/void Delay_N_MCLK(unsigned char N){河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)32 for (N=0。N=8。N++) _nop_()。}/******************用 T2 產(chǎn)生調(diào)制方波***********************/void square_wave (unsigned char a)//產(chǎn)生頻率為 a 的調(diào)制波并輸出到 { unsigned int RCAP_data16。 float w。 w=625000。 //外部時(shí)鐘 8 分頻= RCAP_data16=(65536(w/a))。 SFRPAGE=TMR2_PAGE。 TMR2CN=0x04。 TMR2CF=0x12。 //T2 方式一 自動(dòng)重裝載方式 RCAP2=RCAP_data16。}/*****************從 輸出 1M 到 AD9835_MCLK*************/ void PCA_AD9835_MCLK(void){ SFRPAGE=PCA0_PAGE。 PCA0CN=0x40。 //使能位 CR=1 PCA0MD=0x08。 //系統(tǒng)時(shí)鐘,禁止中斷 PCA0CPM0=0xC6。//16 為脈寬,頻率輸出方式(ECOM0=1,TOG0=1,PWM0=1) PCA0CPH0=0x05。//時(shí)間常數(shù)為 251}void MT_SEND(unsigned char out_op, unsigned int out_data){ while(SM_BUSY)。 SM_BUSY = 1。 SMB0CN = 0x64。 COMMAND = (0x98|WRITE)。 BYTE_Number=2。 OP_CODE = out_op。 // 發(fā)送控制字 DATA16=out_data。 //發(fā)送 16 位數(shù)據(jù)河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)33 data_MSB=(DATA168)amp。0x00FF。 data_LSB=DATA16amp。0x00FF。 STA = 1。 // Start transfer.}includedefine UCHAR unsigned char define UINT unsigned intUCHAR code segment[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 UCHAR temp[4]={0x00,0x00,0x00,0x00}。 UCHAR discan[4]={0xfe,0xfd,0xfb,0xf7}。..UCHAR TotalCount,Count,Idata,k。UCHAR a=0,b=0,c=0。 //數(shù)碼管掃描 void Discan1() { UINT i。 for(i=0。i4。i++) { P0=temp[i]。 P2=discan[i]。 P2=0xff。 } } //數(shù)碼管顯示 void Display(UCHAR TotalCount,a,b) { UCHAR j,k,l,s。 j=TotalCount。k=a。l=b。 s=c。 temp[0]=segment[j]。 temp[1]=segment[k]。河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)34 temp[2]=segment[l]。 temp[3]=segment[s]。} //鍵盤(pán)控制 UCHAR JudgeKey() { static UCHAR m。 P1=0xff。 if(P1!=0XFF) { if(P1==0xfe) m=1。 if(P1==0xfd) m=2。 if(P1==0xfb) m=3。 if(P1==0xf7) m=4。 } return m。 } void SMBUS_ISR (void) interrupt 7{ switch (SMB0STA) { case SMB_START: SMB0DAT = 0x98。STA = 0。 break。 case SMB_MTADDACK: SMB0DAT = OP_CODE。 break。 case SMB_MTADDNACK: STO = 1。STA = 1。 break。 case SMB_MTDBACK: switch (BYTE_Number) { case 2: SMB0DAT=data_MSB。BYTE_Number。 break。 case 1: SMB0DAT=data_LSB。BYTE_Number。 break。河南機(jī)電高等專(zhuān)科學(xué)校畢業(yè)設(shè)計(jì)35 default: STO = 1。 SM_BUSY = 0。 break。 } break。 case SMB_MTDBNACK:STO = 1。STA = 1。 break。 default:STO = 1。SM_BUSY = 0。 break。 } SI=0
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1