微控制器課程
設計報告
山東大學
資訊科學與工程學院
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綜合開發工具 平台 得到長足發展,而且其自動化和智慧型化程度不斷提高,為複雜的嵌入式系統設計提供了不同用途和不同級別集編輯 布局 佈線 編譯 綜...