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

正文內容

畢業(yè)設計---基于單片機的受控正弦信號發(fā)生器設計-資料下載頁

2024-12-03 20:25本頁面

【導讀】系統(tǒng),采用單片機與DDS模塊相結合的方式,通過對DDS集成芯片AD9851的控制,實現(xiàn)了賽題要求的基本功能。該系統(tǒng)的輸出頻率和各種調制方式由可調電阻設置,并通過LCD顯示。融合到一起,配合自動控制算法,實現(xiàn)題目的基本要求的所有項及發(fā)揮部分的要求。2方案設計與論證···················································································2

  

【正文】 temp1=temp/1。 ptr[0]=temp1/1000。 ptr[1]=temp1/100%10。 ptr[2]=temp1%100/10。 ptr[3]=temp1%10。 for(i = 0。i 4。i++) x[i]=shuzi[ptr[i]]。 Disp_HZ( 0x88+3,x,2)。 26 } /********************************************/ void Trans_shuzi(uint Hex_Val)//頻率 顯示 { uchar i。 uint temp。 uchar ptr[4]。 uchar x[4]。 temp=Hex_Val。 ptr[0]=temp/1000。 ptr[1]=temp/100%10。 ptr[2]=temp%100/10。 ptr[3]=temp%10。 for(i = 0。i 4。i++) x[i]=shuzi[ptr[i]]。 Disp_HZ( 0x90+3,x,2)。 } /******************* *************************************************/ 程序功能: cry12864 對頻率、電流和電阻值進行顯示 。 **********************************************************************/ void Delay_1ms(void)。 void Delay(unsigned int n)。 void Write_Cmd(unsigned char cod)。 void Write_Data(unsigned char dat)。 void Ini_Lcd(void)。 void Disp_HZ(unsigned char addr,const unsigned char * pt,unsigned 27 char num)。 void Disp_ND(unsigned char addr,unsigned int thickness)。 void Draw_TX(unsigned char Yaddr,unsigned char Xaddr,const unsigned char * dp) 。 void Draw_PM(const unsigned char *ptr)。 /****************************************************/ include typedef unsigned char uchar。 typedef unsigned int uint。 extern const unsigned char shuzi_table[]。 define LCD_DataIn P4DIR=0x00 //數(shù)據(jù)口方向設置為輸入 define LCD_DataOut P4DIR=0xff //數(shù)據(jù)口方向設置為輸出 define LCD2MCU_Data P4IN define MCU2LCD_Data P4OUT define LCD_CMDOut P3DIR|=0x07 //P3 口的低三位設置為輸出 define LCD_RS_H P3OUT|=BIT0 // define LCD_RS_L P3OUTamp。=~BIT0 // define LCD_RW_H P3OUT|=BIT1 // define LCD_RW_L P3OUTamp。=~BIT1 // define LCD_EN_H P3OUT|=BIT2 // define LCD_EN_L P3OUTamp。=~BIT2 // /******************************************* 函數(shù)名稱: Delay_1ms 功 能:延時約 1ms 的時間 參 數(shù):無 返回值 :無 ********************************************/ void Delay_1ms(void) 28 { uchar i。 for(i = 150。i 0。i) _NOP()。 } /******************************************* 函數(shù)名稱: Delay_Nms 功 能:延時 N 個 1ms 的時間 參 數(shù): n延時長度 返回值 :無 ********************************************/ void Delay_Nms(uint n) { uint i。 for(i = n。i 0。i) Delay_1ms()。 } /******************************************* 函數(shù) 名稱: Write_Cmd 功 能:向液晶中寫控制命令 參 數(shù): cmd控制命令 返回值 :無 ********************************************/ void Write_Cmd(uchar cmd) { uchar lcdtemp = 0。 LCD_RS_L。 LCD_RW_H。 LCD_DataIn。 do //判忙 29 { LCD_EN_H。 _NOP()。 lcdtemp = LCD2MCU_Data。 LCD_EN_L。 } while(lcdtemp amp。 0x80)。 LCD_DataOut。 LCD_RW_L。 MCU2LCD_Data = cmd。 LCD_EN_H。 _NOP()。 LCD_EN_L。 } /******************************************* 函數(shù)名稱: Write_Data 功 能:向液晶中寫顯示數(shù)據(jù) 參 數(shù): dat顯示數(shù)據(jù) 返回值 :無 ********************************************/ void Write_Data(uchar dat) { uchar lcdtemp = 0。 LCD_RS_L。 LCD_RW_H。 LCD_DataIn。 30 do //判忙 { LCD_EN_H。 _NOP()。 lcdtemp = LCD2MCU_Data。 LCD_EN_L。 } while(lcdtemp amp。 0x80)。 LCD_DataOut。 LCD_RS_H。 LCD_RW_L。 MCU2LCD_Data = dat。 LCD_EN_H。 _NOP()。 LCD_EN_L。 } /******************************************* 函數(shù)名稱: Ini_Lcd 功 能:初始化液晶模塊 參 數(shù):無 返回值 :無 ********************************************/ void Ini_Lcd(void) { LCD_CMDOut。 //液晶控制端口設置為輸出 Delay_Nms(500)。 31 Write_Cmd(0x30)。 //基本指令集 Delay_1ms()。 Write_Cmd(0x02)。 // 地址歸位 Delay_1ms()。 Write_Cmd(0x0c)。 //整體顯示打開 ,游標關閉 Delay_1ms()。 Write_Cmd(0x01)。 //清除顯示 Delay_1ms()。 Write_Cmd(0x06)。 //游標右移 Delay_1ms()。 Write_Cmd(0x80)。 //設定顯示的起始地址 } /******************************************* 函數(shù)名稱: Disp_HZ 功 能:控制液晶顯示漢字 參 數(shù): addr顯示位置的首地址 pt指向顯示數(shù)據(jù)的指針 num顯示字符個數(shù) 返回值 :無 ********************************************/ void Disp_HZ(uchar addr,const uchar * pt,uchar num) { uchar i。 Write_Cmd(addr)。 for(i = 0。i (num*2)。i++) Write_Data(*(pt++))。 } /******************************************* 函數(shù)名稱 :Clear_GDRAM 32 功 能 :清除液晶 GDRAM 中的隨機數(shù)據(jù) 參 數(shù) :無 返回值 :無 ********************************************/ void Clear_GDRAM(void) { uchar i,j,k。 Write_Cmd(0x34)。 //打開擴展指令集 i = 0x80。 for(j = 0。j 32。j++) { Write_Cmd(i++)。 Write_Cmd(0x80)。 for(k = 0。k 16。k++) { Write_Data(0x00)。 } } i = 0x80。 for(j = 0。j 32。j++) { Write_Cmd(i++)。 Write_Cmd(0x88)。 for(k = 0。k 16。k++) { Write_Data(0x00)。 } } Write_Cmd(0x30)。 //回到基本指令集 33 } /*************************************************************/ 程序功能: AD9851 通過接受數(shù)據(jù)端 P2 口送來的頻率控制字來控制輸出的正弦信號的頻率 。 **********************************************************************/ long uint ConTrol_Word_9850 = 0x00。//AD9851 的控制字 define w_clk_9850_set P5OUT|= BIT0//AD9851 的 w_clk 控制端口置 1 define w_clk_9850_clr P5OUTamp。=~BIT0//AD9851 的 w_clk 控制端口置 0 define reset_9850_set P5OUT|= BIT1//AD9851 的 reset 控制端口置 1 define reset_9850_clr P5OUTamp。=~BIT1//AD9851 的 reset 控制端口置 0 define fqud_9850_set P5OUT|= BIT2//AD9851 的 fqud 控制端口置 1 define fqud_9850_clr P5OUTamp。=~BIT2//AD9851 的 fqud 控制端口置 0 define dataport_9850 P2OUT //AD9851 的數(shù)據(jù)端口 void delay_9850(long int n) { while(n!=0) { n。 } } void Send_Control_Word_9850(long uint ConTrol_Word) { long uint ConTrol_Word_Temporary 。 uchar data_word=0x01。 w_clk_9850_clr。 fqud_9850_clr。 34 /*以下為寫入相位模式控制字 */ data_word = 0x01。 //給 data_word 送初始值 ,打開 AD9851 6 倍頻 dataport_9850 = data_word。// 給 AD9851 的 數(shù) 據(jù) 端 口 送 入 最 高 8 位控制字 (相位模式控制字 ) w_clk_9850_set。 //上升沿將控制字值送入輸入寄存器 w_clk_9850_clr。 //歸 0 等待下一次送控制字 /*以下為寫入頻率控制字 */ ConTrol_Word_Temporary = ConTrol_Word。//把控制字 ConTrol_Word 臨時存儲到 ConTrol_Word_Temporary 中 ConTrol_Word = ConTrol_Word 24。//將最高 8 位移入到最低 8 位 data_word = ConTrol_Word % 256。 //提取高 8 位 dataport_9850 = data_word。 w_clk_9850_set。 //上升沿將控制字值送入輸入寄存器 w_clk_9850_clr。 //歸 0 等待下一次送控制字 ConTrol_Word = ConTrol_Word_Temporary。 ConTrol_Word = ConTrol_Word 16。 data_word = ConTrol_Word % 256。 dataport_9850 = data_word。 w_clk_9850_set。 //上 升 沿 將 控 制 字 值 送 入 輸 入 寄 存 器 w_clk_9850_clr。 //歸 0 等待下一次送控制字 ConTrol_Word = ConTrol_Word_Temporary。 ConTrol_Word = ConTrol_Word 8。 data_word = ConTrol_Word % 256。 dataport_9850 = data_word。 w_clk_9850_set。 //上升沿將控制字值送入輸入寄存器 w_clk_9850_clr。 //歸 0 等待 下一次送控制字 ConTrol_Word = ConTrol_Word_Temporary。 data_word = ConTrol_Word % 256。 dataport_9850 = data_word。 35 w_clk_9850_set。 //上 升 沿 將 控 制 字 值 送 入 輸 入 寄 存 器 w_clk_9850_clr。 //歸 0 等待下一次送控制字 fqud_9850_set。 //將 fqu
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1