单片机课程设计华南.docx
- 文档编号:664239
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:24
- 大小:299.44KB
单片机课程设计华南.docx
《单片机课程设计华南.docx》由会员分享,可在线阅读,更多相关《单片机课程设计华南.docx(24页珍藏版)》请在冰豆网上搜索。
单片机课程设计华南
课程设计(论文)说明书
单片机课程设计
(华南理工)
《单片机及接口技术》设计性实验课题报告
一、实验题目:
电子日历时钟
二、实验目的
课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实践。
三、功能说明
1.分离模块(基本功能):
1)设计一个可以显示1234的显示电路,并利用单片机实现。
2)利用按键切换,然后显示I0Y
3)按键切换的动作,全部用串口进行通信。
设计一个开关,当进行切换后,程序再进入主要要求。
2.主模块(发挥性功能):
1)显示准确的北京时间(时、分),可用24小时制式;
2)随时可以调校时间。
3)增加公历日期显示功能(月、日);
4)随时可以调校月、日;
5)允许通过转换功能键转换显示时间或日期。
6)所有按键需要通过串口自发自收来调校各种功能。
四、程序流程图
1.初始化
2.主程序
N
Y
3.定时器中断0
1.
N
Y
Y
N
Y
N
Y
N
Y
Y
4.外部中断0
N
Y
五、实验结果及操作说明
按下不同按键,选择不同功能:
显示1234:
显示IOY:
显示时间:
六.调试中出现的问题
本次课程设计中,遇到的问题及解决方案如下:
(1)在写查表指令时,我们曾试图将DPTR中的数据直接送入Ri寄存器中,结果编译不成功,翻阅课本后才找到原因:
在51系列单片机中,与外部存储器RAM打交道的只能是A累加器。
所有需要传送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。
(2)没注意在每个IO口读入数据前,都要把IO口置1,这也造成了在矩阵键盘扫描中出现了一些问题。
(3)51单片机数据存储区有限,一开始写数码管数据表时,想当然地把数据送到了ORG0100H,程序短时没有问题,但是代码一长,超过0100h,就覆盖数据表,而且这种错误还不会出现编译错误,找了很久才找到原因所在,在这个小问题上花费了很多时间。
(4)因为我们是写好每一个子程序再把程序连在一起的,之前没考虑保护acc和psw中的数据,所以当把单独运行没问题的程序连在一起时,就出现很多莫名其妙的问题,后来在每个子程序都对Acc和psw进行堆栈保护,才将每个子程序连接到了一起。
(5)虽然最后所有子程序都连接无误,但是还是出了问题,因为串口发送会占用时间,由于数码管子程序中的延迟没有用定时器,只是用寄存器加减循环,所有无可避免造成数码管跳动,最后我们将数码管扫描延迟用定时器实现,就很好的解决了这个问题。
七、源代码
;---------------------------------------------------------------
;单片机课程设计
;2011级信息工程四班
;程序编写:
薛成戴李润铄刘远鹏蔡卓丰
;---------------------------------------------------------------
AUXREQU8EH
;---------------------------------------------------------------
;定义管脚
;---------------------------------------------------------------
defin:
HC595_SCKBITP0^4;sbitHC595_SCK=P0^4;
HC595_RCKBITP0^5;sbitHC595_RCK=P0^5;
HC595_RSTBITP0^6;sbitHC595_RST=P0^6;
HC595_DATBITP0^7;sbitHC595_DAT=P0^7;
beepBITP1^3
ORG0000H
AJMPINIT
ORG000BH;定时器0的中断向量地址
AJMPTIME0;跳转到真正的定时器程序处
ORG0030H
;---------------------------------------------------------------
;初始化
;---------------------------------------------------------------
INIT:
CLRHC595_RST;HC595的复位端,不能让他复位
ANLPCON,#7FH//波特率不倍速SMOD=0
MOVSCON,#50H//方式1,8位数据,可变波特率,接收允许
ORLAUXR,#40H
ANLAUXR,#0FEH//定时器1时钟为Fosc,即1T
ANLTMOD,#0FH//定时器1:
模式2,8位自动重装模式,用于产生波特率9600
ORLTMOD,#20H
MOVTL1,#0B2H
MOVTH1,#0B2H
CLRET1
SETBTR1
CLRES//关串行中断
CLRPS
MOV32H,#0H
MOV33H,#0H
MOV34H,#0H
MOV35H,#0H
MOV37H,32H
MOV38H,33H
MOV39H,34H
MOV40H,35H
MOV41H,#02H
MOV42H,#01H
MOV43H,#1H
MOV44H,#0H
MOV45H,#6H
MOV46H,#0H
MOV47H,#0H
MOV48H,#0H
MOV49H,#0H
MOV50H,#0H
MOV29H,#00
MOVR1,#32H
MOVA,@R1
MOV31H,#00H;软件计数器预清0
MOVTMOD,#00000001B;定时/计数器0工作于方式1
MOVTH0,#0ECH
MOVTL0,#078H;即数15536
SETBEA;开总中断允许
SETBET0;开定时/计数器0允许
SETBTR0;定时/计数器0开始运行
SETBPT0
MOVR7,#00H
MOVR3,#4
;---------------------------------------------------------------
;主函数
;---------------------------------------------------------------
MAIN:
LCALLSCAN
CJNER5,#0FFH,FU
LJMPSHOWKEY
FU:
LCALLSENDASC
LCALLRECEIVE
SHOWKEY:
CJNER7,#071H,SHOWKEY2
LCALLSHOW1
SHOWKEY2:
CJNER7,#079H,SHOWKEY3
LCALLSHOW2
SHOWKEY3:
CJNER7,#05EH,SHOWKEY4
LCALLSHOW3
SHOWKEY4:
CJNER7,#039H,SHOWKEY5
LCALLSHOW4
SHOWKEY5:
CJNER7,#07CH,SHOWKEY6
LCALLSHOW5
SHOWKEY6:
CJNER7,#6FH,SHOWKEY7
LCALLSHOW6
SHOWKEY7:
CJNER7,#77H,SHOWKEY8
LCALLSHOW7
SHOWKEY8:
CJNER7,#03FH,SHOWKEY9
LCALLSHOW8
SHOWKEY9:
CJNER7,#06H,SHOWKEY1
SETBbeep
DEC47H
SHOWKEY1:
MOVR1,#32H
MOVA,@R1
LCALLSHOWNUM
LJMPMAIN
;---------------------------------------------------------------
;串口发送
;---------------------------------------------------------------
SENDASC:
MOVSBUF,R5
WAITW:
JNBTI,WAITW
CLRTI
RET
;---------------------------------------------------------------
;串口接收
;---------------------------------------------------------------
RECEIVE:
JNBRI,OVER
CLRRI
MOVR7,SBUF
OVER:
RET
;---------------------------------------------------------------
;功能选择
;---------------------------------------------------------------
SHOW1:
;显示1234
;CLRTR0
MOV32H,#1H
MOV33H,#2H
MOV34H,#3H
MOV35H,#4H
RET
SHOW2:
;显示字母
MOV32H,#0AH
MOV33H,#0BH
MOV34H,#0CH
MOV35H,#0DH
RET
SHOW3:
;显示分秒
MOV32H,37H
MOV33H,38H
MOV34H,39H
MOV35H,40H
RET
SHOW4:
;显示时分
MOV32H,42H
MOV33H,41H
MOV34H,37H
MOV35H,38H
RET
SHOW5:
;显示日期
MOV32H,46H
MOV33H,45H
MOV34H,44H
MOV35H,43H
RET
SHOW6:
;修改时间
MOVR1,#32H
MOVA,@R1
LCALLSHOWNUM
LCALLSCAN
CJNER5,#7DH,GAO
LJMPDI
GAO:
CJNER5,#07H,AIN
WAIT3:
LCALLSCAN
CJNER5,#0FFH,WAIT3
MOVR2,33H
CJNER2,#03H,time2
MOVR2,32H
CJNER2,#02H,RE1
MOV33H,#0FFH
MOV32H,#0FFH
LJMPRE2
time2:
CJNER2,#09H,RE1
MOV33H,#00H
MOVR2,32H
CJNER2,#02H,RE2
MOV32H,#0FFH
RE2:
INC32H
RE1:
INC33H
LJMPAIN
DI:
WAIT4:
LCALLSCAN
CJNER5,#0FFH,WAIT4
MOVR2,35H
CJNER2,#09H,RE3
MO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 华南
![提示](https://static.bdocx.com/images/bang_tan.gif)