資料介紹
1.某單片機(jī)系統(tǒng)的P2口接一數(shù)模轉(zhuǎn)換器DAC0832輸出模擬量,現(xiàn)在要求從DAC0832輸出連續(xù)的三角波,實現(xiàn)的方法是從P2口連續(xù)輸出按照三角波變化的數(shù)值,從0開始逐漸增大,到某一最大值后逐漸減小,直到0,然后再從0逐漸增大,一直這樣輸出。試編寫一函數(shù),使從P2口輸出的值產(chǎn)生三角波,并且使三角波的周期和最大值通過入口參數(shù)能夠改變。
#include #define DAC0832 XBYTE[0x7FFF] void san(unsigned char max1,unsigned char zhou1)
{ unsigned char i,j,max,zhou;max=max1;zhou=zhou1;while(1)
{ for(i=0;i0,i——)
{ DAC0832=i;for(j=0;j1,j——)
{ for(i=0;i*(ptr+i+1))
{ temp=*(ptr+i+1);*(ptr+i+1)=*(ptr+i);*(ptr+i)=temp;} *ptr1=*(ptr+20/2);}
3.在數(shù)字濾波中有一種叫做“去極值平均濾波”技術(shù),就是對采集的數(shù)據(jù)按照從大到小或者從小到大進(jìn)行排序,然后去掉相同數(shù)目的極大值和極小值,對中間部分?jǐn)?shù)據(jù)求算術(shù)平均值作為采樣值。試編寫一函數(shù),對存放在片外數(shù)據(jù)存儲器中從0x150開始的16個單元的采樣數(shù)據(jù),用選擇法進(jìn)行“去極值平均濾波”,把得到的采樣數(shù)據(jù)存放到0x14f單元中。
void teaf()
{ unsigned char xdata *ptr;unsigned char data temp,i,j,*ptr1;ptr=0x150;ptr1=0x4f;for(j=16;j》1,j——)
{ for(i=0;i*(ptr+i+1))
{ temp=*(ptr+i+1);*(ptr+i+1)=*(ptr+i);*(ptr+i)=temp;} temp=0;for(i=0;i void main()
{ unsigned char data *dpt;unsigned char i=0,temp;dpt=0x40;while(1)
{ temp=_getchar();if(temp==0x0d)
break;*(dpt+i)=temp;i++;}
5.利用庫函數(shù)scanf編寫一函數(shù),實現(xiàn)從單片機(jī)串行口接收數(shù)據(jù)的C51程序,把接收的數(shù)據(jù)存放在片外數(shù)據(jù)存儲器從0x240開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char xdata *xdpt;unsigned char i=0,temp;xdpt=0x240;while(1)
{ scanf(“%c”,if(temp==0x0d)
break;*(xdpt+i)=temp;i++;}
6.利用庫函數(shù)putchar編寫一函數(shù),實現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片內(nèi)數(shù)據(jù)存儲器從0x50開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char data *dpt;unsigned char i=0;dpt=0x50;while(*(dpt+i)!=0x0d)
{ putchar(*(dpt+i));i++;}
7.利用庫函數(shù)printf編寫一函數(shù),實現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片外數(shù)據(jù)存儲器從0x100開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char xdata *xdpt;unsigned char i=0;xdpt=0x100;while(*(xdpt+i)!=0x0d)
{ printf(“%c”,*(xdpt+i));i++;}
8.編寫一定時器/計數(shù)器0定時100ms中斷處理函數(shù),使函數(shù)實現(xiàn)時鐘的功能,即產(chǎn)生時鐘的秒、分鐘和小時。設(shè)定時初值的高、低字節(jié)分別為TIMER_H和TIMER_L.設(shè)fosc=6mhz #include sfr TIMER_H=0x8b;sfr TIMER_L=0x8a;unsigned char data shi,fen,miao,bfm;
void main()
{ TMOD=0x01;TIMER_H=15536/16;TIMER_L=15536%16;ET0=1;EA=1;TR0=1;while(1);}
void time0_int() interrupt 1 { TIMER_H=15536/16;TIMER_L=15536%16;bfm++;if(bfm==10)
{ bfm=0;miao++;} if(miao==60)
{ miao=0;fen++;} if(fen==60)
{ fen=0;shi++;} if(shi==24)
{ shi=0;}
?
#include #define DAC0832 XBYTE[0x7FFF] void san(unsigned char max1,unsigned char zhou1)
{ unsigned char i,j,max,zhou;max=max1;zhou=zhou1;while(1)
{ for(i=0;i0,i——)
{ DAC0832=i;for(j=0;j1,j——)
{ for(i=0;i*(ptr+i+1))
{ temp=*(ptr+i+1);*(ptr+i+1)=*(ptr+i);*(ptr+i)=temp;} *ptr1=*(ptr+20/2);}
3.在數(shù)字濾波中有一種叫做“去極值平均濾波”技術(shù),就是對采集的數(shù)據(jù)按照從大到小或者從小到大進(jìn)行排序,然后去掉相同數(shù)目的極大值和極小值,對中間部分?jǐn)?shù)據(jù)求算術(shù)平均值作為采樣值。試編寫一函數(shù),對存放在片外數(shù)據(jù)存儲器中從0x150開始的16個單元的采樣數(shù)據(jù),用選擇法進(jìn)行“去極值平均濾波”,把得到的采樣數(shù)據(jù)存放到0x14f單元中。
void teaf()
{ unsigned char xdata *ptr;unsigned char data temp,i,j,*ptr1;ptr=0x150;ptr1=0x4f;for(j=16;j》1,j——)
{ for(i=0;i*(ptr+i+1))
{ temp=*(ptr+i+1);*(ptr+i+1)=*(ptr+i);*(ptr+i)=temp;} temp=0;for(i=0;i void main()
{ unsigned char data *dpt;unsigned char i=0,temp;dpt=0x40;while(1)
{ temp=_getchar();if(temp==0x0d)
break;*(dpt+i)=temp;i++;}
5.利用庫函數(shù)scanf編寫一函數(shù),實現(xiàn)從單片機(jī)串行口接收數(shù)據(jù)的C51程序,把接收的數(shù)據(jù)存放在片外數(shù)據(jù)存儲器從0x240開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char xdata *xdpt;unsigned char i=0,temp;xdpt=0x240;while(1)
{ scanf(“%c”,if(temp==0x0d)
break;*(xdpt+i)=temp;i++;}
6.利用庫函數(shù)putchar編寫一函數(shù),實現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片內(nèi)數(shù)據(jù)存儲器從0x50開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char data *dpt;unsigned char i=0;dpt=0x50;while(*(dpt+i)!=0x0d)
{ putchar(*(dpt+i));i++;}
7.利用庫函數(shù)printf編寫一函數(shù),實現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片外數(shù)據(jù)存儲器從0x100開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。
include void main()
{ unsigned char xdata *xdpt;unsigned char i=0;xdpt=0x100;while(*(xdpt+i)!=0x0d)
{ printf(“%c”,*(xdpt+i));i++;}
8.編寫一定時器/計數(shù)器0定時100ms中斷處理函數(shù),使函數(shù)實現(xiàn)時鐘的功能,即產(chǎn)生時鐘的秒、分鐘和小時。設(shè)定時初值的高、低字節(jié)分別為TIMER_H和TIMER_L.設(shè)fosc=6mhz #include sfr TIMER_H=0x8b;sfr TIMER_L=0x8a;unsigned char data shi,fen,miao,bfm;
void main()
{ TMOD=0x01;TIMER_H=15536/16;TIMER_L=15536%16;ET0=1;EA=1;TR0=1;while(1);}
void time0_int() interrupt 1 { TIMER_H=15536/16;TIMER_L=15536%16;bfm++;if(bfm==10)
{ bfm=0;miao++;} if(miao==60)
{ miao=0;fen++;} if(fen==60)
{ fen=0;shi++;} if(shi==24)
{ shi=0;}
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 《51單片機(jī)C語言編程入門》(中科大編著) 0次下載
- 51單片機(jī)C語言編程入門.pdf 0次下載
- 《PIC單片機(jī)C語言》pdf 0次下載
- 1.單片機(jī)和C語言的關(guān)系(5)
- 單片機(jī)C語言和匯編語言混合編程實例詳解 224次下載
- PIC單片機(jī)的C語言編程電子版下載 0次下載
- 六個單片機(jī)C語言基礎(chǔ)編程源碼,了解一下,隨時用得上資料下載
- 學(xué)習(xí)AVR單片機(jī)C語言編程的方法和教程說明 17次下載
- MPU6050與單片機(jī)通訊的C語言源碼免費下載 34次下載
- PIC單片機(jī)的C語言編程 36次下載
- 單片機(jī)C語言編程與實例 41次下載
- 單片機(jī)蜂鳴器《八月桂花》【C語言版】 0次下載
- AVR單片機(jī)C語言總綱
- 51單片機(jī)C語言的編程技巧
- 單片機(jī)C語言編程應(yīng)注意的若干問題
- 什么是C語言?單片機(jī)有什么特點?為什么要用C語言編程? 1264次閱讀
- 單片機(jī)Keil開發(fā)環(huán)境的搭建 1423次閱讀
- 單片機(jī)為什么還在用C語言編程呢? 1010次閱讀
- 單片機(jī)液晶漢字顯示的C語言程序 4885次閱讀
- 單片機(jī)的外部結(jié)構(gòu)和C語言編程基礎(chǔ)說明 2807次閱讀
- 學(xué)習(xí)單片機(jī)一定要先學(xué)好C語言再去學(xué)單片機(jī)嗎 1.3w次閱讀
- 關(guān)于單片機(jī)C語言編程的常見問題解答 2220次閱讀
- 單片機(jī) | 基礎(chǔ)匯編語言編程實例 9876次閱讀
- 單片機(jī)C語言編程中定時器初值計算的兩種方法 1w次閱讀
- 單片機(jī)C語言之串口通信協(xié)議 4773次閱讀
- C52單片機(jī)的應(yīng)用(連接、編程、測試) 1.2w次閱讀
- 單片機(jī)的編程語言和開發(fā)環(huán)境 5473次閱讀
- pic單片機(jī)io口控制教程之c語言編程實現(xiàn) 1.1w次閱讀
- 單片機(jī)編程之匯編語言基礎(chǔ)-PIC單片機(jī)匯編指令 2977次閱讀
- 單片機(jī)編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.5w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多