采用51單片機,實現多功能計算器。主要實現功能有: (1)可以完成加減乘除,包括整數和帶小數點數據的加減乘除。 (2)計算結果最高精確到小數點后六位。 (3)系統有顯示日歷的功能 (4)系統可以完成函數的計算,精確到小數點后7位。 (5)有Proteus仿真,要用7.8版本以上,仿真通過,非常方便 。
上傳時間: 2015-12-25
上傳用戶:dx041103
微機原理與接口知識點總結: 1.緒論:計算機系統組成;馮諾依曼體系結構;進制之間的轉換;數的原碼、反碼、補碼表示;補碼加減法運算;溢出判斷 2.通用計算機工作原理:指令格式;存儲器模型;程序如何自動執行 3.CPU工作原理:CPU的基本構成(運算器、控制器、寄存器),各個部分的功能;CPU的工作原理;CPU的具體實例8086內部結構;8086的地址構成(邏輯地址與物理地址關系);8086存儲器分段概念;8086存儲器組織(存儲順序);8086的外部引腳;8086處理器的基本時序。
標簽: 接口資料1
上傳時間: 2016-01-03
上傳用戶:glylgw
/**************************************************************** 外部晶振8M PA0~3:四位數碼管的位選 PB0~7:數碼管的8位段選 外部中斷0用于計數 定時器0溢出中斷的定時為1ms 說明 :檢測到水流較小時,繼電器延時1秒關閉 ******************************************************************/ #include<iom16v.h> #include<macros.h> #define uchar unsigned char #define uint unsigned int char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //數碼管段選 char position[4]={0xfe,0xfd,0xfb,0xf7};//數碼管位選 uint sumnum=0; //用于記錄1000ms內進入中斷的次數 uint time=0; //記錄進入比較定時器0的次數 uint num=0; //記錄1ms內進入中斷的次數 uint count=0; //進入外部中斷0的次數 uchar flag; uint sumnum1; //記錄100ms內的數目 /***************************函數聲明***************************/ void delay(); void display(uint m ); void init(); void init_0(); void init_2(); void _delay_us(uint l) { unsigned int i; for(i=0;i<l;i++) { asm("nop"); } } /**************************主函數***********************************/ void main() { init(); init_0(); init_2(); while(sumnum<5) { PORTD=0XBF; segdisplay(sumnum1); } while(1) { segdisplay(sumnum1); } } /*************************掃描數碼管時的延時函數*********************/ void delay() { uchar i,j; for(i=6;i>0;i--) for(j=225;j>0;j--); } /************************數碼管顯示函數*****************************/ void segdisplay( int temp) { int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int temp1,temp2,temp3,temp4; temp1=temp/1000; temp2=(temp/100)%10; temp3=(temp/10)%10; temp4=temp%10; DDRB=0xff; DDRA|=0x0f; PORTA=~BIT(3); PORTB=seg[temp1]; _delay_us(100); PORTA=~BIT(2); PORTB=seg[temp2]; _delay_us(100); PORTA=~BIT(1); PORTB=seg[temp3]; _delay_us(100); PORTA=~BIT(0); PORTB=seg[temp4]; _delay_us(100); } /***********************管腳初始化函數*********************/ void init() { DDRD|=0X40; //PD4 設置為輸出 PORTD=0XBF; DDRA=0XFF; DDRB=0XFF; PORTA=0XFF; PORTB=0XFF; } /***********************外部中斷0初始化*********************/ void init_0() { MCUCR=0X02; //INT0為下降沿觸發 GICR=0X40; //使能INT0中斷 SREG=0X80; //使能總中斷 } /**********************定時器2初始化***********************/ void init_2() { TCCR0=0x03; // 內部時鐘,64 分頻(8M/64=125KHz) TCNT0=0x83; //裝初值 TIMSK=0x01; // 允許 T/C0溢出中斷中斷 } /***********************外部中斷0子函數********************/ #pragma interrupt_handler int0_isr:2 void int0_isr(void) { count++; } /*********************定時計數器0溢出中斷子函數*****************/ #pragma interrupt_handler int0_over:10 void int0_over(void) { TCNT0=0x83; //重裝初值 if((time%100) == 0) sumnum1 = num; if(time == 1000) { sumnum=num; if(sumnum<10) { if((flag==1)&&(sumnum<10)) { PORTD=0XFF; flag=0; } flag++; } else PORTD=0XBF; num=0; time=0; } num+=count; count=0; ++time; }
標簽: C語言
上傳時間: 2016-03-09
上傳用戶:彥 yan
此模塊是為智能小車、機器人等自動化機械裝置提供一種多用途的紅外線探 測系統的解決方案。該傳感器模塊對環境光線適應能力強,其具有一對紅外線發 射與接收管,發射管發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面) 時,紅外線反射回來被接收管接收,經過比較器電路處理之后,同時信號輸出接 口輸出數字信號(一個低電平信號),可通過電位器旋鈕調節檢測距離,有效距 離范圍 2~60cm,工作電壓為 3.3V-5V。該傳感器的探測距離可以通過電位器調 節、具有干擾小、便于裝配、使用方便等特點,可以廣泛應用于機器人避障、避 障小車、流水線計數及黑白線循跡等眾多場合。
標簽: 循跡小車壁障傳感器使用說明
上傳時間: 2016-03-31
上傳用戶:Verily
#include <hidef.h> /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ #include <mc9s12xs128.h> //定義PID參數 #define VV_KPVALUE 3 //比例 #define VV_KIVALUE 40 //積分 #define VV_KDVALUE 3 //微分 #define VV_MAX 10000 //返回的最大值,是pwm的周期值 #define VV_MIN 0 #define VV_DEADLINE 0X08 //速度PID,設置死區范圍 typedef struct PID //定義數法核心數據 { signed int vi_Ref; //速度PID,速度設定值 signed int vi_FeedBack; //速度PID,速度反饋值
上傳時間: 2016-04-27
上傳用戶:547453159
I=imread('fig1.jpg');%從D盤名為myimages的文件夾中讀取。格式為jpg的圖像文件chost J=imnoise(I,'salt & pepper',0.02);%給圖像加入均值為0,方差為0.02的淑鹽噪聲 subplot(2,4,1); imshow(I); title('原始圖像'); subplot(2,4,2); imshow(J); title('加入椒鹽噪聲之后的圖像'); %h=ones(3,3)/9; %產生3 × 3的全1數組 %B=conv2(J,h); %卷積運算 %采用MATLAB中的函數對噪聲干擾的圖像進行濾波 Q=wiener2(J,[3 3]); %對加噪圖像進行二維自適應維納濾波 P=filter2(fspecial('average',3),J)/255; %均值濾波模板尺寸為3 K1=medfilt2(J,[3 3]); %進行3 × 3模板的中值濾波 K2= medfilt2(J,[5 5]); %進行5 × 5模板的中值濾波 K3= medfilt2(J,[7 7]); %進行7 × 7模板的中值濾波 K4= medfilt2(J,[9 9]); %進行9 × 9模板的中值濾波 %顯示濾波后的圖像及標題 subplot(2,4,3); imshow(Q); title('3 × 3模板維納濾波后的圖像'); subplot(2,4,4); imshow(P); title('3 × 3模板均值濾波后的圖像'); subplot(2,4,5); imshow(K1); title('3 × 3模板的中值濾波的圖像'); subplot(2,4,6); imshow(K2); title('5 × 5模板的中值濾波的圖像'); subplot(2,4, 7); imshow(K3); title('7 × 7模板的中值濾波的圖像'); subplot(2,4,8); imshow(K4); title('9 × 9模板的中值濾波的圖像');
上傳時間: 2016-06-02
上傳用戶:wxcr_1
altium15安裝與破解 1.運行AD15KeyGen,點擊“打開模板”,加載license.ini,如想修改注冊名,只需修改: TransactorName=Your Name 其中Your Name用你自己的名字替換,其它參數在單機版的情況下無需修改; 2.點擊“生成協議”,保存生成的alf文件(文件名任意,如“jack ”),并將其放到你的安裝目錄下; 3.將patch.exe放到你的安裝目錄下,運行patch,對安裝目錄下的dxp.exe文件補丁,注意運行破解時軟件沒有運行; 4.啟動DXP,運行菜單DXP->My Account,點擊Add Standalone License file,加載前面生成的license(.alf)文件后即能正常使用了。 注意: 1.局域網內用同一license不再提示沖突 2.僅供學習研究使用,勿用于非法用途。
上傳時間: 2016-06-11
上傳用戶:newvision
1、達到規定溫度時,蜂鳴器唱歌; 2、用開關啟動整個系統 3、蜂鳴器唱的歌可用軟件改變 要提示的溫度可用軟件改變。
上傳時間: 2016-07-01
上傳用戶:123lll123
TOC \o "1-3" \h \z 實驗一 DEBUG的啟動及其基本命令的使用..... PAGEREF _Toc83101466 \h 1 實驗二 內存操作數及尋址方法..... PAGEREF _Toc83101467 \h 5 實驗三 匯編語言程序的調試與運行..... PAGEREF _Toc83101468 \h 7 實驗四 查表程序設計..... PAGEREF _Toc83101469 \h 9 實驗五 系統功能調用..... PAGEREF _Toc83101470 \h 11 實驗六 分支程序設計..... PAGEREF _Toc83101471 \h 12 實驗七 循環程序設計..... PAGEREF _Toc83101472 \h 14 實驗八 子程序設計..... PAGEREF _Toc83101473 \h 16 實驗九 綜合程序設計..... PAGEREF _Toc83101474 \h 19 附錄一 DEBUG命令詳解 31 附錄二 實驗報告....... 48
上傳時間: 2016-12-12
上傳用戶:w335801121
電氣專業MF-47型萬用表焊接實訓報告 1、了解萬用表的結構和工作原理。 2、掌握萬用表的安裝步驟、使用與調試方法。 3、掌握常用電子元器件的規格、型號、主要性能、選用和檢測方法。 4、初步熟悉電工電子產品安裝焊接工藝的基本知識和操作方法,并掌握一般焊接技能。
上傳時間: 2016-12-27
上傳用戶:550778429