- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机mcu3概论
单片机系统及C语言程序设计;第三章、单片机应用系统的实现;显示子系统:负责系统的显示(用户接口) ,可用LED发光二极管、LED数码管、LCD等作为显示器件。
键盘子系统:实现用户输入功能(用户接口)
A/D和D/A:分别负责系统的模拟信号采集(可用来测温、测压等)和模拟信号输出(可用来控制调节阀等执行机构)功能。
开关量输入和输出:分别负责系统的数字信号采集和数字信号输出功能。
数据存储子系统:在某些仪表或设备中,经常需要存储大量的数据(如,温度表可存储1天的历史温度值,且掉电不丢),则可加上数据存储子系统(使用Flash、E2PROM芯片)用来存储数据。 ;3.2 键盘显示子系统的实现;2、显示的实现 ;3、一个廉价的键盘显示方案;4. 显示处理程序设计;总显示处理程序设计框图;具体程序代码如下:;main()
{
unsigned char i;
EA=0;
for( i=0; i4 ;i++ ) //Display init
DisplayBuf[i] = i+1;
DisplayBit = 0;
TMOD=0x01; // T/C0 Init
ET0=1;
TH0=0xF8; //2ms
TL0=0x30;
TR0=1;
EA=1; //开中断
while(1)
{ //do something
}
};void T0process(void) interrupt 1 using 1
{
TR0=0;
TH0=0xF8; TL0=0x30; //2ms
TR0=1;
DisplayBit = (DisplayBit+1) % 4;
switch(DisplayBit){
case 0:
P2_5 = 0; P2_6 = 0; P2_7 = 0;
P0 = Led_Char[ DisplayBuf[0] ]; break;
case 1:
P2_5 = 0; P2_6 = 0; P2_7 = 1;
P0 = Led_Char[ DisplayBuf[1] ]; break;
case 2:
P2_5 = 0; P2_6 = 1; P2_7 = 0;
P0 = Led_Char[ DisplayBuf[2] ]; break;
case 3:
P2_5 = 0; P2_6 = 1; P2_7 = 1;
P0 = Led_Char[ DisplayBuf[0] ]; break;
default:
P2_5 = 0; P2_6 = 0; P2_7 = 0;
P0 = Led_Char[ DisplayBuf[0] ]; break;
} ;void T0process(void) interrupt 1 using 1
{
TR0=0;
TH0=0xF8; TL0=0x30; //2ms
TR0=1;
DisplayBit = (DisplayBit+1) % 4;
switch(DisplayBit){
case 0:
P2_5 = 0; P2_6 = 0; P2_7 = 0; break;
case 1:
P2_5 = 0; P2_6 = 0; P2_7 = 1; break;
case 2:
P2_5 = 0; P2_6 = 1; P2_7 = 0; break;
case 3:
P2_5 = 0; P2_6 = 1; P2_7 = 1; break;
default:
DisplayBit = 0;
P2_5 = 0; P2_6 = 0; P2_7 = 0; break;
}
P0 = Led_Char[DisplayBuf[DisplayBit]];
};②、做一个秒表;秒表主程序;;具体代码如下:
#includereg52.h
code unsigned char Led_Char[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x90};
//use for display
unsigned char DisplayBuf[4];
unsigned char DisplayBit;;extern void Bin2BCD(unsigned char data *ptrBCD,unsigned char BinData
文档评论(0)