- 1、本文档共299页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*/299 r_in= ++r_in ox1f ; if ( r_in= =r_out ) r_full=1; } else if (TI ~t_empty ) {SBUF=t_buf [t_out] ; TI=0; t_out = ++ t_out 0x1f ; i f ( t_out= =t_in ) t_empty=1 ; } else if (TI ) { TI=0; t_done=1 ; } } */299 void loadmsg (uchar code * msg ) /* item4 */ {while ((*msg !=0 ) (((( t_in+1)^t_out ) 0x1f ) !=0 )) / *测试缓冲区满 */ { t_ buf [t_in]= * msg ; msg++ ; t_in = ++ t_in 0x1f ; if ( t_done ) {TI = 1 ; t_empty =t_done =0 ; /* 完成重新开始 */ } } } */299 void process (uchar ch ) { return ; } / * item5 */ /* 用户定义 */ void processmsg ( void ) /* item6 */ {while ((( r_out+1 ) ^ r_in) !=0 ) /* 接收非缓冲区 */ {process ( r_buf [r_out ] ) ; r_out= ++r_out 0x1f ; } } */299 main ( ) /* item7 */ {TMOD=0x20 ; /* 定时器1方式2 */ TH1=0xfd ; /* 9600波特11.0592 MHz */ TCON=0x40 ; /* 启动定时器1 */ SCON=0x50 ; /* 允许接收 */ IE=0x90 ; /* 允许串行口中断 */ t_empty=t_done=1 ; r_full =0 ; r_out=t_in =0 ; r_ in=1 ; /* 接收缓冲和发送缓冲置空 */ for ( ; ; ) {loadmsg ( m ) ; processmsg ( ); } } */299 item1 :背景程序放入和提取字符队列缓冲区。 item2 :缓冲区状态标志。 item3 :串行口中断服务程序,从RI,TI判别接收或发送中断,由软件清除。判别缓冲区状态(满full,空empty)和全部发送完成(done)。 item4 :此函数把字符串放入发送缓冲区,准备发送。 item5 :接受字符的处理程序,实际应用自定义。 item6 :此函数逐一处理接收缓冲区的字符。 item7 :主程序即背景程序,进行串行口的初始化,载入字符串,处理接收的字符串。 */299 实验一 MCS-51单片机开发环境的应用(2学时) 实验目的: 掌握MCS-51单片机实验系统的使用,以及在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 实验要求: ⑴将数据存储器的40H~4FH的内容赋值成00H~0FH,并将40H~4FH的内容整体复制到50H~5FH。 ⑵将数据存储器的40H~4FH的内容赋值成00H~0FH,并将两两相加之和送到50H~57H的数据空间中。 */299 实验二 MCS-51汇编语言典型算法程序设计
文档评论(0)