凌陽微控制器報告

2021-09-24 10:46:25 字數 3059 閱讀 1535

微控制器課程

設計報告

山東大學

資訊科學與工程學院

07級電子資訊工程一班

一、設計題目:

電子萬年曆

二、設計原理:

微控制器應用系統由硬體系統和軟體系統兩部分組成。硬體系統是指微控制器以及擴充套件的儲存器、i\o介面、外圍擴充套件的功能晶元以及介面電路。軟體系統包括監控程式和各種應用程式。

在微控制器應用系統中,微控制器是整個系統的核心,對整個系統的資訊輸入、處理、資訊輸出進行控制。與微控制器配套的有相應的復位電路、時鐘電路以及擴充套件的儲存器和i\o介面,使微控制器應用系統能夠執行。

本設計利用2khz的中斷每0.5秒鐘產生乙個中斷來產生秒的計數,進而實現時鐘部分的功能。在每次時間改變時呼叫lcd顯示子程式,來實現時間的顯示。

用實驗板上自帶的三個按鍵來實現報時功能及時間調整功能,並利用置不同的標誌位來實現年月日時分秒的調整。利用a2000自動**進行時間的播報。

三、設計要求:

1、key1——按一下**年並進入年的調整狀態,再按一下下**月並進入月的調整狀態,以此類推到日、時、分、秒;

2、key2——年、月、日、時、分、秒的增加;

3、key3——年、月、日、時、分、秒的減少;

4、復位鍵——按下之後復位

實現功能:

1、數字鐘功能

3、報時功能、鬧表功能、定時提醒功能

四、設計材料

這個設計的材料有:1602lcd顯示器、18b20、凌陽61微控制器、排線、排針、連線線、電池等

五、設計流程圖

ioa3~ioa10接1602的d0~d7

ioa11接1602的rs

ioa12接1602的e

六、設計源程式

//專案:e_clock

//實現功能:1、數字鐘功能

2、測溫功能、提醒功能

3、報時功能、鬧表功能、定時提醒功能

//作者:郭新新

//cpu時鐘調整:p_systemclock重新賦值,比如語句[p_systemclock]=0x31(00110001),

//則將系統始終(pll)更換為20.480mhz,cpu始終選擇為fosc/2,即10.240mhz,約為0.098us,

//那麼如果要要實現1us的延時,只要實現將延時程式中語句總的執行週期約為10個cpu週期即可

//#include "spce061a.h"

//#include spce061a.inc

#include"spce061a.h"

#include "e_clock.h"

#include "spce061v004.h"

#include "unspmacro.h"

//#include "hardware.h"

#include "a2000.h"

#include "io_bit.h"

#include "s480.h"

//函式宣告

int leap_year();

void delay (void);

int remind(void);

void c_1602(int c);

void d_1602(int d);

void character(void);

void display_1602(void);

int getkey(void);

void check_clock(int uikey);

void tempture(void);

void io_init(void);

void voice_2000(int num);

void world_end(void);

void flag_init(void);

void del_10us();

void playnum(unsigned int num);

void playyear(unsigned int year);

void playmon(unsigned int mon);

void playday(unsigned int day);

void playhour(unsigned int hour);

void playmin(unsigned int min);

void playsec(unsigned int sec);

void playtime(void);

void playdate(void);

void time_init();

void chang_flag(unsigned int uikey);

//閏年判斷子程式

//輸入引數:year(年份)

//返回引數:leap:leap=1 是閏年 leap=0 不是閏年

int leap_year()

//延時子程式

//輸入引數:無

//返回引數:無

//演示時間:約1ms

void delay (void)

}//提醒子程式

//6:50 起床

//7:30 上課

//12:40 午休

//13:45 起床

//18:50 玩自習

//23:30 睡覺

//傳遞引數:int hour,int minute

//返回引數:int rem (語音**索引號)

int remind(void)

;//7,23};//12,13,18,23小時

int mite=;//30,30};//40,45,50,30分鐘

unsigned int rem=0定義返回引數

for(i=0;i<6;i++)

return(rem);

}//傳送命令字子程式

//傳遞引數:c(命令字)

//返回引數:無

//資料通過ioa3~10口傳遞

//ioa11連rs暫存器選擇端

//ioa12接e使能訊號 e=1時讀取資訊 e下降沿執行命令 ```

//將r/w接地,設為只寫,不讀

void c_1602(int c)

2019凌陽微控制器 複習內容

微控制器應用系統設計 複習內容 實驗箱指導書上冊 實驗五使用組合語言實現a口作為輸入口 b口作為輸出口 題目15.實驗六使用c語言實現a口作為輸入口 b口作為輸出口 題目16.實驗七定時器timer a b 題目17.使用組合語言實現timerb定時器實驗 當輸入時鐘源頻率分別為fosc 2 fos...

微控制器報告

hefei university 微控制器原理與應用設計 報告題目 模數轉換 a d 實驗 學科專業 11級通訊2班 作者姓名王玫 學號 1105022007 授課教師汪濟洲 完成時間2014.5.31 11級通訊工程 2 班王玫學號 1105022007 一 實驗目的 1 掌握adc0809模數轉...

微控制器開題報告

2.計算機硬體平台效能的大幅度提高,使很多複雜演算法和方便使用的介面得以實現,大大提高了工作效率,給複雜嵌入式系統輔助設計提供了物理基礎。3.高效能的eda綜合開發工具 平台 得到長足發展,而且其自動化和智慧型化程度不斷提高,為複雜的嵌入式系統設計提供了不同用途和不同級別集編輯 布局 佈線 編譯 綜...