微控制器C語言基礎程式設計原始碼六則

2022-08-28 00:45:11 字數 1296 閱讀 5807

1.某微控制器系統的p2口接一數模轉換器dac0832輸出模擬量,現在要求從dac0832

輸出連續的三角波,實現的方法是從p2口連續輸出按照三角波變化的數值,從0開始逐漸增大,到某一最大值後逐漸減小,直到0,然後再從0逐漸增大,一直這樣輸出。試編寫一函式,使從p2口輸出的值產生三角波,並且使三角波的週期和最大值通過入口引數能夠改變。

#include #define dac0832 xbyte[0x7fff] void san(unsigned char max1,unsigned char zhou1)

*ptr1=*(ptr+20/2);}

2.在數字濾波中有一種叫做「去極值平均濾波」技術,就是對採集的資料按照從大到小或者從小到大進行排序,然後去掉相同數目的極大值和極小值,對中間部分資料求算術平均值作為取樣值。試編寫一函式,對存放在片外資料儲存器中從0x150開始的16個單元的取樣資料,用選擇法進行「去極值平均濾波」,把得到的取樣資料存放到0x14f單元中。

void teaf()

temp=0;for(i=0;i void main()

3.利用庫函式scanf編寫一函式,實現從微控制器序列口接收資料的c51程式,把接收的資料存放在片外資料儲存器從0x240開始的區域,遇到回車符cr(ascii碼是0x0d)結束。

include void main()

4.利用庫函式putchar

編寫一函式,實現從微控制器序列口傳送資料的c51程式,傳送的資料存放在片內資料儲存器從0x50開始的區域,遇到回車符cr(ascii碼是0x0d)結束。

include void main()

5.利用庫函式printf編寫一函式,實現從微控制器序列口傳送資料的c51程式,傳送的資料存放在片外資料儲存器從0x100開始的區域,遇到回車符cr(ascii碼是0x0d)結束。

include void main()

6.編寫一定時器/計數器0定時100ms中斷處理函式,使函式實現時鐘的功能,即產生時鐘的秒、分鐘和小時。設定時初值的高、低位元組分別為timer_h和timer_l.設fosc=6mhz #include sfr timer_h=0x8b;sfr timer_l=0x8a;unsigned char data shi,fen,miao,bfm;

void main()

void time0_int() interrupt 1 if(miao==60)

if(fen==60)

if(shi==24)

微控制器C語言程式設計

一 首先我們先了解一下51微控制器的標頭檔案 include 為了能看懂reg51.h標頭檔案,下面需了解keil c51編譯器擴充套件的關鍵字 關鍵字用途 說明bit 位標量宣告 宣告乙個位標量或位型別 sbit 位變數宣告 宣告乙個可位定址變數 sfr特殊功能暫存器宣告 宣告乙個特殊功能暫存器 ...

TiveC微控制器基礎練習1 3原始碼

基礎練習1.3,按鍵控制led燈亮滅實驗的參考 include include include inc hw gpio.h include inc hw memmap.h include inc hw types.h include driverlib gpio.h include driverli...

微控制器彙編程式設計300例 微控制器基礎組合語言程式設計例項

微控制器組合語言程式設計 1 編寫程式,用位處理指令實現 p1.4 p1.0 p1.1 p1.2 p1.3 的邏輯功能。mov c,p1.1 anl c,p1.2 orl c,p1.0 orl c,p1.3 mov p1.3,c 2 編寫程式,若累加器a的內容分別滿足下列條件,則程式轉到lable儲...